Sitemap
Every English page on the site, grouped by section.
This is the readable one. The machine-readable sitemaps live at /sitemap.xml.
88 pages.
Docs
-
Documentation
The documentation for Baseline. Each chapter with its own job:
Docs / Introduction
-
Introduction
Start here. What is Baseline? answers whether it is for you. What is Eleventy? is the ground floor underneath it, for anyone who has not bui... -
What is Baseline?
Baseline is an Eleventy plugin that handles the scaffolding every Eleventy site ends up needing. -
What is Eleventy?
Eleventy is a static site generator. It takes a folder of files on your computer and turns them into a finished website: plain HTML, CSS and... -
Quickstart
The minimum working setup. A checklist; for a guided walk with reasoning, see the simple site tutorial.
Docs / Tutorial
-
Tutorials: build a site from an empty folder
The shortest path from an empty folder to a working Baseline site. One tutorial, read in order, ending with a site in two languages and a cl... -
Create the project
Let's start by creating the project folder. Everything after this happens in there. -
Lay out the folders
Baseline has an opinion about where things live. src/ for what you write, dist/ for what gets built, and a handful of folders in between tha... -
Wire in Baseline
This is the page where Baseline arrives. Two files, and both the kind you write once and rarely open again. -
Front matter and slugs
Before writing a page, two things it needs: a way to say what it is, and a name to go by. Front matter and a slug. Then one small file that ... -
Writing pages
Two pages to start with: a homepage, and one sitting next to it. Where each one lives decides how it gets its address. -
Posts and collections
A post is not a page with a different word on it. It belongs to a collection, so other pages can ask for it, and it gets its own address rul... -
Add a layout and a stylesheet
Your pages render, and they arrive with nothing around them: no <head>, no navigation, nothing to look at. This page gives them a shell. It ... -
Run it, then build it
You have run npm start twice already, so the dev server is not news. A build is a different site, though, and the gap between the two is whe... -
Build a multilingual site
Add a second language to a Baseline site, with everything you'd expect: per-language URLs, hreflang on every page, a sitemap for each langua... -
Build a multilingual site
Open eleventy.config.js and pass an options object as baseline()'s second argument. Until now it has had settings only, which left every opt... -
Build a multilingual site
The contentDir entries you just wrote record English content as living in content/en/ and Dutch in content/nl/. Nothing enforces that, but t... -
Build a multilingual site
src/_includes/layouts/base.njk needs no changes, and one line in it is the reason. You wrote lang="{{ lang or settings.defaultLanguage }}" t... -
Build a multilingual site
Visit / for English, since default-language permalinks are unprefixed, and /nl/ for Dutch. View source on either one and you should find all... -
Where to go next
An empty folder is now a site with a homepage, a page, a post and two languages, which is deliberately thin. Every part of it has a guide th...
Docs / Feature Guide
-
Feature guide
These feature guides build on each other. Starting from the simple site, you fill it in with assets, images and head extras, then sitemaps a... -
Assets pipeline quickstart
Ship CSS and JS through Baseline's assets module. One entry point each, compiled on every build, plus a pair of filters for the times you wa... -
Image shortcode basics
Render a responsive image with one line of template code. -
Head and noindex
Get a clean, correct <head> on every page with one placeholder and a settings file. You write the placeholder, and Baseline writes everythin... -
Sitemaps and drafts
Control which pages end up in your sitemap, and let work-in-progress pages live alongside published ones without leaking into production. Th... -
Debugging with the navigator
When something looks off in a build, Baseline's debug helpers let you see the data Eleventy is working with from inside any template. By the... -
Custom schema with schema.pieces
Baseline assembles a complete JSON-LD graph for every page on its own: a WebSite, your Organization or Person identity, the WebPage, an Arti... -
Splitting a long page
Some pages get long enough that a reader loses their place in them. A marker in the body splits one source file into several pages, each wit...
Docs / How To
-
How-to guides
Recipes for the things Baseline does not do for you, and a few guides on grafting it onto setups that already exist. -
Customise the assets pipeline
When the fallback configs in the assets module are not enough, drop your own in. PostCSS for CSS, esbuild for JS. The module picks them up. -
Deploy under a subpath
Serve a Baseline site from a subpath like /docs/ without breaking links, asset paths, canonical URLs, or the sitemap on the way. -
Image transform
The image transform is eleventy-img's, not Baseline's. The two run side by side: eleventyImageTransformPlugin rewrites <img> and <picture> i... -
Multilingual index
A small index page that groups every page on the site by language. Useful when you have a multilingual site and want a single landing point ... -
Build scripts and cleanup
A small set of npm scripts that take Baseline's dev and build commands from "works on my machine" to predictable across platforms. Three hel... -
Translate UI strings
Every site accumulates labels that live in templates: "Read more", "Back to top", the words around a form. Reach for this when you want them... -
Deployment checks
Keep your URLs correct across dev, preview, and production, so canonicals, sitemap entries, and links never leak localhost to the live site.... -
Persist the build cache on your host
Encoding images is the slowest thing in most Baseline builds, and a rendition never changes once it exists. Locally the cache takes care of ...
Docs / Modules
-
Modules reference
Baseline ships as five feature modules. Each one wires a distinct concern into Eleventy and stays out of the way of the others. The pages be... -
The assets module: PostCSS and esbuild
INTERNAL_KEY: '_assets' -
The head module and baseline-head
INTERNAL_KEY: '_head' -
The multilang module: hreflang and locales
INTERNAL_KEY: '_multilang' -
The navigator module and debug page
INTERNAL_KEY: '_navigator' -
The sitemap module: drafts and exclusions
INTERNAL_KEY: '_sitemap'
Docs / Core Reference
-
Core reference
The inventory of what Baseline gives you. Each page below is a lookup target: exact options, exact shapes, exact defaults. -
Plugin entrypoint
The baseline() factory is the single entry point. You call it once in your Eleventy config callback with two arguments: site settings and mo... -
Site settings
settings is the first argument to baseline(). It carries site identity: title, tagline, canonical URL, indexability, languages, and any extr... -
Config export
Baseline ships a directory contract as a named export. Eleventy's modules expect specific input, output, includes, and data folders; Baselin... -
Page context
A normalised per-page object: one cached snapshot of the values Baseline's modules need, built once during the data cascade and read again a... -
The SEO graph: canonical, Open Graph, JSON-LD
A resolved per-page object: the canonical URL, the Open Graph and Twitter projections, and a JSON-LD @graph. Built once during the data casc... -
Content graph
A pre-rendered map of every page's headings, images, links, and excerpts, plus the links between pages. Built once before Eleventy's main bu... -
Baseline internals: registry, stores, seams
You can run Baseline without knowing any of this. The page exists for the moments when you peek into _snapshot, watch a console log, or foll... -
Filters reference: names and availability
Eleventy filters Baseline registers. Some are always available; the rest come on with the module that registers them. -
Global data keys and reserved namespaces
Baseline registers a handful of global data keys and a few Nunjucks globals. Most of them are reference targets you can read in templates; t... -
Image shortcode
The shortcode is Baseline's; the underlying engine is @11ty/eleventy-img. The two halves split cleanly: -
Content helpers
The syntax Baseline adds to your Markdown, and the front-matter key that keeps a page out of a build: drafts, wikilinks, automatic heading i...
Docs / Concept
-
Concepts: the decisions behind Baseline
How Baseline works is the mental model behind the plugin. Project structure is the small set of rules that keep Baseline out of your way, an... -
How Baseline works
Baseline makes the structural decisions Eleventy leaves open and wires them into a small set of feature modules that work together. This pag... -
Project structure
The folder structure that keeps Baseline out of your way. If you've read what Baseline is and how Baseline works, you already have the shape... -
Content organisation
Every page on a Baseline site has two layers behind it. -
Architecture snapshot
The plugin is built in three concentric layers, each with one strict job.
Release Notes
-
v0.1.0-next.42
Mostly an SEO release. <baseline-head> now emits the structured data, social tags, and canonical link that used to be hand-wired per site. A... -
v0.1.0-next.43
A single fix: wikilinks on single-language sites. -
v0.1.0-next.44
A housekeeping release: the supported Node range and the dependency versions Baseline declares. -
Release notes
Baseline ships on a rolling release cadence (0.1.0-next.X). Things shift, break, and get renamed between releases. Pin a version when you bu... -
v0.1.0-next.45
Two strands of work in one release. Half of it is Baseline claiming something about your site that was not so: an origin anchored to the wro... -
v0.1.0-next.46
The biggest release so far, and it has one new feature and a lot of sharpening. The feature is page breaks: a comment in the body turns one ...
Root
-
About Eleventy Baseline
Baseline is a build framework for Eleventy: the structural decisions you'd otherwise wire up on every project, already made. Looking for the... -
Agent discovery
This site exposes a handful of static surfaces that AI agents, search crawlers, and integrations can read without parsing HTML. They are gen... -
Commercial support
Baseline is MIT-licensed and free, and it stays that way. If you would rather have the work done than do it yourself, that runs through a pl... -
Baseline FAQ: scope, tooling and support
No. It's a standard Eleventy plugin. Take it out and your Eleventy site still builds: you keep your content, your config, your output. Basel... -
Eleventy Baseline: a build framework for Eleventy
Start building your site and skip the setup work.
Docs / Integrations
-
Integrations
Baseline expects a directory contract and a head placeholder, and a project that already exists has its own answers to both. These guides wo... -
Integrate Baseline with Eleventy Base Blog
Adding Baseline to eleventy-base-blog is mostly subtraction. The config goes from 168 lines to 84, sixteen registrations to nine, and depend... -
Integrate Baseline with Eleventy Base Blog
The starter ignores _site/, which is the only output directory it knows about. Baseline's output is dist/, so until you do this every build ... -
Integrate Baseline with Eleventy Base Blog
Plain mv is fine. Git infers the renames from content similarity when you stage them. -
Integrate Baseline with Eleventy Base Blog
Move eleventy.config.js out of the way, then write a new one from scratch: -
Integrate Baseline with Eleventy Base Blog
In base.njk, replace the entire hand-written <head> with: -
Integrate Baseline with Eleventy Base Blog
A loose end left behind by the deletions on the config page, and one that builds cleanly while being wrong. -
Integrate Baseline with Eleventy Excellent
Baseline and eleventy-excellent make a lot of the same decisions. Both keep config in its own directory instead of one long file, and both k... -
Integrate Baseline with Eleventy Excellent
Before anything else happens. Ignore rules first means your notes are covered before you take the first one, and a personal global gitignore... -
Integrate Baseline with Eleventy Excellent
_config/ comes out of the input directory and the content directories go under src/content/, leaving src/ holding only what Eleventy treats ... -
Integrate Baseline with Eleventy Excellent
Baseline registers every page under a slug, in one index shared across the whole site, so that wikilinks can resolve [[a-page]] to a URL. Re... -
Integrate Baseline with Eleventy Excellent
Baseline arrives as one addPlugin call, and the settings file arrives with it. -
Integrate Baseline with Eleventy Excellent
One file in src/_data/, and no wiring. Dropping it in is the wiring, because schema is a cascade key. -
Integrate Baseline with Eleventy Excellent
base.njk loses its entire <head> block and gains the placeholder. Seven partials stop being included, and everything worth keeping is alread... -
Integrate Baseline with Eleventy Excellent
Entry points replace the starter's per-page bundle calls, and PostCSS and esbuild run inside the plugin. -
Integrate Baseline with Eleventy Excellent
The starter declares its assets where they are used, with a {% css %} or {% js %} block wrapping an include. Baseline works one bundle per d... -
Integrate Baseline with Eleventy Excellent
Everything dead has been left in the tree until now, which makes this one pass you can verify in a single check. Confirm zero inbound refere...