This repository contains the MkDocs source for deanpierce.net, the personal website of security researcher Dean Pierce. It collects talks, projects, and research notes around infosec, crypto, and futurism.
The original GitBooks layout has been migrated to MkDocs so the site can be versioned, themed with Material, and deployed automatically via GitHub Pages.
- MkDocs + Material theme with
navigation.expandand dark mode (slate palette) enabled by default. - GitHub Pages deploy from the
gh-pagesbranch via.github/workflows/deploy.ymlandpeaceiris/actions-gh-pages. - Python tooling managed with
requirements.txt,activate.sh,serve.sh, andbuild.sh. - Custom assets:
docs/css/custom-styles.cssfor navigation wrapping anddocs/img/px.jpgfor the site logo/avatar.
source activate.sh– create/activate the virtualenv and install dependencies../serve.sh– runmkdocs servewith live reload at http://127.0.0.1:8000../build.sh– generate the static site into thesite/directory.
Pushing to main automatically runs the GitHub Actions workflow in .github/workflows/deploy.yml.
The job installs dependencies, builds the site with mkdocs build --strict, and publishes the artifacts to the gh-pages branch using the built-in GITHUB_TOKEN. The CNAME record is bundled in the build so GitHub Pages keeps the deanpierce.net domain.
docs/– all site content (Markdown).docs/index.mdis the landing page that used to live in the GitBooksREADME.md.mkdocs.yml– navigation tree that mirrors the formerSUMMARY.mdtable of contents.requirements.txt– Python dependencies (mkdocs,mkdocs-material,pymdown-extensions).activate.sh,serve.sh,build.sh– convenience scripts modelled after thetitor.techproject.
- Add or modify Markdown inside
docs/; MkDocs picks up folders as sections. - Update
mkdocs.ymlwhenever pages are added or renamed so the navigation stays in sync. - Use
mkdocs servewhile editing to verify links and embedded media before publishing.
