This is the Hugo source for dpritchett.net.
Generated output is published from the public/ submodule, which points at git@github.com:dpritchett/dpritchett.github.io.git (see live repo here: https://github.com/dpritchett/dpritchett.github.io).
Install Hugo:
brew install hugo
hugo versionThis repo expects Hugo 0.163.3.
Initialize the generated-site submodule:
git submodule update --init --recursiveCreate a draft:
hugo new content posts/my-post-title.mdEdit the front matter at the top of the file:
+++
title = "My Post Title"
date = 2026-07-02T15:45:00-05:00
draft = true
tags = ["example"]
categories = []
+++Write Markdown below the front matter.
Preview drafts:
hugo server -D -t hugo-kieraPublish the post by changing:
draft = falseThen run:
make smoke
make buildTopbar pages are regular content pages with menu = "main" in their front matter.
Current pages:
content/about/index.mdcontent/book/index.mdcontent/resume/index.md
Example front matter:
+++
draft = false
title = "About Me"
linkTitle = "About"
menu = "main"
meta = "false"
+++title controls the page heading. linkTitle controls the nav label when present.
The current theme is vendored at:
themes/hugo-kiera/
Important files:
themes/hugo-kiera/layouts/partials/header.htmlthemes/hugo-kiera/layouts/partials/footer.htmlthemes/hugo-kiera/layouts/partials/meta.htmlthemes/hugo-kiera/layouts/index.htmlthemes/hugo-kiera/layouts/_default/single.htmlthemes/hugo-kiera/static/css/styles.css
The active theme is selected in config.toml:
theme = "hugo-kiera"If replacing the theme, update theme, then smoke test:
make smokeStatic files go under:
static/
They are copied directly to the site root.
Examples:
static/images/...becomes/images/...static/audio/smb2jazz.mp3becomes/audio/smb2jazz.mp3static/learning/index.htmlbecomes/learning/
Build into public/:
make buildServe the generated site exactly as it would be deployed:
python3 -m http.server 4173 --directory publicOpen:
http://localhost:4173/
Deploy only after reviewing the generated site:
make deploymake deploy builds the site, commits and pushes public/, then commits and pushes the updated public submodule pointer in this repo.
Check GitHub Pages:
gh run list --repo dpritchett/dpritchett.github.io --limit 5