Skip to content

Commit aef48a0

Browse files
kastnerpyinhanyanaaitguenissaidimsi32gdalle
authored
Spring 26 Updates (#33)
* fix: Misfunction of wechat_qr in Social Integration (#2831) Solve the bug issue (#2830) * Support for openpanel.dev for analytics (#2822) * [FIX] Blog Page Navigation (#2841) (#2846) I tested on my Github page and it worked correctly. Then, copied here. Issue: Blog page navigation extends layout of the page in small screens. Fixes: #2841 * Bluesky URL prefix should not be appended (#2856) This PR modifies - `_config.yml` to rename `bluesky_url` into `bluesky_id` - `_includes/social.liquid` to handle the renaming in the display of social media icons * Page permalink can be an outside url (#2863) Fixes #2858 --------- Signed-off-by: George Araújo <[email protected]> * Bump rexml from 3.3.8 to 3.3.9 (#2814) Bumps [rexml](https://github.com/ruby/rexml) from 3.3.8 to 3.3.9. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ruby/rexml/releases">rexml's releases</a>.</em></p> <blockquote> <h2>REXML 3.3.9 - 2024-10-24</h2> <h3>Improvements</h3> <ul> <li>Improved performance. <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/210">GH-210</a></li> <li>Patch by NAITOH Jun.</li> </ul> </li> </ul> <h3>Fixes</h3> <ul> <li> <p>Fixed a parse bug for text only invalid XML.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/215">GH-215</a></li> <li>Patch by NAITOH Jun.</li> </ul> </li> <li> <p>Fixed a parse bug that <code>&amp;#0x...;</code> is accepted as a character reference.</p> </li> </ul> <h3>Thanks</h3> <ul> <li>NAITOH Jun</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ruby/rexml/blob/master/NEWS.md">rexml's changelog</a>.</em></p> <blockquote> <h2>3.3.9 - 2024-10-24 {#version-3-3-9}</h2> <h3>Improvements</h3> <ul> <li>Improved performance. <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/210">GH-210</a></li> <li>Patch by NAITOH Jun.</li> </ul> </li> </ul> <h3>Fixes</h3> <ul> <li> <p>Fixed a parse bug for text only invalid XML.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/215">GH-215</a></li> <li>Patch by NAITOH Jun.</li> </ul> </li> <li> <p>Fixed a parse bug that <code>&amp;#0x...;</code> is accepted as a character reference.</p> </li> </ul> <h3>Thanks</h3> <ul> <li>NAITOH Jun</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ruby/rexml/commit/38eaa86ac7abe0d31cf49d8df57ad239fdeb80e9"><code>38eaa86</code></a> Add 3.3.9 entry</li> <li><a href="https://github.com/ruby/rexml/commit/ce59f2eb1aeb371fe1643414f06618dbe031979f"><code>ce59f2e</code></a> parser: fix a bug that &amp;#0x...; is accepted as a character reference</li> <li><a href="https://github.com/ruby/rexml/commit/a09646d395a07399cbf9bc3bc8d6d8bb1d13ecea"><code>a09646d</code></a> test: fix indent</li> <li><a href="https://github.com/ruby/rexml/commit/cf0fb9c9ca3dc0d725c8e4644aa0e728025f42ce"><code>cf0fb9c</code></a> Fix <code>IOSource#readline</code> for <code>@pending_buffer</code> (<a href="https://redirect.github.com/ruby/rexml/issues/215">#215</a>)</li> <li><a href="https://github.com/ruby/rexml/commit/1d0c362526f6e25e2abcd13e2fcefcc718c20e78"><code>1d0c362</code></a> Optimize <code>IOSource#read_until</code> method (<a href="https://redirect.github.com/ruby/rexml/issues/210">#210</a>)</li> <li><a href="https://github.com/ruby/rexml/commit/622011f25ac1519fd553d6c56da52d7eba14a787"><code>622011f</code></a> Bump version</li> <li>See full diff in <a href="https://github.com/ruby/rexml/compare/v3.3.8...v3.3.9">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rexml&package-manager=bundler&previous-version=3.3.8&new-version=3.3.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/alshedivat/al-folio/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fixed bug in header * Fix prettier complaints * Fix to display references in order of citation (#2855) "cite_in_order" here contradicts the global group_by year setting in _config.yml * Add .lycheeignore file with linkedin to stop error on workflow Linkcheck (#2868) Add a .lycheeignore file with LinkedIn to stop the error in the workflow Link Checker due to response 999, and update to the new version lycheeverse/[email protected]. * Support for Resume/CV Links (#2826) Solves #2825 * Update the INSTALL.md file to include steps for deploying al-folio on Netlify. (#2798) Update CUSTOMIZE.md to include steps to deploy al-folio on Netlify. --------- Co-authored-by: Henry <[email protected]> Co-authored-by: Henry_Lab <[email protected]> * Add features to distill template (#2840) While using the distill template, I noticed it lacked many features available in the regular post template, such as typograms, echarts, and other interactive elements. To address this, I **included the necessary scripts and dependencies for these features in** _distill.liquid_, referencing them from misc.liquid. Now, the distill template offers the same interactive functionality as the post template. * Fix apostrophe in news title for search (#2879) Fix #2876 Weirdly enough, we already escape the title a few lines above the changed one, but had to escape it again here. Signed-off-by: George Araújo <[email protected]> * New image components (image galleries) (#2877) Added support for multiple image galleries, and created a sample post showing how to enable and use them. --------- Signed-off-by: George Araújo <[email protected]> * Update Font Awesome and Tabler Icons (#2884) Solves #2881. --------- Signed-off-by: George Araújo <[email protected]> * Moved socials config to `_data/socials.yml` (#2885) Fixes #2882, added support for [scholar-icons](https://github.com/louisfacun/scholar-icons) and [LeetCode](https://leetcode.com/). --------- Signed-off-by: George Araújo <[email protected]> * Renamed `repo-img-` to `only-` to allow setting images for only one theme (#2886) Closes #930. We already had classes for this kind of feature, but it was used specifically for repository information. Just renamed the classes so it is clear how they can be used. To use them with markdown, just do it like this: ```markdown ![Only light](assets/img/prof_pic_color.png){: .only-light} ![Only dark](assets/img/prof_pic.jpg){: .only-dark} ``` and with html: ```html <img class="only-light" src="assets/img/prof_pic_color.png" > <img class="only-dark" src="assets/img/prof_pic.jpg" > ``` Signed-off-by: George Araújo <[email protected]> * Update docker-compose.yml image version * Updated dependencies (#2887) Signed-off-by: George Araújo <[email protected]> * Update bib.liquid: google scholar citation count (#2892) Fix site.data.socials.scholar_userid access for google scholar citation count Fixes #2889 * Fix google scholar citations (#2893) Signed-off-by: George Araújo <[email protected]> * Update social.liquid: ensure social[1] is used (#2891) Fixes #2890 With the recent updates (v0.13.0) the email badge (social) does not contain the email anymore. Some link generations in social.liquid used the old schema Also updated the handling for mastodon to be aligned to the other social badges. * Fixed missing updated references to socials (#2894) Signed-off-by: George Araújo <[email protected]> * Fixed socials in search (#2895) Signed-off-by: George Araújo <[email protected]> * Fixed #2903 * explicitly install imagemagick to support ubuntu-latest (>=24.04) in Github actions (#2906) Install `imagemagick` within `Install and Build 🔧` step of Github actions Relevant issue: [#2902](https://github.com/alshedivat/al-folio/issues/2902) `convert` Command Not Found on Ubuntu 24.04 Reason: `ubuntu-latest` in Github actions is pointed to `ubuntu-24.04` now, in which `imagemagick` is no longer pre-installed. See [this](https://github.com/actions/runner-images/issues/10772). Modified files (actions) recommended by @george-gca ``` - .github/workflows/deploy.yml - .github/workflows/broken-links-site.yml - .github/workflows/axe.yml ``` * Replaced jekyll-minifier that uses uglifier by terser (#2571) Hopefully fixes #2548. --------- Signed-off-by: George Araujo <[email protected]> Signed-off-by: George Araújo <[email protected]> * Update INSTALL.md * Update CUSTOMIZE.md * Added missing newsletter components (#2913) Signed-off-by: George Araújo <[email protected]> * Update INSTALL.md repo version * Update docker-compose.yml image version * Revert padding from #2617 for CV tables (#2920) PR #2617 added a noticeable amount of right padding to all table cells. This might be fine for tables in content (e.g. posts), but creates odd spaces in the CV page, which is largely made up of tables. * Create codeql.yml * Security fixes for download-3rd-party * Security fixes for download-3rd-party.rb * Updated dependencies (#2925) Signed-off-by: George Araújo <[email protected]> * Update README.md - remove my website link (#2926) remove my website link * Updated ffi, changed base docker image, added observer and ostruct (#2931) Signed-off-by: George Araujo <[email protected]> * Fix Line Ending Issues for Shell Scripts in Docker for Windows 10 (#2932) Shell scripts like entry_point.sh caused errors in Docker due to CRLF line endings on Windows (`exec /tmp/entry_point.sh: no such file or directory`). Added `.gitattributes` to enforce LF line endings for *.sh files. This resolves the issue and ensures consistent behavior across platforms. * Howto remove pages (#2933) Closes #2930 --------- Signed-off-by: George Araújo <[email protected]> * Updated FAQ.md. (#2937) Added documentation for Google Search Console ID creation and usage in the template for google-site-verification. * Remove internal copy of jekyll-terser (#2945) # Summary since https://github.com/RobertoJBeltran/jekyll-terser/pull/1 has been merged, I'm removing the internal copy jekyll-terser and switching to https://github.com/RobertoJBeltran/jekyll-terser instead. also, refactored `Gemfile` a bit. * Added another option to remove content * Fixed prettier complaints * Fix resume custom reference link bug (#2941) Hi, I noticed an issue where the CV page fails to link to the correct custom PDF when the `{% unless site.data.resume %}` block is executed in `cv.liquid`. To resolve this, I updated the code to align its logic with the else block to make it consistent. --------- Co-authored-by: Maruan Al-Shedivat <[email protected]> * Fix issue causing no color inversion when rendering equations (#2956) ## Problem Description When dark mode is enabled, inline math expressions rendered using `$...$` in distill-style blog posts are displayed in black text. This makes them difficult to read against the dark background. The issue occurs because the default styles for MathJax-rendered content do not account for dark mode and set the text color to black. ## Proposed Solution This PR updates the MathJax setup to dynamically apply inline styles to ensure the text color of MathJax-rendered content inherits the parent container’s color. Specifically: - Added a custom action in the _MathJax.options.renderActions_ section to inject a CSS rule that sets _.mjx-container_ to inherit its color from its parent element. - Ensures that inline math expressions render correctly in both light and dark modes without explicitly setting a fixed color. ## Changes Made Modified the _mathjax-setup.js_ file to include: - Custom inline styles injected via JavaScript for _.mjx-container_ elements. - Explicit handling of _inlineMath_ delimiters to ensure consistency in rendering. ## Testing and Validation - Tested the fix in both light and dark modes to confirm that inline math expressions render in the correct color. - Verified that the changes do not introduce regressions in light mode or affect block math expressions rendered using `$$...$$`. ## Impact - Improves readability of inline math expressions in dark mode. - Provides a consistent user experience for distill-style blog posts across light and dark themes. - Resolves #2915 Co-authored-by: Suraj Khamkar <[email protected]> * Updated dependencies for next release (#2958) Signed-off-by: George Araújo <[email protected]> * Update docker version on docker-compose.yml * Update docker version on INSTALL.md * Updated socials info in CUSTOMIZE.md * Bump license year to 2025 * Fix related external posts (#2980) Fixes #2977 Signed-off-by: George Araújo <[email protected]> * Fix external link svg size in related posts * fixed indexing of external posts (#2983) This should fix several issues with indexing external posts, including #1828. In short, I found that the issue with indexing was that the index builder was receiving 'empty' documents. To fix that, I'm setting the document content to be the post content as retrieved from the rss feed or the text extracted from the external page. I've tested with various blog sources and it seems to be working as expected now. * fix: typo in file name gitattributes (#2972) Just fix the file name's typo. * Moved specific information from config to about (#2985) Moved news and latest posts related information from `_config.yml` to `_about.md` page. Signed-off-by: George Araújo <[email protected]> * Add my website to readme under academics--alexiglad.github.io (#2987) * Add link to set workflow permissions * Updated scripts for correctly using gtag. (#2962) Implementation of Google tag ID to correctly getting tracked requires further modification in addition to the one line script in the `_includes/scripts.liquid` file as ``` <script async src="https://www.googletagmanager.com/gtag/js?id={{ site.google_analytics }}"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', '{{ site.google_analytics }}'); </script> ``` I have made the changes and tested it out on my personal webpage to ensure the tracking in analytics dashboard. * Added sass changes to trigger deploy action * Allows for standard Jekyll code highlighting with distill template (#3002) As described in https://github.com/alshedivat/al-folio/issues/300, standard Markdown code highlighting doesn't work in the Distill template because it is clobbered by the Distill "Prism" syntax highlighting. This PR will allow d-code tags (distill-specific code tags) to function with the Distill syntax highlighter, but will default `highlight` and Markdown code blocks to use the Jekyll/Rouge highlighter. This PR also removes overrides.js, which is currently broken because jquery isn't loaded. * fix language-not-found issues on repo page with simplified and traditional Chinese (#3015) The author of github-readme-stats uses the non-standard code "cn" for simplified Chinese, see [here](https://github.com/anuraghazra/github-readme-stats?tab=readme-ov-file#available-locales). While for traditional Chinese the author only provides "zh-tw". The github-readme-stats functions on repo page will break if the user sets the site language to ALL variants of Chinese except for zh-tw. This hack is to make all sub-variants of simplified Chinese fall back to "cn" and all sub-variants of traditional Chinese fall back to "zh-tw". This patch fixes the problem and has been tested locally & with GitHub pages. * Moved comment in repo_user.liquid * Moved comment in repo.liquid * make abbr color inside bibliography a variable (#3017) Fix https://github.com/alshedivat/al-folio/issues/3012 (make abbr color inside bibliography a variable) * Bump nokogiri from 1.18.1 to 1.18.3 (#3026) Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.18.1 to 1.18.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sparklemotion/nokogiri/releases">nokogiri's releases</a>.</em></p> <blockquote> <h2>v1.18.3 / 2025-02-18</h2> <h3>Security</h3> <ul> <li>[CRuby] Vendored libxml2 is updated to <a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.6">v2.13.6</a> to address CVE-2025-24928 and CVE-2024-56171. See <a href="https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-vvfq-8hwr-qm4m">GHSA-vvfq-8hwr-qm4m</a> for more information.</li> </ul> <!-- raw HTML omitted --> <pre><code>cab20305133078a8f6b60cf96311b48319175038cc7772e5ec586ff624cb7838 nokogiri-1.18.3-aarch64-linux-gnu.gem acb256bb3213a180b1ed84a49c06d5d4c6c1da26f33bc9681f1fece4dab09a79 nokogiri-1.18.3-aarch64-linux-musl.gem ce088965cd424b8e752d82087dcf017069d55791f157098ed1f671d966857610 nokogiri-1.18.3-arm64-darwin.gem 37b73a55e0d1e8a058a24abb16868903e81cb4773049739c532b864f87236b1b nokogiri-1.18.3-arm-linux-gnu.gem 09407970cd13736cf87e975fae69c13e1178bab0313d07b35580ee4dd3650793 nokogiri-1.18.3-arm-linux-musl.gem 6b9fc3b14fd0cedd21f6cad8cf565123ba7401e56b5d0aec180c23cdca28fd5a nokogiri-1.18.3.gem 236078c5f80ffc3d49c223fa98933d970543455403f9d672ca0aa5a6178a84fe nokogiri-1.18.3-java.gem 216be1cb454c4657fc64747e5ae32b2ab4015843183766f238e4f4a62fb1f6be nokogiri-1.18.3-x64-mingw-ucrt.gem d729406bb5a7b1bbe7ed3c0922336dd2c46085ed444d6de2a0a4c33950a4edea nokogiri-1.18.3-x86_64-darwin.gem 3c7ad5cee39855ed9c746065f39b584b9fd2aaff61df02d0f85ba8d671bbe497 nokogiri-1.18.3-x86_64-linux-gnu.gem 8aaecc22c0e5f12dac613e15f9a04059c3ec859d6f98f493cc831bd88fe8e731 nokogiri-1.18.3-x86_64-linux-musl.gem </code></pre> <!-- raw HTML omitted --> <h2>v1.18.2 / 2024-01-19</h2> <h3>Fixed</h3> <ul> <li>When performing a CSS selector query, an XML document's root namespace declarations should not be applied to wildcard selectors (<code>&quot;*&quot;</code>). Fixes a bug introduced in v1.17.0. (<a href="https://redirect.github.com/sparklemotion/nokogiri/issues/3411">#3411</a>) <a href="https://github.com/flavorjones"><code>@​flavorjones</code></a></li> </ul> <!-- raw HTML omitted --> <pre><code>74e0f9a7487a30a2957f46c5113d58f836436b033c9906e0bc6fee9d8cdafabf nokogiri-1.18.2-aarch64-linux-gnu.gem 99bcea596a80eaee99f2bae2596275641ea688262c1da32b4e90db6159e86477 nokogiri-1.18.2-aarch64-linux-musl.gem 8288ec7a296e2510ca9bd053c0c5989f11260f8c07bc3e9afbafa536f7077281 nokogiri-1.18.2-arm64-darwin.gem 6fb0246b69f2c589a69254e82bc2a40aa238c4f977fd7903e283341a92935729 nokogiri-1.18.2-arm-linux-gnu.gem dcdd4d10ed2743f0d8c887825700c3a8506aea1aa415917ac50ccc01597c51a3 nokogiri-1.18.2-arm-linux-musl.gem 93791cfb33186fe077eb9e1b8a6855b5621e328f81f565334572fa398366f8bf nokogiri-1.18.2.gem eefdf9f0d6086173d3488cf7a736732ee13fb6674ef15643478c20502a67bf37 nokogiri-1.18.2-java.gem 894514572fa7503ce9210e51a7f8a9a35f34f154d6406cec1ac148c3ce1536a3 nokogiri-1.18.2-x64-mingw-ucrt.gem 7fca165e5ee87e9b6b3f1377180376afc0c8652ed2a3d761f472f0e3d3a1c651 nokogiri-1.18.2-x86_64-darwin.gem 9330ced4a976604865c2a76ce158e2bc608fa83999552e85a32ec06f85f427db nokogiri-1.18.2-x86_64-linux-gnu.gem 1cd7786ed15c76958d6a8f9a864df6208fecd624c340eb4ed211fbea60328f02 nokogiri-1.18.2-x86_64-linux-musl.gem </code></pre> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sparklemotion/nokogiri/blob/v1.18.3/CHANGELOG.md">nokogiri's changelog</a>.</em></p> <blockquote> <h2>v1.18.3 / 2025-02-18</h2> <h3>Security</h3> <ul> <li>[CRuby] Vendored libxml2 is updated <a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.6">v2.13.6</a> to address CVE-2025-24928 and CVE-2024-56171. Nokogiri's maintainers believe these vulnerabilities do not affect users of Nokogiri, but we advise upgrading at your earliest convenience anyway.</li> </ul> <h2>v1.18.2 / 2024-01-19</h2> <h3>Fixed</h3> <ul> <li>When performing a CSS selector query, an XML document's root namespace declarations should not be applied to wildcard selectors (<code>&quot;*&quot;</code>). Fixes a bug introduced in v1.17.0. (<a href="https://redirect.github.com/sparklemotion/nokogiri/issues/3411">#3411</a>) <a href="https://github.com/flavorjones"><code>@​flavorjones</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sparklemotion/nokogiri/commit/fd3ca2e22df67fd25fd5c25c466f6896b6547cb8"><code>fd3ca2e</code></a> version bump to v1.18.3</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/a8c526adf17716cf115e78995c815fc65f5937a2"><code>a8c526a</code></a> dep: update libxml2 to v2.13.6 (<a href="https://redirect.github.com/sparklemotion/nokogiri/issues/3437">#3437</a>)</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/0847cf86885ea5d25ccc9d3ff1c4c097f2891a60"><code>0847cf8</code></a> ci: tired of waiting for gnome mirrors</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/11945c82df6fca8827c2914e585e8e3a7027dcb5"><code>11945c8</code></a> dep: update libxml2 to v2.13.6</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/aa54fa59544ceb224d3fe6e3a53d05d5c937b15b"><code>aa54fa5</code></a> version bump to v1.18.2</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/0fb5541c95596fa67ea1ef60df9ad740fbcda672"><code>0fb5541</code></a> backport: fix(css-selector): default XML namespace should not be applied to w...</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/8ef2e918e7121a0773d3f777e9abe415180368a4"><code>8ef2e91</code></a> ci: bump windows test images from &quot;head&quot; to &quot;3.4&quot;</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/c10fd7a02e5f13e7889587141e8522b2d864a7c6"><code>c10fd7a</code></a> dev: so tired of psych not building on various things</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/83787496149d2ff2203892951a44e835181c1558"><code>8378749</code></a> fix(css-selector): default XML namespace is not applied to wildcard</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/b112e18a4851eca1d40dcc7e755653dc32ea885d"><code>b112e18</code></a> prefactor: restructure css-to-xpath tests</li> <li>See full diff in <a href="https://github.com/sparklemotion/nokogiri/compare/v1.18.1...v1.18.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nokogiri&package-manager=bundler&previous-version=1.18.1&new-version=1.18.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/alshedivat/al-folio/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix typo in -> on (#3029) Fixed a small typo in `post.liquid`. * Re-Enable exclusions of jekyll minifier (#3038) Resolve #3037 This PR just re-enable the old exclusions of jekyll-minifier to ensure that the files aren't altered. * Digital Bookshelf V2 (#2866) Since I was annoyed at not being able to use [jekyll-archives](https://github.com/jekyll/jekyll-archives) to create an archive for the books, I decided to implement myself the [jekyll-archives-v2](https://github.com/george-gca/jekyll-archives-v2) that doesn't have this limitation. Closes #923. --------- Signed-off-by: George Araújo <[email protected]> * Refactor footer content (#3041) Refactor footer content into a reusable variable for cleaner code * Fix zoom in bibliography images (#3057) Fixes #2668 Signed-off-by: George Araújo <[email protected]> * Fix scrollbar color (#3058) Fixes #3055 Signed-off-by: George Araújo <[email protected]> * Fixed docs (#3059) Signed-off-by: George Araújo <[email protected]> * Bump json from 2.10.1 to 2.10.2 (#3066) Bumps [json](https://github.com/ruby/json) from 2.10.1 to 2.10.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ruby/json/releases">json's releases</a>.</em></p> <blockquote> <h2>v2.10.2</h2> <h2>What's Changed</h2> <ul> <li>Fix a potential crash in the C extension parser.</li> <li>Raise a ParserError on all incomplete unicode escape sequence. This was the behavior until <code>2.10.0</code> unadvertently changed it.</li> <li>Ensure document snippets that are included in parser errors don't include truncated multibyte characters.</li> <li>Ensure parser error snippets are valid UTF-8.</li> <li>Fix <code>JSON::GeneratorError#detailed_message</code> on Ruby &lt; 3.2</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/ruby/json/compare/v2.10.1...v2.10.2">https://github.com/ruby/json/compare/v2.10.1...v2.10.2</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ruby/json/blob/master/CHANGES.md">json's changelog</a>.</em></p> <blockquote> <h3>2025-03-12 (2.10.2)</h3> <ul> <li>Fix a potential crash in the C extension parser.</li> <li>Raise a ParserError on all incomplete unicode escape sequence. This was the behavior until <code>2.10.0</code> unadvertently changed it.</li> <li>Ensure document snippets that are included in parser errors don't include truncated multibyte characters.</li> <li>Ensure parser error snippets are valid UTF-8.</li> <li>Fix <code>JSON::GeneratorError#detailed_message</code> on Ruby &lt; 3.2</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ruby/json/commit/350c1fd154eaf7840f696c623362478a9148166c"><code>350c1fd</code></a> Release 2.10.2</li> <li><a href="https://github.com/ruby/json/commit/c56db31f800d5d508389793e69682f99749dbadf"><code>c56db31</code></a> Merge commit from fork</li> <li><a href="https://github.com/ruby/json/commit/cf242d89a0523bacd5238a59c77b33411b8c3208"><code>cf242d8</code></a> Fix potential out of bound read in <code>json_string_unescape</code>.</li> <li><a href="https://github.com/ruby/json/commit/57911f1ecf065c36cf36e6bc46fd037c675ceb55"><code>57911f1</code></a> Merge pull request <a href="https://redirect.github.com/ruby/json/issues/762">#762</a> from byroot/invalid-escape</li> <li><a href="https://github.com/ruby/json/commit/7d0637b9e6e0269c88418b142cb9a1ef2799587d"><code>7d0637b</code></a> Raise a ParserError on all incomplete unicode escape sequence.</li> <li><a href="https://github.com/ruby/json/commit/c079793b7655b749a4d85f5c8e6bd2649fd31c0c"><code>c079793</code></a> Avoid fast-path IO writes when IO has ext enc</li> <li><a href="https://github.com/ruby/json/commit/ac30b69c06a2e4d21cca4875a7265c24f6ede5ed"><code>ac30b69</code></a> Merge pull request <a href="https://redirect.github.com/ruby/json/issues/757">#757</a> from rahim/fix-generator-error-no-method-error</li> <li><a href="https://github.com/ruby/json/commit/2e015ff839ed2044ead0fd27b63a912766270a1b"><code>2e015ff</code></a> Fix JSON::GeneratorError#detailed_message with Ruby &lt; 3.2</li> <li><a href="https://github.com/ruby/json/commit/f3e113654fb61cb670ab70f2470dc26183c369e1"><code>f3e1136</code></a> Merge pull request <a href="https://redirect.github.com/ruby/json/issues/756">#756</a> from byroot/utf8-snippets</li> <li><a href="https://github.com/ruby/json/commit/e144793b7226c2df75c414749d6f87ab7fcf4dce"><code>e144793</code></a> Ensure parser error snippets are valid UTF-8</li> <li>Additional commits viewable in <a href="https://github.com/ruby/json/compare/v2.10.1...v2.10.2">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=json&package-manager=bundler&previous-version=2.10.1&new-version=2.10.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/alshedivat/al-folio/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix typo in CUSTOMIZE.md (#3070) `excludes` should be `exclude`. `excludes` with `s` does not work with `_config.yml`, which itself uses `exclude` and `include`. * Update INSTALL.md (#3074) Again, I saw this version problem with current version of our docker image. Supposedly, there is some json package problem which I dealt with. But here is the overall solution to this problem for whoever is having it. --------- Co-authored-by: George <[email protected]> * Add link to a new academic's website (#3075) Love the theme and just used it for my own personal website! Thought I'd link from here as suggested in the README to show my support! :) * Re-add ability to exclude posts from search (#3089) Earlier there was a tag in the `_config.yml` file to exclude the posts from the search results. I could no longer find that option and hence modified the `search.liquid.js` file. It basically checks if the `posts_in_search` tag is true or not. * Updated dependencies (#3091) Signed-off-by: George Araújo <[email protected]> * Added support for plotly js (#3097) Only now I realized that the [previous support](https://alshedivat.github.io/al-folio/blog/2021/distill/#interactive-plots) for [plotly](https://plotly.com/) was enabled by exporting an HTML from python code. This adds support for [plotly.js](https://plotly.com/javascript/). --------- Signed-off-by: George Araújo <[email protected]> * Fix "comma and and" before last author in publication list (#3107) * Fixed liquid variables in some js files (#3117) Fixes #3095 --------- Signed-off-by: George Araújo <[email protected]> * Changed broken-links action to only run on main repo (#3118) Signed-off-by: George Araújo <[email protected]> * Added my website to the community pages. (#3119) Thank you for this slick theme! I've added my customized page to the community examples section. My implementation includes a few subtle tweaks that might inspire others, just as I found inspiration from existing community examples. * added my homepage (Dian Jiao). (#3128) Hi! I’m using the al-folio theme for my academic homepage and really appreciate the work you’ve done — it’s clean, elegant, and super helpful. I’ve added my site (https://d-jiao.github.io) to the community list as suggested. Thank you for maintaining this great project! Best, Dian Jiao (d-jiao) * Created GitHub action to update TOCs (#3132) Signed-off-by: George Araújo <[email protected]> * Auto update markdown TOC * Update FAQ.md * Auto update markdown TOC * Using fork of gh-md-toc * Fixed tocs (#3133) Signed-off-by: George Araújo <[email protected]> * Update update-tocs.yml * Changed order of params for gh-md-toc * Update FAQ.md layout * Auto update markdown TOC * Update CUSTOMIZE.md layout * Update INSTALL.md layout * Auto update markdown TOC * Removed link from header in FAQ.md * Auto update markdown TOC * Update README.md (#3162) removed my website. * Remove unnecessary rss_icon line from _config.yml (#3154) Also make document clearer for rss_icon. * Bump nokogiri from 1.18.5 to 1.18.8 (#3149) Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.18.5 to 1.18.8. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/sparklemotion/nokogiri/releases">nokogiri's releases</a>.</em></p> <blockquote> <h2>v1.18.8 / 2025-04-21</h2> <h3>Security</h3> <ul> <li>[CRuby] Vendored libxml2 is updated to <a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8">v2.13.8</a> to address CVE-2025-32414 and CVE-2025-32415. See <a href="https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc">GHSA-5w6v-399v-w3cc</a> for more information.</li> </ul> <!-- raw HTML omitted --> <pre><code>36badd2eb281fca6214a5188e24a34399b15d89730639a068d12931e2adc210e nokogiri-1.18.8-aarch64-linux-gnu.gem 664e0f9a77a7122a66d6c03abba7641ca610769a4728db55ee1706a0838b78a2 nokogiri-1.18.8-aarch64-linux-musl.gem 483b5b9fb33653f6f05cbe00d09ea315f268f0e707cfc809aa39b62993008212 nokogiri-1.18.8-arm64-darwin.gem 17de01ca3adf9f8e187883ed73c672344d3dbb3c260f88ffa1008e8dc255a28e nokogiri-1.18.8-arm-linux-gnu.gem 6e6d7e71fc39572bd613a82d528cf54392c3de1ba5ce974f05c832b8187a040b nokogiri-1.18.8-arm-linux-musl.gem 8c7464875d9ca7f71080c24c0db7bcaa3940e8be3c6fc4bcebccf8b9a0016365 nokogiri-1.18.8.gem 41002596960ff854198a20aaeb34cff0d445406d5ad85ba7ca9c3fd0c8f03de0 nokogiri-1.18.8-java.gem 11ab0f76772c5f2d718fb253fca5b74c6ef7628b72bbf8deba6ab1ffc93344cf nokogiri-1.18.8-x64-mingw-ucrt.gem 024cdfe7d9ae3466bba6c06f348fb2a8395d9426b66a3c82f1961b907945cc0c nokogiri-1.18.8-x86_64-darwin.gem 4a747875db873d18a2985ee2c320a6070c4a414ad629da625fbc58d1a20e5ecc nokogiri-1.18.8-x86_64-linux-gnu.gem ddd735fba49475a395b9ea793bb6474e3a3125b89960339604d08a5397de1165 nokogiri-1.18.8-x86_64-linux-musl.gem </code></pre> <h2>v1.18.7 / 2025-03-31</h2> <h3>Dependencies</h3> <ul> <li>[CRuby] Vendored libxml2 is updated to <a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7">v2.13.7</a>, which is a bugfix release.</li> </ul> <!-- raw HTML omitted --> <pre><code>57a064ab5440814a69a0e040817bd8154adea68a30d2ff2b3aa515a6a06dbb5f nokogiri-1.18.7-aarch64-linux-gnu.gem 3e442dc5b69376e84288295fe37cbb890a21ad816a7e571e5e9967b3c1e30cd3 nokogiri-1.18.7-aarch64-linux-musl.gem 083abb2e9ed2646860f6b481a981485a658c6064caafaa81bf1cda1bada2e9d5 nokogiri-1.18.7-arm64-darwin.gem 337d9149deb5ae01022dff7c90f97bed81715fd586aacab0c5809ef933994c5e nokogiri-1.18.7-arm-linux-gnu.gem 97a26edcc975f780a0822aaf7f7d7427c561067c1c9ee56bd3542960f0c28a6e nokogiri-1.18.7-arm-linux-musl.gem 6b63ff5defe48f30d1d3b3122f65255ca91df2caf5378c6e0482ce73ff46fb31 nokogiri-1.18.7.gem 2cb83666f35619ec59d24d831bf492e49cfe27b112c222330ee929737f42f2eb nokogiri-1.18.7-java.gem 681148fbc918aa5d54933d8b48aeb9462ab708d23409797ed750af961107f72b nokogiri-1.18.7-x64-mingw-ucrt.gem 081d1aa517454ba3415304e2ea51fe411d6a3a809490d0c4aa42799cada417b7 nokogiri-1.18.7-x86_64-darwin.gem 3a0bf946eb2defde13d760f869b61bc8b0c18875afdd3cffa96543cfa3a18005 nokogiri-1.18.7-x86_64-linux-gnu.gem 9d83f8ec1fc37a305fa835d7ee61a4f37899e6ccc6dcb05be6645fa9797605af nokogiri-1.18.7-x86_64-linux-musl.gem </code></pre> <h2>v1.18.6 / 2025-03-24</h2> <h3>Fixed</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md">nokogiri's changelog</a>.</em></p> <blockquote> <h2>v1.18.8 / 2025-04-21</h2> <h3>Security</h3> <ul> <li>[CRuby] Vendored libxml2 is updated to <a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8">v2.13.8</a> to address CVE-2025-32414 and CVE-2025-32415. See <a href="https://github.com/sparklemotion/nokogiri/security/advisories/GHSA-5w6v-399v-w3cc">GHSA-5w6v-399v-w3cc</a> for more information.</li> </ul> <h2>v1.18.7 / 2025-03-31</h2> <h3>Dependencies</h3> <ul> <li>[CRuby] Vendored libxml2 is updated to <a href="https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7">v2.13.7</a>, which is a bugfix release.</li> </ul> <h2>v1.18.6 / 2025-03-24</h2> <h3>Fixed</h3> <ul> <li>[JRuby] In HTML documents, <code>Node#attribute</code> now returns the correct attribute. This has been broken, and returning <code>nil</code>, since v1.17.0. (<a href="https://redirect.github.com/sparklemotion/nokogiri/issues/3487">#3487</a>) <a href="https://github.com/flavorjones"><code>@​flavorjones</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/sparklemotion/nokogiri/commit/9187f4af0dc3cc7ea439bd4957a2fbfab18f6665"><code>9187f4a</code></a> version bump to v1.18.8</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/1deea041e3f359ccef67abadf19f0d634bf473dd"><code>1deea04</code></a> dep: libxml2 to v2.13.8 (branch <code>v1.18.x</code>) (<a href="https://redirect.github.com/sparklemotion/nokogiri/issues/3509">#3509</a>)</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/6457fe639359edda9f8817994bc4935abae3e81e"><code>6457fe6</code></a> dep: libxml2 to v2.13.8</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/13e8aa4ef52f39d1273d2435bd6bfa98982471ef"><code>13e8aa4</code></a> version bump to v1.18.7</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/605699d271ee5d7f58ab29c4550fad42b9cc3d69"><code>605699d</code></a> dep: bump libxml2 to 2.13.7 (v1.18.x backport) (<a href="https://redirect.github.com/sparklemotion/nokogiri/issues/3495">#3495</a>)</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/804e59038c4318ebe7ba0dc08105cff2030df415"><code>804e590</code></a> dep: bump libxml2 to 2.13.7</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/52bf15b62d4e576292e21ac948030783333f9e0b"><code>52bf15b</code></a> dep(dev): drop Rubocop from JRuby deps</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/189769d72627da5f272c7ffcc14cce49d60b9b5a"><code>189769d</code></a> version bump to v1.18.6</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/de4982f0cc39995570f5d15d753577bede5804dc"><code>de4982f</code></a> fix(jruby): Node#attribute in HTML documents (v1.18.x) (<a href="https://redirect.github.com/sparklemotion/nokogiri/issues/3492">#3492</a>)</li> <li><a href="https://github.com/sparklemotion/nokogiri/commit/7d95b0f10cf33c505f11fd7d68d7de8943dda2cd"><code>7d95b0f</code></a> fix(jruby): Node#attribute in HTML documents</li> <li>See full diff in <a href="https://github.com/sparklemotion/nokogiri/compare/v1.18.5...v1.18.8">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nokogiri&package-manager=bundler&previous-version=1.18.5&new-version=1.18.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/alshedivat/al-folio/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix: Improve footnote and citation colors in Distill posts (#3172) Fixes #3168. (Implemented by [jules.google](https://jules.google).) This commit resolves issues with footnote and citation styling in Distill posts, particularly ensuring that pop-up contents and the numbers themselves respect the site's light/dark theme via shadow DOM style definitions. Key changes: 1. **`d-hover-box` Internal Styling (template.v2.js):** The `<style>` tag within the `d-hover-box` component's template in `assets/js/distillpub/template.v2.js` has been updated. Styles for `.panel` (the main pop-up container) now define: - `background-color: var(--global-card-bg-color);` - `border: 1px solid var(--global-divider-color);` - `color: var(--global-text-color);` (for default text) - Links within the panel are styled with `color: var(--global-theme-color);` and `color: var(--global-hover-color);` on hover. This ensures pop-up content is correctly themed from within its shadow DOM. 2. **Footnote/Citation Number Color (template.v2.js):** The hardcoded `hsla(206, 90%, 20%, 0.7)` color previously used for footnote numbers (in `d-footnote` template) and citation numbers (in `d-cite` template) in `assets/js/distillpub/template.v2.js` has been replaced with `color: var(--global-theme-color);`. 3. **Cleaned `_sass/_distill.scss`:** Removed the (now redundant) global CSS overrides for `d-hover-box` from `_sass/_distill.scss`, as these styles are now correctly encapsulated within the `d-hover-box` component itself. These changes ensure that all aspects of Distill footnotes and citations (numbers, pop-up background, pop-up text, and links within pop-ups) are styled using theme-aware CSS variables, providing correct visual appearance and readability in both light and dark modes. --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> * Auto update markdown TOC * Updated libraries versions (#3179) Fix #3178 Signed-off-by: George Araújo <[email protected]> * Update INSTALL.md docker version * Update docker image version in docker-compose.yml * Added my academic website to the community pages. (#3184) Thanks a lot for this great theme — I find it really clean and great for hosting an academic website! I've added my customized academic page (https://cbuelt.github.io/) to the community examples section, as suggested. Thanks also for maintaining this project! * Update README.md (#3185) Hello Al-Folio Team, I’ve been using the al-folio theme for my academic homepage and truly appreciate how clean and elegant it is. I’ve just submitted a PR to add my site (https://mehrdad-noori.github.io/) to the community list. Thank you for all the hard work you put into this project! Best regards, Mehrdad * Update README.md (#3186) added lab page to README * Fix toc issue (#3192) Signed-off-by: George Araújo <[email protected]> * updated README.md by adding bullab page to labss (#3183) * Add HAL id to socials (#3206) Fixes #3205 * Fix last row line number overflow issue in diff2html block (#3199) Fix #3198 Current: ![image](https://github.com/user-attachments/assets/dee68f6d-ee12-424b-947c-e5b6d153d157) After fix: ![Image](https://github.com/user-attachments/assets/310606f4-4359-499d-8865-228d9d638465) * Update CONTRIBUTING.md with adding social media info * Fix socials (#3241) Signed-off-by: George Araújo <[email protected]> * Add sidenote examples, related posts and giscus to distill posts (#3103) This PR adds a few stylistic improvements to the distill-style blog posts: - Update distill blog post example to showcase sidenotes as an alternative to styles in PR #3077 - Showcase equations in sidenotes (closes #1242) - Add `overrides.js` to match footnotes and citation styles with global theme styling - Add "related posts" sections if enabled to distill style posts - Add "giscus" section if enabled to distill style posts https://github.com/user-attachments/assets/b19a9cd9-779d-4d89-a4fb-eb14fb384480 * Update README.md (#3234) Adding a new personal website * Update README.md with my personal website (#3245) * keep dark mode inside the (site.enable_darkmode) conditional (#3233) Hi, I noticed some weird behavior when I turned dark mode off (some of the text seemed to disappear, it became white :) ) I traced it to: {% if site.enable_darkmode %} in head.liquid where some darkmode features are place before the if statement. When putting it inside the if statement then the weird behavior was solved; see the pull request here :) Cheers, Jan * Add Academia.edu support to social media integrations (#3157) ## Description This pull request adds support for Academia.edu profiles to the al-folio social media integrations. Academia.edu is widely used by academics to share and discover research,. The changes are minimal and well-contained: 1. Added configuration options in socials.yml for Academia.edu with organization and username fields 2. Updated social.liquid to handle the new social integration using the Academicons font which already includes support for Academia.edu ## Changes The implementation uses Academicons, which already includes the Academia.edu icon (`ai-academia`), making this addition a natural fit for the theme. Unlike some other social media links that only require a single ID or URL, Academia.edu profiles include both an organization (subdomain) and a username in the format: `https://[organization].academia.edu/[username]`. The implemented solution supports this pattern by adding two parameters in the socials.yml file. ## Why this is important Academia.edu is a popular platform used by millions of researchers worldwide to share their work. Adding support for it in the al-folio theme aligns with the theme's academic focus and enhances its utility for scholarly users. Many academics maintain both personal websites and Academia.edu profiles, and being able to link between them provides better visibility for their research. The Academicons font already includes support for Academia.edu, so adding this feature is a natural extension that makes use of existing resources in the theme. ## Testing The changes have been tested locally with a sample Academia.edu profile, and the icon displays correctly alongside other social media icons. The changes are minimal and don't affect any existing functionality. ## Screenshot <img width="991" alt="image" src="https://github.com/user-attachments/assets/15468b67-3002-44ce-aa25-22bc10766664" /> * README: add freifrauvonbleifrei's hp (#3265) my academic homepage, in case you'd like to link it :) * Fix Prettier Feature DevContainer Link (#3196) Fixes #3193 * Upadate README.md to add my personal website (#3276) Co-authored-by: George <[email protected]> * Make Giscus light and dark themes configurable via _config.yml (#3270) Currently, the `site.giscus.theme` option is ignored because `giscus.liquid` always computes the theme as light/dark based on the current site theme. This PR allows users to configure separate light and dark giscus themes in `_config.yml`, which will support dynamic updates when switching between light, dark, or system themes. Fixes #3269 * Revert duplicate Google Analytics (#3287) This reverts PR #2962. The inline script here is exactly the same as the `/assets/js/google-analytics-setup.js` sourced on the following line, so Google Analytics is being triggered twice. It seems that #2962 originally added this because liquid templating of the setup script didn't work (#3095). However, this was then properly fixed in #3117. * Socials icons: Check if rss_icon: false (#3282) Partially addresses issue #3280. Currently, the RSS feed icon in the socials section will show whenever `rss_icon` in `data/_socials.yml` has a value --- **even if that value is `false`**. Unlike the other social settings, which are empty by default, for `rss_icon` the default setting is `true`. So it makes sense that a user might expect `rss_icon: false` to disable said icon. This PR just adds a check if the value is `false` and hides the icon if so. * Create announcement_36.md * Ilker joined! * Update announcement_36.md * Update announcement_36.md * Update about_detailed.md * Updates * Update cohen.md * Create announcement_37.md * Comment out image path in cohen.md Commented out the image path for Joshua Cohen. * Update join.md * Update gt-arch-6242.md * Update description for Ilker Karadağ * Bump rexml from 3.4.1 to 3.4.2 (#3306) Bumps [rexml](https://github.com/ruby/rexml) from 3.4.1 to 3.4.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ruby/rexml/releases">rexml's releases</a>.</em></p> <blockquote> <h2>REXML 3.4.2 - 2025-08-26</h2> <h3>Improvement</h3> <ul> <li> <p>Improved performance.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/244">GH-244</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/245">GH-245</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/246">GH-246</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/249">GH-249</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/256">GH-256</a></li> <li>Patch by NAITOH Jun</li> </ul> </li> <li> <p>Raise appropriate exception when failing to match start tag in DOCTYPE</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/247">GH-247</a></li> <li>Patch by NAITOH Jun</li> </ul> </li> <li> <p>Deprecate accepting array as an element in XPath.match, first and each</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/252">GH-252</a></li> <li>Patch by tomoya ishida</li> </ul> </li> <li> <p>Don't call needless encoding_updated</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/259">GH-259</a></li> <li>Patch by Sutou Kouhei</li> </ul> </li> <li> <p>Reuse XPath::match</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/263">GH-263</a></li> <li>Patch by pboling</li> </ul> </li> <li> <p>Cache redundant calls for doctype</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/264">GH-264</a></li> <li>Patch by pboling</li> </ul> </li> <li> <p>Use Safe Navigation (&amp;.) from Ruby 2.3</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/265">GH-265</a></li> <li>Patch by pboling</li> </ul> </li> <li> <p>Remove redundant return statements</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/266">GH-266</a></li> <li>Patch by pboling</li> </ul> </li> <li> <p>Added XML declaration check &amp; Source#skip_spaces method</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/282">GH-282</a></li> <li>Patch by NAITOH Jun</li> <li>Reported by Sofi Aberegg</li> </ul> </li> </ul> <h3>Fixes</h3> <ul> <li>Fix docs typo <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/248">GH-248</a></li> <li>Patch by James Coleman</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ruby/rexml/blob/master/NEWS.md">rexml's changelog</a>.</em></p> <blockquote> <h2>3.4.2 - 2025-08-26 {#version-3-4-2}</h2> <h3>Improvement</h3> <ul> <li> <p>Improved performance.</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/244">GH-244</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/245">GH-245</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/246">GH-246</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/249">GH-249</a></li> <li><a href="https://redirect.github.com/ruby/rexml/issues/256">GH-256</a></li> <li>Patch by NAITOH Jun</li> </ul> </li> <li> <p>Raise appropriate exception when failing to match start tag in DOCTYPE</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/247">GH-247</a></li> <li>Patch by NAITOH Jun</li> </ul> </li> <li> <p>Deprecate accepting array as an element in XPath.match, first and each</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/252">GH-252</a></li> <li>Patch by tomoya ishida</li> </ul> </li> <li> <p>Don't call needless encoding_updated</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/259">GH-259</a></li> <li>Patch by Sutou Kouhei</li> </ul> </li> <li> <p>Reuse XPath::match</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/263">GH-263</a></li> <li>Patch by pboling</li> </ul> </li> <li> <p>Cache redundant calls for doctype</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/264">GH-264</a></li> <li>Patch by pboling</li> </ul> </li> <li> <p>Use Safe Navigation (&amp;.) from Ruby 2.3</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/265">GH-265</a></li> <li>Patch by pboling</li> </ul> </li> <li> <p>Remove redundant return statements</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/266">GH-266</a></li> <li>Patch by pboling</li> </ul> </li> <li> <p>Added XML declaration check &amp; Source#skip_spaces method</p> <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/282">GH-282</a></li> <li>Patch by NAITOH Jun</li> <li>Reported by Sofi Aberegg</li> </ul> </li> </ul> <h3>Fixes</h3> <ul> <li>Fix docs typo <ul> <li><a href="https://redirect.github.com/ruby/rexml/issues/248">GH-248</a></li> <li>Patch by James Coleman</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ruby/rexml/commit/f36916fe1c66b8cdc1fe482263115625e084d8fe"><code>f36916f</code></a> Add 3.4.2 entry (<a href="https://redirect.github.com/ruby/rexml/issues/284">#284</a>)</li> <li><a href="https://github.com/ruby/rexml/commit/5859bdeac792687eaf93d8e8f0b7e3c1e2ed5c23"><code>5859bde</code></a> Added XML declaration check &amp; <code>Source#skip_spaces</code> method (<a href="https://redirect.github.com/ruby/rexml/issues/282">#282</a>)</li> <li><a href="https://github.com/ruby/rexml/commit/1d876e3bf658b7b4ec7c3372867521695e8eb023"><code>1d876e3</code></a> Bump actions/checkout from 4 to 5 (<a href="https://redirect.github.com/ruby/rexml/issues/283">#283</a>)</li> <li><a href="https://github.com/ruby/rexml/commit/c87bda8bb8773da7e5a0faf9f16ff165eb052a35"><code>c87bda8</code></a> Remove ostruct from dev deps (<a href="https://redirect.github.com/ruby/rexml/issues/281">#281</a>)</li> <li><a href="https://github.com/ruby/rexml/commit/c60ae027a3c20f359fdf76fa41ae64d22313f482"><code>c60ae02</code></a> Remove bundler from dev deps (<a href="https://redirect.github.com/ruby/rexml/issues/277">#277</a>)</li> <li><a href="https://github.com/ruby/rexml/commit/9b084d78708638cedff54743edc0907c4bd6574a"><code>9b084d7</code></a> Fix &amp; Deprecate REXML::Text#text_indent (<a href="https://redirect.github.com/ruby/rexml/issues/275">#275</a>)</li> <li><a href="https://github.com/ruby/rexml/commit/04a589a61bf4e366abee8764ee74b03f4aecc4aa"><code>04a589a</code></a> Fix a bug that XPath can't be used for no document element (<a href="https://redirect.github.com/ruby/rexml/issues/268">#268</a>)</li> <li><a href="https://github.com/ruby/rexml/commit/66232eaf680d0937ae59bea285cdb8e4d3d88a93"><code>66232ea</code></a> Remove redundant return statements (<a href="https://redirect.github.com/ruby/rexml/issues/266">#266</a>)</li> <li><a href="https://github.com/ruby/rexml/commit/63f3e9772595a64b036953f0ab026d2ea5560a3b"><code>63f3e97</code></a> Use Safe Navigation (&amp;.) from Ruby 2.3 (<a href="https://redirect.github.com/ruby/rexml/issues/265">#265</a>)</li> <li><a href="https://github.com/ruby/rexml/commit/d427fc5914fcc17d7247c5ff9099ee38639d6702"><code>d427fc5</code></a> Avoid redundant calls for doctype (<a href="https://redirect.github.com/ruby/rexml/issues/264">#264</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ruby/rexml/compare/v3.4.1...v3.4.2">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rexml&package-manager=bundler&previous-version=3.4.1&new-version=3.4.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/alshedivat/al-folio/network/alerts). </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump lycheeverse/lychee-action from 1.9.0 to 2.0.2 in /.github/workflows (#3285) Bumps [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action) from 1.9.0 to 2.0.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/lycheeverse/lychee-action/releases">lycheeverse/lychee-action's releases</a>.</em></p> <blockquote> <h2>Version 2.0.2</h2> <h2>What's Changed</h2> <ul> <li>Fix a typos by <a href="https://github.com/szepeviktor"><code>@​szepeviktor</code></a> in <a href="https://redirect.github.com/lycheeverse/lychee-action/pull/257">lycheeverse/lychee-action#257</a></li> <li>Document and use correct permissions in the GitHub workflows by <a href="https://github.com/dscho"><code>@​dscho</code></a> in <a href="https://redirect.github.com/lycheeverse/lychee-action/pull/258">lycheeverse/lychee-action#258</a></li> <li>Add security policy by <a href="https://github.com/mondeja"><code>@​mondeja</code></a> in <a href="https://redirect.github.com/lycheeverse/lychee-action/pull/259">lycheeverse/lychee-action#259</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/szepeviktor"><code>@​szepeviktor</code></a> made their first contribution in <a href="https://redirect.github.com/lycheeverse/lychee-action/pull/257">lycheeverse/lychee-action#257</a>…
1 parent c708bc3 commit aef48a0

File tree

193 files changed

+4897
-2789
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

193 files changed

+4897
-2789
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {
1010
"packages": "build-essential,imagemagick,inotify-tools,jupyter-nbconvert,procps,ruby-full,zlib1g-dev"
1111
},
12-
"ghcr.io/devcontainers-contrib/features/prettier:1": {}
12+
"ghcr.io/devcontainers-extra/features/prettier:1.0.2": {}
1313
},
1414

1515
// Optionally: run jekyll serve automatically on container entering using the Docker entrypoint

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Force LF line endings, needed for Docker to work on Windows
2+
*.sh text eol=lf

.github/workflows/axe.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ jobs:
4343
}
4444
- name: Install and Build 🔧
4545
run: |
46+
sudo apt-get update && sudo apt-get install -y imagemagick
4647
pip3 install --upgrade jupyter
4748
export JEKYLL_ENV=production
4849
bundle exec jekyll build

.github/workflows/broken-links-site.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ jobs:
3131
}
3232
- name: Install and Build 🔧
3333
run: |
34+
sudo apt-get update && sudo apt-get install -y imagemagick
3435
pip3 install --upgrade jupyter
3536
export JEKYLL_ENV=production
3637
bundle exec jekyll build
@@ -39,7 +40,7 @@ jobs:
3940
npm install -g purgecss
4041
purgecss -c purgecss.config.js
4142
- name: Link Checker 🔗
42-
uses: lycheeverse/lychee-action@v1.9.0
43+
uses: lycheeverse/lychee-action@v2.0.2
4344
with:
4445
fail: false
4546
# only check local links

.github/workflows/broken-links.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Check for broken links
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
paths:
9+
- "assets/**"
10+
- "**.html"
11+
- "**.js"
12+
- "**.liquid"
13+
- "**/*.md"
14+
- "**.yml"
15+
- "!.github/workflows/axe.yml"
16+
- "!.github/workflows/deploy-docker-tag.yml"
17+
- "!.github/workflows/deploy-image.yml"
18+
- "!.github/workflows/docker-slim.yml"
19+
- "!.github/workflows/lighthouse-badger.yml"
20+
- "!.github/workflows/prettier.yml"
21+
- "!lighthouse_results/**"
22+
pull_request:
23+
branches:
24+
- master
25+
- main
26+
paths:
27+
- "assets/**"
28+
- "**.html"
29+
- "**.js"
30+
- "**.liquid"
31+
- "**/*.md"
32+
- "**.yml"
33+
- "!.github/workflows/axe.yml"
34+
- "!.github/workflows/deploy-docker-tag.yml"
35+
- "!.github/workflows/deploy-image.yml"
36+
- "!.github/workflows/docker-slim.yml"
37+
- "!.github/workflows/lighthouse-badger.yml"
38+
- "!.github/workflows/prettier.yml"
39+
- "!lighthouse_results/**"
40+
41+
jobs:
42+
link-checker:
43+
runs-on: ubuntu-latest
44+
# only run on the main repo
45+
if: github.repository == 'alshedivat/al-folio'
46+
steps:
47+
- uses: actions/checkout@v4
48+
49+
- name: Link Checker 🔗
50+
uses: lycheeverse/[email protected]
51+
with:
52+
fail: true
53+
# removed md files that include liquid tags
54+
args: --user-agent 'curl/7.54' --exclude-path README.md --exclude-path _pages/404.md --exclude-path _pages/blog.md --exclude-path _posts/2018-12-22-distill.md --exclude-path _posts/2023-04-24-videos.md --exclude-path _books/the_godfather.md --verbose --no-progress './**/*.md' './**/*.html'

.github/workflows/codeql.yml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# For most projects, this workflow file will not need changing; you simply need
2+
# to commit it to your repository.
3+
#
4+
# You may wish to alter this file to override the set of languages analyzed,
5+
# or to provide custom queries or build logic.
6+
#
7+
# ******** NOTE ********
8+
# We have attempted to detect the languages in your repository. Please check
9+
# the `language` matrix defined below to confirm you have the correct set of
10+
# supported CodeQL languages.
11+
#
12+
name: "CodeQL Advanced"
13+
14+
on:
15+
push:
16+
branches: ["main"]
17+
pull_request:
18+
branches: ["main"]
19+
schedule:
20+
- cron: "45 4 * * 3"
21+
22+
jobs:
23+
analyze:
24+
name: Analyze (${{ matrix.language }})
25+
# Runner size impacts CodeQL analysis time. To learn more, please see:
26+
# - https://gh.io/recommended-hardware-resources-for-running-codeql
27+
# - https://gh.io/supported-runners-and-hardware-resources
28+
# - https://gh.io/using-larger-runners (GitHub.com only)
29+
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
30+
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
31+
permissions:
32+
# required for all workflows
33+
security-events: write
34+
35+
# required to fetch internal or private CodeQL packs
36+
packages: read
37+
38+
# only required for workflows in private repositories
39+
actions: read
40+
contents: read
41+
42+
strategy:
43+
fail-fast: false
44+
matrix:
45+
include:
46+
- language: javascript-typescript
47+
build-mode: none
48+
- language: ruby
49+
build-mode: none
50+
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
51+
# Use `c-cpp` to analyze code written in C, C++ or both
52+
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
53+
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
54+
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
55+
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
56+
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
57+
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
58+
steps:
59+
- name: Checkout repository
60+
uses: actions/checkout@v4
61+
62+
# Initializes the CodeQL tools for scanning.
63+
- name: Initialize CodeQL
64+
uses: github/codeql-action/init@v3
65+
with:
66+
languages: ${{ matrix.language }}
67+
build-mode: ${{ matrix.build-mode }}
68+
# If you wish to specify custom queries, you can do so here or in a config file.
69+
# By default, queries listed here will override any specified in a config file.
70+
# Prefix the list here with "+" to use these queries and those in the config file.
71+
72+
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
73+
# queries: security-extended,security-and-quality
74+
75+
# If the analyze step fails for one of the languages you are analyzing with
76+
# "We were unable to automatically build your code", modify the matrix above
77+
# to set the build mode to "manual" for that language. Then modify this step
78+
# to build your code.
79+
# ℹ️ Command-line programs to run using the OS shell.
80+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
81+
- if: matrix.build-mode == 'manual'
82+
shell: bash
83+
run: |
84+
echo 'If you are using a "manual" build mode for one or more of the' \
85+
'languages you are analyzing, replace this with the commands to build' \
86+
'your code, for example:'
87+
echo ' make bootstrap'
88+
echo ' make release'
89+
exit 1
90+
91+
- name: Perform CodeQL Analysis
92+
uses: github/codeql-action/analyze@v3
93+
with:
94+
category: "/language:${{matrix.language}}"

.github/workflows/deploy.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ on:
77
- main
88
paths:
99
- "assets/**"
10+
- "_sass/**"
11+
- "_scripts/**"
1012
- "**.bib"
1113
- "**.html"
1214
- "**.js"
@@ -34,6 +36,8 @@ on:
3436
- main
3537
paths:
3638
- "assets/**"
39+
- "_sass/**"
40+
- "_scripts/**"
3741
- "**.bib"
3842
- "**.html"
3943
- "**.js"
@@ -86,6 +90,7 @@ jobs:
8690
value: ${{ github.repository }}
8791
- name: Install and Build 🔧
8892
run: |
93+
sudo apt-get update && sudo apt-get install -y imagemagick
8994
pip3 install --upgrade nbconvert
9095
export JEKYLL_ENV=production
9196
bundle exec jekyll build

.github/workflows/docker-slim.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,7 @@ on:
1212
workflows: ["Docker Image CI"]
1313
types:
1414
- completed
15-
16-
# on:
17-
# push:
18-
# branches:
19-
# - 'master'
15+
workflow_dispatch:
2016

2117
jobs:
2218
build:
@@ -43,7 +39,7 @@ jobs:
4339
sed -i "s|\.:|${{ github.workspace }}:|g" ${{ github.workspace }}/docker-compose.yml
4440
cat ${{ github.workspace }}/docker-compose.yml
4541
46-
- uses: kitabisa/docker-slim-action@v1.1.1
42+
- uses: kitabisa/docker-slim-action@v1.2.0
4743
env:
4844
DSLIM_PULL: true
4945
DSLIM_COMPOSE_FILE: ${{ github.workspace }}/docker-compose.yml
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
name: Update Google Scholar Citations
2+
3+
on:
4+
schedule:
5+
- cron: "0 0 * * 1" # Monday
6+
- cron: "0 0 * * 3" # Wednesday
7+
- cron: "0 0 * * 5" # Friday
8+
workflow_dispatch:
9+
10+
jobs:
11+
update-citations:
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout repository
16+
uses: actions/checkout@v4
17+
with:
18+
# Use PAT if provided, otherwise fall back to GitHub token so `act` runs cleanly.
19+
token: ${{ secrets.PAT || github.token }}
20+
21+
- name: Set up Python
22+
uses: actions/setup-python@v4
23+
with:
24+
python-version: "3.13"
25+
26+
- name: Install dependencies
27+
run: |
28+
echo "🔧 Installing dependencies..."
29+
python -m pip install --upgrade pip
30+
pip install -r requirements.txt
31+
32+
- name: Save current citations.yml hash
33+
id: before
34+
run: |
35+
echo "📦 Checking existing citations.yml hash..."
36+
if [ -f _data/citations.yml ]; then
37+
sha_before=$(sha256sum _data/citations.yml | awk '{print $1}')
38+
echo "sha_before=$sha_before" >> $GITHUB_OUTPUT
39+
echo "📝 SHA before: $sha_before"
40+
else
41+
echo "sha_before=none" >> $GITHUB_OUTPUT
42+
echo "📝 No existing citations.yml file found."
43+
fi
44+
45+
- name: Run citation update script
46+
id: run_citation_update
47+
shell: bash
48+
run: |
49+
set +e
50+
max_attempts=2
51+
attempt=1
52+
status=1
53+
while [ $attempt -le $max_attempts ]; do
54+
echo "🚀 Attempt $attempt/$max_attempts: running citation update (timeout 180s)..."
55+
start_time=$(date)
56+
timeout 360 python bin/update_scholar_citations.py
57+
status=$?
58+
end_time=$(date)
59+
if [ $status -eq 0 ]; then
60+
echo "✅ Citation update succeeded on attempt $attempt (started at $start_time, ended at $end_time)."
61+
echo "✅ Citation update succeeded." >> $GITHUB_STEP_SUMMARY
62+
break
63+
else
64+
echo "❌ Citation update failed on attempt $attempt with exit code $status (started at $start_time, ended at $end_time)."
65+
if [ $attempt -lt $max_attempts ]; then
66+
echo "⏳ Retrying after brief pause..."
67+
sleep 5
68+
fi
69+
fi
70+
attempt=$((attempt+1))
71+
done
72+
73+
if [ $status -ne 0 ]; then
74+
echo "❌ Citation update script failed after $max_attempts attempt(s) with exit code $status." >> $GITHUB_STEP_SUMMARY
75+
fi
76+
set -e
77+
78+
- name: Save new citations.yml hash
79+
id: after
80+
run: |
81+
echo "🔍 Checking updated citations.yml hash..."
82+
if [ -f _data/citations.yml ]; then
83+
sha_after=$(sha256sum _data/citations.yml | awk '{print $1}')
84+
echo "sha_after=$sha_after" >> $GITHUB_OUTPUT
85+
echo "📝 SHA after: $sha_after"
86+
else
87+
echo "sha_after=none" >> $GITHUB_OUTPUT
88+
echo "📝 citations.yml was not created or is missing."
89+
fi
90+
91+
- name: Report citations.yml change in summary
92+
run: |
93+
echo "📋 Comparing citation file hashes..."
94+
if [ "${{ steps.before.outputs.sha_before }}" != "${{ steps.after.outputs.sha_after }}" ]; then
95+
echo "✅ _data/citations.yml was updated."
96+
echo "✅ _data/citations.yml was updated." >> $GITHUB_STEP_SUMMARY
97+
else
98+
echo "ℹ️ _data/citations.yml was not changed."
99+
echo "ℹ️ _data/citations.yml was not changed." >> $GITHUB_STEP_SUMMARY
100+
fi
101+
102+
- name: Configure Git
103+
run: |
104+
git config --local user.email "[email protected]"
105+
git config --local user.name "GitHub Actions"
106+
echo "🔧 Git configured."
107+
108+
- name: Commit and push if changed
109+
if: ${{ !env.ACT }} # skip pushing when running under act
110+
run: |
111+
git add _data/citations.yml
112+
git diff --staged --quiet || (
113+
echo "📤 Committing and pushing changes..."
114+
git commit -m "Update Google Scholar citations"
115+
git push
116+
)

0 commit comments

Comments
 (0)