Margin is a free dark editorial Astro theme built for online magazines, blogs, and independent publications. If you publish long-form writing — essays, journalism, devlogs, culture criticism — this theme gets out of the way and lets the text breathe.
The design philosophy draws from publications like 404 Media and Stratechery: the page exists to serve the reading experience. No card grids, no hero gradients, no animated stat counters. Just high-contrast typography on a warm dark background, a 680px reading column, and whitespace that guides the eye.
Pages
- 15 production-ready pages: Home (featured story + article grid), About, Contact, Subscribe, Privacy, Terms, 404
- Full blog system: Individual post pages, category archives, tag pages, author profile pages
- Sample content: 6 demo posts across Design, Technology, and Culture categories — use them as templates or delete them
Content Management
No CMS, no database, no admin panel. Margin uses Astro’s content collections — you write posts as Markdown files with frontmatter for title, description, category, author, and date. Drop a .md file in src/content/posts/, run the build, and it’s live.
---
title: "Your Post Title"
description: "A one-line summary for SEO and social cards."
pubDate: 2026-01-15
category: "Design"
author: "Author Name"
draft: false
---
Categories, tags, author pages, and RSS feeds are generated automatically from this frontmatter. Zero configuration.
Design & Typography
- Lychee red accent (#d4324a) — a warm editorial red used on links, category labels, and hover states. Everything else is restrained: warm dark background, off-white body text, muted secondary text
- Fraunces for display headings — a variable serif with optical sizing that shifts weight dynamically based on heading level
- Inter for body text at 17px with 1.85 line height — tuned for sustained reading sessions
- JetBrains Mono for code blocks, metadata, and reading time labels
- Article layout: oversized headline, meta row (author, date, category, reading time), 680px centered column, social sharing footer with author attribution
- No sidebars, no widgets, no popups
SEO & Performance
- Zero JavaScript shipped by default — Astro renders pure static HTML. Pages load in milliseconds
- Auto-generated sitemap via @astrojs/sitemap — every post, category, tag, and author page indexed
- Canonical URLs on every page to prevent duplicate content
- Open Graph + Twitter Card metadata — each post gets a social preview card with title, description, and cover image
- Article JSON-LD structured data — headline, description, date published, author, publisher
- Organization + WebSite JSON-LD for site-wide search engine understanding
- robots.txt with sitemap reference
- llms.txt for AI discoverability and GEO optimization
- RSS feed at
/rss.xmlfor newsletter integrations and feed readers
Getting Started
git clone https://github.com/respectevery01/astro-uzen-theme.git
cd astro-uzen-theme
npm install
npm run dev
Edit src/config.json to set your site name, description, navigation, and social links. Write posts in src/content/posts/. Deploy to Cloudflare Pages, Netlify, Vercel, or any static host.
MIT licensed — free for personal and commercial use. No attribution required.