-
Notifications
You must be signed in to change notification settings - Fork 11.3k
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
Update head.html to use cache-busting for CSS styling #1478
Conversation
Updated to address issue #1395. Implemented a cache-busting feature which refreshes the CSS url using a uniquely generated timestamp made when a new build occurs. This forces browsers to download/reference the updated styling.
…-files Update head.html to use cache-busting for CSS styling
Thanks for following up on this issue. As discussed in the original issue, simply adding a time-based cache-busting would force reloading style files on every new build, even those without updating the style files. However, we were not able to make a hash-based cache-busting work. I think the time-based approach is okay, as long as there is a switch in the theme config file to disable it. It might be better to have this feature disabled by default, given the unnecessary reloading for the more frequent content-only site updates. |
@SanabilQureshi, thanks for adding cache-busting option. as @Lodour mentions, this is a developer feature, so it should be disabled by default. what do you think about adding a |
EDIT: it doesn't solve, since it appears to use the hash for the commit and not the file. I believe using this plugin is the best option. |
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>
Addressing alshedivat#1395 but with a different solution from alshedivat#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>
Addressing alshedivat#1395 but with a different solution from alshedivat#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>
Addressing alshedivat#1395 but with a different solution from alshedivat#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>
Addressing alshedivat#1395 but with a different solution from alshedivat#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>
* Implemented latest posts on about page (#1307) Adresses #340 --------- Signed-off-by: George Araújo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * Fixed news limit (#1359) Fixes #1346. --------- Signed-off-by: George Araujo <george.gcac@gmail.com> Co-authored-by: Yifan Jiang <55911052+YifanJiang233@users.noreply.github.com> Co-authored-by: Raffaele Mancuso <54762742+raffaem@users.noreply.github.com> Co-authored-by: Yue Gao <11145354+Lodour@users.noreply.github.com> * Toc sidebar (#1366) Implemented #966. ![image](https://user-images.githubusercontent.com/31376482/234411523-b02087d9-a437-4f77-9f54-de5eef122439.png) --------- Signed-off-by: George Araujo <george.gcac@gmail.com> * Toc sidebar color fix (#1375) Fixed color and increased font size of toc sidebar --------- Signed-off-by: George Araujo <george.gcac@gmail.com> * Reduced a little font-size in toc sidebar (#1376) Signed-off-by: George Araujo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * Moved bootstrap table css to head.html (#1387) Signed-off-by: George Araujo <george.gcac@gmail.com> * Fixed bootstrap table css (#1388) Fixed bootstrap table css that is being overwritten by mdb css Signed-off-by: George Araujo <george.gcac@gmail.com> * 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 <31376482+george-gca@users.noreply.github.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * Audio and Video support (#1367) Since #1253 has been hanging there for a while, I decided to part from it and add audio and video support. --------- Signed-off-by: George Araujo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> Co-authored-by: Maruan <alshedivat@users.noreply.github.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> Co-authored-by: Amir Pourmand <pourmand1376@gmail.com> * Added support for jupyter dark mode (#1538) Signed-off-by: George Araujo <george.gcac@gmail.com> * 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 <31376482+george-gca@users.noreply.github.com> * Add jsonresume support (#1547) Just as discussed in #1513 , this pull request adds support for [jsonresume](https://jsonresume.org/). Create the resume once, either as a file in the repository or at [github gist](https://gist.github.com/) called `resume.json`. Put the file in the `_config.yaml` file and that's it! Other platforms like [resumake](https://latexresu.me/) use the same schema. I also incorperated the changes introduced by #1339 to the best of my abilites. The style could be further improved. **Please merge this pull request after #1339 is merged, due to dependencies from it** If someone has a bettet approach on how to solve the problem that each section needs its own template, please let me know. But for now it works fine and is still backwards compatible with the `cv.yaml` file. Co-authored-by: George <31376482+george-gca@users.noreply.github.com> * Publication image zoom (#1554) Fixes #1552 --------- Signed-off-by: George Araujo <george.gcac@gmail.com> * Support for bibliography in blog posts and projects (#1553) Implemented #1193 --------- Signed-off-by: George Araujo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * Added jupyter to README (#1637) Signed-off-by: George Araujo <george.gcac@gmail.com> * 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 <31376482+george-gca@users.noreply.github.com> * 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 <pourmand1376@gmail.com> * 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 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> * 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 <george.gcac@gmail.com> Signed-off-by: George Araujo <george.gcac@gmail.com> * 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> * Added description to profiles page (#1777) Added support for description in profiles page Signed-off-by: George Araujo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * Fixes #1584 (#1971) Removed link to blog when showing years in news Signed-off-by: George Araujo <george.gcac@gmail.com> * Update cv.md (#1973) Fix path typo in description * Implemented support for tikzjax (#1990) Implemented #1976. Signed-off-by: George Araújo <george.gcac@gmail.com> * Fixed redirect post access from blog archive (#1994) Fixes #1831 Signed-off-by: George Araújo <george.gcac@gmail.com> * Ensure the zoomed image is in front of toc sidebar (#1998) Fixes #1888 Signed-off-by: George Araújo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <maruan@genesistherapeutics.ai> * 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 <george.gcac@gmail.com> * 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> * 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 <george.gcac@gmail.com> * Added information about using wsl on Windows (#2040) Signed-off-by: George Araujo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * Add direct link to `use this template` * Normalizing coauthor names before search (#2057) Signed-off-by: George Araújo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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/bootstrap-table@1.22.1/dist/bootstrap-table.min.css`. --------- Signed-off-by: George Araújo <george.gcac@gmail.com> * 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> * 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 <george.gcac@gmail.com> * Downgrade ruby version (#2098) Signed-off-by: George Araújo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * Update prettier-on-pr.yml permissions * Changed how prettier comments on PR works (#2112) Signed-off-by: George Araújo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * Moved prettier comment on PR to its own action (#2114) Signed-off-by: George Araújo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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> * 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> * 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 <george.gcac@gmail.com> * Workflow fix (#2136) Signed-off-by: George Araújo <george.gcac@gmail.com> * 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> * 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> * 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> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * Added jekyll-diagrams error to FAQ (#2162) Signed-off-by: George Araújo <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <george.gcac@gmail.com> * 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 <31376482+george-gca@users.noreply.github.com> * 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 <george.gcac@gmail.com> * 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 <31376482+george-gca@users.noreply.github.com> * 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 <scherrmann@bwl.uni-muenchen.de> * 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 <jake@nabasny.com> * 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 <jake@nabasny.com> * Delete reports directory --------- Signed-off-by: George Araújo <george.gcac@gmail.com> Signed-off-by: George Araujo <george.gcac@gmail.com> Co-authored-by: George <31376482+george-gca@users.noreply.github.com> Co-authored-by: gaspardbb <40466739+gaspardbb@users.noreply.github.com> Co-authored-by: Maruan <alshedivat@users.noreply.github.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Varun Iyer <tech@varuniyer.info> Co-authored-by: Furkan Akkurt <71407287+furkanakkurt1335@users.noreply.github.com> Co-authored-by: Yuki M. Asano <yuki.m.asano@gmail.com> Co-authored-by: Yifan Jiang <55911052+YifanJiang233@users.noreply.github.com> Co-authored-by: Raffaele Mancuso <54762742+raffaem@users.noreply.github.com> Co-authored-by: Yue Gao <11145354+Lodour@users.noreply.github.com> Co-authored-by: Hashe037 <64798080+Hashe037@users.noreply.github.com> Co-authored-by: Wang Boyu <wang-boyu@users.noreply.github.com> Co-authored-by: Jinsheng Ba <43855029@qq.com> Co-authored-by: sfanzon <126147228+sfanzon@users.noreply.github.com> Co-authored-by: CDN (Diego) Damasceno <1561504+damascenodiego@users.noreply.github.com> Co-authored-by: danickblouin <45211997+danickblouin@users.noreply.github.com> Co-authored-by: Qingqing Chen <qchen47@buffalo.edu> Co-authored-by: Kai Yao <kai.yao@intel.com> Co-authored-by: Lily (Xianling) Zhang <alchemxz@gmail.com> Co-authored-by: Sam Adam-Day <me@samadamday.com> Co-authored-by: Fan Pu Zeng <fanpu@users.noreply.github.com> Co-authored-by: ebohnenb <80862730+ebohnenb@users.noreply.github.com> Co-authored-by: Lucas Emanuel Resck <41991486+lucasresck@users.noreply.github.com> Co-authored-by: Samuel Chin <samuelchin91@gmail.com> Co-authored-by: Jesse Wei <jessew3102@gmail.com> Co-authored-by: Juan Carlos Niebles <niebles@gmail.com> Co-authored-by: Loris Fichera <loris.fichera@gmail.com> Co-authored-by: Amir Pourmand <pourmand1376@gmail.com> Co-authored-by: github-actions[bot] <actions@github.com> Co-authored-by: Abu Noman Md. Sakib <33668152+anmspro@users.noreply.github.com> Co-authored-by: José M. Requena Plens <joreple@upv.es> Co-authored-by: Mirza Arnaut <mirza.arnaut45@gmail.com> Co-authored-by: Henry.W <58690749+yahaha-233@users.noreply.github.com> Co-authored-by: David Krassnig <96623786+DavidKrassnig@users.noreply.github.com> Co-authored-by: NakuraMino <33564642+NakuraMino@users.noreply.github.com> Co-authored-by: Daniel Berlyne <104771503+danberlyne@users.noreply.github.com> Co-authored-by: filippomazzoli <71236181+filippomazzoli@users.noreply.github.com> Co-authored-by: Alejandro Escontrela <alejandroescontrela@gmail.com> Co-authored-by: Raffaele Mancuso <raffaele.mancuso4@unibo.it> Co-authored-by: Kyle Oman <koman@astro.rug.nl> Co-authored-by: Carlson B <49326130+cbueth@users.noreply.github.com> Co-authored-by: Decwest <fumiyaonishi1016@gmail.com> Co-authored-by: Jed Burkat <129440663+jedbur@users.noreply.github.com> Co-authored-by: gzwongkk <gzwongkk@gmail.com> Co-authored-by: Johannes Hörner <110042110+johanneshoerner@users.noreply.github.com> Co-authored-by: Henry Zhang <36073872+Henrium@users.noreply.github.com> Co-authored-by: Dhruv Kumar <kudhru@users.noreply.github.com> Co-authored-by: Matteo Barbetti <55536905+mbarbetti@users.noreply.github.com> Co-authored-by: Nikolai Zhivotenko <niko.zvt@gmail.com> Co-authored-by: Lance Wilhelm <lance.wilhelm@gmail.com> Co-authored-by: Martin Bulla <MartinBulla@users.noreply.github.com> Co-authored-by: Maruan Al-Shedivat <maruan@genesistherapeutics.ai> Co-authored-by: Giordano d'Aloisio <giordano.daloisio@gmail.com> Co-authored-by: Monk <ankit.pal@saama.com> Co-authored-by: Shubhashis Roy Dipta <iamdipta@gmail.com> Co-authored-by: Abhinav Mehta <abhinavmehta1993@gmail.com> Co-authored-by: Antonio Stanziola <stanziola.antonio@gmail.com> Co-authored-by: Shubhankar <ghltshubh@users.noreply.github.com> Co-authored-by: Rachel <rstein66@gmail.com> Co-authored-by: Javkhlantugs <jay.mudgil@gmail.com> Co-authored-by: Yao Xiao <108576690+Charlie-XIAO@users.noreply.github.com> Co-authored-by: Pablo Diego Pereira <pablodiegoo@gmail.com> Co-authored-by: civita <14911217+civita@users.noreply.github.com> Co-authored-by: Tianmaru <tianmaru@gmail.com> Co-authored-by: Dinesh Natesan <AbstractGeek@users.noreply.github.com> Co-authored-by: Fares Abawi <f.abawi@outlook.com> Co-authored-by: Alireza Dehghanzadeh <86428901+alerezaaa@users.noreply.github.com> Co-authored-by: Noah West <68435033+nWestie@users.noreply.github.com> Co-authored-by: WEI EN TSAI <twe105@gapp.nthu.edu.tw> Co-authored-by: Sam B <107863539+Sam-Bieberich@users.noreply.github.com> Co-authored-by: Yifan Jiang <jiangyifan_sh@outlook.com> Co-authored-by: Afrânio Melo <40374017+afraniomelo@users.noreply.github.com> Co-authored-by: Jona Ruthardt <50911852+JonaRuthardt@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Andrew Boyer <asboyer@gmail.com> Co-authored-by: Ethan Olesinski <47125809+eolesinski@users.noreply.github.com> Co-authored-by: ZL Asica <40444637+ZL-Asica@users.noreply.github.com> Co-authored-by: Stavros Kalapothas <stavros@ubinet.gr> Co-authored-by: Eric Slyman (they/them) <slymane@oregonstate.edu> Co-authored-by: Maksym Zub <kroistsmeh@gmail.com> Co-authored-by: Moritz Scherrmann <mscherrmann@outlook.de> Co-authored-by: Scherrmann <scherrmann@bwl.uni-muenchen.de> Co-authored-by: Sasika Amarasinghe <77430135+SasikaA073@users.noreply.github.com> Co-authored-by: Jake Nabasny, PhD <jnabasny@gmail.com> Co-authored-by: Jake Nabasny <jake@nabasny.com> Co-authored-by: Sukka <isukkaw@gmail.com>
Addressing alshedivat#1395 but with a different solution from alshedivat#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>
Addressing alshedivat#1395 but with a different solution from alshedivat#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>
Addressing alshedivat#1395 but with a different solution from alshedivat#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>
Addressing alshedivat#1395 but with a different solution from alshedivat#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>
Updated to address issue #1395.
Implemented a cache-busting feature which refreshes the CSS url using a uniquely generated timestamp made when a new build occurs. This forces browsers to download/reference the updated styling.