# Eleventy Baseline > Start building your site and skip the setup work. ## About this project Eleventy Baseline is an opinionated infrastructure plugin for Eleventy. It handles the structural decisions you would otherwise wire up on every project: directory layout, asset pipeline, image handling, head metadata, multilingual support, sitemaps, and a content graph that exposes the data cascade to templates. The defaults work as a coherent set out of the box, and each one is overrideable. **Baseline is:** - a plugin for Eleventy 3.x - an architectural layer that sits on top of Eleventy - a coherent set of integrated structural conventions - production-ready out of the box **Baseline is not:** - a CMS - a visual theme - a site template - a replacement for Eleventy ## Who it is for - developers maintaining multilingual content sites - agencies repeatedly building Eleventy sites for clients - teams maintaining long-lived static publications - Eleventy users tired of patching their own starter on every new project - developers who want stronger conventions without adopting a different framework ## Why people adopt it - avoiding repeated setup work across Eleventy projects - standardising project structure across teams - reducing plugin and configuration sprawl - shortening the distance between "installed" and "building" - improving maintainability for long-lived sites ## Ecosystem position Baseline sits closer to the onboarding philosophy of Nuxt, Astro, or Hugo than to isolated Eleventy utility plugins. It is intended as a coherent architectural layer, not a loose plugin collection. ## Core concepts - **content graph**: Baseline's internal map of rendered pages and their relationships (forward links, backlinks, navigation), exposed to templates at build time - **navigator**: a debugging and introspection surface for Baseline's runtime state and content-graph data - **modules**: the optional integrated subsystems (assets, head, multilang, navigator, sitemap) - **page context**: a normalised per-page object Baseline builds at cascade-time and exposes to templates as `_pageContext` - **substrate**: Baseline's internal layer of state, runtime, and shared helpers that the modules read from ## Documentation ### English - [Navigator Core](https://www.eleventy-baseline.de/navigator-core.html) ([markdown](https://www.eleventy-baseline.de/navigator-core.html.md)): Eleventy + Baseline internals - [Documentation](https://www.eleventy-baseline.de/docs/) ([markdown](https://www.eleventy-baseline.de/docs/index.md)): Seven chapters: introduction, tutorials, feature guides, how-tos, core reference, the five modules, and the concepts behind the whole plugin. - [Release notes](https://www.eleventy-baseline.de/release-notes/) ([markdown](https://www.eleventy-baseline.de/release-notes/index.md)): Baseline ships on a rolling release cadence (0.1.0-next.X). Every entry names what changed and the line you have to change with it. - [Introduction](https://www.eleventy-baseline.de/docs/introduction/) ([markdown](https://www.eleventy-baseline.de/docs/introduction/index.md)): Start here: what Eleventy is, what Baseline adds on top, who it is for, and a quickstart that gets a site running. - [Overview](https://www.eleventy-baseline.de/docs/introduction/overview/) ([markdown](https://www.eleventy-baseline.de/docs/introduction/overview/index.md)): What Baseline is, who it is for, why it is a plugin, and what it gives you out of the box. - [What is Eleventy?](https://www.eleventy-baseline.de/docs/introduction/what-is-eleventy/) ([markdown](https://www.eleventy-baseline.de/docs/introduction/what-is-eleventy/index.md)): Eleventy is a static site generator: it turns files on your computer into a finished website. Here is what it does, and what it deliberately leaves to you. - [Quickstart](https://www.eleventy-baseline.de/docs/introduction/quickstart/) ([markdown](https://www.eleventy-baseline.de/docs/introduction/quickstart/index.md)): The minimum working setup: install, configure, run. - [Tutorials](https://www.eleventy-baseline.de/docs/tutorial/) ([markdown](https://www.eleventy-baseline.de/docs/tutorial/index.md)): Two end-to-end tutorials: build a simple Baseline site from scratch, then add a second language with hreflang and per-language sitemaps. - [Build a simple site](https://www.eleventy-baseline.de/docs/tutorial/simple-baseline-site/) ([markdown](https://www.eleventy-baseline.de/docs/tutorial/simple-baseline-site/index.md)): Create a single-language Eleventy site with Baseline defaults, head extras driven by settings, minimal CSS/JS, and an auto sitemap. - [Build a multilingual site](https://www.eleventy-baseline.de/docs/tutorial/multilingual-baseline-site/) ([markdown](https://www.eleventy-baseline.de/docs/tutorial/multilingual-baseline-site/index.md)): Add a second language to a Baseline site: per-language URLs, hreflang on every page, and a sitemap for each language plus an index. - [Feature guides](https://www.eleventy-baseline.de/docs/feature-guide/) ([markdown](https://www.eleventy-baseline.de/docs/feature-guide/index.md)): Seven guides that build on each other: assets, images, head and noindex, sitemaps and drafts, deployment checks, custom schema, and debugging. - [Assets pipeline quickstart](https://www.eleventy-baseline.de/docs/feature-guide/assets-pipeline/) ([markdown](https://www.eleventy-baseline.de/docs/feature-guide/assets-pipeline/index.md)): Ship CSS and JS through Baseline's assets module: one CSS entry through PostCSS, one JS entry through esbuild, and the inline filters when you need them. - [Image shortcode basics](https://www.eleventy-baseline.de/docs/feature-guide/image-shortcode-basics/) ([markdown](https://www.eleventy-baseline.de/docs/feature-guide/image-shortcode-basics/index.md)): Render responsive images with Baseline's image shortcode: alt and caption, multiple formats and sizes, and verify output in dist/media. - [Head and noindex](https://www.eleventy-baseline.de/docs/feature-guide/head-and-noindex/) ([markdown](https://www.eleventy-baseline.de/docs/feature-guide/head-and-noindex/index.md)): Set Baseline head defaults, add per-page head extras and block robots. - [Sitemaps and drafts](https://www.eleventy-baseline.de/docs/feature-guide/sitemaps-and-drafts/) ([markdown](https://www.eleventy-baseline.de/docs/feature-guide/sitemaps-and-drafts/index.md)): Control sitemap entries and drafts in Baseline: set per-page sitemap fields, apply noindex, and see how drafts behave in dev versus build. - [Deployment URL checks](https://www.eleventy-baseline.de/docs/feature-guide/deployment-url-checks/) ([markdown](https://www.eleventy-baseline.de/docs/feature-guide/deployment-url-checks/index.md)): Keep URLs correct across dev, preview, and production, so canonicals, sitemap entries, and links never leak localhost to the live site. - [Debugging with the navigator](https://www.eleventy-baseline.de/docs/feature-guide/debugging-navigator/) ([markdown](https://www.eleventy-baseline.de/docs/feature-guide/debugging-navigator/index.md)): Use Baseline debug filters and the navigator to inspect Eleventy data, render context, and the page-context snapshot without shipping debug tools to production. - [Custom schema with schema.pieces](https://www.eleventy-baseline.de/docs/feature-guide/custom-schema/) ([markdown](https://www.eleventy-baseline.de/docs/feature-guide/custom-schema/index.md)): Add your own schema.org nodes to the JSON-LD graph through the schema.pieces seam, scoped by the cascade. - [How-to guides](https://www.eleventy-baseline.de/docs/how-to/) ([markdown](https://www.eleventy-baseline.de/docs/how-to/index.md)): Recipes for the things Baseline does not do for you, plus guides on grafting it onto an Eleventy setup that already exists. - [Customise the assets pipeline](https://www.eleventy-baseline.de/docs/how-to/customise-assets-pipeline/) ([markdown](https://www.eleventy-baseline.de/docs/how-to/customise-assets-pipeline/index.md)): Override Baseline's fallback PostCSS config, add esbuild entry points, and set targets and minification for the assets module. - [Deploy under a subpath](https://www.eleventy-baseline.de/docs/how-to/deploy-under-a-subpath/) ([markdown](https://www.eleventy-baseline.de/docs/how-to/deploy-under-a-subpath/index.md)): Serve your Baseline site from a subpath: set pathPrefix, keep settings.url clean, use root-relative links, and verify sitemap and canonical URLs. - [Image transform](https://www.eleventy-baseline.de/docs/how-to/image-transform/) ([markdown](https://www.eleventy-baseline.de/docs/how-to/image-transform/index.md)): Use Eleventy Image's HTML transform to rewrite img tags into responsive picture markup with multiple formats, sizes, and caching, alongside Baseline. - [Multilingual index](https://www.eleventy-baseline.de/docs/how-to/multilingual-index/) ([markdown](https://www.eleventy-baseline.de/docs/how-to/multilingual-index/index.md)): List your site's pages grouped by language using Baseline's multilingual setup, with a small Nunjucks template and the translationsMap collection. - [Integrate with Eleventy Base Blog](https://www.eleventy-baseline.de/docs/how-to/integrate-eleventy-base-blog/) ([markdown](https://www.eleventy-baseline.de/docs/how-to/integrate-eleventy-base-blog/index.md)): Add @apleasantview/eleventy-plugin-baseline to eleventy-base-blog: install, wire config, align data and assets, migrate head extras, and verify the build. - [Build scripts and cleanup](https://www.eleventy-baseline.de/docs/how-to/build-scripts-and-cleanup/) ([markdown](https://www.eleventy-baseline.de/docs/how-to/build-scripts-and-cleanup/index.md)): Use npm-run-all, rimraf, and cross-env to keep Baseline builds clean and predictable for dev and production. - [Core reference](https://www.eleventy-baseline.de/docs/core-reference/) ([markdown](https://www.eleventy-baseline.de/docs/core-reference/index.md)): Every surface Baseline exposes: the plugin call, settings, page context, the SEO and content graphs, filters, globals, and the image shortcode. - [Plugin entrypoint](https://www.eleventy-baseline.de/docs/core-reference/plugin-entrypoint/) ([markdown](https://www.eleventy-baseline.de/docs/core-reference/plugin-entrypoint/index.md)): The baseline() factory: signature, options, and what it registers when you add it to Eleventy. - [Site settings](https://www.eleventy-baseline.de/docs/core-reference/site-settings/) ([markdown](https://www.eleventy-baseline.de/docs/core-reference/site-settings/index.md)): The settings argument to baseline(): site identity, languages, and head extras. - [Config export](https://www.eleventy-baseline.de/docs/core-reference/config-export/) ([markdown](https://www.eleventy-baseline.de/docs/core-reference/config-export/index.md)): The directory contract Baseline ships as a named config export: what it sets, why it matters, and how to override safely. - [Page context](https://www.eleventy-baseline.de/docs/core-reference/page-context/) ([markdown](https://www.eleventy-baseline.de/docs/core-reference/page-context/index.md)): The normalised per-page object Baseline builds at cascade-time and exposes as _pageContext. - [SEO graph](https://www.eleventy-baseline.de/docs/core-reference/seo-graph/) ([markdown](https://www.eleventy-baseline.de/docs/core-reference/seo-graph/index.md)): A resolved per-page object built once during the cascade and read at transform-time: canonical URL, Open Graph and Twitter projections, and a JSON-LD @graph. - [Content graph](https://www.eleventy-baseline.de/docs/core-reference/content-graph/) ([markdown](https://www.eleventy-baseline.de/docs/core-reference/content-graph/index.md)): The queryable map of every rendered page, exposed to templates as _node, _backlinks, _outgoing, and the _navigator global. - [Internals](https://www.eleventy-baseline.de/docs/core-reference/internals/) ([markdown](https://www.eleventy-baseline.de/docs/core-reference/internals/index.md)): Names for the internals you may run into via the navigator or while debugging: registry, stores, virtual directories, driver seam, reserved keys. - [Filters](https://www.eleventy-baseline.de/docs/core-reference/filters/) ([markdown](https://www.eleventy-baseline.de/docs/core-reference/filters/index.md)): Filters Baseline registers, grouped by module: when each is available and what it does. - [Globals](https://www.eleventy-baseline.de/docs/core-reference/globals/) ([markdown](https://www.eleventy-baseline.de/docs/core-reference/globals/index.md)): The global data keys Baseline registers: _baseline, _pageContext, _snapshot, _navigator, _node, _backlinks, _outgoing, and the reserved namespaces. - [Image shortcode](https://www.eleventy-baseline.de/docs/core-reference/image-shortcode/) ([markdown](https://www.eleventy-baseline.de/docs/core-reference/image-shortcode/index.md)): The image shortcode: responsive , multiple formats, captions, and on-request transforms in dev. Built on @11ty/eleventy-img. - [Modules reference](https://www.eleventy-baseline.de/docs/module/) ([markdown](https://www.eleventy-baseline.de/docs/module/index.md)): The five modules, all wired on install: assets for CSS and JS, head for meta tags and structured data, plus multilang, navigator, and sitemap. - [assets](https://www.eleventy-baseline.de/docs/module/assets/) ([markdown](https://www.eleventy-baseline.de/docs/module/assets/index.md)): The bridge between Eleventy templates and the asset processors: js and css as template formats, plus compile guards, a watch target, and two inline filters. - [head](https://www.eleventy-baseline.de/docs/module/head/) ([markdown](https://www.eleventy-baseline.de/docs/module/head/index.md)): Drop a placeholder in your layout and get the full head: title, description, canonical, hreflang, Open Graph, Twitter, and JSON-LD. - [multilang](https://www.eleventy-baseline.de/docs/module/multilang/) ([markdown](https://www.eleventy-baseline.de/docs/module/multilang/index.md)): Language infrastructure: normalises language config, attaches per-page locale data, builds translation collections, and exposes i18n filters. Opt-in. - [navigator](https://www.eleventy-baseline.de/docs/module/navigator/) ([markdown](https://www.eleventy-baseline.de/docs/module/navigator/index.md)): Two hats: a phpinfo()-style page for current build state, and the _navigator read surface for cross-page data (nodes, edges, backlinks). - [sitemap](https://www.eleventy-baseline.de/docs/module/sitemap/) ([markdown](https://www.eleventy-baseline.de/docs/module/sitemap/index.md)): Generate /sitemap.xml automatically, with per-language sitemaps and an index for multilingual sites. Any page can opt out from its front matter. - [Concepts](https://www.eleventy-baseline.de/docs/concept/) ([markdown](https://www.eleventy-baseline.de/docs/concept/index.md)): The mental model behind Baseline: project structure, content organisation, content helpers, and the three-layer architecture. - [Concept overview](https://www.eleventy-baseline.de/docs/concept/concept-overview/) ([markdown](https://www.eleventy-baseline.de/docs/concept/concept-overview/index.md)): A conceptual map of Baseline: what it handles, the placeholder, and the two configuration surfaces. - [Project structure](https://www.eleventy-baseline.de/docs/concept/project-structure/) ([markdown](https://www.eleventy-baseline.de/docs/concept/project-structure/index.md)): The folder structure that keeps Baseline out of your way: where files go, how the plugin call looks, which environment variables matter, and the seams it owns. - [Content organisation](https://www.eleventy-baseline.de/docs/concept/content-organisation/) ([markdown](https://www.eleventy-baseline.de/docs/concept/content-organisation/index.md)): Every page has two layers: structure in a sibling *.11tydata.js, content metadata in front matter. A way of using the data cascade, not a Baseline rule. - [Content helpers](https://www.eleventy-baseline.de/docs/concept/content-helpers/) ([markdown](https://www.eleventy-baseline.de/docs/concept/content-helpers/index.md)): How drafts, wikilinks, heading IDs, element attributes, and image handling work in Baseline, and the rules that keep content predictable. - [Architecture snapshot](https://www.eleventy-baseline.de/docs/concept/architecture-snapshot/) ([markdown](https://www.eleventy-baseline.de/docs/concept/architecture-snapshot/index.md)): The three-layer model behind Baseline: state, runtime, modules. Why it is built that way and how the layers talk to each other. - [About Eleventy Baseline](https://www.eleventy-baseline.de/about/) ([markdown](https://www.eleventy-baseline.de/about/index.md)): How a personal client-work starter became a build framework for Eleventy. - [Agent discovery](https://www.eleventy-baseline.de/agent-discovery/) ([markdown](https://www.eleventy-baseline.de/agent-discovery/index.md)): Static discovery surfaces for AI agents and integrations. - [Commercial support](https://www.eleventy-baseline.de/commercial-support/) ([markdown](https://www.eleventy-baseline.de/commercial-support/index.md)): Baseline is free and stays free. Help adopting it, extending it, or building on it runs through a pleasant view. - [FAQ](https://www.eleventy-baseline.de/faq/) ([markdown](https://www.eleventy-baseline.de/faq/index.md)): Does Baseline lock you in? Is it production-ready? Answers on scope, tooling, SEO, and where to get help. - [Eleventy Baseline](https://www.eleventy-baseline.de/) ([markdown](https://www.eleventy-baseline.de/index.md)): Eleventy Baseline is a build framework for Eleventy. Assets, head tags, sitemaps and structured data, ready on the first build. ### Nederlands - [Over Eleventy Baseline](https://www.eleventy-baseline.de/nl/about/) ([markdown](https://www.eleventy-baseline.de/nl/about/index.md)): Hoe een persoonlijke starter voor klantenwerk uitgroeide tot een build framework voor Eleventy. - [Commerciële ondersteuning](https://www.eleventy-baseline.de/nl/commercial-support/) ([markdown](https://www.eleventy-baseline.de/nl/commercial-support/index.md)): Baseline is gratis en blijft gratis. Hulp bij het adopteren, uitbreiden of erop bouwen loopt via a pleasant view. - [Eleventy Baseline](https://www.eleventy-baseline.de/nl/) ([markdown](https://www.eleventy-baseline.de/nl/index.md)): Eleventy Baseline is een build framework voor Eleventy. Assets, head-tags, sitemaps en gestructureerde data, klaar bij de eerste build. ### Français - [À propos d'Eleventy Baseline](https://www.eleventy-baseline.de/fr/about/) ([markdown](https://www.eleventy-baseline.de/fr/about/index.md)): Comment un starter personnel pour du travail client est devenu un build framework pour Eleventy. - [Support commercial](https://www.eleventy-baseline.de/fr/commercial-support/) ([markdown](https://www.eleventy-baseline.de/fr/commercial-support/index.md)): Baseline est gratuit et le restera. L'aide pour l'adopter, l'étendre ou construire dessus passe par a pleasant view. - [Eleventy Baseline](https://www.eleventy-baseline.de/fr/) ([markdown](https://www.eleventy-baseline.de/fr/index.md)): Eleventy Baseline est un build framework pour Eleventy. Assets, balises head, sitemaps et données structurées, prêts dès le premier build.