Personal blog built with Jekyll and deployed with GitHub Pages.
If you use Nix, this repo includes a pinned dev shell (a plain mkShell with
Ruby, Bundler, and the system dependencies):
nix develop --no-pure-eval
make setup # bundle install (run once)
make serve # jekyll serve --livereloadOptional with direnv:
direnv allow
make setup
make serveNote: the shell uses --no-pure-eval so direnv/nix develop can read the
working tree.
- Install Ruby
3.4.xand Bundler.rbenv install 3.4.8 rbenv local 3.4.8 gem install bundler - Install dependencies:
bundle install
- Run the site:
bundle exec jekyll serve --livereload - Open
http://127.0.0.1:4000.
- Push this repository to GitHub.
- In Settings -> Pages:
- Source:
GitHub Actions
- Source:
- Ensure the default branch is
main(the workflow deploys on pushes tomain). - Confirm
CNAMEcontains:devin.fitzsky.com
Create this DNS record in Cloudflare:
- Type:
CNAME - Name:
devin - Target:
<your-github-username>.github.io - Proxy status:
DNS only(recommended for initial setup) - TTL:
Auto
Then in GitHub repository Settings -> Pages:
- Set Custom domain to
devin.fitzsky.com - Enable Enforce HTTPS after DNS resolves
- Posts live in
_posts/and followYYYY-MM-DD-title.md. - Main styles are in
assets/css/main.css. - Layouts are in
_layouts/.
urlis set tohttps://devin.fitzsky.comin_config.yml.baseurlis intentionally empty for root-domain hosting.- Ruby
2.6will fail dependency resolution for currentgithub-pagesgems. - Ruby
4.xis currently incompatible withgithub-pages(commonmarkerrequires Ruby< 4.0), so this repo pins Ruby3.4.8. - Current pinned versions: Ruby
3.4.8(latest compatible withgithub-pages),github-pagesgem232,webrick1.9.2.