Lighthouse is the Jekyll source repository for peisongxiao.com. It contains the manually curated site pages, the photo collection, shared layouts, and the automation-owned content populated by the deployment pipeline.

Table of Contents

Docs

  • Start here: docs/quickstart.md The shortest path to install dependencies, build the site, and preview it locally.
  • Design: docs/design.md Site architecture, content model, and the boundary between hand-authored and automated content.
  • Configuration: docs/configuration.md Jekyll configuration, collections, shared data files, and build exclusions.

Repository Layout

  • _layouts/: shared Jekyll layouts
  • _includes/: shared partials
  • _data/: navigation and site metadata
  • _photos/: hand-authored photo entries
  • resume.tex: site-owned LaTeX resume source
  • _automated_posts/: machine-owned post content
  • generated-directories/: machine-owned navigator pages for source directories
  • _data/generated/: machine-owned site data such as RSS policy
  • assets/: site CSS, JS, imported media, and generated assets

Local Development

Install gems and serve locally:

bundle install
bundle exec jekyll serve --host 127.0.0.1 --port 4000

Build once without serving:

bundle exec jekyll build

The generated site is written into _site/.

Automation Boundary

Lighthouse is intentionally split between:

  • manually curated content and layout files stored directly in this repository
  • deployment-managed content generated into _automated_posts/, _data/generated/, generated-directories/, and assets/generated/

That generated asset subtree includes raw linked files under assets/generated/raw/ and resume artifacts under assets/generated/resume/.

Public discovery surfaces include:

  • /search/
  • /feed.xml
  • /blogs/feed.xml
  • /navigator/, which combines generated repository posts and built-in photo posts. Navigator listings default to most-recent ordering and can sort by recency, title, or generated post rating.

The deployment pipeline lives in the separate ../lighthouse-cli/ project and owns the automation-managed directories.