$ show nixentric/Lowkey-Hugo-Theme
Lowkey is a Hugo static-site theme for personal blogs, implemented entirely as Go templates, partials, shortcodes, Tailwind CSS styling, and i18n dictionaries. It renders a single-column blog with a homepage, paginated post lists, article pages with optional table of contents and comments (Disqus/giscus), category/tag taxonomies, a 404 page, robots.txt, and a client-side dark-mode toggle. There is no executable application, API, or service; the theme is consumed by Hugo's static site generator and produces static HTML/CSS output. The architecture follows conventional Hugo theme design: `_default/baseof.html` provides the shell, `_default/list.html` and `_default/single.html` define the main page types, and `partials/` separate concerns like header, footer, metadata, and asset loading. Tailwind CSS is compiled through Hugo Pipes and PostCSS, with minification and fingerprinting enabled in production. Content flows from Markdown files and site configuration (params, menus, translations) into these templates. External services include MathJax for math rendering, Google Analytics, Disqus, and giscus for comments. The codebase is clean and idiomatic for its domain. Standout reusable pieces include the SVG icon partial, the alert and image shortcodes, active-navigation handling, and the Hugo Pipes/Tailwind asset pipeline. Weaknesses are the absence of tests and CI, no lockfile, reliance on the outdated MathJax 2.7.1 CDN, and a hardcoded `dark` class in the base template that can cause a flash of dark mode before JavaScript runs. It is a solid, maintainable theme that does what it claims, but not an exceptional engineering artifact.
The LLM identified 5 files worth highlighting for reuse:
Resolves an SVG icon from the assets directory by name, renders it inline with safeHTML, and fails fast with `errorf` if the icon is missing. Self-contained and easy to extract into any Hugo project.
A content shortcode that resolves page-embedded images via `Page.Resources.GetMatch`, preserves intrinsic dimensions, and supports optional alt text, captions, and caption alignment. It abstracts a common content-authoring need with minimal coupling.
Renders severity-based alert boxes (info/warning/error/success) with matching inline SVG icons and an optional title. Demonstrates clean conditional icon selection and parameter handling without external dependencies.
Generates main navigation links and highlights the current page by normalizing menu URLs and page permalinks with a trailing slash via `absLangURL`. Handles an edge case many Hugo sites get wrong.
Builds Tailwind CSS from source through PostCSS with Hugo Pipes, concatenates resources, and in production minifies, fingerprints, and writes integrity hashes via `resources.PostProcess`. A reusable pattern for asset optimization in Hugo themes.