Repository Guidelines
Project Structure & Module Organization
- Root content for this site lives in
_pages/, _posts/, _data/, assets/, and _config.yml.
- Theme internals are in
_includes/, _layouts/, and _sass/minimal-mistakes/.
docs/ contains the theme’s documentation/demo site; test/ contains fixture content used for local theme validation.
- Generated output goes to
_site/ (and test/_site/ during preview); do not hand-edit generated files.
Build, Test, and Development Commands
bundle install: install Ruby gems for local development.
bundle exec rake preview: run the local preview server using test/ as source at http://localhost:4000/test/.
bundle exec rake js: rebuild assets/js/main.min.js from assets/js/_main.js and plugin/vendor files.
bundle exec rake: run maintenance tasks (copyright, changelog, js, version).
bundle exec jekyll build --source test --destination test/_site: one-off build check for theme changes.
Coding Style & Naming Conventions
- Follow
.editorconfig: 2-space indentation, LF line endings, UTF-8.
- Keep Markdown filenames and slugs lowercase with hyphens (example:
2026-01-30-easter-egg-hunt.md).
- Use Jekyll naming conventions: dated posts in
_posts/, reusable snippets in _includes/.
- Edit source files (
assets/js/_main.js, Sass partials, layouts/includes), then regenerate compiled assets.
Testing Guidelines
- This repository relies on integration-style validation (Jekyll build/preview) rather than unit tests.
- Before opening a PR, run
bundle exec rake preview and confirm changed pages render correctly in test/.
- For JS or asset pipeline changes, run
bundle exec rake js and verify no regressions in navigation/search behavior.
Commit & Pull Request Guidelines
- Match existing history: short, imperative commit subjects (examples:
Update index, Remove emoji, Use png).
- Keep commits focused by concern (content, layout, JS build, docs).
- PRs should include:
- A concise summary of what changed.
- Context or linked issue(s) when relevant.
- Screenshots for UI/content layout changes.
- Base branches from
master and use descriptive branch names (example: fix/event-og-image).