EleventyBlogTool SiteStarter

eleventy-base-blog — Eleventy Blog Template

By 11ty

The officially maintained Eleventy blog starter template, built with the Eleventy static site generator, includes basic structures such as posts, tag pages, archives, an Atom feed, and a sitemap.

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-10-02View source

What stands out

A quick read of the recorded project description.

01

The officially maintained Eleventy blog starter repository, MIT licensed, free to use, modify, use commercially, and distribute

02

Includes basic pages such as a post list, individual posts, archives, about, tag pages, a 404 page, an Atom feed, and sitemap.xml

03

Content is pre-rendered static output and does not depend on JavaScript at runtime by default; local development with --serve and hot reload is supported

04

Built-in image optimization automatically outputs modern image formats, srcset, width and height attributes, and lazy loading to reduce layout shift

05

Supports draft marking (draft: true); drafts are included only during local development and excluded from full builds

06

Provides example deployment links for Netlify, Vercel, Cloudflare Pages, GitHub Pages, and Stackblitz

Template Details

This is the blog starter project in the official Eleventy repository, demonstrating how to build a blog site with Eleventy. The template provides basic content structures including a post list, individual post pages, an archive page, an about page, tag pages, a 404 page, an Atom feed, and sitemap.xml, along with build capabilities such as per-page CSS bundling, built-in syntax highlighting, and image optimization. Content is output as pre-rendered static pages and does not depend on JavaScript at runtime by default.

To use it, clone the repository and install dependencies, then generate to the _site directory with npx @11ty/eleventy, or start a local development server with --serve, which supports hot reload. Site options and metadata are configured in eleventy.config.js and _data/metadata.js; posts go under content/blog/ and are grouped into a collection via the posts tag, but they can also be placed in other directories. Navigation items are added via the eleventyNavigation key in front matter. Draft content is marked with draft: true and is included only during --serve/--watch; it is excluded from full builds.

The template is MIT licensed and can be used, modified, used commercially, and distributed for free; when distributing, the copyright and license notice must be retained. Third-party assets such as demo images, fonts, and icons require separate verification of their respective licenses; external services such as domains and hosting may incur costs. The template itself does not include features beyond the starter scope, such as comments, search, or an admin backend.

EleventyBlogTool siteStarter

Is it right for your project?

Use Cases

  • Building a personal blog or technical writing site from scratch, using this template directly as the starting point for content and page structure
  • Learning the basics of Eleventy collections, data cascading, layouts, the navigation plugin, and the image plugin
  • A lightweight blog site that requires static output and no client-side JavaScript dependency
  • Serving as a base skeleton for an internal team blog or documentation site, with pages and styles added or removed as needed

Suitable For

  • Developers using Eleventy who want to start building a blog from the official starter template
  • Writers who prefer static site generation and authoring content in Markdown or other template formats
  • Projects that need basic blog structures such as posts, tags, archives, and a feed, but do not require comments or an admin backend
  • Sites planned for deployment to Netlify, Vercel, Cloudflare Pages, or GitHub Pages

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 to install dependencies, then use npx @11ty/eleventy to generate to the _site directory, or use npx @11ty/eleventy --serve to start a local development server

  2. 2

    Site options and metadata are configured in eleventy.config.js and _data/metadata.js and can be modified as needed

  3. 3

    Posts are placed under content/blog/ by default, but they can also be placed in other directories; they only need the posts tag to enter the blog post collection

  4. 4

    Top navigation is added via the eleventyNavigation key in front matter; see content/index.njk and content/about/index.md for examples

  5. 5

    If the site enables a Content Security Policy (CSP), switch to an external stylesheet link in base.njk, or configure style-src: 'unsafe-inline'

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version in the public repository under the MIT license; the free scope is the code of this version and does not mean that 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 complete 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

  • If the site enables a Content Security Policy (CSP), choose one of two options: remove inline styles in base.njk and switch to an external stylesheet link, or configure the server with style-src: 'unsafe-inline' (less secure).
  • Draft content marked draft: true is included only during --serve/--watch local development and is excluded from full builds, so it will not appear in production output.
  • Demo images, fonts, icons, and other third-party assets must 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 additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

If your site enforces a [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) (as public-facing sites should), you have a few choices (pick one):

Original README

Drafts are **only** included during `--serve`/`--watch` and are excluded from full builds.

Original README
https://github.com/11ty/eleventy-base-blog/blob/main/LICENSEhttps://github.com/11ty/eleventy-base-blog/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. 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 · 100 / 100
Technologies
Eleventy
Website type
Blog · Tool Site · 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-10-01
Screenshot last checked
2026-10-02

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: 5b19ce46e5d9bcd55b467fb41c439abc533fc113251992341f85a2686e204d12

2026-10-02T11:07:01.486Z

Source file / repository
# eleventy-base-blog v9

A starter repository showing how to build a blog with the [Eleventy](https://www.11ty.dev/) site generator (using the [v3.0 release](https://github.com/11ty/eleventy/releases/tag/v3.0.0)).

## Getting Started

* [Want a more generic/detailed getting started guide?](https://www.11ty.dev/docs/getting-started/)

1. Make a directory and navigate to it:

```
mkdir my-blog-name
cd my-blog-name
```

2. Clone this Repository

```
git clone https://github.com/11ty/eleventy-base-blog.git .
```

_Optional:_ Review `eleventy.config.js` and `_data/metadata.js` to configure the site’s options and data.

3. Install dependencies

```
npm install
```

4. Run Eleventy

Generate a production-ready build to the `_site` folder:

```
npx @11ty/eleventy
```

Or build and host on a local development server:

```
npx @11ty/eleventy --serve
```

Or you can run [debug mode](https://www.11ty.dev/docs/debugging/) to see all the internals.

## Features

- Using [Eleventy v3](https://github.com/11ty/eleventy/releases/tag/v3.0.0) with zero-JavaScript output.
	- Content is exclusively pre-rendered (this is a static site).
	- Can easily [deploy to a subfolder without changing any content](https://www.11ty.dev/docs/plugins/html-base/)
	- All URLs are decoupled from the content’s location on the file system.
	- Configure templates via the [Eleventy Data Cascade](https://www.11ty.dev/docs/data-cascade/)
- **Performance focused**: four-hundos Lighthouse score out of the box!
	- _0 Cumulative Layout Shift_
	- _0ms Total Blocking Time_
- Local development live reload provided by [Eleventy Dev Server](https://www.11ty.dev/docs/dev-server/).
- Content-driven [navigation menu](https://www.11ty.dev/docs/plugins/navigation/)
- Fully automated [Image optimization](https://www.11ty.dev/docs/plugins/image/)
	- Zero-JavaScript output.
	- Support for modern image formats automatically (e.g. AVIF and WebP)
	- Processes images on-request during `--serve` for speedy local builds.
	- Prefers `<img>` markup if possible (single image format) but switches automatically to `<picture>` for multiple image formats.
	- Automated `<picture>` syntax markup with `srcset` and optional `sizes`
	- Includes `width`/`height` attributes to avoid [content layout shift](https://web.dev/cls/).
	- Includes `loading="lazy"` for native lazy loading without JavaScript.
	- Includes [`decoding="async"`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/decoding)
	- Images can be co-located with blog post files.
- Per page CSS bundles [via `eleventy-plugin-bundle`](https://github.com/11ty/eleventy-plugin-bundle).
- Built-in [syntax highlighter](https://www.11ty.dev/docs/plugins/syntaxhighlight/) (zero-JavaScript output).
- Draft content: use `draft: true` to mark any template as a draft. Drafts are **only** included during `--serve`/`--watch` and are excluded from full builds. This is driven by the `addPreprocessor` configuration API in `eleventy.config.js`. Schema validator will show an error if non-boolean value is set in data cascade.
- Blog Posts
	- Automated next/previous links
	- Accessible deep links to headings
- Generated Pages
	- Home, Archive, and About pages.
	- [Atom feed included (with easy one-line swap to use RSS or JSON)](https://www.11ty.dev/docs/plugins/rss/)
	- `sitemap.xml`
	- Zero-maintenance tag pages ([View on the Demo](https://eleventy-base-blog.netlify.app/tags/))
	- Content not found (404) page

## Demos

- [Netlify](https://eleventy-base-blog.netlify.app/)
- [Vercel](https://demo-base-blog.11ty.dev/)
- [Cloudflare Pages](https://eleventy-base-blog-d2a.pages.dev/)
- [GitHub Pages](https://11ty.github.io/eleventy-base-blog/)

## Deploy this to your own site

Deploy this Eleventy site in just a few clicks on these services:

- Read more about [Deploying an Eleventy project](https://www.11ty.dev/docs/deployment/) to the web.
- [Deploy this to **Netlify**](https://app.netlify.com/start/deploy?repository=https://github.com/11ty/eleventy-base-blog)
- [Deploy this to **Vercel**](https://vercel.com/import/project?template=11ty%2Feleventy-base-blog)
- Look in `.github/workflows/gh-pages.yml.sample` for information on [Deploying to **GitHub Pages**](https://www.11ty.dev/docs/deployment/#deploy-an-eleventy-project-to-git-hub-pages).
- [Try it out on **Stackblitz**](https://stackblitz.com/github/11ty/eleventy-base-blog)

### Implementation Notes

- `content/about/index.md` is an example of a content page.
- `content/blog/` has the blog posts but really they can live in any directory. They need only the `posts` tag to be included in the blog posts [collection](https://www.11ty.dev/docs/collections/).
- Use the `eleventyNavigation` key (via the [Eleventy Navigation plugin](https://www.11ty.dev/docs/plugins/navigation/)) in your front matter to add a template to the top level site navigation. This is in use on `content/index.njk` and `content/about/index.md`.
- Content can be in _any template format_ (blog posts needn’t exclusively be markdown, for example). Configure your project’s supported templates in `eleventy.config.js` -> `templateFormats`.
- The `public` folder in your input directory will be copied to the output folder (via `addPassthroughCopy` in the `eleventy.config.js` file). This means `./public/css/*` will live at `./_site/css/*` after your build completes.
- This project uses three [Eleventy Layouts](https://www.11ty.dev/docs/layouts/):
	- `_includes/layouts/base.njk`: the top level HTML structure
	- `_includes/layouts/home.njk`: the home page template (wrapped into `base.njk`)
	- `_includes/layouts/post.njk`: the blog post template (wrapped into `base.njk`)
- `_includes/postslist.njk` is a Nunjucks include and is a reusable component used to display a list of all the posts. `content/index.njk` has an example of how to use it.

#### Content Security Policy

If your site enforces a [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) (as public-facing sites should), you have a few choices (pick one):

1. In `base.njk`, remove `<style>{% getBundle "css" %}</style>` and uncomment `<link rel="stylesheet" href="{% getBundleFileUrl "css" %}">`
2. Configure the server with the CSP directive `style-src: 'unsafe-inline'` (less secure).
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.

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

vredeburg

vredeburg

Vredeburg is a blog starter template built with Eleventy and Tailwind CSS, offering a homepage, article inner pages, and an about page. Site title, description, author, and menu navigation are configured centrally in src/_data/.

Eleventy · Blog