This repository contains the sources of my blog: alchemmist.xyz. On my blog I have this features:
Aesthetic minimalistic typography.
Serif body text, monospace UI accents and a lot of air — nothing distracts from reading.
Search (with pagefind)).
Fully static full-text search over both languages with page previews — no backend needed. Available on every page via Ctrl+K.
Comments (with remark42)).
Self-hosted, privacy-friendly comments with markdown support on articles, essays and poetry.
Notifications about comments in Telegram.
Every new comment lands in a private Telegram chat via the remark42 Telegram integration — so no comment stays unanswered for long.
Easter eggs (try to find it).
No screenshots here — that would be spoilers. Explore the site with curiosity ;)
Auto-generated OpenGraph cards.
Every post gets a 1200×630 social preview card generated at build time by Hugo itself — no headless browser, no external service. The card takes the title and section, wraps long titles by words (Cyrillic included), and if the post contains an illustration, it is placed on the right half of the card.
Updates log.
A public changelog of the blog itself: new posts, translations and features, kept as a simple dated checklist.
Support of NerdFonts icons.
Glyphs render right inside text and code blocks — handy for articles about ricing and terminal tooling.
Easy to use icons with iconify and partials.
Any icon from the iconify catalog is one partial call away: SVG is fetched at build time and inlined into the page, so there is no client-side icon runtime.
{{ partial "iconify.html" (dict "icon" "prime:twitter" "size" "1.0em") }}Code syntax hilighting with GitHub light theme.
Analytics platform of trafic (with umami))
You are welcome to forking it for you personal blogs or contributing here. In this case it will be great if you put link to my blog :). Or you can contribute here, report and fix bugs, sugest and implement new improvments. In order to do that, you need Hugo and Pagefind, just for running locally:
make devAfter that on localhost:1313 will up my blog.
If you want to up all infrostruture, please, use docker compose:
docker compose up -dBut befor it, you need to feel the gaps in compose.yaml with secrets, that you will use.