Dover Run Club Website Architecture
Stack
- Platform: GitHub Pages (Jekyll build + hosting)
- Site generator: Jekyll with Liquid templating
- Content: Markdown pages with YAML front matter
- Styling: custom CSS in
assets/css/main.css - Dependency contract:
github-pagesgem inGemfile - Plugins:
jekyll-seo-tag,jekyll-sitemap
Key Files and Responsibilities
_config.yml: canonical settings (title/description, URL/baseurl, plugins, excludes)_config_dev.yml: local override for development (baseurl: "")_layouts/default.html: global shell, SEO tag, JSON-LD, includes, and main content slot_layouts/page.html: wrapper for non-home content pages_includes/header.html: main navigation, phase-1 visibility control_includes/footer.html: footer and social linkindex.md: phase-1 homepage and primary user journeyour-story.md: supporting narrative page linked from homepage contentevents.md,pub-runs.md,membership.md,sponsors.md: placeholder/future pages, intentionally hidden from navassets/css/main.css: design tokens, layout, and responsive stylingdesign/website-roadmap.md: roadmap and backlog source-of-truth
Build and Runtime Flow
- Author content/layout/style changes.
- Local build or serve merges
_config.ymlplus_config_dev.ymlfor local URL behavior. - Jekyll renders Markdown + Liquid into
_sitestatic files. - GitHub Pages builds/deploys static output from repository branch.
Boundaries and Constraints
- Preserve GitHub Pages compatibility.
- Keep phase-1 single-page-first behavior unless explicitly changed.
- Do not expose placeholder pages in nav without a roadmap decision.
- Use Liquid URL helpers (
relative_url,absolute_url) for path correctness. - Prefer
site.title/config-backed values over duplicated literals. - Use existing CSS variables and avoid ad hoc visual token additions.
Change Impact Checklist
- Did config changes preserve local and production URL behavior?
- Did nav/header changes keep intended page visibility?
- Did homepage still communicate What/When/Where/Vibe clearly?
- Did style changes reuse existing CSS variables/tokens?
- Did edited links/assets resolve under configured
baseurl? - Was
design/website-roadmap.mdupdated for structure/status changes? - Did local build/serve checks pass for touched areas?