[{"content":"Welcome! Lucent is a clean, fast blog theme for Hugo. This post is a quick tour of what it can do — every feature you see here works out of the box.\nReading experience# Dark / light mode — click the moon in the header. Your choice is remembered, and first-time visitors get their system preference. Table of contents — the collapsible box above, generated automatically. Reading progress — the thin accent bar at the very top of this page. Reading time \u0026amp; word count — up in the post meta line. Back to top — the floating button that appears once you scroll. Writing tools# Notices for callouts:\nTip\nUse the notice shortcode with note, tip, warning or danger for callouts like this one. Collapsible sections:\nClick to expand me Hidden content, with full markdown support inside. And pull quotes with attribution:\nPerfection is achieved, not when there is nothing more to add, but when there is nothing left to take away. — Antoine de Saint-Exupéry, Airman\u0026#39;s Odyssey Code, done right# Syntax highlighting adapts to the color scheme, and every block gets a copy button on hover:\nfunc main() { fmt.Println(\u0026#34;Hello, Lucent!\u0026#34;) // try the copy button → } Finding things# There\u0026rsquo;s built-in search with zero dependencies — Hugo generates a JSON index at build time and ~150 lines of vanilla JS do the rest. The archive groups every post by year, and the tag cloud shows what this blog is really about.\nAnd the invisible stuff# Open Graph and Twitter cards, JSON-LD structured data, an RSS feed, lazy-loaded images with a lightbox (click any image to zoom), i18n with English and Chinese translations included, and optional giscus comments and privacy-friendly analytics.\nEnjoy! \u0026#x1f389;\n","date":"2026-07-01","summary":"Welcome! Lucent is a clean, fast blog theme for Hugo. This post is a quick tour of what it can do — every feature you see here works out of the box.\n","tags":["lucent","hugo","demo"],"title":"Hello, Lucent — a Tour of the Theme","url":"/hugo-theme-lucent/posts/hello-lucent/"},{"content":"This post shows how common markdown elements render in Lucent. Useful as a visual regression check when customizing the theme.\nText# Plain paragraph with bold, italic, bold italic, strikethrough, inline code, a link to Hugo (external links open in a new tab automatically), and a footnote1.\nBlockquote# The best way to predict the future is to invent it.\nNested markdown works inside quotes too.\nLists# First ordered item Second ordered item Nested unordered item Another one Third Task list: done Task list: not yet Table# Feature Status Notes Dark mode ✅ System-aware, persistent Search ✅ No dependencies Comments ✅ giscus Kitchen sink 🚫 Kept out on purpose Code# Inline code and fenced blocks:\ndef fib(n: int) -\u0026gt; int: \u0026#34;\u0026#34;\u0026#34;Return the n-th Fibonacci number.\u0026#34;\u0026#34;\u0026#34; a, b = 0, 1 for _ in range(n): a, b = b, a + b return a # iterative beats recursive here With highlighted lines:\nconst items = await fetchItems(); const total = items.reduce((sum, i) =\u0026gt; sum + i.price, 0); // ← highlighted console.log(`Total: ${total}`); Diff blocks:\n- const theme = \u0026#34;plain\u0026#34;; + const theme = \u0026#34;lucent\u0026#34;; Image# Click to zoom — images are lazy-loaded and get a lightbox:\nPhoto captions come from the image title Horizontal rule# Keyboard \u0026amp; mark# Press Ctrl + K to search. You can also highlight text with \u0026lt;mark\u0026gt;: like this.\nFootnotes are rendered at the bottom of the post.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","date":"2026-06-18","summary":"This post shows how common markdown elements render in Lucent. Useful as a visual regression check when customizing the theme.\nText# Plain paragraph with bold, italic, bold italic, strikethrough, …","tags":["markdown","demo"],"title":"Markdown Style Guide","url":"/hugo-theme-lucent/posts/markdown-guide/"},{"content":"Set math: true in a post\u0026rsquo;s front matter (or site-wide in params) and Lucent loads KaTeX for you.\nInline math# The identity \\(e^{i\\pi} + 1 = 0\\) is often called the most beautiful equation in mathematics. You can also use dollar signs: $a^2 + b^2 = c^2$.\nDisplay math# The Gaussian integral:\n$$\\int_{-\\infty}^{\\infty} e^{-x^2}\\,dx = \\sqrt{\\pi}$$A matrix:\n$$ \\begin{pmatrix} \\cos\\theta \u0026 -\\sin\\theta \\\\ \\sin\\theta \u0026 \\cos\\theta \\end{pmatrix} \\begin{pmatrix} x \\\\ y \\end{pmatrix} = \\begin{pmatrix} x\\cos\\theta - y\\sin\\theta \\\\ x\\sin\\theta + y\\cos\\theta \\end{pmatrix} $$And a sum that overflows gracefully on small screens:\n$$\\zeta(s) = \\sum_{n=1}^{\\infty} \\frac{1}{n^s} = \\prod_{p \\text{ prime}} \\frac{1}{1 - p^{-s}}, \\quad \\operatorname{Re}(s) \u003e 1$$","date":"2026-05-20","summary":"Set math: true in a post\u0026rsquo;s front matter (or site-wide in params) and Lucent loads KaTeX for you.\nInline math# The identity \\(e^{i\\pi} + 1 = 0\\) is often called the most beautiful equation in …","tags":["math","katex","demo"],"title":"Math Typesetting with KaTeX","url":"/hugo-theme-lucent/posts/math-typesetting/"},{"content":"Lucent 的字体栈内置了 PingFang SC、Hiragino Sans GB 与 Microsoft YaHei， 中文内容无需任何额外配置即可获得舒适的阅读体验。行高 1.75 对中英文混排 都比较友好。\n引用与强调# 落霞与孤鹜齐飞，秋水共长天一色。\n中英文混排时，加粗、斜体 和 行内代码 的表现如下：使用 hugo server -D 可以预览草稿文章。\n列表# 支持有序列表 也支持无序列表 嵌套列表项 标记符号使用主题色 代码# # 新建一篇中文文章 hugo new posts/wo-de-wen-zhang.md 主题内置了简体中文翻译（i18n/zh-cn.toml），把站点的 defaultContentLanguage 设为 zh-cn 即可让界面文案全部变成中文。\n","date":"2026-05-02","summary":"Lucent 的字体栈内置了 PingFang SC、Hiragino Sans GB 与 Microsoft YaHei， 中文内容无需任何额外配置即可获得舒适的阅读体验。行高 1.75 对中英文混排 都比较友好。\n引用与强调# 落霞与孤鹜齐飞，秋水共长天一色。\n中英文混排时，加粗、斜体 和 行内代码 的表现如下：使用 hugo server -D 可以预览草稿文章。\n列表# 支持有序列表 也支 …","tags":["中文","demo"],"title":"中文排版测试：字体、标点与段落","url":"/hugo-theme-lucent/posts/zhongwen-paiban/"},{"content":"Most blogs are slow for reasons that have nothing to do with their content. A page of text should not need three seconds and two megabytes to appear. Here\u0026rsquo;s the mental model I use to keep a static site actually fast.\nShip less# The fastest byte is the one you never send. Before optimizing anything, take inventory:\nFonts. A system font stack costs zero bytes and looks native everywhere. If you must use a webfont, subset it and preload one weight. JavaScript. Ask what each script does for the reader. Analytics they never see? A framework to render text that Hugo already rendered at build time? Cut it. CSS. One small stylesheet, minified and fingerprinted, beats a utility framework you use 4% of. Let the build do the work# Hugo renders everything ahead of time, which means the server does almost nothing per request:\nhugo --minify # Pages: 40 | Total in 180 ms Everything that can happen at build time should: syntax highlighting, image processing, the search index, RSS. The browser gets finished HTML.\nMeasure the right thing# Lighthouse scores are a proxy. What matters:\nTime to first byte — mostly your host\u0026rsquo;s problem; a CDN fixes it. Largest contentful paint — usually your hero image. Lazy-load everything below the fold and size images to their rendered dimensions. Cumulative layout shift — reserve space for images with width and height attributes, and never inject banners above content. The traps# A few things that quietly ruin static site performance:\nComment embeds that load 500 KB before anyone scrolls to them. Lucent lazy loads giscus for exactly this reason. Icon fonts. Inline SVG is smaller, sharper, and doesn\u0026rsquo;t flash. \u0026ldquo;Just one\u0026rdquo; third-party script. There is never just one. Fast is a budget, not a milestone. Spend it on words.\n","date":"2026-04-11","summary":"Most blogs are slow for reasons that have nothing to do with their content. A page of text should not need three seconds and two megabytes to appear. Here\u0026rsquo;s the mental model I use to keep a …","tags":["hugo","performance"],"title":"Building a Blog That Loads in Under a Second","url":"/hugo-theme-lucent/posts/building-a-fast-blog/"},{"content":"The half-written drafts folder is where blogs go to die. Every post that never shipped was, at some point, one honest paragraph away from being done.\nLower the bar. A blog post doesn\u0026rsquo;t owe anyone a literature review, a hero image, or a conclusion that ties it all together. It can be one idea, stated plainly, published while it\u0026rsquo;s still warm.\nThe archive of a good blog isn\u0026rsquo;t a row of monuments — it\u0026rsquo;s a working notebook someone happened to leave open.\n","date":"2026-03-15","summary":"The half-written drafts folder is where blogs go to die. Every post that never shipped was, at some point, one honest paragraph away from being done.\nLower the bar. A blog post doesn\u0026rsquo;t owe …","tags":["writing"],"title":"On Writing Less","url":"/hugo-theme-lucent/posts/on-writing-less/"},{"content":"Every static site generator comparison ends the same way: they\u0026rsquo;re all fine, and the author picks the one they already knew. Let me save you the reading.\nThe actual questions# How fast do you want builds? If your site will grow past a few hundred pages, build time becomes a feedback-loop tax. Hugo and Zola build thousands of pages per second; JavaScript-based generators are getting closer but still trail by an order of magnitude.\nDo you want a component model? If your site is mostly pages of prose, templates are enough and Hugo shines. If it\u0026rsquo;s mostly interactive islands, something like Astro earns its complexity.\nWho maintains it in year three? A blog is a decade-long project wearing a weekend project\u0026rsquo;s clothes. Single-binary tools with no dependency tree (Hugo, Zola) age remarkably well. node_modules does not.\nWhy this theme is for Hugo# Concern Hugo\u0026rsquo;s answer Install One binary, no runtime Build speed Milliseconds per page Content model Sections, taxonomies, multilingual Longevity 12+ years, still actively developed Pick the tool that disappears. The blog is the point.\n","date":"2026-02-08","summary":"Every static site generator comparison ends the same way: they\u0026rsquo;re all fine, and the author picks the one they already knew. Let me save you the reading.\nThe actual questions# How fast do you …","tags":["hugo","tooling"],"title":"Choosing a Static Site Generator in 2026","url":"/hugo-theme-lucent/posts/choosing-a-static-site-generator/"}]