Source for herohua.github.io — a personal blog built with Jekyll and the the-plain theme. Hosted on GitHub Pages from the master branch.
Most posts are not authored in this repo. They're written in herohua/tech-notes as plain markdown and published here automatically by a GitHub Action in that repo. The Action:
- Reads notes from
tech-notes/notes/that havepublish: truein their front matter. - Transforms them into Jekyll posts (front matter rewritten to
layout: post, filenames prefixed with the date, image paths rewritten to/assets/notes/...). - Commits them to this repo's
_posts/andassets/notes/. - Tracks generated posts in
.tech-notes-manifestso unpublishing intech-notesremoves them here.
Don't hand-edit files under _posts/ that came from tech-notes — they'll be overwritten on the next sync. Either edit them in tech-notes or rename them to something the manifest doesn't track.
_config.yml Jekyll config (site title, URL, permalink scheme, etc.)
_includes/ Theme partials (head, header, footer, image helper)
_layouts/ Page templates (default, page, post, compress)
_sass/ Theme stylesheets (main.scss, syntax.scss)
_posts/ Published posts — synced from tech-notes
assets/ Compiled CSS entry point, favicon, logo, notes/ images
about.md /about page
index.html Homepage (lists posts grouped by year)
feed.xml RSS feed
robots.txt Robots + sitemap reference
404.md 404 page
Gemfile Ruby deps for local preview
Requires Ruby + Bundler:
bundle install
bundle exec jekyll serveThen open http://localhost:4000.
Drop a markdown file in _posts/ named YYYY-MM-DD-slug.md with front matter:
---
layout: post
title: "Your title"
date: 2026-05-19
---Posts authored here won't be touched by the tech-notes sync (the manifest only tracks files that came from there).