Commit Graph

175 Commits

Author SHA1 Message Date
Sukka 21bc463b77
Replace `polyfill.io` (#2241)
The PR replaces `polyfill.io` inside the template with
`cdnjs.cloudflare.com/polyfill`.

---

`polyfill.io` was acquired by **a China-based CDN company** "Funnull",
see [the announcement from the `polyfill.io` domain owner's
Twitter](https://x.com/JakeDChampion/status/1761315227008643367) and
https://github.com/polyfillpolyfill/polyfill-service/issues/2834.
Despite Funnull's claims of operating in the United States, the
predominance of Simplified Chinese on its website suggests otherwise,
and it turns out that **"Funnull" is notorious for providing service for
the betting and pornography industries**.

[The original creator of the `polyfill.io` has voiced his concern on
Twitter](https://twitter.com/triblondon/status/1761852117579427975). And
since the acquisition, numerous issues have emerged
(https://github.com/polyfillpolyfill/polyfill-service/issues/2835,
https://github.com/polyfillpolyfill/polyfill-service/issues/2838,
https://github.com/alist-org/alist/issues/6100), rendering the
`polyfill.io` service **extremely unstable**. Since then, Fastly
([Announcement](https://community.fastly.com/t/new-options-for-polyfill-io-users/2540))
and Cloudflare
([Announcement](https://blog.cloudflare.com/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk))
has hosted their own instances of `polyfill.io` service.
2024-03-04 11:37:16 -03:00
Moritz Scherrmann c1f168473f
Add functionality to open external links in jupyter notebooks in new tab (#2233)
See https://github.com/alshedivat/al-folio/pull/2230

---------

Co-authored-by: Scherrmann <scherrmann@bwl.uni-muenchen.de>
2024-02-27 12:25:16 -03:00
George 6e215a1cdc
Lighthouse fixes (#2199)
Our score went down a little bit after the last few changes. Avoiding
lazy loading some images (as introduced in #2183), since [it is strongly
recommended to omit hero images and other images or iframes that are
likely to appear above the fold from being
lazy-loaded](https://web.dev/articles/browser-level-lazy-loading-for-cmss#avoid_lazy_loading_above-the-fold_elements).
Also added missing `alt` to google scholar field.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2024-02-14 14:37:32 -03:00
George f067edc69e
Changed lazy loading in figure.liquid 2024-02-14 12:58:28 -03:00
ZL Asica 2a056fe68e
Implement Default Lazy Loading for Images with Configurable Option (#2183)
This PR introduces an enhancement to the site's image-loading strategy
by implementing lazy loading as the default behavior for all images. The
motivation behind this change is to improve the site's load times.

**Changes:**
1. **Default Lazy Loading:** By `default`, all images will now have the
`loading="lazy"` attribute.

2. **Configurable Option in `_config.yml`:** Added a new configuration
option under `lazy_loading_images.enable`.

3. **Override Capability:** For `specific images` where the user doesn't
want lazy loading, they can `override` this by directly setting the
`loading attribute` in the `image tag`.
2024-02-14 00:41:14 -05:00
Furkan Akkurt 26fad311db
remove the space in names of "site" (#2188)
I removed the spaces between the first, middle and last names in the
header.

It's just my preference, I don't know if it would be accepted but I have
done this for my own page using this repository as a template.
2024-02-14 00:36:30 -05:00
ZL Asica 7c2e1c2c6c
Fix Image Dimension Styles for Better Responsiveness (#2166)
In this pull request, I've made adjustments to the image element's
handling of dimension properties. Previously, `min-width`, `min-height`,
`max-width`, and `max-height` were incorrectly placed as HTML attributes
on the `<img>` tag, which is not supported for these CSS properties.
This oversight could lead to issues with image responsiveness and layout
stability.

Changes:
- Moved `min-width`, `min-height`, `max-width`, and `max-height`
properties into the `style` attribute of the `<img>` tag. This change
ensures that these properties are correctly applied and recognized as
CSS properties, enhancing the responsiveness and flexibility of our
image displays.
- Retained `width` and `height` as attributes on the `<img>` tag to
maintain the intrinsic aspect ratio of images and help the browser
allocate space before images are fully loaded, improving the page load
experience.

These adjustments will ensure that our images are more responsive and
better adhere to the specified dimensions, improving the overall user
experience for the template.
2024-02-07 15:34:52 -03:00
George fa5b411b38
Adding display swap to Google Fonts
Adding suggestion from [Lighthouse results](https://developer.chrome.com/docs/lighthouse/performance/font-display/?utm_source=lighthouse&utm_medium=cli#google_fonts)
2024-01-28 20:11:44 -03:00
George 06bc36762d
Move libs versions to config (#2139)
Moved libs versions and hashes to `_config.yml`.

Fixes #2067.

Deferring everything possible to keep pages loads fast.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-01-28 19:10:42 -03:00
George ef847825fd
Support for diff2html (#2133)
Added support to display diff code in a prettier way with
[diff2html](https://diff2html.xyz/).


![image](https://github.com/alshedivat/al-folio/assets/31376482/5f93b09c-3850-499a-999b-cb0ae13fddae)

It displays code like [in this
example](https://diff2html.xyz/demo.html).

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-01-28 12:45:20 -03:00
George 8e93db5b67
Advanced image viewers (#2132)
Image slider with [Swiper](https://swiperjs.com/).


![image](https://github.com/alshedivat/al-folio/assets/31376482/9068823c-571a-4d31-8e95-755a40a15ec9)

Image comparison slider with
[img-comparison-slider](https://img-comparison-slider.sneas.io/).


![image](https://github.com/alshedivat/al-folio/assets/31376482/97812477-c13b-43b1-8f0b-cb098462de3c)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-01-28 12:42:17 -03:00
George f6bb6b5dcb
Vega lite support (#2131)
Added support for [vega lite](https://vega.github.io/vega-lite/) charts.


![image](https://github.com/alshedivat/al-folio/assets/31376482/789c14d3-93b6-4d3f-94a6-7cec1f0f0b59)


![image](https://github.com/alshedivat/al-folio/assets/31376482/17f9021c-08c4-4922-9f97-1046b146a965)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-01-27 11:14:02 -03:00
George 1492cb9c4e
GeoJSON support (#2130)
Added support for GeoJSON maps.


![image](https://github.com/alshedivat/al-folio/assets/31376482/48e91158-a717-4d01-b6d7-47d45f0580e4)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-01-27 11:06:49 -03:00
George 4f6fe1a2cf
Added Echarts support (#2129)
Since I added support for chart.js and while doing so found some other
wonderful charting libraries, I thought, why not give support to some
more? So adding support to [Apache
Echarts](https://echarts.apache.org/en/index.html).


![image](https://github.com/alshedivat/al-folio/assets/31376482/088f0932-524f-4fcd-a34b-b132f569a675)


![image](https://github.com/alshedivat/al-folio/assets/31376482/36bfe4f8-a9d1-4b6d-a912-fb40ba3b5337)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-01-27 10:34:44 -03:00
George 3ec0ff4a46
Added integrity check to mermaid.js 2024-01-27 00:41:07 -03:00
George a7d6b37d8f
Added support for Chart.js (#2126)
Solved #460.


![image](https://github.com/alshedivat/al-folio/assets/31376482/ce65dbe2-031e-4208-b374-08ec89beaaca)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-01-26 02:16:14 -03:00
George 1775a9a99d
Axe accessibility test support (#2080)
Added GitHub action to do axe accessibility tests with [axe
cli](https://github.com/dequelabs/axe-core-npm/tree/develop/packages/cli).
I believe it is best by default to let this be run only manually, since
fixing some of the issues are not straightforward (I haven't fixed them
all for this template yet).

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-01-15 16:38:31 -03:00
George 71f054c82e
Fix broken links (#2077)
Added GitHub action to check for broken links in repo before commit,
ignoring files with liquid tags since these were not yet processed and
also README since some sites created from this template doesn't have
valid urls anymore. Fixed some broken links in repo.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-01-15 11:09:45 -03:00
Maruan beb6f27d59
format code with prettier.io (#2048)
summary:
- adds prettier formatter configuration
- formats the entire repo using prettier, ignoring minified files
(`*.min.css`) and heavy generated html
- changes extensions of all `.html` files to `.liquid`, which is more
correct and necessary for prettier to work correctly
- replaces "%-" and "-%" with just "%" — manual liquid formatting using
minus signs is superfluous since we are compressing and minifying the
code anyway
- adds CI action for running prettier check on PR and pushes to master
2024-01-10 00:10:51 -05:00
George e3997d0f6c
Added citation examples, simplified citation code (#2056)
Since the citation file and other stuff is already defined in
`_config.yml`, removed them when calling `{% bibliography %}`. Also
realized that `jekyll-scholar` helps in displaying only the papers cited
in page, changed to use that.

Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-01-08 14:35:42 -03:00
George 92ac10ad82
Changed mermaid support in template (#1992)
Fix #1609

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
Co-authored-by: Maruan Al-Shedivat <maruan@genesistherapeutics.ai>
2024-01-02 18:35:57 -03:00
George 86ada06e4b
Changed trophies layout to better suit different screen sizes (#2038)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-01-02 14:07:04 -03:00
Noah West fb294e3348
Responsive image fix (#2014)
Fixes #1967 

Update the way responsive images are used to only use one srcset, and
add corresponding `sizes` attribute to the relevant layouts and
templates.
I did not go through and add `sizes` to all the example posts/projects.
When `sizes` is not specified by the user, the `figure.html` template
defaults to 95% the width of the viewport which should work fine for
most cases; users can optimize further if they wish by feeding `sizes`
into the template.

Additionally:
 - Enabled support for .gif to .webp compression
- fix error in jekyll-imagemagick config where all images were resized
to be 800px or less. (for example img-1400.webp was actually only 800px
wide, etc.)
- added note about making sure imagemagick is installed before enabling
it in responsive images section of `_config.yml`
2023-12-26 13:00:38 -05:00
George 0795059a4b
Now blog can be reorganized in header (#1996)
Fixes #1559 #1795

Signed-off-by: George Araújo <george.gcac@gmail.com>
2023-12-25 14:41:27 -03:00
Tianmaru a1a9250b93
check for active children in submenus (#1869)
This patch checks, if the title of the current page matches with the
title of a submenu child. If so, it sets the submenu and the
corresponding child as active, highlighting it in the header.
2023-12-24 20:01:38 -05:00
George 199718610e
Implemented support for tikzjax (#1990)
Implemented #1976.

Signed-off-by: George Araújo <george.gcac@gmail.com>
2023-12-12 22:56:14 -03:00
George 6eab5bf480
Fixes #1952 (#1955)
Fixes #1952 by updating font awesome version. Also updated icons names
to newest font awesome style.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2023-11-23 13:02:14 -03:00
Yifan Jiang 7eb1cccf4e
fix inconsistent alignment for latest posts (#1832) 2023-10-26 02:50:44 -04:00
Maruan Al-Shedivat dc3289ddfc Fix a small bug in giscus template 2023-10-05 00:36:32 -04:00
Maruan 51d367c765
Make publication thumbnails optional + fix small layout bugs (#1797) 2023-10-05 00:28:44 -04:00
Maruan da661b1662
Remove by year grouping from selected publications (#1796) 2023-10-05 00:23:34 -04:00
Maruan 8893d483bc
Update giscus setup via github action (#1792)
giscus settings in `_config.yml` had al-folio repo specified by default.
many users kept these defaults in their own repos, which resulted in
getting comments from blog posts of different users posted to al-folio
discussions. this is undesirable, since users lose control over the
discussions in their blogs.

this PR solves the issue:
- first, we set `giscus.repo` to blank in `_config.yml`. if the field is
kept blank, when the website is built locally, the user will see a
warning saying that giscus comments are misconfigured.
- second, we add a step to the `deploy` workflow that writes repository
name to `giscus.repo` in `_config.yml`. that way, even if `giscus.repo`
field is left black or set to an incorrect repo, it gets correctly
populated at deployment time.

other small changes in this PR are small stylistic adjustments.
2023-10-04 22:27:36 -04:00
George 8889e36b43
Fixed weird bib btn behavior (#1776)
Fixes #1774 by reverting mdb usage to cdn. Weirdly enough, when using
from local file it triggers a ripple effect when using `btn` class. It
states in the [official
docs](https://mdbootstrap.com/docs/standard/methods/ripple/) that:

> By default, ripple is added to every button (via .btn class)

Using [this
solution](https://mdbootstrap.com/support/standard/disable-waves-ripple-effect/)
only make this flicking happens faster. Also this does seem to be [an
issue](https://mdbootstrap.com/support/standard/how-to-disable-ripple-effect/)
still in the [latest
version](https://github.com/mdbootstrap/mdb-ui-kit/issues/1505) (even
though we are using an older one).

Signed-off-by: George Araujo <george.gcac@gmail.com>
2023-09-28 17:43:35 -03:00
George 64cf57fab3
Added support to PurgeCSS (#1562)
Tackled #1329 with [PurgeCSS](https://purgecss.com/).

Being talking with @varuniyer about using
[jekyll-uncss](https://github.com/episource/jekyll-uncss) to reduce css
file sizes by ditching unused classes. This approach have 3 main
problems:

1 - have some limitations as pointed
[here](https://github.com/alshedivat/al-folio/issues/1329#issuecomment-1546517327)
2 - last update to
[jekyll-uncss](https://github.com/episource/jekyll-uncss) was about 3
years ago, so it might have a few issues
3 - [uncss](https://github.com/uncss/uncss) haven't seem a new release
in a while, currently [lacking
maintenance](https://github.com/uncss/uncss/issues/459), and using some
deprecated libraries as seem here:

```
npm install -g uncss
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
```

I thought about giving PurgeCSS a go, since it has been more [actively
maintaned](https://github.com/FullHuman/purgecss), but
[jekyll-purgecss](https://github.com/mhanberg/jekyll-purgecss) haven't.

For this, I needed to change to use some local libraries instead of
getting them via CDN. The good news is that it is quite effective in
reducing css file sizes. Comparing dir sizes with `du -hs
_site/assets/css/`:

| current | minify | PurgeCSS | PurgeCSS + minify |
| ------- | ------ | -------- | ----------------- |
| 1,1M    | 988K   | 456K     | 420K              |

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2023-09-28 14:22:42 -03:00
Johannes Hörner cba3ad27fb
add WeChat to socials (#1730)
When the WeChat icon in socials is clicked, a picture of your WeChat QR
code is shown in the center of the screen. The actual picture of your QR
code has to be uploaded.
2023-09-17 15:49:27 -04:00
Raffaele Mancuso cbf32e3177
Don't display badge if startDate is empty (#1682) 2023-08-28 18:13:01 -03:00
George 312cbdb4c5
Cache busting for _sass and individual files (#1557)
Addressing #1395 but with a different solution from #1478, using
semantic versioning based on implementation found
[here](https://distresssignal.org/busting-css-cache-with-jekyll-md5-hash).

Implemented a way of calculating the hash for both a single file or
directory. This way we can calculate the hash for when there is a change
in the `_sass` dir, for example, or in the contents of a single file.

Examples of generated outputs of the plugin:
```
/al-folio/assets/css/main.css?d41d8cd98f00b204e9800998ecf8427e
/al-folio/assets/js/theme.js?96d6b3e1c3604aca8b6134c7afdd5db6
/al-folio/assets/js/dark_mode.js?9b17307bb950ffa2e34be0227f53558f
/al-folio/assets/js/no_defer.js?d633890033921b33e0ceb13d22340a9c
/al-folio/assets/js/common.js?acdb9690d7641b2f8d40529018c71a01
/al-folio/assets/js/copy_code.js?c9d9dd48933de3831b3ee5ec9c209cac
/al-folio/assets/img/prof_pic.jpg?974957d202f671e4fa6700c04e68deae
```

Signed-off-by: George Araujo <george.gcac@gmail.com>
2023-07-30 00:14:23 -03:00
NakuraMino 7238998876
incorrect max-height in figure.html (#1593)
figure.html was incorrectly setting height=max-height instead of
max-height=max-height
2023-07-30 00:01:01 -03:00
George 50f5620cd5
Added missing socials to metadata (#1575)
Signed-off-by: George Araujo <george.gcac@gmail.com>
2023-07-17 16:35:33 -03:00
David Krassnig 8785864afd
Added Zotero socials (#1572)
Solving #1569 
I added Zotero socials because I needed them; opened a issue/pull
request in case I'm not the only one.

Second pull request (previous: #1570 ) because unwanted commits
retroactively crept in somehow. It was easier to force reset (which
closed the pull request automatically apparently).
2023-07-17 16:21:45 -03:00
George f968d1dfd1
Added metadata info when blog post (#1573)
Changed metadata info for when page is a blog post.

Signed-off-by: George Araujo <george.gcac@gmail.com>
2023-07-17 16:18:25 -03:00
Henry.W bdf7bbcb3d
Change analytics script from Panelbear to Cronitor (#1561)
Panelbear is now Cronitor RUM, the old script does not work.
2023-07-15 15:48:50 -03:00
Mirza Arnaut 40505f4c5d
Add jsonresume support (#1547)
Just as discussed in #1513 , this pull request adds support for
[jsonresume](https://jsonresume.org/). Create the resume once, either as
a file in the repository or at [github gist](https://gist.github.com/)
called `resume.json`. Put the file in the `_config.yaml` file and that's
it! Other platforms like [resumake](https://latexresu.me/) use the same
schema.

I also incorperated the changes introduced by #1339 to the best of my
abilites. The style could be further improved.

**Please merge this pull request after #1339 is merged, due to
dependencies from it**

If someone has a bettet approach on how to solve the problem that each
section needs its own template, please let me know. But for now it works
fine and is still backwards compatible with the `cv.yaml` file.

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>
2023-07-11 23:26:25 -03:00
José M. Requena Plens cd5138b9c6
CV Restyled (#1339)
I have redesigned the CV to have some options that I have in my pdf CV.

I'm not too inspired to include more example data, if anyone wants to
add data, go ahead.

With my data the CV looks like this:
[https://jmrplens.github.io/cv/](https://jmrplens.github.io/cv/ ).
My data: [VIEW
FILE](ce8b5b67db/_data/cv.yml)

Some screenshots:
<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-09-51)"
src="https://user-images.githubusercontent.com/28966312/233200752-e49afa44-1c07-42eb-b38c-337f81b60406.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-10-22)"
src="https://user-images.githubusercontent.com/28966312/233200844-0201d061-df3e-4e80-8107-3b6f7c72faa3.png">
<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-10-37)"
src="https://user-images.githubusercontent.com/28966312/233200898-77040d1a-bf9a-47f1-a46d-3008f7331020.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-10-54)"
src="https://user-images.githubusercontent.com/28966312/233200949-055fe27e-ce06-4929-91e8-cab2983b4850.png">

Mobile:

<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-21-36)"
src="https://user-images.githubusercontent.com/28966312/233203168-8b5cc777-e3f8-4387-96d4-a5d405d7032b.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-21-48)"
src="https://user-images.githubusercontent.com/28966312/233203238-5ccc424e-b0e3-41a1-bd2b-2c64e01cfc85.png">
<img width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-22-00)"
src="https://user-images.githubusercontent.com/28966312/233203297-7174be99-08a1-427a-a414-5bded2d6c2d8.png"><img
width="45%" alt="Screenshot of Google Chrome (19-4-23, 23-22-14)"
src="https://user-images.githubusercontent.com/28966312/233203312-f5067ce7-134f-4a39-bb5b-aaa3d247b3e7.png">

---------

Co-authored-by: George <31376482+george-gca@users.noreply.github.com>
2023-07-11 22:53:53 -03:00
Furkan Akkurt aeee609c92
correct spotify title (#1484) 2023-06-12 09:43:11 -04:00
Jesse Wei 9e146a04c6
Make latest post redirect if the blog post redirects (#1451)
Fixes #1450, and the behavior of the site with this "new" code is shown
in the Expected behavior screenshots there.

I copy-pasted the redirect logic from `blog/index.html` into
`_includes/latest_posts.html`, with minor name changes.

I also cleaned up a line in `blog/index.html`.
2023-06-10 21:43:31 -04:00
Samuel Chin 3083172d99
Fixes "General Information" section of CV in dark mode (#1432)
When the dark mode is default, or if you set the page to dark mode and
then refresh, the content in "General Information" can't be seen.
This PR fixes the problem.
2023-06-10 21:30:13 -04:00
George 597b5751a3
Audio and Video support (#1367)
Since #1253 has been hanging there for a while, I decided to part from
it and add audio and video support.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2023-05-15 12:31:27 -03:00
George 8f960bbae6
Fix table color (#1424)
Fix table color when dark mode is default.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2023-05-14 22:10:29 -03:00
CDN (Diego) Damasceno 1c0560fc03
Including Lattes CV in Socials (#1404)
Resubmitting the PR #1383
2023-05-08 13:56:58 -03:00