All the news that's fit to ship!
A newspaper-style blog built with Eleventy (11ty) embracing a classic newspaper aesthetic while functioning as a newsletter-first publication.
- Newspaper Design β Multi-column layouts, traditional masthead, drop caps, pull quotes, ruled lines, grayscale palette
- Newsletter-First RSS β Full-content Atom feeds with email-safe HTML, plus category-specific feeds
- Multi-Author Support β Display different authors for articles with author bios
- Social Media Integration β Sharing and follow links for Mastodon, Bluesky, Threads
- Donation Support β Built-in donation section for supporting independent journalism
- Responsive β Mobile-first design that gracefully collapses columns on smaller screens
- Accessible β Semantic HTML, proper heading hierarchy, skip links, ARIA labels
- Print-Ready β Dedicated print stylesheet
- Fast β Static HTML, lazy-loaded images, optimized web fonts
# Install dependencies
npm install
# Start development server
npm start
# Build for production
npm run buildThe dev server runs at http://localhost:8080.
Edit src/_data/site.json to customize your site:
{
"title": "Your Publication Name",
"description": "Your publication description",
"url": "https://yoursite.com",
"author": "Editorial Team",
"email": "editor@yoursite.com",
"donationUrl": "https://ko-fi.com/yourusername",
"social": {
"mastodon": "https://mastodon.social/@yourusername",
"bluesky": "https://bsky.app/profile/yourusername",
"threads": "https://threads.com/@yourusername"
},
"masthead": {
"tagline": "Your tagline",
"established": "2026"
}
}- Set any social platform to
nullor remove it to hide from the sidebar - Leave empty string to show the platform but no link
- Provide full URL to enable the follow link
- Set
donationUrlto your preferred platform (Ko-fi, Patreon, etc.) - Remove or set to
nullto hide the donation section
src/
βββ _data/ # Site metadata and navigation
βββ _includes/
β βββ layouts/ # Page layouts (base, home, article, archive)
β βββ components/ # Reusable components (masthead, footer, sidebar, etc.)
β βββ partials/ # Head, scripts
βββ articles/ # Blog posts (Markdown)
βββ pages/ # Static pages and category pages
βββ css/ # Newspaper-style CSS architecture
β βββ base/ # Variables, reset, typography
β βββ components/ # Masthead, article, sidebar, footer styles
β βββ layouts/ # Homepage, article page, archive styles
βββ feed.njk # Main Atom feed
βββ index.njk # Homepage
Create a new .md file in src/articles/:
---
title: "Article Headline"
subtitle: "Optional deck/subheading"
date: 2026-02-06
author: "Writer Name"
category: "News" # News, Opinion, Features, Culture, Business
featured: true # Show in featured section on homepage
excerpt: "Article summary for RSS and meta"
image: "/path/to/image.jpg"
imageCaption: "Photo caption"
---- title (required): Article headline
- subtitle (optional): Deck or subheading
- date (required): Publication date (YYYY-MM-DD format)
- author (optional): Author name (defaults to site author)
- category (required): News, Opinion, Features, Culture, or Business
- featured (optional): Set to
truefor homepage featured placement - excerpt (optional): Article summary for RSS and meta descriptions
- image (optional): Featured image URL
- imageCaption (optional): Caption for featured image
- Different authors can be specified per article
- Author bios display in article footers
- Authors appear in article metadata and bylines
- All articles:
/feed.xml - News:
/feed/news.xml - Opinion:
/feed/opinion.xml - Features:
/feed/features.xml - Culture:
/feed/culture.xml - Business:
/feed/business.xml
Each article includes sharing links for:
- Mastodon
- Bluesky
- Threads
The sidebar includes follow links for configured platforms. Configure in site.json:
"social": {
"mastodon": "https://mastodon.social/@username",
"bluesky": "https://bsky.app/profile/username",
"threads": "https://threads.com/@username"
}Built-in donation section in sidebar to support independent journalism. Configure your donation URL in site.json:
"donationUrl": "https://ko-fi.com/yourusername"Placeholder ad space included at bottom of sidebar. Replace the ad placeholder in src/_includes/components/sidebar.njk with your ad code.
Articles are organized into five main categories:
- News: Current events, reporting
- Opinion: Commentary, editorials
- Features: Long-form, in-depth pieces
- Culture: Arts, reviews, cultural criticism
- Business: Industry, economics, tech business
- Featured article section (shows latest
featured: truearticle) - Latest articles grid (9 articles, excludes featured)
- Sidebar with navigation, newsletter signup, social follows, donation, and feeds
Footer includes:
- Copyright and licensing (MIT code, CC BY-SA content)
- Theme attribution with links
- 11ty attribution
Important Note: The demo articles are real articles written by Brennan Brown and published at https://brennan.day. These are included to demonstrate the theme's typography, layout, and multi-author capabilities. When using this theme for your own publication, you should replace these articles with your own content.
The theme includes SEO protection for demo sites. In src/_data/site.json, set noindex: true to prevent search engines from indexing your demo site:
{
"noindex": true
}Important: Remember to set "noindex": false or remove this field when launching your actual publication to allow proper SEO indexing.
AGPL License - see LICENSE file for details.
Content licensing is CC BY-SA 4.0 unless otherwise specified.
