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.

Reading 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 & word count — up in the post meta line.
  • Back to top — the floating button that appears once you scroll.

Writing tools#

Notices for callouts:

Tip

Use the notice shortcode with note, tip, warning or danger for callouts like this one.

Collapsible sections:

Click to expand me
Hidden content, with full markdown support inside.

And pull quotes with attribution:

Perfection 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's Odyssey

Code, done right#

Syntax highlighting adapts to the color scheme, and every block gets a copy button on hover:

func main() {
	fmt.Println("Hello, Lucent!") // try the copy button →
}

Finding things#

There’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.

And 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.

Enjoy! 🎉