EleventyBlogStarter

eleventy-tech-blog — Eleventy Blog Template

By tepiton

An Eleventy-based developer blog starter for technical writing, with built-in Mermaid diagrams, code highlighting, light/dark themes, RSS feeds, and image optimization.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-09-30View source

What stands out

A quick read of the recorded project description.

01

Mermaid diagrams render at build time and follow the light/dark theme

02

PrismJS code highlighting, with automatic handling of code blocks that have language markers

03

Light, dark, and follow-system themes, with preferences saved in localStorage

04

RSS/Atom feeds with custom XSL styling

05

Automatically generates AVIF/WebP images and lazy-loads them

06

Automatically generates tag pages from post front matter, with draft: true excluded from production builds

Template Details

This is an Eleventy blog starter positioned as a developer technical writing site. Content is stored as Markdown files in the content/posts/ directory, with front matter setting the title, date, tags, and description; the date determines ordering, tags automatically generate tag pages, and posts with draft: true are excluded from production builds. Site metadata (title, site name, URL, language, description, author information) is centralized in content/_data/metadata.js for editing.

Technical writing capabilities include: Mermaid diagrams rendered at build time via @kevingimbel/eleventy-plugin-mermaid, following the current light/dark theme; code blocks highlighted by PrismJS, requiring language markers; theme support for light, dark, and follow-system modes, switched via a header dropdown and saved in localStorage. Styles and fonts are centralized as CSS custom properties at the top of css/index.css; fonts use Google Fonts' Source Sans 3 and JetBrains Mono, and replacing them requires also changing the link tag in _includes/layouts/base.njk.

The project also provides RSS/Atom feeds (with custom XSL styling), image optimization that automatically generates AVIF/WebP and lazy-loads them, and deployment configuration files for Netlify and Vercel; GitHub Pages requires adding a build workflow yourself. npm scripts include a development server (0.0.0.0:8088, with hot reload), production build, debug build, and benchmark testing. The repository uses the MIT license; third-party assets such as demo images, fonts, and icons need separate license verification.

EleventyBlogStarter

Is it right for your project?

Use Cases

  • Building a personal developer blog and publishing Markdown technical articles
  • Writing technical documentation with Mermaid diagrams such as flowcharts and sequence diagrams
  • Tutorial-style sites that need code highlighting and light/dark theme switching
  • Distributing article content via RSS feeds

Suitable For

  • Developers who are used to writing in Markdown
  • Technical blog authors who need diagrams and code highlighting
  • Users who prefer the Eleventy static site generator

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning the repository, run npm install, then npm run start, and visit http://localhost:8088

  2. 2

    Site title, URL, author, and other information are edited in content/_data/metadata.js

  3. 3

    Posts go in content/posts/; front matter must include title, date, and tags, with description optional

  4. 4

    Fonts use Google Fonts; replacing them requires modifying the link tag in _includes/layouts/base.njk and updating the CSS variables accordingly

  5. 5

    Netlify and Vercel configurations are included; GitHub Pages requires adding .github/workflows/pages.yml yourself

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of that version and does not mean external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution of this version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • The template loads Source Sans 3 and JetBrains Mono fonts via Google Fonts by default, so pages make requests to Google's external font service; for offline use or to avoid third-party requests, you must replace the link tag in _includes/layouts/base.njk and update the CSS variables accordingly.
  • The repository only includes deployment configurations for Netlify and Vercel; deploying to GitHub Pages requires adding a .github/workflows/pages.yml build workflow yourself, which is additional configuration work.
  • Demo images, fonts, icons, and other third-party assets need to be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

This template uses Google Fonts (Source Sans 3, JetBrains Mono).

Original README

Netlify and Vercel config files are included. For GitHub Pages, add a `.github/workflows/pages.yml` build workflow.

Original README
https://github.com/tepiton/eleventy-tech-blog/blob/main/LICENSEhttps://github.com/tepiton/eleventy-tech-blog/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 85 / 100
Technologies
Eleventy
Website type
Blog · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-09-12
Screenshot last checked
2026-10-01

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Eleventy as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 3b542d6e5e7c5d6ad845ea227a501aac36144216f1b501782ed292fa7ba01131

2026-10-01T14:08:05.169Z

Source file / repository
# eleventy-tech-blog

An Eleventy v3 starter for developer blogs. Designed for technical writing: Mermaid diagrams, syntax highlighting, light/dark theming, RSS feeds, and image optimization.

## Quick start

```
git clone <this-repo> my-project
cd my-project
npm install
npm run start
```

Then open `http://localhost:8088`.

## Customization

### Site metadata

Edit `content/_data/metadata.js`:

```js
export default {
  title: "Your Dev Blog",
  siteName: "yoursite.dev",
  url: "https://example.com/",
  language: "en",
  description: "A description of your blog.",
  author: {
    name: "Your Name",
    email: "[email protected]",
    url: "https://example.com/about/",
  },
}
```

### Writing posts

Add Markdown files to `content/posts/`. Each post needs front matter:

```yaml
---
title: The Title of This Post
date: 2025-01-15
tags:
  - git
  - javascript
description: Optional. Used in the HTML meta description and feed.
---
```

- `date` controls sort order
- `tags` generate automatic tag pages
- Add `draft: true` to exclude from production builds

### Mermaid diagrams

Diagrams are rendered via `@kevingimbel/eleventy-plugin-mermaid`. Use fenced code blocks:

````markdown
```mermaid
graph TD
  A[Start] --> B{Decision}
  B -->|Yes| C[Do this]
  B -->|No| D[Do that]
```
````

Diagrams respect the active light/dark theme.

### Syntax highlighting

PrismJS handles code blocks. Fenced code blocks with a language tag get highlighted:

````markdown
```javascript
const x = 1
```
````

### Themes

The site supports light, dark, and system-preference modes. Users switch via the header dropdown; preference is persisted in localStorage.

Colors and fonts are CSS custom properties at the top of `css/index.css`:

```css
:root {
  --font-body: Source Sans 3, 'Helvetica Neue', sans-serif;
  --font-mono: JetBrains Mono, monospace;
  --color-bg: #ffffff;
  --color-text: #1a1a1a;
}
```

**Fonts:** This template uses Google Fonts (Source Sans 3, JetBrains Mono). The `<link>` tags are in `_includes/layouts/base.njk`. To swap fonts, replace those tags and update the CSS variables.

## Project structure

```
content/
  _data/
    metadata.js          # Title, author, URL, feed config
  posts/
    my-first-post.md
    ...
  pages/                 # Static pages (About, etc.)
_includes/
  layouts/
    base.njk             # HTML shell with theme switcher
    post.njk             # Post layout
_config/
  filters.js             # Date formatting, tag filtering
css/
  index.css              # All styles, theme variables
js/
  theme-switcher.js      # Theme persistence
```

## npm scripts

| Command | Description |
|:--------|:------------|
| `npm run start` | Dev server at `0.0.0.0:8088` with live reload |
| `npm run build` | Production build to `_site/` |
| `npm run debug` | Build with Eleventy debug output |
| `npm run benchmark` | Performance benchmarking |

## Features

- **Mermaid diagrams** — rendered at build time, theme-aware
- **Syntax highlighting** — PrismJS with custom theme
- **Theme switching** — light, dark, system preference, persisted in localStorage
- **RSS/Atom feeds** — with custom XSL styling
- **Image optimization** — automatic AVIF/WebP generation with lazy loading
- **Tag pages** — automatic generation from post front matter
- **Drafts** — excluded from production builds via `draft: true`

## Deploy

Netlify and Vercel config files are included. For GitHub Pages, add a `.github/workflows/pages.yml` build workflow.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

eleventy-base-blog

eleventy-base-blog

The officially maintained Eleventy blog starter template, MIT licensed, includes posts, tag pages, archives, an about page, a 404 page, an Atom feed, and sitemap.xml, with per-page CSS bundling, syntax highlighting, and image optimization.

Eleventy · Blog

eleventy-garden

eleventy-garden

An Eleventy-based digital garden starter template for building a personal knowledge site organized through hyperlinks. It supports Roam-style double-bracket links, backlink display, and hover cards for backlinks.

Eleventy · Starter

eleventastic

eleventastic

Eleventastic is an Eleventy starter kit by Max Böck, used as the base for new 11ty projects. It integrates Sass, Webpack, SVG icon sprites, critical CSS, and HTML minification into the 11ty build without external steps.

Eleventy · Starter

neat-starter

neat-starter

An Eleventy-based static site starter template integrating Netlify CMS, Alpine.js, and Tailwind CSS. It provides a ready-to-run example site, a one-click Netlify deploy button, and an MIT-licensed codebase.

Eleventy · Starter

Eleventy-Starter-Boilerplate

Eleventy-Starter-Boilerplate

An Eleventy-based blog starter template with Tailwind CSS, Webpack, PostCSS, ESLint, and Prettier, optional Netlify CMS, and built-in SEO metadata, sitemap, and 404 page.

Eleventy · Blog

eleventy-plus-vite

eleventy-plus-vite

A static site starter combining Eleventy and Vite, with a live-reloading development server, Vite-based production post-processing, a PostCSS pipeline with Autoprefixer and cssnano, critical CSS inlining and asynchronous CSS loading, a web font loading strategy example, fluid typography, basic dark mode, an…

Eleventy · Starter