Development Documentation
Development Documentation
This information is only really useful for the site owner.
Build, Test, Local-Dev
Install
bundle install
Run Locally
bundle exec jekyll server
Preview drafts locally:
bundle exec jekyll serve --drafts
Verify Build
bundle exec jekyll build
Blog: Write and Publish (Markdown in Repo)
Posts live in collections/_posts/ as YYYY-MM-DD-slug-from-title.md. Drafts live in collections/_drafts/ and are not published unless you pass --drafts to Jekyll.
Create a new post
python tools/new_post.py "Your Post Title"
Optional flags:
python tools/new_post.py "Your Post Title" --date 2026-07-02 --category tools
This creates a dated file with front matter (layout, title, date, summary, categories). Edit the file, replace the summary placeholder, and write the body in Markdown.
Publish a draft
python tools/publish_draft.py 2024-01-14-computing-cultural-literacy.md
Optional publish date:
python tools/publish_draft.py my-draft-slug --date 2026-07-02
This moves the draft into collections/_posts/, sets date in front matter to match the filename, and deletes the draft file.
Front matter template
See collections/_posts/_template.md for the expected fields and comments.
Library Pages
Library, anti-library, and book review pages are hidden by default:
show_library: falsein_config.ymlhides the nav linkpages/reading/is in the Jekyllexcludelist so those pages never build- Individual reading pages also set
published: falseas a backup
To re-enable later: set show_library: true, remove pages/reading from exclude, set collections.reviews.output: true, and set published: true on the reading pages.