My Personal Website

website

Built with Zola
Deployed via Nix and Cloudflare
Hosted at maydayv7.dev

Build

You can grab all the required dependencies using nix develop github:maydayv7/dotfiles#website or nix-shell

For testing, run the following commands:

zola -r site check
zola -r site serve

Then click here

To build the site, run nix build .#website. The build also subsets webfonts, retaining text glyphs, ligatures, and Nerd icons referenced by generated HTML/CSS/JS.

To produce the same optimized assets from the site development shell:

cd site
zola build
python3 scripts/optimize_fonts.py public

To override the URL, run:

nix build --impure --expr 'with (builtins.getFlake (toString ../.)).legacyPackages.x86_64-linux; callPackage ./site { site = "URL"; }'

Continuous Integration

GitHub Actions is used to automatically build the site and deploy it to Cloudflare

Features

  • Pagination
  • Categories
  • Social Links
  • Search
  • Analytics
  • Comments using Disqus/Giscus
  • Theme Switcher
  • Syntax Highlighting Theme
  • KaTeX Support -
  • Inline : \\( \KaTeX \\) / $ \KaTeX $
  • Block-Style : \\[ \KaTeX \\] / $$ \KaTeX $$
  • Shortcodes -
  • URL : {{ url(path="LINK", text="NAME") }}
  • Image : {{ image(src="PATH", alt="Alternative Text", position="left", style="border-radius: 8px;") }}
  • Figure : Extends Image - {{ figure(caption_position="left", caption="CAPTION", caption_style="font-weight: bold;") }}
  • GitHub : Star Count - {{ github(repo="USER/NAME") }}
  • YouTube : Embed Video - {{ youtube(id="ID") }}

git Site

The git directory contains the configuration for my static git frontend, hosted at git.maydayv7.dev
It is built using stagit to generate static HTML pages for my repositories

Build

To build it, run nix run .#gitsite
GitHub Actions is used to automatically build the site and deploy it every week

For testing, run the following commands:

PREVIEW=$(mktemp -d)
nix run .#gitsite -- "$PREVIEW/site" .
python3 -m http.server 1112 --bind 127.0.0.1 --directory "$PREVIEW/site"

Then click here