Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added support to PurgeCSS #1562

Merged
merged 12 commits into from
Sep 28, 2023
Merged

Added support to PurgeCSS #1562

merged 12 commits into from
Sep 28, 2023

Conversation

george-gca
Copy link
Collaborator

Tackled #1329 with PurgeCSS.

Being talking with @varuniyer about using jekyll-uncss to reduce css file sizes by ditching unused classes. This approach have 3 main problems:

1 - have some limitations as pointed here
2 - last update to jekyll-uncss was about 3 years ago, so it might have a few issues
3 - uncss haven't seem a new release in a while, currently lacking maintenance, and using some deprecated libraries as seem here:

npm install -g uncss
npm WARN deprecated [email protected]: 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 [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated [email protected]: 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 [email protected]: 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, but 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

@pourmand1376
Copy link
Collaborator

It would be a lot better if we could see the online version of the site after the pull request without building it locally. Is it possible for Jekyll? @rohandebsarkar

@george-gca
Copy link
Collaborator Author

For this specific case I can use these commits in my demo site and we can check if everything is ok there. What do you think?

Another solution is to create an install script to install everything needed to run locally outside of docker, so you could test it. But I agree, see an online version after each PR (or at least select the PRs to which generate a temporary demo from) would be better.

@george-gca
Copy link
Collaborator Author

Just tried out the changes in my personal site and run a few times.
Before:

Desktop Mobile
Before Screenshot from 2023-07-30 19-30-34 Screenshot from 2023-07-30 19-30-40
After Screenshot from 2023-07-30 19-39-05 Screenshot from 2023-07-30 19-39-10

@george-gca
Copy link
Collaborator Author

Tried to add bootstrap-table to use local files, but for some reason it messes with it and I can't avoid it, even after adding it to ignore files in purgecss. Best keep it loading from web.

Before purge:

image

After purge:

image

@george-gca george-gca mentioned this pull request Sep 12, 2023
Copy link
Owner

@alshedivat alshedivat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just got a chance to read through thes changes. thanks for adding PurgeCSS and switching away from CDNs. looks good to me, I'm ok with merging it.

the only concern I have is that updating versions of the libraries will be more involved (previously, we could update fontawesome and other libraries by changing a couple of lines in _config.yml), but I guess better speed and more flexibility are worth this inconvenience.

@george-gca george-gca merged commit 64cf57f into alshedivat:master Sep 28, 2023
1 check passed
@george-gca george-gca deleted the purgecss branch September 28, 2023 17:22
antchristou pushed a commit to antchristou/antchristou.github.io that referenced this pull request Nov 20, 2023
Tackled alshedivat#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](alshedivat#1329 (comment))
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](uncss/uncss#459), and using some
deprecated libraries as seem here:

```
npm install -g uncss
npm WARN deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see request/request#3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated [email protected]: 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 [email protected]: request has been deprecated, see request/request#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 <[email protected]>
hgchen pushed a commit to hgchen/hgchen.github.io that referenced this pull request Dec 2, 2023
Tackled alshedivat#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](alshedivat#1329 (comment))
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](uncss/uncss#459), and using some
deprecated libraries as seem here:

```
npm install -g uncss
npm WARN deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see request/request#3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated [email protected]: 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 [email protected]: request has been deprecated, see request/request#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 <[email protected]>
smeznar pushed a commit to smeznar/smeznar.github.io that referenced this pull request Dec 9, 2023
Tackled alshedivat#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](alshedivat#1329 (comment))
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](uncss/uncss#459), and using some
deprecated libraries as seem here:

```
npm install -g uncss
npm WARN deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see request/request#3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated [email protected]: 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 [email protected]: request has been deprecated, see request/request#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 <[email protected]>
@george-gca george-gca mentioned this pull request Dec 14, 2023
adityarauniyar pushed a commit to adityarauniyar/adityarauniyar.github.io that referenced this pull request Jan 17, 2024
Tackled alshedivat#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](alshedivat#1329 (comment))
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](uncss/uncss#459), and using some
deprecated libraries as seem here:

```
npm install -g uncss
npm WARN deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see request/request#3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated [email protected]: 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 [email protected]: request has been deprecated, see request/request#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 <[email protected]>
chwag added a commit to chwag/chwag.github.io that referenced this pull request Mar 7, 2024
* Implemented latest posts on about page (#1307)

Adresses #340

---------

Signed-off-by: George Araújo <[email protected]>

* Implemented details tag for distill blog  (#1321)

* Fix publication button spacing (#1322)

* docs: add george-gca as a contributor for code (#1323)

* Update README.md

* Add star to academic portfolios (#1333)

* Added support for table of contents in blog posts (#1278)

![image](https://user-images.githubusercontent.com/31376482/226411600-e5619108-3842-4c44-b582-61fcc94a1b0c.png)

---------

Signed-off-by: George Araújo <[email protected]>

* Fix typo (#1356)

* added one more researcher (#1353)

Added my own website to the "stars" section

* Fix copy code button position (#1348)

Fix issue #1303 by adding a code wrapper outside the code block. 
Ref:
https://stackoverflow.com/questions/60771472/position-a-button-such-that-it-wont-scroll-with-contents

* Scopus integration (#1364)

Fixes #1362

* Removed blog header-bar when title and description are empty (#1370)

When blog title and description are empty, go from this


![image](https://user-images.githubusercontent.com/31376482/234630799-f4c2cd46-7ad0-4d45-a0f6-2badcf0da558.png)

to this


![image](https://user-images.githubusercontent.com/31376482/234630683-f11c8a88-438a-4db3-974e-ba9184d5516f.png)

Signed-off-by: George Araujo <[email protected]>

* Increased allowed max size of news and latest posts in about (#1369)

Fixed size of news and latest posts in about page when visualizing in
mobile.

Signed-off-by: George Araujo <[email protected]>

* Fixed hard-coded bib files in templates (#1373)

The bibliography filename `papers.bib` is hard coded in templates, and
the equivalent setting in `_config.yml` is not used anywhere. So
changing the bib filename in `_config.yml` won't have any effects.

This PR replaces hard-coded filenames with the value from `_config.yml`.

* Fixed bug when using latex in title and description (#1361)

Fixes #1252.

Signed-off-by: George Araujo <[email protected]>

* Fixed news limit (#1359)

Fixes #1346.

---------

Signed-off-by: George Araujo <[email protected]>
Co-authored-by: Yifan Jiang <[email protected]>
Co-authored-by: Raffaele Mancuso <[email protected]>
Co-authored-by: Yue Gao <[email protected]>

* Toc sidebar (#1366)

Implemented #966.


![image](https://user-images.githubusercontent.com/31376482/234411523-b02087d9-a437-4f77-9f54-de5eef122439.png)

---------

Signed-off-by: George Araujo <[email protected]>

* Toc sidebar color fix (#1375)

Fixed color and increased font size of toc sidebar

---------

Signed-off-by: George Araujo <[email protected]>

* Reduced a little font-size in toc sidebar (#1376)

Signed-off-by: George Araujo <[email protected]>

* added star to academic examples (#1377)

* Added support for Bootstrap table (#1283)

Added support for [Bootstrap Table](https://bootstrap-table.com/).
Haven't checked the impact on website loading, but I believe [this kind
of table](https://examples.bootstrap-table.com/#welcomes/from-data.html)
is way more useful for blog posts and projects pages.

* add star to academic examples (#1380)

* Add an academic example  (#1381)

https://bajinsheng.github.io/

* Added thumbnail support for blog posts (#1371)

Implemented #425 based on given code.


![image](https://user-images.githubusercontent.com/31376482/234644266-07c1aebd-6a83-482f-8ac2-846fe5c0653d.png)

---------

Signed-off-by: George Araujo <[email protected]>

* Moved bootstrap table css to head.html (#1387)

Signed-off-by: George Araujo <[email protected]>

* Fixed bootstrap table css (#1388)

Fixed bootstrap table css that is being overwritten by mdb css

Signed-off-by: George Araujo <[email protected]>

* Update README.md (#1389)

Added academic personal website

* Including Lattes CV in Socials (#1404)

Resubmitting the PR #1383

* README upgrade (#1394)

* Fix typo ; Update _config.yml (#1418)

Co-authored-by: George <[email protected]>

* Fixed typo in blog post (#1411)

* add star to academic examples (#1423)

* Fix table color (#1424)

Fix table color when dark mode is default.

---------

Signed-off-by: George Araujo <[email protected]>

* Custom blockquotes (#1419)

Added some custom blockquotes `tip`, `warning`, and `danger` as seen in
[jekyll-gitbook](https://sighingnow.github.io/jekyll-gitbook/jekyll/2022-06-30-tips_warnings_dangers.html),
and a blog post showcasing them.

Light look:

![image](https://github.com/alshedivat/al-folio/assets/31376482/8441bd56-a1a6-41c0-951f-2a2efa20c16c)

Dark look:

![image](https://github.com/alshedivat/al-folio/assets/31376482/a916218a-176e-40d0-ad87-6acc9eedf8e3)

---------

Signed-off-by: George Araujo <[email protected]>

* 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 <[email protected]>

* add academic personal webpage example (#1431)

Hello, I'd appreciate it if you could consider including my academic
personal webpage as an example. Thank you.

* add star to academic examples (#1439)

* Added star for samadamday.com in the README (#1443)

* Update README personal page stars (#1467)

* Update ruby to 3.2.2 in deploy.yml (#1459)

* Add star to academic examples (#1445)

* 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.

* 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`.

* update fontawesome version (#1485)

* correct spotify title (#1484)

* add functionality to display categories, like tags, in blog home page (#1482)

Added the functionality to display categories on the front page of the
blog, just like tags.

* fixes #1497 (#1505)

* Removed need for years in bibliography page (#1500)

Implementing #1390.

Signed-off-by: George Araujo <[email protected]>

* Added support for featured blog posts (#1498)

Implementing #1440. Still not sure if the year should be shown there or
not. Also, I limited to be displayed at least 2 at most 3 elements on
the row of featured blog posts, since when having only 1 featured post
the card would occupy the whole row (and it looks weird). What do you
think @alshedivat? Also, idk how to force the cards to have the same
height. I think it would look nicer, but my lack of web dev skills made
a difference here.

Some current screenshots:


![image](https://github.com/alshedivat/al-folio/assets/31376482/11b280dd-70b6-4bc4-84b6-987aa6412d55)


![image](https://github.com/alshedivat/al-folio/assets/31376482/d94aac41-246d-4b4e-afd0-161aab5a9b88)

---------

Signed-off-by: George Araujo <[email protected]>
Co-authored-by: Maruan <[email protected]>

* Added two more examples (#1517)

Added the following examples:
* A personal homepage
* A workshop website

* Update Docker Images to support M1 Mac (#1486)

I added multi-architecture support for docker images. 

- #1469 

ToDo: 
- [ ] Update deploy tag file accrodingly

* Created GitHub action to update site pagespeed svg (#1529)

Addresses #1524

Signed-off-by: George Araujo <[email protected]>

* Updated Pagespeed results

* Revert "Created GitHub action to update site pagespeed svg" (#1530)

Reverts alshedivat/al-folio#1529

* Updated README FAQ section (#1532)

* Added support for jupyter notebooks #417 (#1511)

Implemented #417.

---------

Signed-off-by: George Araújo <[email protected]>
Co-authored-by: Amir Pourmand <[email protected]>

* Added support for jupyter dark mode (#1538)

Signed-off-by: George Araujo <[email protected]>

* Create .dockerignore

* Added anmspro.github.io in academics (#1549)

Added anmspro.github.io in academics

* 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](https://github.com/jmrplens/jmrplens.github.io/blob/ce8b5b67dbc5a37dafe9083681b92a6746640b13/_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 <[email protected]>

* 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 <[email protected]>

* Publication image zoom (#1554)

Fixes #1552

---------

Signed-off-by: George Araujo <[email protected]>

* Support for bibliography in blog posts and projects (#1553)

Implemented #1193

---------

Signed-off-by: George Araujo <[email protected]>

* Remove repeated layout template of cv.html (#1555)

The layout template of cv.html has repeated parts. When site.data.resume
is not defined, the cv page will be rendered incorrectly.

* Made some small changes to code (#1558)

Signed-off-by: George Araujo <[email protected]>

* Change analytics script from Panelbear to Cronitor (#1561)

Panelbear is now Cronitor RUM, the old script does not work.

* Added metadata info when blog post (#1573)

Changed metadata info for when page is a blog post.

Signed-off-by: George Araujo <[email protected]>

* 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).

* Added missing socials to metadata (#1575)

Signed-off-by: George Araujo <[email protected]>

* Update Dockerfile (#1581)

* Zotero ID Bugfix (#1580)

#1569 Fixed mismatch between zotero-id in _config.yml and the zotero-id
called upon in the socials html file introduced by #1572 (sorry about
that; slipped in when I had to reset my zotero-branch)

* Update Tag Deploys to Support M1 Macbooks (#1522)

I should merge this whenever normal deploy is well-tested for Mac
computers.

* Al folio main giscus pages (#1596)

Solves #1586 by adding the option for giscus comments sites using the
pages layout and minimally modifies Project 2 to show giscus comments as
an example

* incorrect max-height in figure.html (#1593)

figure.html was incorrectly setting height=max-height instead of
max-height=max-height

* 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 <[email protected]>

* Added jupyter to README (#1637)

Signed-off-by: George Araujo <[email protected]>

* add star to academic examples (#1647)

Dear `al-folio` maintainers,

I would greatly appreciate it if you could add my homepage as a star in
the academic examples.

Thank you for your wonderful work on this.

* Update README to make Docker Recommended way (#1523)

Docker is well-tested for a long time. I think it is better to make it
the recommended method for all OS types.

This way, it is a lot easier to install docker (than to install jekyll
and ruby and what not) and also we wouldn't have to deal with issues
like these:
- https://github.com/alshedivat/al-folio/issues/1520
- https://github.com/alshedivat/al-folio/issues/1491

* Update README.md (#1657)

* Update README.md (#1661)

add star to academic example

* Add all contributors section to README.md

* Fix _variables.scss filename in README (#1683)

* Add website (#1674)

* Don't display badge if startDate is empty (#1682)

* Add a star. (#1695)

* Add star to README.md (#1684)

Added academic website to README.md.
Also added `_blank` target to earlier ones.

Co-authored-by: George <[email protected]>

* Add a star (#1705)

Added academic website to README.md.

* Add a star (#1723)

* Fix regex to limit keyword scope to fields (#1629)

improved version of the original fix contributed by @paberr in #1429

* Moved ToC Menu to Sidebar (#1582)

Addressing #1551 using the same sidebar as in #1366, removing the inline ToC menu from the CV

* 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.

* Update README.md (#1748)

* Adding a page (*) in README.md (#1755)

Adding https://kudhru.github.io/ in the academics section

* Update README (#1754)

* added the link to my personal academic website
([mbarbetti.github.io](https://mbarbetti.github.io))
* added the link to the website for a workshop named "Beyond Vision:
Physics meets AI" ([BVPAI
2023](https://physicsmeetsai.github.io/beyond-vision)) held within ICIAP
2023

---------

Co-authored-by: Amir Pourmand <[email protected]>

* Added a star (#1764)

* Fixing bootstrap dark-table top border (#1763)

This addresses https://github.com/alshedivat/al-folio/issues/1425.

Contributions:
- Added border attribute to `.table-dark` within `_base.scss` to
override bootstrap theme border settings for `.tabled-bordered`.
Displays top border in dark mode for only those tables that are bordered

* 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 [email protected]: 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 [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated [email protected]: 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 [email protected]: 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 <[email protected]>

* Added support for multiple profiles in about page (#1243)

Addresses #963.

Supports two setups: getting profile text from page content.

```markdown
---
layout: about
title: about
permalink: /
subtitle: <a href='#'>Affiliations</a>. Address. Contacts. Moto. Etc.

profiles:
  # if you want to include more than one profile, just replicate the following block
  # and create one content file for each profile inside _pages/
  - align: right
    image: prof_pic.jpg
    # content: about_einstein.md
    image_circular: false # crops the image to make it circular
    more_info: >
      <p>555 your office number</p>
      <p>123 your address street</p>
      <p>Your City, State 12345</p>

news: true  # includes a list of news items
selected_papers: true # includes a list of papers marked as "selected={true}"
social: true  # includes social icons at the bottom of the page
---

Write your biography here. Tell the world about yourself. Link to your favorite [subreddit](http://reddit.com). You can put a picture in, too. The code is already in, just name your picture `prof_pic.jpg` and put it in the `img/` folder.

Put your address / P.O. box / other info right below your picture. You can also disable any these elements by editing `profile` property of the YAML header of your `_pages/about.md`. Edit `_bibliography/papers.bib` and Jekyll will render your [publications page](/al-folio/publications/) automatically.

Link to your social media connections, too. This theme is set up to use [Font Awesome icons](http://fortawesome.github.io/Font-Awesome/) and [Academicons](https://jpswalsh.github.io/academicons/), like the ones below. Add your Facebook, Twitter, LinkedIn, Google Scholar, or just disable all of them.
```

Or getting profile text from `content` (useful when having multiple
profiles).

```markdown
---
layout: about
title: about
permalink: /
subtitle: <a href='#'>Affiliations</a>. Address. Contacts. Moto. Etc.

profiles:
  # if you want to include more than one profile, just replicate the following block
  # and create one content file for each profile inside _pages/
  - align: right
    image: prof_pic.jpg
    content: about_einstein.md
    image_circular: false # crops the image to make it circular
    more_info: >
      <p>555 your office number</p>
      <p>123 your address street</p>
      <p>Your City, State 12345</p>
  - align: left
    image: prof_pic.jpg
    content: about_einstein.md
    image_circular: false # crops the image to make it circular
    more_info: >
      <p>555 your office number</p>
      <p>123 your address street</p>
      <p>Your City, State 12345</p>

news: true  # includes a list of news items
selected_papers: true # includes a list of papers marked as "selected={true}"
social: true  # includes social icons at the bottom of the page
---
```

Which looks like this:


![image](https://user-images.githubusercontent.com/31376482/223251956-aec09f92-55c4-4a17-8ab6-0b30da0970cc.png)

---------

Signed-off-by: George Araújo <[email protected]>
Signed-off-by: George Araujo <[email protected]>

* 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 <[email protected]>

* Added description to profiles page (#1777)

Added support for description in profiles page

Signed-off-by: George Araujo <[email protected]>

* Create .github/release.yml

Adds a template for automatic generation of release notes

* Update README.md

add link to iclr 2024 blog post track

* Update README.md

add link to workshop on diffusion models

* Update README.md

add all contributors to toc

* Optimize Dockerfile (#1700)

* Fix Docker Problem (#1785)

* Update README.md (#1789)

added an example of a personal web page

* 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.

* Remove by year grouping from selected publications (#1796)

* Make publication thumbnails optional + fix small layout bugs (#1797)

* Fix a small bug in giscus template

* Add Reload to Docker (Automatic Reload of Changes to _config.yaml) (#1702)

- #1640

* Add DockerSlim (#1699)

* Update Dockerfile

* fix reference disappearing for distill blog in absence of author (#1804)

* Added my website in the list (#1834)

* Update README.md (#1837)

* Update README.md (#1856)

* Added shubhashisroydipta.com to README.md (#1816)

* fix inconsistent alignment for latest posts (#1832)

* Add my website (#1859)

* Update README.md (#1938)

Adding my site. Amazing template, it was incredibly easy to setup and is
super flexible!

* Adding my site. Thanks! (#1945)

* Update Font Awesome url (#1943)

Previous link returns a `404`

* Update README.md (#1901)

Added new Q&A (Q7). Github credentials error when deploying. Changing
the github config url from `http` to `ssh`

* ENH image zooming in distill posts (#1826)

Towards https://github.com/alshedivat/al-folio/discussions/1374

The image zooming feature did not work with distill layout previously.

* Better Readme (#1806)

* Update cv.html (#1820)

resume fixing that isn't showing up

* Update resume.json (#1821)

populating resume.json to give easier start to people that dont
understand very well how to setup the fields

* Fixes #1952 (#1955)

Fixes #1952 by updating font awesome version. Also updated icons names
to newest font awesome style.

---------

Signed-off-by: George Araujo <[email protected]>

* Fixes #1584 (#1971)

Removed link to blog when showing years in news

Signed-off-by: George Araujo <[email protected]>

* Update cv.md (#1973)

Fix path typo in description

* Implemented support for tikzjax (#1990)

Implemented #1976.

Signed-off-by: George Araújo <[email protected]>

* Fixed redirect post access from blog archive (#1994)

Fixes #1831

Signed-off-by: George Araújo <[email protected]>

* Ensure the zoomed image is in front of toc sidebar (#1998)

Fixes #1888

Signed-off-by: George Araújo <[email protected]>

* Updated README to explictly tell how to proceed on fresh install (#1993)

Updated README to explicitly tell how to proceed on creating your own
version based on this template. Also removed the video tutorial since it
was for an older version, recommending to fork the repo and it was
missing the `--lsi` parameter from jekyll command. Also was not using
docker, the current recommended way.

---------

Signed-off-by: George Araújo <[email protected]>

* 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.

* added ability to switch off pagination on the blog page (#1909)

* Now blog can be reorganized in header (#1996)

Fixes #1559 #1795

Signed-off-by: George Araújo <[email protected]>

* Added video button to bib entries (#2008)

When the video entry is added to bib:

e.g.,

```
{
...
video={https://www.youtube.com/embed/jNQXAC9IVRw}
...
}
```
A dedicated button appears for videos. When clicked, a playable video
appears under the research article (like abstracts and bibtex)

* bring back `repo_id` and `category_id` in `giscus` section (#1892)

After deploying my website (Cloudflare Pages), my Giscus did not work, I
realized these two paramesters are removed. After adding them again, my
Giscus worked correctly.
These new values are values from previous commits of original repository

---------

Co-authored-by: Maruan Al-Shedivat <[email protected]>

* 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`

* fix live-reloading in docker (#2022)

Fix #2021 : The webpage hosted by docker would not be automatically
reloaded because the port used for live-reloading (port 35729) is not
forwarded.

* Remove imagemagick strip (#2028)

I had added -strip arg to the imagemagick call as it is generally
desirable to strip metadata from images before publishing them, however
it seems to occasionally cause issues with jekyll-imagemagick
auto-regeneration, regenerating images even when they have not changed.

* Changed trophies layout to better suit different screen sizes (#2038)

Signed-off-by: George Araújo <[email protected]>

* Changed mermaid support in template (#1992)

Fix #1609

---------

Signed-off-by: George Araujo <[email protected]>
Co-authored-by: Maruan Al-Shedivat <[email protected]>

* Upgrading the README file (#2034)

I decided to break the README file into different ones to declutter it
from the main page. Also adding some more explanation on the structure
of the template. Tackling #2032 and #2033

---------

Signed-off-by: George Araujo <[email protected]>

* Added information about using wsl on Windows (#2040)

Signed-off-by: George Araujo <[email protected]>

* Removed background from template example

* 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 <[email protected]>

* Add direct link to `use this template`

* Normalizing coauthor names before search (#2057)

Signed-off-by: George Araújo <[email protected]>

* 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

* Add .git-blame-ignore-revs

* Move news and 404 to pages (#2060)

moves news and 404 from repo root dir to `_pages/` where they are
supposed to be + changes their extensions to `.md`

* Fix prettier (#2062)

Changed rule to minified files, reverted changes to minified files

---------

Signed-off-by: George Araújo <[email protected]>

* Update .git-blame-ignore-revs

* Fixed small typo (#2064)

instalation -> installation

Thank you for this resource!

* Added additional user to README.md (#2063)

Added new user to academics section in readme. 

Thank you for this great resource!

* Fixed missing changes to liquid file

* Fixed FAQ link in CONTRIBUTING.md

* Changed file paths in bug_report.md

* Fix custom blockquotes (#2071)

Fixed issue #2066. Removed `>` in front of `{: .block-tip }` which was
introduced by prettier in the example post.

* 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 <[email protected]>

* Link checks on deploy (#2079)

Added another GitHub action to check for broken local links on version
of the site that will be deployed.

The `broken-links` action check for broken links considering
documentation files (like INSTALLING.md) and also pages like
[_pages/about.md](https://github.com/alshedivat/al-folio/blob/master/_pages/about.md),
but it can't check for broken links when the link will be handled by
jekyll tags (like in
[_pages/blog.md](https://github.com/alshedivat/al-folio/blob/master/_pages/blog.md).

With `broken-links-site` we can check if all the links that will be used
on the final site that refer to local files are correct. Focusing only
on local files since this would end up calling too many checks for
library files, like
`https://unpkg.com/[email protected]/dist/bootstrap-table.min.css`.

---------

Signed-off-by: George Araújo <[email protected]>

* 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 <[email protected]>

* Fixed role main in default.liquid

* Added missing separator in README

* Update contributing on README.md

* Added star history to README.md

* Updated toc on README.md

* Update INSTALL.md version of al-folio

* Adding star (#2095)

Thank you all!!!

* Changed conditions of running GitHub actions (#2082)

The GitHub actions were running everytime a new commit was made to the
repo, but that wasn't needed. For example, we don't need to try to
create a new docker image if the libraries didn't change, same to build
the whole site after a change in the README.md.

---------

Signed-off-by: George Araújo <[email protected]>

* Downgrade ruby version (#2098)

Signed-off-by: George Araújo <[email protected]>

* Update INSTALL.md (#2091)

- #2090

* Fixed dark mode not working after purgecss

* Added one more researcher using al-folio (#2105)

Added my own website as a star to the "Academics" section

* Added acknowledge section to feature_request.md

* Added diff tools to INSTALL.md

* Prettier check now generates a diff comment on PR (#2085)

Splitted prettier GitHub action into two:
- `on push`, only runs on direct pushes, if test fails generates an
artifact (that lasts for 3 days) with an html version of the changes
needed to pass prettier test
- `on PR`, only runs on PRs, if test fails comments on the PR with the
HTML content of the diff

I couldn't actually test the `on PR` version since it needs to be on a
PR in the master branch, so this will only be triggered after this PR is
accepted, and for the next PR that fails prettier test.

PS: currently the artifact is a zip file with the html inside. It is not
currently possible to generate it other way, we have to wait for [this
issue](https://github.com/actions/upload-artifact/issues/14) to be
closed.

---------

Signed-off-by: George Araújo <[email protected]>

* Update prettier-on-pr.yml permissions

* Changed how prettier comments on PR works (#2112)

Signed-off-by: George Araújo <[email protected]>

* Fixed prettier actions (#2113)

After some thorough testing, finally made prettier on PR work. Since an
html file can't be used as comment on GitHub, changed to simply point to
the action that failed and to the file containing the html diff.

Signed-off-by: George Araújo <[email protected]>

* Moved prettier comment on PR to its own action (#2114)

Signed-off-by: George Araújo <[email protected]>

* Added Lighthouse test GitHub action (#2084)

Added support for Lighthouse test as a GitHub action, and it appears
like
[this](https://github.com/george-gca/multi-language-al-folio?tab=readme-ov-file#lighthouse-pagespeed-insights).
The only thing missing is for @alshedivat to create a [repository
secret](https://github.com/MyActionWay/lighthouse-badger-workflows#lighthouse-badger-easyyml)
named `LIGHTHOUSE_BADGER_TOKEN` with the information needed.

---------

Signed-off-by: George Araújo <[email protected]>

* Lighthouse-Badger[bot]: Results Added

* Fixed lighthouse html viewer links

* Added anchor to category sections (#2006)

Added anchor to categories so one could navigate to the category section
from the URL:

e.g.,

https://alshedivat.github.io/al-folio/projects#fun

* Added lighthouse_results to .prettierignore

* Improved issues templates (#2110)

Since a lot of issues opened are just questions that should be opened as
so, and sometimes the issue template is just not followed, I decided to
make opening new issues a little more "enforced", if not clear.

I based the new templates on the ones from [pytorch
lightning](https://github.com/Lightning-AI/pytorch-lightning/issues/new/choose),
which I think are pretty good. The visuals will only appear after the
merge is processed, but you can have an idea of how it will look like by
checking their templates and how they look.

---------

Signed-off-by: George Araújo <[email protected]>

* Removed 0 from bug report

* Updated links in 1_bug_report.yml

* Updated links in 2_feature_request.yml

* Updated links in issue template config.yml

* Fixed url in config.yml

* Fixed urls in 2_feature_request.yml

* Fixed urls in 1_bug_report.yml

* Updated checkout step in lighthouse-badger.yml

* Lighthouse-Badger[bot]: Results Added

* 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 <[email protected]>

* Added integrity check to mermaid.js

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* Added leaflet reference to 2024-01-26-geojson-map.md

* Closing #2122 (#2135)

Added lighthouse badger token info to FAQ

---------

Signed-off-by: George Araújo <[email protected]>

* Workflow fix (#2136)

Signed-off-by: George Araújo <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* Update FAQ.md with Prettier info

* Avoid deploying site when changes are in README files

* Lighthouse-Badger[bot]: Results Added

* Removing lighthouse results from deploy trigger

* Removing lighthouse_results from broken-links trigger

* Lighthouse-Badger[bot]: Results Added

* 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)

* Added link to jekyll docs about post file naming

* Fixed axe workflow (#2149)

Signed-off-by: George Araújo <[email protected]>

* improved redirect mapping (#2157)

In reference to issue:
https://github.com/alshedivat/al-folio/discussions/1818

Redirect cases were only happening on the surface level, essentially
just affecting the links on [blog
index](https://alshedivat.github.io/al-folio/blog/page/4/index.htm) and
[year tag](https://alshedivat.github.io/al-folio/blog/2022/). However,
from the actual
[site](https://alshedivat.github.io/al-folio/blog/2022/redirect/), it
would automatically redirect to the `base_url` rather than the actual
`redirect`.

In my update, if `redirect: true`, like it is in `404.md`, redirect
behavior is the same, redirecting to the `base_url`. If it is an
external link, then the redirect is external. And finally if it is an
internal redirect, like it is in
https://alshedivat.github.io/al-folio/blog/2022/redirect/, than the
redirect is `page.redirect | relative_url`

* Updated FAQ with old repository information (#2161)

Signed-off-by: George Araújo <[email protected]>

* Added jekyll-diagrams error to FAQ (#2162)

Signed-off-by: George Araújo <[email protected]>

* center footer text by default (#2165)

This PR changes the footer text on the website (for both the sticky and
fixed footer) to be centered by default. This change is based on the
discussion post #257.

* 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.

* Update README.md (#2182)

Add my acdemic portfolio to the Acdemic section of README.

* Update README.md (#2187)

adding my page to the README section. Kudos to the dev team!

* Added support for google scholar citations (#2193)

Closes #1809, but there are caveats:
1 - it only works at build time, which means it won't update the numbers
unless you build your site again
2 - Google might block the request if it receives lots of it, failing
the whole process.

This is how it looks like when it can fetch the information:

![Screenshot from 2024-02-13
00-37-52](https://github.com/alshedivat/al-folio/assets/31376482/646d1f3c-1294-491b-bc13-9013e38918b4)

And this when it fails:


![image](https://github.com/alshedivat/al-folio/assets/31376482/516eefff-d394-44ad-8702-8982233f8c4f)

Signed-off-by: George Araujo <[email protected]>

* Fixed bug when number has , on scholar citations

* Add academic community example (#2195)

Adds [https://ericslyman.com/](https://ericslyman.com/) to the list of
academic community examples.

* Fixed related publications appearing in toc (#2196)

Fixes #2192

---------

Signed-off-by: George Araujo <[email protected]>

* 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.

* 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`.

* fix author spacing (#2197)

This PR fixes issue https://github.com/alshedivat/al-folio/issues/2185
and addresses discussion
https://github.com/alshedivat/al-folio/discussions/2153.

- removes leading whitespace before commas in author list
- fixes author spacing

* Changed lazy loading in figure.liquid

* Changed lazy loading in _config.yml

* Added/Improved Formatting for Checkboxes (#2191)

A proposed solution for #2190. Padding is added such that I considered
it aesthetically pleasing and the bullet points in front of the check
marks were removed.

---------

Co-authored-by: George <[email protected]>

* Lighthouse-Badger[bot]: Results Added

* 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 <[email protected]>

* Lighthouse-Badger[bot]: Results Added

* Fixed coauthors examples in CUSTOMIZE

* Fixed broken latex in _posts/2015-10-20-math.md (#2219)

Latex math is currently broken in
[_posts/2015-10-20-math.md](https://alshedivat.github.io/al-folio/blog/2015/math/)
. Fixed it by replacing starts with underscore

---------

Co-authored-by: George <[email protected]>

* Emphasized more how the name of the repository must be

* 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 <[email protected]>

* Update INSTALL.md (#2237)

Added "Recommended Approach" as a subheading which was not under
Installing , but was in the contents section.

* Updated information about lsi

* Correct config variable for enabling latest_posts on about page (#2243)

I noticed disabling latest_posts in `_config.yml` didn't work because
the variable in the liquid template was seemingly incorrect. This should
fix that.

---------

Co-authored-by: Jake Nabasny <[email protected]>

* 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.

* Add option for local HTML files (#2245)

Add option to link HTML local files from publications page.

---------

Co-authored-by: Jake Nabasny <[email protected]>

* Delete reports directory

---------

Signed-off-by: George Araújo <[email protected]>
Signed-off-by: George Araujo <[email protected]>
Co-authored-by: George <[email protected]>
Co-authored-by: gaspardbb <[email protected]>
Co-authored-by: Maruan <[email protected]>
Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Varun Iyer <[email protected]>
Co-authored-by: Furkan Akkurt <[email protected]>
Co-authored-by: Yuki M. Asano <[email protected]>
Co-authored-by: Yifan Jiang <[email protected]>
Co-authored-by: Raffaele Mancuso <[email protected]>
Co-authored-by: Yue Gao <[email protected]>
Co-authored-by: Hashe037 <[email protected]>
Co-authored-by: Wang Boyu <[email protected]>
Co-authored-by: Jinsheng Ba <[email protected]>
Co-authored-by: sfanzon <[email protected]>
Co-authored-by: CDN (Diego) Damasceno <[email protected]>
Co-authored-by: danickblouin <[email protected]>
Co-authored-by: Qingqing Chen <[email protected]>
Co-authored-by: Kai Yao <[email protected]>
Co-authored-by: Lily (Xianling) Zhang <[email protected]>
Co-authored-by: Sam Adam-Day <[email protected]>
Co-authored-by: Fan Pu Zeng <[email protected]>
Co-authored-by: ebohnenb <[email protected]>
Co-authored-by: Lucas Emanuel Resck <[email protected]>
Co-authored-by: Samuel Chin <[email protected]>
Co-authored-by: Jesse Wei <[email protected]>
Co-authored-by: Juan Carlos Niebles <[email protected]>
Co-authored-by: Loris Fichera <[email protected]>
Co-authored-by: Amir Pourmand <[email protected]>
Co-authored-by: github-actions[bot] <[email protected]>
Co-authored-by: Abu Noman Md. Sakib <[email protected]>
Co-authored-by: José M. Requena Plens <[email protected]>
Co-authored-by: Mirza Arnaut <[email protected]>
Co-authored-by: Henry.W <[email protected]>
Co-authored-by: David Krassnig <[email protected]>
Co-authored-by: NakuraMino <[email protected]>
Co-authored-by: Daniel Berlyne <[email protected]>
Co-authored-by: filippomazzoli <[email protected]>
Co-authored-by: Alejandro Escontrela <[email protected]>
Co-authored-by: Raffaele Mancuso <[email protected]>
Co-authored-by: Kyle Oman <[email protected]>
Co-authored-by: Carlson B <[email protected]>
Co-authored-by: Decwest <[email protected]>
Co-authored-by: Jed Burkat <[email protected]>
Co-authored-by: gzwongkk <[email protected]>
Co-authored-by: Johannes Hörner <[email protected]>
Co-authored-by: Henry Zhang <[email protected]>
Co-authored-by: Dhruv Kumar <[email protected]>
Co-authored-by: Matteo Barbetti <[email protected]>
Co-authored-by: Nikolai Zhivotenko <[email protected]>
Co-authored-by: Lance Wilhelm <[email protected]>
Co-authored-by: Martin Bulla <[email protected]>
Co-authored-by: Maruan Al-Shedivat <[email protected]>
Co-authored-by: Giordano d'Aloisio <[email protected]>
Co-authored-by: Monk <[email protected]>
Co-authored-by: Shubhashis Roy Dipta <[email protected]>
Co-authored-by: Abhinav Mehta <[email protected]>
Co-authored-by: Antonio Stanziola <[email protected]>
Co-authored-by: Shubhankar <[email protected]>
Co-authored-by: Rachel <[email protected]>
Co-authored-by: Javkhlantugs <[email protected]>
Co-authored-by: Yao Xiao <[email protected]>
Co-authored-by: Pablo Diego Pereira <[email protected]>
Co-authored-by: civita <[email protected]>
Co-authored-by: Tianmaru <[email protected]>
Co-authored-by: Dinesh Natesan <[email protected]>
Co-authored-by: Fares Abawi <[email protected]>
Co-authored-by: Alireza Dehghanzadeh <[email protected]>
Co-authored-by: Noah West <[email protected]>
Co-authored-by: WEI EN TSAI <[email protected]>
Co-authored-by: Sam B <[email protected]>
Co-authored-by: Yifan Jiang <[email protected]>
Co-authored-by: Afrânio Melo <[email protected]>
Co-authored-by: Jona Ruthardt <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Andrew Boyer <[email protected]>
Co-authored-by: Ethan Olesinski <[email protected]>
Co-authored-by: ZL Asica <[email protected]>
Co-authored-by: Stavros Kalapothas <[email protected]>
Co-authored-by: Eric Slyman (they/them) <[email protected]>
Co-authored-by: Maksym Zub <[email protected]>
Co-authored-by: Moritz Scherrmann <[email protected]>
Co-authored-by: Scherrmann <[email protected]>
Co-authored-by: Sasika Amarasinghe <[email protected]>
Co-authored-by: Jake Nabasny, PhD <[email protected]>
Co-authored-by: Jake Nabasny <[email protected]>
Co-authored-by: Sukka <[email protected]>
BoAi01 pushed a commit to BoAi01/boai01.github.io that referenced this pull request May 7, 2024
Tackled alshedivat#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](alshedivat#1329 (comment))
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](uncss/uncss#459), and using some
deprecated libraries as seem here:

```
npm install -g uncss
npm WARN deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see request/request#3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated [email protected]: 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 [email protected]: request has been deprecated, see request/request#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 <[email protected]>
wangmagg pushed a commit to wangmagg/wangmagg.github.io that referenced this pull request May 14, 2024
Tackled alshedivat#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](alshedivat#1329 (comment))
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](uncss/uncss#459), and using some
deprecated libraries as seem here:

```
npm install -g uncss
npm WARN deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see request/request#3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated [email protected]: 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 [email protected]: request has been deprecated, see request/request#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 <[email protected]>
chertianser pushed a commit to chertianser/chertianser.github.io that referenced this pull request Aug 8, 2024
Tackled alshedivat#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](alshedivat#1329 (comment))
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](uncss/uncss#459), and using some
deprecated libraries as seem here:

```
npm install -g uncss
npm WARN deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see request/request#3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated [email protected]: 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 [email protected]: request has been deprecated, see request/request#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 <[email protected]>
avishekanand pushed a commit to avishekanand/al-folio-homepage that referenced this pull request Oct 22, 2024
Tackled alshedivat#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](alshedivat#1329 (comment))
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](uncss/uncss#459), and using some
deprecated libraries as seem here:

```
npm install -g uncss
npm WARN deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see request/request#3142
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.
npm WARN deprecated [email protected]: 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 [email protected]: request has been deprecated, see request/request#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 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants