Commit Graph

1029 Commits

Author SHA1 Message Date
George
cc6284d18f
Improve readme, add site-wide CSP (#3485)
This pull request significantly expands and clarifies the documentation
for the al-folio Jekyll theme, focusing on improved file structure
explanations, enhanced quick reference guides, and the addition of a
comprehensive analytics setup guide. The changes make it easier for
users and contributors to understand the project organization, available
features, and configuration options, especially regarding CV formats,
teaching pages, and analytics integration.

**Key documentation and structure improvements:**

*Expanded file and collection structure:*
- The file structure documentation in
`.github/agents/customize.agent.md` and `.github/agents/docs.agent.md`
now details all major directories, including new and existing
collections such as `_books/`, `_teachings/`, `_scripts/`, `_plugins/`,
and expanded `assets/` subdirectories. It also covers new configuration
and utility files, making it easier for users to locate and understand
the purpose of each file or folder.
[[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L24-R66)
[[2]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L17-R58)

*Documentation and quick reference enhancements:*
- The quick reference table in `.github/agents/customize.agent.md` has
been updated to include new actions like adding teaching pages, setting
up analytics, improving SEO, and ensuring accessibility, with more
precise documentation links.
- The documentation map now lists all major guides (e.g.,
`QUICKSTART.md`, `INSTALL.md`, `TROUBLESHOOTING.md`, `ACCESSIBILITY.md`,
`ANALYTICS.md`, `SEO.md`), providing a clearer overview of available
resources.
[[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L58-R110)
[[2]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L17-R58)

**Feature and configuration documentation updates:**

*CV/resume format guidance:*
- The CV documentation now clarifies that users can maintain both
RenderCV and JSONResume formats simultaneously, with clear instructions
on switching between them and deleting unused files if desired.
[[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L139-R185)
[[2]](diffhunk://#diff-52f2a9488bfe4177d1f1d01120859dad0b3e2d087283ded68f72d47b4f183391L291-R291)

*Teaching pages and new collections:*
- Adds documentation for the new `_teachings/` collection, including
required frontmatter and support for course materials, as well as
updates to enable/disable teaching and books pages via `_config.yml`.
[[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L180-R252)
[[2]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L24-R66)

*Analytics integration:*
- Introduces a new `ANALYTICS.md` guide with detailed setup instructions
for Google Analytics, privacy-friendly alternatives (Plausible, Pirsch,
Openpanel, GoAccess), GDPR considerations, and a comparison table to
help users choose the right analytics provider.
- The configuration documentation now references analytics setup and
related configuration options.
[[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L180-R252)
[[2]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L479-R550)

These updates collectively make the documentation more comprehensive,
actionable, and user-friendly for both new and advanced users.

**References:**
[[1]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L24-R66)
[[2]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L58-R110)
[[3]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L139-R185)
[[4]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L180-R252)
[[5]](diffhunk://#diff-15864f2655921f50a97689076e3b8feba0da320463750845be6a76eb2e30bfe4L479-R550)
[[6]](diffhunk://#diff-961a46180ce568ce43c20bf7129dc5e4926a9aa4e0d7bc19926ca5ee3ff95cd0L17-R58)
[[7]](diffhunk://#diff-0967e840631a541bb95e057e1c6d4884274cf56d5a217d7fee2eb7223b6b4c0dR1-R268)
[[8]](diffhunk://#diff-52f2a9488bfe4177d1f1d01120859dad0b3e2d087283ded68f72d47b4f183391L291-R291)

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-28 21:22:27 -03:00
george-gca
1e657e9a4b Auto update markdown TOC 2026-01-26 21:27:01 +00:00
Scott Lee Chua
5ab56faadd
Update SASS syntax in base (non-font) files (#3281)
Partially fixes issue #3256 by updating SASS syntax in main SCSS files.

To fully address the issue, FontAwesome should be updated to `v7.x` and
Tabler to `v3.30` or higher (see Tabler fix
[here](https://github.com/tabler/tabler-icons/pull/1256)), where the
SCSS has been fixed.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: George Araújo <george.gcac@gmail.com>
2026-01-26 18:26:44 -03:00
GitHub Actions
6581d5f719 Update Google Scholar citations 2026-01-26 01:06:42 +00:00
george-gca
4165bf5f08 chore: render the latest CV 2026-01-23 15:46:12 +00:00
George
c39ef4a693
Rendercv missing commits (#3475)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-23 12:45:27 -03:00
george-gca
84cf7a3f50 chore: render the latest CV 2026-01-23 15:37:00 +00:00
George
55a2685683
Unify jsonresume and RenderCV CVs solutions (#3462)
Fixes #2787 as an alternative to #2969. It was getting too cumbersome to
have 2 different data sources for CV and also a lot of different layout
files, so I decided to unify them all.
Main changes:
- synchronized the information inside RenderCV (`_data/cv.yml`) and
JSONResume (`assets/json/resume.json`)
- unified layout files for CV information
- added the option to set the "data source" in the CV page

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-23 12:36:14 -03:00
Nobin Sarwar
dd425c77c1
Add smsnoBin77 link to README (#3473)
Add a new link to the README for smsnoBin77.
2026-01-23 11:09:26 -03:00
George
b5ecd1a6bd
Updated jekyll-socials to latest version (#3464)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-19 23:10:08 -03:00
GitHub Actions
081ba6aa6f Update Google Scholar citations 2026-01-19 01:05:22 +00:00
LucasLiu6
d5fce890c4
Add calendar iframe and togglAdd calendar iframe and toggle buttone button (#3144)
### Description

This PR adds a Google Calendar integration feature as described in issue
#872. Users can embed their own calendar using an iframe configured via
`_config.yml`, and the calendar is toggleable through a responsive
button. This component is styled to visually blend into the theme and
supports responsive display across desktop and mobile.

### Changes
- Added `calendar.liquid` in `_includes`
- Modified `about.md` to include the toggleable calendar block
- Introduced `calendar` config section in `_config.yml`
- Appended calendar-related styles in `_sass/_base.scss`

### Configuration
To enable this feature, add the following to `_config.yml`:
```yaml
calendar:
  enabled: true
  calendar_id: your_calendar_id@group.calendar.google.com
  timezone: UTC
  style: "border:0; width:100%; height:600px;"

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: dodo <349507644@qq.com>
Co-authored-by: George <31376482+george-gca@users.noreply.github.com>
Co-authored-by: George Araújo <george.gcac@gmail.com>
2026-01-17 20:36:16 -03:00
george-gca
6a723bd9ad Auto update markdown TOC 2026-01-17 21:44:04 +00:00
Jiahao Zhang
0fe3c84636
Add course schedule feature to teaching page (#2258) (#3147)
Implements the course schedule feature requested in issue
#[2258](https://github.com/alshedivat/al-folio/issues/2258).

This PR adds a new course schedule feature to the al-folio theme,
allowing academics to easily create and display structured course
information.

**Changes:**
- Added a `courses` collection to organize and display academic courses
- Created course layout and display templates with responsive design
- Implemented organization by year and term with automatic sorting
- Added support for weekly schedule with topics and course materials
- Simplified documentation with a README for course creation

This feature makes it easier for academics to showcase their teaching
materials with a consistent, organized display of course schedules,
helping users create professional teaching pages without custom
implementation.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
Co-authored-by: George Araújo <george.gcac@gmail.com>
2026-01-17 18:43:47 -03:00
george-gca
5be5124eb2 Auto update markdown TOC 2026-01-17 18:17:33 +00:00
George
137a13abec
Updated jekyll-archives-v2 (#3460)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-17 15:17:16 -03:00
Maruan
3e2b8f7812
Revert "Refactor: Use Liquid filter to find home page title" (#3451)
Reverts alshedivat/al-folio#3448
2026-01-15 22:07:42 -08:00
google-labs-jules[bot]
24d730578a
Refactor: Use Liquid filter to find home page title (#3448)
Refactored the script in _scripts/search.liquid.js to use a more
efficient Liquid 'where' filter to find the home page title. This
replaces an inefficient for loop that iterated through all site pages.

---
*PR created automatically by Jules for task
[5748098109809984605](https://jules.google.com/task/5748098109809984605)
started by @alshedivat*

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-01-15 21:41:26 -08:00
google-labs-jules[bot]
2e308ed606
Optimize Google Scholar Citations Regex Definition (#3449)
💡 **What:** Moved the regex definition `/Cited by (\d+[,\d]*)/` from the
method scope to a class-level constant `CITED_BY_REGEX`.

🎯 **Why:** To improve code cleanliness and avoid potential re-definition
of the regex object in every method call (or loop), adhering to best
practices.

📊 **Measured Improvement:**
* **Baseline:** The regex was defined as a literal inside the `render`
method, which is called for each tag usage.
*   **Optimization:** The regex is now defined once as a constant.
* **Note:** Performance benchmarks were not possible in the current
environment due to missing Ruby runtime. However, this is a standard
Ruby optimization that improves maintainability and theoretically avoids
object allocation overhead in older Ruby versions or complex scenarios.
Modern Ruby optimizes literals well, but the constant approach is
cleaner and DRYer.

---
*PR created automatically by Jules for task
[10688912524063334698](https://jules.google.com/task/10688912524063334698)
started by @alshedivat*

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-01-15 21:41:10 -08:00
George
514533c50a
Updated deps to fix issue with jekyll-socials (#3447)
Fixes #3445

Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-15 15:21:53 -03:00
George
2bbc8ad544
Fixed dates in book-shelf (#3446)
Fixes #3443.

Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-15 10:53:02 -03:00
george-gca
cfed3b02f1 Auto update markdown TOC 2026-01-14 22:15:29 +00:00
George
7c75a1568d
Updated deps and deploy version (#3440)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-14 19:15:10 -03:00
George
43ec3db09c
Changed to use jekyll-socials plugin (#3439)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-14 19:10:50 -03:00
george-gca
f8c558b514 Auto update markdown TOC 2026-01-14 16:19:27 +00:00
George
17b0251c0f
Update deps (#3437)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-14 13:19:11 -03:00
George
7249c6ef61
Changed to use cache bust plugin (#3436)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-14 13:11:53 -03:00
George
70d07e61f3
Changed code to use plugin to handle 3rd party libraries downloads (#3435)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-14 13:08:21 -03:00
Jiamin Zhou
90eb8f48c0
Add zhoji.github.io to User community in README.md (#3433)
Adding my personal website for the al-folio community :) Thanks for
creating such a cool template!
2026-01-14 11:05:10 -03:00
George
039027e916
Improved collections section in CUSTOMIZE guide (#3431)
Improved section based on comments from #2369.

Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-13 11:29:16 -03:00
Julien Chevallier
a5993100fd
Add HAL button (#3404)
Adds a HAL button in the same spirit as the arXiv button.
- add HAL button to `_layouts/bib.liquid`
- add `hal` to the filtered keywords in `_config.yml`
- add `hal` to the documentation  in `CUSTOMIZE.md`
2026-01-09 18:15:36 -03:00
Julien Chevallier
53dfb1184e
add filtered BibTeX keywords (#3403)
add `dimensions, eprint` and `pmid` to the filtered keywords
2026-01-09 18:14:45 -03:00
Jaewon Yoo
47fbf37a5e
Add j1yoo.github.io to User community (#3427)
Hi! I'd like to add my academic website to the User community section.

**Website:** https://j1yoo.github.io/

This PR adds a single star link to the Academics row in the User
community table.

Thank you for creating and maintaining this beautiful theme!

Co-authored-by: Jaewon Yoo <jwyoo4@gmail.com>
2026-01-09 11:43:41 -03:00
Julien Chevallier
8287d64900
Add link to personal GitHub page on academics section in README (#3424) 2026-01-08 16:24:03 -03:00
Sam B
e6b488db2c
Remove link to sam-bieberich.github.io (#3425)
Removed a link to sam-bieberich.github.io from the README.
2026-01-08 16:23:47 -03:00
george-gca
08023f0ddd Auto update markdown TOC 2026-01-07 14:37:42 +00:00
Dominik Fuchß
67bd1b6210
Make external service URLs configurable for repository page (#3422)
## Description

This PR makes the URLs for external services used on the repository page
configurable in `_config.yml`. This allows users to self-host these
services for better reliability, privacy, and customization.

## Changes

- Added `external_services` configuration section in `_config.yml` with:
- `github_readme_stats_url` (default:
`https://github-readme-stats.vercel.app`)
- `github_profile_trophy_url` (default:
`https://github-profile-trophy.vercel.app`)
- Updated repository template files to use configurable URLs:
  - `_includes/repository/repo_user.liquid`
  - `_includes/repository/repo.liquid`
  - `_includes/repository/repo_trophies.liquid`
- Added documentation in `CUSTOMIZE.md` explaining:
- Why self-hosting is recommended (default services may have
availability issues)
  - How to configure custom service URLs
  - Links to the service repositories for deployment instructions

## Resolves

Resolves #3388 - This makes it possible to configure self-hosted
versions of these services, giving users full control over the external
services used for displaying GitHub statistics and trophies.

## Testing

- Verified that default configuration still works with original service
URLs
- Confirmed that URLs are properly interpolated in all template files
- Documentation clearly explains the configuration options
2026-01-07 11:37:24 -03:00
GitHub Actions
6956be8cf6 Update Google Scholar citations 2026-01-05 01:06:01 +00:00
Caio Petrucci Rosa
e10739af87
Fix typo in Bootstrap small column class usage (#3421)
This PR fixes a recurring typo in multiple Liquid templates where the
Bootstrap class `cl-sm` is used instead of `col-sm`.

Because of this typo, the `col-sm` styling was not being applied. All
instances have been corrected.
2026-01-04 18:06:56 -03:00
George
586a0ffd76
Updated prettier (#3420)
Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-04 17:51:02 -03:00
George
903760519c
Changed maintainers urls to https 2026-01-04 17:31:46 -03:00
George
b4d1f41243
Added new line to README badges 2026-01-02 22:15:34 -03:00
george-gca
b19d1e936e Auto update markdown TOC 2026-01-03 01:00:00 +00:00
George
e50824437c
Update deps (#3418)
Closes #3402

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-02 21:59:43 -03:00
Michael Vanden Heuvel
1a45b5ba81
Add auto-orient flag to Imagemagick config (#3409)
Currently, images generated by Imagemagick do not respect the
orientation of the source image. By adding the auto-orient flag, the
images are the correct orientation.

Before
<img width="920" height="562" alt="image"
src="https://github.com/user-attachments/assets/73f59d7f-b6c5-468a-9023-0f0457a53a3c"
/>

After
<img width="947" height="621" alt="image"
src="https://github.com/user-attachments/assets/2f24de99-2e84-4052-8d0f-945acdad81e4"
/>
2026-01-02 21:14:16 -03:00
Sarucha Yanyong
f0f262cf44
Add link to personal GitHub page on academics section in README (#3400) 2026-01-02 21:09:35 -03:00
George
81c0556cbf
Added support for default categories and tags for external posts (#3417)
Based on discussion #3393.

---------

Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-02 20:37:16 -03:00
George
71640bbda3
Fixed 1 px first load issue (#3416)
Fix #3164

Signed-off-by: George Araújo <george.gcac@gmail.com>
2026-01-02 20:10:58 -03:00
Dominik Fuchß
f521c0ae5c
Fix: bibliography month persists to subsequent entries without month (#3391)
Fixes #3386 (the part about the wrong months; the other part (layouting
of bibtex) is fixed in #3387)

## Summary
- Fixes incorrect month shown for bibliography entries that do not
specify a `month` in BibTeX.
- Ensures `month`/`year` do not persist between entries in
`_layouts/bib.liquid`.

## Root Cause
- In Liquid, captured variables persist across iterations if not
reinitialized.
- `entrymonth` and `entryyear` were only set when
`entry.month`/`entry.year` existed, causing values from a previous entry
to leak into the next one when those fields were missing.

## Changes
- Reinitialize date-related variables per entry before conditional
captures:

## Behavior
- Before: Entries without a `month` could display the previous entry's
month.
- After: Entries without a `month` display only the `year`; entries with
a `month` display the correct month and year.


<img width="1956" height="918" alt="image"
src="https://github.com/user-attachments/assets/7a9682e7-55ab-43b7-8f82-f638d14ce08e"
/>
2026-01-02 19:56:18 -03:00
Dominik Fuchß
6023fd809f
Fix bib / code layout bug (#3387)
Resolve #3370
Resolve #3380

Based on the
[comment](https://github.com/alshedivat/al-folio/issues/3370#issuecomment-3565962058)
of @MarkusThill, I created a bugfix that solved the issue on my website.
Hope that fixes it in general; thus the PR :) However, I'm not an expert
for scss .. so handle with care :)
2026-01-02 19:48:18 -03:00