A Tour of Rosebud, This Site's Theme

A look at the hand-rolled Hugo theme behind this site โ€” palette, type, and the cozy little components that make it up.

This whole site runs on a small hand-rolled Hugo theme I’ve been calling Rosebud โ€” warm pastels, rounded corners, a little bit of pixel-plant whimsy. I have a theory that warm, cozy working environments function as an accessibility improvement, and truly enhance my work and creativity. As with most projects here so far, this was AI-assisted, so I will let Claude explain:

The palette

Rosebud sits in Catppuccin Latte-adjacent territory โ€” warm, paper-toned surfaces with soft accent colors layered on top. Everything in the site (links, tags, pills, chips, buttons) pulls from this same set of named tokens, so nothing ever clashes by accident.

bgwarm cream#fdf6ee
surface0soft sand#f5ead9
surface1warm beige#ecdcc6
surface2toasted tan#e0ccb3
overlaylatte brown#d4bda0
textespresso brown#4a3728
subtext1cocoa brown#7a5f4d
subtext0warm taupe#9e8070
rosedusty rose#e8a0b0
flamingosoft coral#edb49a
peachwarm apricot#f0c98a
yellowbuttercream#e8de9a
greensage green#a8d8b0
tealsoft teal#96cfc8
skypowder blue#a8c8e8
lavendersoft lavender#c0b0e0
mauvedusty mauve#d0a8d0
pinkblush pink#e8b0c8
Every swatch here is a CSS custom property โ€” --bg, --rose, --mauve, and so on โ€” referenced by name throughout the stylesheet instead of hardcoded hex values.

The first five are surfaces and overlay tones โ€” the “paper” the rest of the site sits on. The next three are text colors, each a step lighter for de-emphasis (text โ†’ subtext1 โ†’ subtext0). Everything after that is an accent: ten soft, desaturated colors that get reused as link colors, tag backgrounds, pill fills, and chip highlights, so the same handful of hues echo across every page.

--accent, --link, and friends are just semantic aliases pointing back at specific entries in that list โ€” --accent is --mauve, --link is --teal. That indirection means I can re-theme the whole site by changing a handful of token values rather than hunting through selectors.

Type

Two typefaces, used consistently:

  • Pacifico (--font-display) โ€” the cursive script for headings, figure captions, and anything that wants a handwritten, cozy feel
  • Nunito (--font-body) โ€” a rounded sans-serif for body copy, tables, and UI chrome

Both are pulled from Google Fonts in a single @import at the top of the stylesheet, and nothing else gets near the page.

The little components

Beyond color and type, Rosebud is really a kit of small reusable pieces โ€” most of which you’ve probably already scrolled past on this very site. Rather than just naming them, here’s each one live.

cute-table-wrap

The rounded, dashed-border frame around the network log table in Don’t Let FaceTime Become Literal, complete with little chip “tabs” up top:

๐ŸŒฟ Sample Data โœจ Demo
TimeDeviceStatus
11:40 AM๐Ÿ“ฑ Phoneโ†— Outbound
11:39 AM๐Ÿ’ป Laptopโ†— Outbound
A miniature stand-in for the real network log โ€” same wrapper, chips, pills, and table styling, just with placeholder rows.

cute-pill and cute-chip

Small pastel badges for inline status markers โ€” an outbound flow, an “on” indicator, an “AI-assisted” tag:

โ†— Outbound ๐ŸŒฟ On โœจ AI-assisted Default

cute-diagram-wrap

The same rounded card treatment, but for hand-drawn SVG diagrams instead of tables โ€” like the peer-to-peer traffic diagram in the FaceTime post. Here’s a small one made just for this demo:

nodepeer Apeer Bpeer C
A stripped-down example โ€” the real diagrams in posts are larger and more detailed, but the wrapper, dashed boxes, and hand-lettered labels are the same idea.

The colorful button row on the homepage, one variant per accent color:

Pixel plant sprites

Tiny box-shadow pixel art, no images involved, arranged in a .plant-bar to decorate section breaks:

left to right: .plant-fern, .plant-flower, .plant-mushroom, .plant-succulent


The pattern across all of them is the same: a surface0 background, a surface1 border, generous border-radius, and an accent color doing exactly one job. Nothing fights for attention, which is the whole point โ€” Rosebud is meant to feel like a quiet room you’d actually want to sit in and read.

Stay cozy. ๐ŸŒท