Repository Guidelines
Repository Guidelines
Project Structure & Module Organization
- Jekyll site configuration lives in
_config.yml; avoid manual edits to_site/because it is generated output. - Content is authored in
collections/_posts/(published),collections/_drafts/(unpublished), andcollections/_newsletter/; useYYYY-MM-DD-title.mdfor post filenames. - Layouts sit in
_layouts/, shared snippets in_includes/, and data files in_data/for repeatable metadata. - Static assets belong in
assets/(images, JS, CSS). Experimental games are injsgames/and should keep their own assets nearby.
Build, Test, and Development Commands
bundle install— install Ruby gems from theGemfile(run on first setup or when dependencies change).bundle exec jekyll serve --livereload— run the site locally athttp://localhost:4000with live reload for drafts and posts.bundle exec jekyll build— produce the production site into_site/; CI/CD and GitHub Pages expect this to succeed without warnings.bundle exec jekyll doctor— sanity-check configuration for common issues before opening a PR.
Coding Style & Naming Conventions
- Prefer 2-space indentation for YAML, HTML/Liquid, and Markdown code blocks to match existing files.
- Front matter should include
layout,title,date,categoriesortags, and any page-specific flags; keep keys lower-case and kebab-cased. - Use kebab-case for filenames and URL slugs; keep asset names short and descriptive (e.g.,
assets/images/2025-05-hero.jpg). - Keep Markdown concise; use Liquid includes for repeated UI fragments instead of duplicating HTML.
Testing Guidelines
- There is no automated test suite; treat
bundle exec jekyll buildas the gate to catch Liquid or front matter errors. - When adding scripts or interactive pages (e.g., under
jsgames/), test locally in modern browsers and avoid breaking the main layout. - Consider running
bundle exec jekyll servewithJEKYLL_ENV=productionto mirror production behavior before merging.
Commit & Pull Request Guidelines
- Recent history favors short, imperative messages (e.g., “Fix layout”); follow that style and group related edits per commit.
- PRs should state intent, list notable pages touched (paths), and include screenshots for visual changes when feasible.
- Link relevant issues or TODOs in the description; call out any build or doctor warnings that remain.
- Avoid committing generated
_site/contents; rely on the build to regenerate them.