Repo Architecture

Repo Architecture

Stack Overview

  • Static site built with Ruby and Jekyll.
  • Main content lives in Markdown and is rendered through Liquid layouts/includes.
  • Styling is primarily in assets/style.scss.
  • Small interactive behavior lives in plain browser JavaScript under assets/.
  • The site is configured through _config.yml with local overrides available in _config_dev.yml.

Core Content Structure

  • _posts/: dated blog posts.
  • _pages/: standalone pages such as glossary, archive, about, search.
  • _layouts/: page shells like default, post, and glossary term layout.
  • _includes/: reusable Liquid snippets.
  • _glossary/: glossary collection entries, one Markdown file per term.
  • assets/: JS and SCSS entry files.

How Pages Render

  1. Jekyll reads _config.yml and collection definitions.
  2. Markdown posts/pages are rendered through their assigned layout.
  3. Layouts can include partials from _includes/.
  4. assets/style.scss compiles to the site stylesheet.
  5. JavaScript files in assets/ are loaded by the default layout where needed site-wide.

Local Development

Typical commands:

bundle install
./serve.sh
bundle exec jekyll build
bundle exec jekyll doctor

Useful checks after changes:

  • confirm the affected page renders correctly
  • check one standard post page and one standalone page if layouts/includes changed
  • verify desktop and mobile behavior if SCSS or JS was touched