Features
On this page
No JavaScript
letsblaze ships zero client-side JavaScript. All interactive behaviour uses native HTML elements (<details>, <summary>) or CSS (prefers-color-scheme, aria-current).
No external resources
No external stylesheets, no web fonts, no CDN calls. All styles are inline. Every page is self-contained.
Dark mode
Dark mode is automatic: it follows the system prefers-color-scheme preference. No toggle, no JavaScript, no cookie. It just works.
Syntax highlighting
Code blocks are highlighted at build time using Hugo’s Chroma highlighter with inline styles. The default style is monochrome. See Configuration for how to change it.
Math
LaTeX math renders to native MathML at build time using Hugo’s transform.ToMath (KaTeX, run inside Hugo). The browser renders the <math> markup itself, so no JavaScript and no external stylesheet are ever loaded, consistent with the theme’s no-external-resources rule. Math is opt-in: enable the passthrough extension in your hugo.toml as shown in Configuration. Display math uses $$...$$ or \[...\]; inline math uses \(...\).
RSS
Hugo generates RSS feeds automatically:
/index.xml: full site feed/blog/index.xml: blog feed/tags/TAG/index.xml: per-tag feed
The feed link is autodiscoverable in <head> and linked in the footer.
Sitemap
A sitemap is generated automatically at /sitemap.xml. With enableGitInfo = true, lastmod is populated from git commit dates.
Accessibility
- Skip link for keyboard navigation
aria-labelon all<nav>elementsaria-current="page"on active navigation links- Breadcrumb navigation (
<nav aria-label="Breadcrumb">) on docs pages and blog posts <dl>/<dt>/<dd>for blog post metadata (date, tags, author)aria-labelon prev/next links with post or page title context- Semantic HTML throughout:
<article>,<time>,<figure>,<nav>
SEO
<meta name="description">: falls back through page description, summary, then site description- Canonical URL on every page
- Open Graph tags (
og:title,og:description,og:type,og:url,og:site_name) article:published_timeandarticle:modified_timeon blog posts- Schema.org microdata on blog posts (
itemscope/itemtypeattributes, no<script>required) noindexon 404
Images
The imageMode param controls how Markdown images are rendered. Three modes are supported: embed (default), link-same-tab, and link-new-tab. Set it site-wide in hugo.toml or per-page in front matter. A standalone image becomes a <figure> when the site sets wrapStandAloneImageWithinParagraph = false. In embed mode, the first image on a page uses loading="eager" fetchpriority="high" for LCP; subsequent
images use loading="lazy". See Working with Images for full details.
Shortcodes
| Shortcode | Output | Example |
|---|---|---|
{{< sub >}}text{{< /sub >}} | Subscript | H2 O |
{{< sup >}}text{{< /sup >}} | Superscript | x2 |
{{< mark >}}text{{< /mark >}} | Highlighted text | important |
{{< abbr title="..." >}}text{{< /abbr >}} | Abbreviation | HTML |