Commit Graph

187 Commits

Author SHA1 Message Date
George 1c416dbae8
Added support for jekyll-tabs (#2380)
Added support for [jekyll-tabs](https://github.com/Ovski4/jekyll-tabs),
implemented #1977.

Light:


![image](https://github.com/alshedivat/al-folio/assets/31376482/a3efdd92-1c0b-4ce7-8b34-2b052b75351b)

Dark:


![image](https://github.com/alshedivat/al-folio/assets/31376482/d0fb7091-8776-4838-8e70-c07435463e0a)

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2024-05-02 14:34:48 -03:00
George ba53f89965
Added support for Google Typograms (#2379)
Google [Typograms](https://github.com/google/typograms/) is a
lightweight image format (text/typogram) useful for defining simple
diagrams in technical documentation.


![image](https://github.com/alshedivat/al-folio/assets/31376482/715ba10b-c75d-492b-8869-4ec83d380e50)


![image](https://github.com/alshedivat/al-folio/assets/31376482/935f6ef8-1977-41d0-8797-d226594b82a9)

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2024-04-30 11:26:56 -03:00
George 37d75d039e
Added post citation (#2377)
Basically adds suggestions of how to cite a post, as suggested in #2374.


![image](https://github.com/alshedivat/al-folio/assets/31376482/756eb88a-35c9-435a-b79e-70d11aa489cb)

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2024-04-29 14:28:06 -03:00
CheariX 0aa3821300
Feat reworked project layout (closing #2246) (#2357)
The current state of project looks a bit unharmonized.

# Vertical layout before:

<img width="834" alt="Bildschirmfoto 2024-04-20 um 18 09 16"
src="https://github.com/alshedivat/al-folio/assets/1998723/55ba0968-bfd9-443f-b58a-eb6723deccfc">

# Vertical layout after:

<img width="834" alt="Bildschirmfoto 2024-04-20 um 18 10 28"
src="https://github.com/alshedivat/al-folio/assets/1998723/9b06b9b8-9228-4dfd-ab10-ca16ce028b1d">

# Horizontal layout before:

<img width="834" alt="Bildschirmfoto 2024-04-20 um 18 08 54"
src="https://github.com/alshedivat/al-folio/assets/1998723/97aaf5b4-1d3e-4a1c-8175-3a97391739b3">

# Horizontal layout after:

<img width="834" alt="Bildschirmfoto 2024-04-20 um 18 07 46"
src="https://github.com/alshedivat/al-folio/assets/1998723/a357fa62-8551-4e92-91d3-3d5d01dbc605">

***

These improvements are not perfect, but to be honest, I have no deep
experiences with bootstrap. Actually, I just read the
[docs](https://getbootstrap.com/docs/4.4/components/card/) and tried my
best.
But I think it looks way better than before.

I'm pretty happy with the vertical layout, but the horizontal could be
improved.
I tried various things to get a better alignment of the image, without
any success.
In theroy, there is e.g. `card-img-top`, but I could not make it work.

I changed the project descriptions to make some of these edge-cases
visible.

Feedback and improvements (especially code) are more than welcome

Closes #2246
2024-04-22 21:39:22 -03:00
Alireza Dehghanzadeh 154179bc99
Update work.liquid to show the location of work experience under cv … (#2349)
…page

same as pull request https://github.com/alshedivat/al-folio/pull/2298
and commit
363f277aa8
for **Volunteer** section
2024-04-17 15:17:43 -03:00
christopherjang1 363f277aa8
Update work.liquid to show the location of work experience under cv page (#2298)
adding "location" element when location object is added to work
experience. Location icon and the entered value will appear on the CV
page under the work experience section. This feature already exists for
education section, but not for work. The change is made to make the
experiece more consistent.


![image](https://github.com/alshedivat/al-folio/assets/158527033/9b55e139-1078-4655-8a18-56ac43da4d74)
2024-04-16 11:24:48 -03:00
George d6a08c8ca3
Added `pseudocode.js` support (#2344)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2024-04-15 11:21:42 -03:00
George 08d562a104
Offline mode (closes #1181) (#2312)
Created a plugin to tackle #1181. Currently have an issue with tikzjax
since it imports some wasm file from its javascript. The rest should
work as expected.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2024-04-08 14:51:28 -03:00
CheariX 1e00eb05f3
feat: added IEEE and ACM social (#2321)
I added further social integration for:

1. ACM: https://dl.acm.org/profile/
2. IEEE: https://ieeexplore.ieee.org/author/

Given their importance in computer science, I would like to have them in
al-folio.
2024-04-07 17:05:41 -03:00
George 00fdc13d6c
Added Bluesky social (#2314)
Now that Bluesky is [finally
available](https://fontawesome.com/changelog) at Font Awesome, we can
add it to the template.

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
2024-04-02 17:28:27 -03:00
Yi Su 088ba7e58c
add flickr to social integration (#2286)
- add flickr to social integration

---------

Co-authored-by: Yi Su <yi_su@apple.com>
2024-03-20 16:23:30 -03:00
Sam Adam-Day c788a30202
Added "follow system" option to theme toggle (#2261)
The theme toggle button now has a third option, which follows the user's
system preferences.

- In the code there's now a distinction between the theme setting (which
can be "dark", "light" or "system") and the computed theme.
- The theme setting is now stored as the "theme-setting" local storage
variable. Since this is different from the old variable ("theme"), this
will effectively reset all current user themes to the default "system".
Maybe this is not what you want.
- The "system" theme icon is currently a half circle symbol.
- The toggle button now displays the current theme setting, rather than
the next theme setting (as far as I know this is consistent with other
sites which have three theme options).
- `theme.js` is now loaded regardless of `site.enable_darkmode`. This is
because other scripts which were always loaded relied on being able to
determine the theme. `theme.js` no longer initialises the theme itself
though; this only happens when `site.enable_darkmode`.
- When the theme setting is "system", the theme will change immediately
whenever the user changes their system theme.

#2261

---------

Signed-off-by: George Araujo <george.gcac@gmail.com>
Co-authored-by: George Araujo <george.gcac@gmail.com>
2024-03-13 22:42:46 -03:00
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