Migrate from Pelican to Quarto static site generator - #56
Merged
Conversation
- Convert 17 posts to Quarto notebook posts under posts/<slug>/, with aliases preserving the old /articles/YYYY/Mon/DD/slug.html URLs - Move posts by other authors (and old icebox drafts) to _icebox/, which Quarto excludes from the build - Consolidate triplicated image directories into static/images/ and vendor the AI Dungeon hero image locally - Replace Pelican machinery (theme, plugins, Pipenv, Makefile) with _quarto.yml, index.qmd listing, about.qmd, and styles.css - Publish via GitHub Actions: render on push to dev, deploy to master with CNAME for computable.ai Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GXdH68Zgh99MDTF5Cpkn7q
The Pelican-to-Quarto migration dropped the custom mg theme and with it the site's visual identity. Recover it: - Brand SCSS layers for light and dark modes: teal-green palette (#00967b / #0d544e), white navbar with the signature 4px green top rule, green underlined listing titles, white article cards on a light-gray page, Optima/Segoe heading stack - Restore logo images from git history into static/images/brand/ and put the green-disc logo back in the header - Drop the redundant page-title block on the listing page Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GXdH68Zgh99MDTF5Cpkn7q
The old mg theme switched schemes via prefers-color-scheme; Quarto 1.6 only offered a manual toggle defaulting to light. Upgrade to Quarto 1.7 and enable respect-user-color-scheme so the site follows the OS preference again (the toggle remains for manual override). Retune the dark theme from darkly's neutral gray to the original green-tinted near-black (hsl 158 hue): body at 5% lightness, cards at 7% with hairline keylines, and the light backing behind transparent thumbnails. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GXdH68Zgh99MDTF5Cpkn7q
- Alias /pages/about.html, /categories.html, /archives.html to their new equivalents - Post-render script copies the feed to the old Pelican feed path feeds/all.atom.xml, since feed readers don't follow HTML redirects - Add a 404 page (GitHub Pages serves 404.html) - Let CI render on the feature branch with the deploy step gated to dev, so the pipeline is validated before switching over Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GXdH68Zgh99MDTF5Cpkn7q
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR migrates the Computable AI blog from Pelican (Python-based static site generator) to Quarto (R/Python-based publishing system). The migration involves removing all Pelican-specific configuration, themes, and plugins while establishing a new Quarto-based site structure.
Key Changes
pelicanconf.py,publishconf.py,Makefile,tasks.py, and the entirethemes/mg/custom theme directory with all associated CSS, JavaScript, and HTML templatesplugins/sitemap/andplugins/representative_image/directories along with their configurations_quarto.ymlwith project settings, website metadata, and post-render hooks for legacy feed URL compatibilitytheme-light.scssandtheme-dark.scssfor styling using Quarto's SCSS variable system, maintaining the original Computable AI brand colorsposts/to use raw cell format for YAML frontmatter (changing from markdown cells to raw cells withformat: text/plain)index.qmd(homepage with post listing),about.qmd, and404.qmdto replace Pelican templates.github/workflows/publish.ymlfor automated site publishing andtools/legacy-feed.pyto maintain backward compatibility with the old Pelican feed URL (/feeds/all.atom.xml)/_site/,/.quarto/)styles.cssfor legacy image alignment conventions from the Pelican eraNotable Implementation Details
#00967b,#0d544e) to Quarto's SCSS variable system/categories.html,/archives.html) to preserve SEO and existing linkshttps://claude.ai/code/session_01GXdH68Zgh99MDTF5Cpkn7q