sunset modem glow
Ember
Warm oranges with a bright blue companion accent. This is the most overtly nostalgic default.
Dial-up soul, garden-path links, modern static bones.
RSS ready :: WebC components online :: microformats inside :: view-source encouraged :: accessible by default
design system
A visual map of Retro Garden’s typography, panels, badges, palettes, and content patterns.
Typography
The body face stays calm for long reading sessions while the Silkscreen headings keep the hand-made retro voice.
Surface language
Instead of using nostalgia as a joke, the theme uses window chrome and grid-paper backgrounds to frame content with intent.
Customization
Retro Garden works best when people can quickly delete what they do not need and add their own personality without a refactor.
Each palette uses the same layout skeleton, but changes the emotional temperature of the whole site.
sunset modem glow
Warm oranges with a bright blue companion accent. This is the most overtly nostalgic default.
icy portal chrome
Cool blue panels with teal highlights. Good when you want the retro shell to feel lighter and more technical.
garden terminal
A greener palette that leans a little more handmade and zine-like while still keeping strong contrast.
The theme leans on a small set of recognizable building blocks instead of a huge design system.
88x31 buttons
Tags
Status card
The journal posts exercise these patterns too, but it helps to see them in one place.
Keep the reading surface calm. Put the loud personality around it, not on top of it.
---
layout: layouts/post.njk
title: A New Entry
description: Show the theme in action.
postSidebar: false
tags:
- post
- indieweb
---
{% button88 "RSS FEED", "/feed.xml", "ember" %}
These blocks use different language grammars so you can see how the token colors shift across common theme files.
<article class="h-entry">
<h1 class="p-name">Palette Tour</h1>
<p class="p-summary">Same layout, different emotional temperature.</p>
</article>
.palette-card--surf {
--palette-main: #2578e7;
--palette-soft: #e5f3ff;
--palette-strong: #174da2;
--palette-secondary: #17b7b3;
}
const params = new URLSearchParams(window.location.search);
const theme = params.get("theme") ?? "ember";
document.documentElement.dataset.accent = theme;
{
"title": "Retro Garden",
"defaultTheme": "ember",
"features": ["rss", "webc", "og-image", "share-links", "syntax-highlight"]
}
npm run start
npm run build
npm run audit:a11y