Conversation
✅ Deploy Preview for relaxed-lollipop-b6bc17 ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
|
I decided to already move my contributions to this PR to the main repository, since it will already make it a little simpler. Also, I think the external-posts and analytics would be useful for more jekyll users, so maybe they should be created as |
|
agreed. instead of having these changes stuck in this dev branch, best to merge them into main. will see if I can find time to do it this weekend. |
✅ Deploy Preview for relaxed-lollipop-b6bc17 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Removes `_plugins/google-scholar-citations.rb` and `_plugins/inspirehep-citations.rb` and switches to using `al_citations` gem instead.
Removes `_plugins/external_posts.rb` and switches to using `al_ext_posts` gem.
switches to using [`al-img-tools`](https://github.com/al-org-dev/al-img-tools/tree/main) gem and removes unnecessary code and scripts.
|
Failed prettier code check. Check this file for more information. |
## Summary - add `al_utils` plugin gem dependency in `Gemfile` - register `al_utils` in `_config.yml` plugin list - remove local utility helpers from `_plugins/` that are now provided by `al_utils` ## Extracted features - `details` liquid block tag - `file_exists` liquid tag - `hideCustomBibtex` filter - `remove_accents` filter ## Source plugin repository - https://github.com/al-org-dev/al-utils
## Summary
- add `al_search` gem dependency from `al-org-dev/al-search`
- register `al_search` in `_config.yml` plugin list
- replace hardcoded search asset block in both script includes with `{%
al_search_assets %}`
## Notes
- plugin repo: https://github.com/al-org-dev/al-search
- this PR focuses on integration wiring and keeps current theme files in
place to avoid disruptive file deletions
) ## Summary - add `al_charts` gem dependency from `al-org-dev/al-charts` - register `al_charts` in `_config.yml` plugin list - replace chart/diagram script-loading blocks in: - `_includes/scripts.liquid` - `_includes/distill_scripts.liquid` with plugin tag `{% al_charts_scripts %}` ## Notes - plugin repo: https://github.com/al-org-dev/al-charts - this PR migrates integration wiring while preserving existing theme asset files for compatibility
## Summary
- add `al_math` gem dependency from `al-org-dev/al-math`
- register `al_math` in `_config.yml` plugin list
- replace math/tikzjax asset loading with plugin tags:
- `{% al_math_styles %}` in `_includes/head.liquid`
- `{% al_math_scripts %}` in `_includes/scripts.liquid`
- `{% al_math_scripts %}` in `_includes/distill_scripts.liquid`
## Notes
- plugin repo: https://github.com/al-org-dev/al-math
- this PR focuses on integration wiring while preserving existing
theme-side assets for compatibility
## Summary
- add `al_comments` gem dependency from `al-org-dev/al-comments`
- register `al_comments` in `_config.yml` plugin list
- replace layout-level Disqus/Giscus includes with plugin tag `{%
al_comments %}` in:
- `_layouts/post.liquid`
- `_layouts/page.liquid`
- `_layouts/distill.liquid`
- `_layouts/book-review.liquid`
## Notes
- plugin repo: https://github.com/al-org-dev/al-comments
- PR keeps legacy include files in-place for backward compatibility
while switching primary rendering path to plugin
) ## Summary - add `al_newsletter` gem dependency from `al-org-dev/al-newsletter` - register `al_newsletter` in `_config.yml` plugin list - replace newsletter include/script usage with plugin tags: - `_includes/footer.liquid` - `_includes/related_posts.liquid` - `_layouts/about.liquid` - `_includes/scripts.liquid` ## Notes - plugin repo: https://github.com/al-org-dev/al-newsletter - PR switches rendering and JS loading to plugin-provided tags while preserving existing theme include file for compatibility
|
@alshedivat I saw that you started support for Tailwind in #3509. Think you can also finish #3481? I started a test with GitHub Copilot in #3481 and one with Jules in #3482 to see which one could better handle updating our dependencies, but I haven't finished it. I decided to go with the Copilot one, but I am still iterating/testing the solution. There are still some layout differences, and a thorough test is needed for the blog posts. |
|
@george-gca, thanks for experimenting with copilot and jules for bootstrap upgrade. i'm envisioning |
…3509) ## Summary - resolve open review feedback on integration assertions and visual workflow triggers - finalize starter wiring for strict v1 ownership boundaries (`al_cookie` added as plugin-owned cookie runtime) - keep starter tests focused on style contract, cross-gem integration, and visual parity - add optional Python setup helper for Jupyter deps (`bin/setup-python-deps`) and update docs (`INSTALL.md`, `CUSTOMIZE.md`, `FAQ.md`, `BOUNDARIES.md`) ## Key wiring changes - add `al_cookie` to Gemfile/plugin list - set `al_folio.distill.allow_remote_loader: true` to match current distill runtime contract - update integration checks (`integration_distill.sh`) to verify pinned distill runtime hash via packaged gem asset ## Validation - `npm run lint:prettier` - `npm run lint:style-contract` - `bash test/integration_bootstrap_compat.sh` - `bash test/integration_distill.sh` - `bash test/integration_upgrade_cli.sh`
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d7a8bd61c1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Addressed latest review + CI feedback in commits 8828f47 and 596763a:\n\n- Increased visual regression timeout budget to 20 minutes.\n- Updated parity helper to capture full-page screenshots by default for parity checks.\n- Added a safe fallback for very long pages to avoid Playwright's 32767px screenshot limit.\n- Kept distill baseline parity on viewport capture (to avoid long-page image hard limit while preserving the dedicated distill stability checks).\n- Hardened broken-link checks with retries and replaced the flaky demo redirect in _projects/3_project.md.\n\nCurrent status: required CI checks are green on the latest head. |
|
I will try to find some time this week to properly review this. After all, it is a HUGE change. |
|
Hi @alshedivat, hi @george-gca, from my perspective, it may be interesting to address this question here in the FAQs or somewhere as part of v1.0 :) Most people that I know and that are using al-folio have their own tweaks / customizations; so far this was straightforward to keep up-to-date with upstream - thanks to git :) |
|
thank you, @dfuchss, this is a great question. just wanted to note here that this PR won't be merged until everything is fully battle-tested and all important use cases are addressed. we'll certainly need to make sure upgrading + retaining existing customizations in most cases should be possible. (switch from bootstrap to tailwind will make this a bit more challenging, but the current design of v1.0 supports bootstrap backward compatibility.) |
Overview
This PR delivers the
v1.0architecture and runtime upgrade foral-folio.al-foliomoves from a monolithic theme repo to a thin starter + plugin ecosystem model, while preserving visual identity and core behavior.What this PR changes
1) Starter becomes orchestration-only
al-foliois now responsible for:Gemfile,_config.yml)Component/runtime ownership is moved to dedicated gems.
2) Runtime and feature ownership split into plugins
al_folio_corenow provides shared runtime/layout primitives and contracts, and delegates feature modules to owning gems.Key plugin ownership in v1:
al_folio_core: core theme runtime/contractsal_folio_distill: Distill layouts/runtimeal_folio_cv: CV renderingal_search: search runtime and modal behavioral_icons: icon runtime (Font Awesome, Academicons, Scholar Icons)al_cookie: cookie-consent runtimeal_img_tools: image/gallery/lightbox toolingal_math: math/TikZ runtime integrational-*plugins for analytics/charts/citations/comments/newsletter/external posts/upgrade tooling3) Styling/runtime modernization
al_folio_bootstrap_compatfor migration windows.4) Test ownership policy is enforced
al-foliokeeps only starter-level integration and visual integrity checks.This mirrors runtime ownership and reduces duplication/drift.
5) Upgrade and migration workflow
al_folio_upgradeis integrated for audit/apply/report migration flows, including:6) Documentation and contributor model for v1
Docs are updated to reflect modular v1 behavior and contribution routing.
New governance additions include:
BOUNDARIES.md)_data/featured_plugins.yml,_pages/plugins.md)Compatibility and migration notes
Gemfile+_config.yml.al-foliostarter intentionally does not use a gemspec in v1.al_folio_bootstrap_compat.Validation strategy in this PR
Scope intent
This is the foundational v1 architecture PR.
Post-merge feature work should generally target owning plugin repos first, with
al-foliolimited to starter wiring, docs, examples, and integration/visual validation.