Built with Jekyll and the remote Minimal Mistakes theme.
_config.yml: theme and plugins_pages/: content pagesindex.md: homepage_data/: navigation and configassets/: images, scripts, and styles
- Install Ruby (>= 3.3) and Bundler.
- Configure Bundler to install gems locally:
bundle config set --local path "vendor/bundle" bundle config set --local cache_path "vendor/cache"
- Install gems:
bundle install
- Start the local server:
bundle exec jekyll serve --livereload - Open http://localhost:4000.
This repo uses a GitHub Actions workflow (.github/workflows/build.yml) to build and deploy.
Branches:
main: Source content + configuration. Pushing here triggers a build and deploy.migrated(or other feature branches): Build is run for verification, but deploy step is skipped (guarded by branch check).gh-pages: Built static site (artifact) published automatically; you do not edit this branch manually.
Action steps:
- Checkout source.
- Setup Ruby 3.3 with bundler cache.
- Run
bundle exec jekyll buildproducing_site/. - Publish
_site/togh-pages(only when ref == main) usingpeaceiris/actions-gh-pages.
Posts: add Markdown files under _posts/ named YYYY-MM-DD-title.md.
Pages: place Markdown under _pages/ (ensure front matter permalink: if you want a custom URL).
Images: put under assets/ (e.g. assets/images/) and reference with absolute path /assets/....
Implemented with jekyll-paginate-v2 on blog/index.md.
Adjust page size: change per_page in that file (test with a low number, then raise for production).
Update gems:
bundle updateCommit updated Gemfile.lock (except when deploying only via GitHub Pages with locked versions; here we do commit it for reproducibility).
Rebuild clean:
bundle exec jekyll clean && bundle exec jekyll buildValidate build locally before pushing:
bundle exec jekyll build --trace- Pagination shows 1 page in logs but extra pages exist: log counts only generated pages beyond the source page; check
/blog/page/2/. - Plugin not loading: ensure it’s in both
Gemfile(insidegroup :jekyll_plugins) and_config.ymlplugins:list. - Build fails on GitHub: inspect Actions logs; often a missing gem or YAML syntax (avoid tabs).
- Enable tag/category AutoPages via additional paginate-v2 config if needed.
- Add caching include (
jekyll-include-cache) usage by wrapping heavy includes with{% include_cached %}for speed. - Implement CSS compile migration away from deprecated Sass
@importto@usewhen the theme updates.
Content is mine; theme (Minimal Mistakes) is MIT.