Skip to content

brennanbrown/newsprint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—žοΈ Newsprint

All the news that's fit to ship!

Netlify Status 11ty License CSS

Newsprint Theme Screenshot

A newspaper-style blog built with Eleventy (11ty) embracing a classic newspaper aesthetic while functioning as a newsletter-first publication.

Features

  • 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

Quick Start

# Install dependencies
npm install

# Start development server
npm start

# Build for production
npm run build

The dev server runs at http://localhost:8080.

Configuration

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"
  }
}

Social Media Configuration

  • Set any social platform to null or 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

Donation Configuration

  • Set donationUrl to your preferred platform (Ko-fi, Patreon, etc.)
  • Remove or set to null to hide the donation section

Project Structure

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

Writing Articles

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"
---

Front Matter Fields

  • 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 true for homepage featured placement
  • excerpt (optional): Article summary for RSS and meta descriptions
  • image (optional): Featured image URL
  • imageCaption (optional): Caption for featured image

Multi-Author Support

  • Different authors can be specified per article
  • Author bios display in article footers
  • Authors appear in article metadata and bylines

RSS Feeds

  • All articles: /feed.xml
  • News: /feed/news.xml
  • Opinion: /feed/opinion.xml
  • Features: /feed/features.xml
  • Culture: /feed/culture.xml
  • Business: /feed/business.xml

Social Features

Article Sharing

Each article includes sharing links for:

  • Mastodon
  • Bluesky
  • Threads
  • Email

Social Media Follow

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"
}

Monetization

Donation Support

Built-in donation section in sidebar to support independent journalism. Configure your donation URL in site.json:

"donationUrl": "https://ko-fi.com/yourusername"

Ad Space

Placeholder ad space included at bottom of sidebar. Replace the ad placeholder in src/_includes/components/sidebar.njk with your ad code.

Customization

Categories

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

Homepage Layout

  • Featured article section (shows latest featured: true article)
  • Latest articles grid (9 articles, excludes featured)
  • Sidebar with navigation, newsletter signup, social follows, donation, and feeds

Footer Attribution

Footer includes:

  • Copyright and licensing (MIT code, CC BY-SA content)
  • Theme attribution with links
  • 11ty attribution

Demo Content

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.

SEO Configuration

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.

License

AGPL License - see LICENSE file for details.

Content licensing is CC BY-SA 4.0 unless otherwise specified.

About

πŸ—žοΈ 11ty blog theme with a newspaper aesthetic, functioning as a newsletter-first publication. Prioritizing readability, traditional typography, and excellent RSS feed implementation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors