<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>Eleventy Documentation</title>
  <subtitle>Updates to the Eleventy Documentation, sorted by recent git commits.</subtitle>
  <link href="https://www.11ty.dev/docs/feed.xml" rel="self" />
  <link href="https://www.11ty.dev/" />
  <updated>2025-10-28T19:30:53Z</updated>
  <id>https://www.11ty.dev/</id>
  <author>
    <name>Zach Leatherman</name>
  </author>
  <entry>
    <title>Configuration</title>
    <link href="https://www.11ty.dev/docs/config/" />
    <updated>2025-10-28T19:30:53Z</updated>
    <id>https://www.11ty.dev/docs/config/</id>
    <content type="html">&lt;h1 id=&quot;configuration&quot;&gt;Configuration&lt;/h1&gt;
&lt;details class=&quot;toc&quot;&gt;
&lt;summary&gt;On this page&lt;/summary&gt;
&lt;div class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#default-filenames&quot;&gt;Default filenames&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#configuration-options&quot;&gt;Configuration Options&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#input-directory&quot;&gt;Input Directory&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#directory-for-includes&quot;&gt;Directory for Includes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#directory-for-layouts-optional&quot;&gt;Directory for Layouts (Optional)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#directory-for-global-data-files&quot;&gt;Directory for Global Data Files&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#output-directory&quot;&gt;Output Directory&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#default-template-engine-for-markdown-files&quot;&gt;Default template engine for Markdown files&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#default-template-engine-for-html-files&quot;&gt;Default template engine for HTML files&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#template-formats&quot;&gt;Template Formats&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#enable-quiet-mode-to-reduce-console-noise&quot;&gt;Enable Quiet Mode to Reduce Console Noise&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#deploy-to-a-subdirectory-with-a-path-prefix&quot;&gt;Deploy to a subdirectory with a Path Prefix&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#change-base-file-name-for-data-files&quot;&gt;Change Base File Name for Data Files&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#change-file-suffix-for-data-files&quot;&gt;Change File Suffix for Data Files&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#transforms&quot;&gt;Transforms&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#linters&quot;&gt;Linters&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#data-filter-selectors&quot;&gt;Data Filter Selectors&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#type-script-type-definitions&quot;&gt;TypeScript Type Definitions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#removed-features&quot;&gt;Removed Features&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/config/#documentation-moved-to-dedicated-pages&quot;&gt;Documentation Moved to Dedicated Pages&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;p&gt;Configuration files are optional. Add an &lt;code&gt;eleventy.config.js&lt;/code&gt; file to the root directory of your project (read more about &lt;a href=&quot;https://www.11ty.dev/docs/config/#default-filenames&quot;&gt;default configuration filenames&lt;/a&gt;) to configure Eleventy to your own project’s needs. It might look like this:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/seven-minute-tabs.js&quot;&gt;&lt;/script&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-224-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-224-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-224-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-898&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-898&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Configure Eleventy&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-224-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-899&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-899&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Configure Eleventy&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;p&gt;There are a few different ways to &lt;a href=&quot;https://www.11ty.dev/docs/config-shapes/&quot;&gt;shape your configuration file&lt;/a&gt;. &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.1&quot;&gt;Added in v3.0.0&lt;/span&gt;Eleventy v3 added support for both ESM and Asynchronous callbacks.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;a href=&quot;https://www.11ty.dev/docs/filters/&quot;&gt;Filters&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Add &lt;a href=&quot;https://www.11ty.dev/docs/shortcodes/&quot;&gt;Shortcodes&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Add &lt;a href=&quot;https://www.11ty.dev/docs/custom-tags/&quot;&gt;Custom Tags&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Add &lt;a href=&quot;https://www.11ty.dev/docs/languages/javascript/#javascript-template-functions&quot;&gt;JavaScript Template Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Add custom &lt;a href=&quot;https://www.11ty.dev/docs/collections/&quot;&gt;Collections&lt;/a&gt; and use &lt;a href=&quot;https://www.11ty.dev/docs/collections/#advanced-custom-filtering-and-sorting&quot;&gt;Advanced Collection Filtering and Sorting&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Add &lt;a href=&quot;https://www.11ty.dev/docs/plugins/&quot;&gt;Plugins&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;elv-callout&quot;&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;Is your config file getting big and hard to understand? You can &lt;a href=&quot;https://www.11ty.dev/docs/quicktips/local-plugin/&quot;&gt;create a project-specific plugin&lt;/a&gt; to better organize your code.&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;default-filenames&quot;&gt;Default filenames&lt;/h2&gt;
&lt;p&gt;We look for the following configuration files:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;.eleventy.js&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;eleventy.config.js&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;2.0.0-canary.15&quot;&gt;Added in v2.0.0&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;eleventy.config.mjs&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.1&quot;&gt;Added in v3.0.0&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;eleventy.config.cjs&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;2.0.0-canary.15&quot;&gt;Added in v2.0.0&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The first configuration file found is used. The others are ignored.&lt;/p&gt;
&lt;div class=&quot;youtube-related&quot;&gt;&lt;div&gt;&lt;is-land on:visible=&quot;&quot; import=&quot;/js/lite-yt-embed.js&quot; class=&quot;fluid&quot;&gt;&lt;lite-youtube videoid=&quot;hJAtWQ9nmKU&quot; params=&quot;start=431&quot; playlabel=&quot;Play: Additions to the default config filename list (Changelog №17)&quot; style=&quot;background-image:url(&#39;https://i.ytimg.com/vi/hJAtWQ9nmKU/maxresdefault.jpg&#39;)&quot;&gt;
	&lt;a href=&quot;https://youtube.com/watch?v=hJAtWQ9nmKU&quot; class=&quot;elv-externalexempt lty-playbtn&quot; title=&quot;Play Video&quot;&gt;&lt;span class=&quot;lyt-visually-hidden&quot;&gt;Play Video: Additions to the default config filename list (Changelog №17)&lt;/span&gt;&lt;/a&gt;
&lt;/lite-youtube&gt;&lt;a href=&quot;https://youtube.com/watch?v=hJAtWQ9nmKU&amp;t=431&quot;&gt;Additions to the default config filename list (Changelog №17) &lt;code&gt;▶7m11s&lt;/code&gt;&lt;/a&gt;&lt;/is-land&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;configuration-options&quot;&gt;Configuration Options&lt;/h2&gt;
&lt;h3 id=&quot;input-directory&quot;&gt;Input Directory&lt;/h3&gt;
&lt;p&gt;Controls the top level directory/file/glob that we’ll use to look for templates. By default Eleventy looks in the current working directory but for more complex projects it’s recommended to set this to a directory inside of your project (e.g. a &lt;code&gt;content&lt;/code&gt; folder, as shown on the &lt;a href=&quot;https://www.11ty.dev/docs/&quot;&gt;Getting Started guide&lt;/a&gt;).&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Input Directory&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Object Key&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;dir.input&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default Value&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;.&lt;/code&gt; &lt;em&gt;(current directory)&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Any valid directory.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Configuration API&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;eleventyConfig.setInputDirectory()&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.6&quot;&gt;Added in v3.0.0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--input&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&quot;command-line&quot;&gt;Command Line&lt;/h4&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-900&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-900&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;# The current directory&lt;/span&gt;
npx @11ty/eleventy &lt;span class=&quot;token parameter variable&quot;&gt;--input&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;.

&lt;span class=&quot;token comment&quot;&gt;# A single file&lt;/span&gt;
npx @11ty/eleventy &lt;span class=&quot;token parameter variable&quot;&gt;--input&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;README.md

&lt;span class=&quot;token comment&quot;&gt;# A glob of files&lt;/span&gt;
npx @11ty/eleventy &lt;span class=&quot;token parameter variable&quot;&gt;--input&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;*.md

&lt;span class=&quot;token comment&quot;&gt;# A subdirectory (Recommended)&lt;/span&gt;
npx @11ty/eleventy &lt;span class=&quot;token parameter variable&quot;&gt;--input&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;content&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h4 id=&quot;configuration-2&quot;&gt;Configuration&lt;/h4&gt;
&lt;p&gt;Via named export (order doesn’t matter). Note that there are many &lt;a href=&quot;https://www.11ty.dev/docs/config-shapes/&quot;&gt;different shapes of configuration file&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-input-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-input-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;config-input-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-901&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-901&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;views&quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;config-input-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-902&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-902&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;views&quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;Or via method (not available in plugins) &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.6&quot;&gt;Added in v3.0.0&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-225-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-225-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-225-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-903&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-903&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Order matters, put this at the top of your configuration file.&lt;/span&gt;
  eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setInputDirectory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;views&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-225-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-904&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-904&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Order matters, put this at the top of your configuration file.&lt;/span&gt;
  eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setInputDirectory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;views&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h3 id=&quot;directory-for-includes&quot;&gt;Directory for Includes&lt;/h3&gt;
&lt;p&gt;The includes directory is meant for &lt;a href=&quot;https://www.11ty.dev/docs/layouts/&quot;&gt;Eleventy layouts&lt;/a&gt;, include files, extends files, partials, or macros. These files will not be processed as full template files, but can be consumed by other templates.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Includes Directory&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Object Key&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;dir.includes&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;_includes&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Any valid directory inside of &lt;code&gt;dir.input&lt;/code&gt; (an empty string &lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt; is supported)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Configuration API&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;eleventyConfig.setIncludesDirectory()&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.6&quot;&gt;Added in v3.0.0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Via named export (order doesn’t matter). Note that there are many &lt;a href=&quot;https://www.11ty.dev/docs/config-shapes/&quot;&gt;different shapes of configuration file&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-includes-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-includes-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;config-includes-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-905&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-905&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token comment&quot;&gt;// ⚠️ This value is relative to your input directory.&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;includes&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;my_includes&quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;config-includes-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-906&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-906&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token comment&quot;&gt;// ⚠️ This value is relative to your input directory.&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;includes&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;my_includes&quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;Or via method (not available in plugins) &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.6&quot;&gt;Added in v3.0.0&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-226-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-226-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-226-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-907&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-907&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Order matters, put this at the top of your configuration file.&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// This is relative to your input directory!&lt;/span&gt;
  eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setIncludesDirectory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;my_includes&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-226-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-908&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-908&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Order matters, put this at the top of your configuration file.&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// This is relative to your input directory!&lt;/span&gt;
  eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setIncludesDirectory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;my_includes&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h3 id=&quot;directory-for-layouts-optional&quot;&gt;Directory for Layouts (Optional)&lt;/h3&gt;
&lt;p&gt;This configuration option is optional but useful if you want your &lt;a href=&quot;https://www.11ty.dev/docs/layouts/&quot;&gt;Eleventy layouts&lt;/a&gt; to live outside of the &lt;a href=&quot;https://www.11ty.dev/docs/config/#directory-for-includes&quot;&gt;Includes directory&lt;/a&gt;. Just like the &lt;a href=&quot;https://www.11ty.dev/docs/config/#directory-for-includes&quot;&gt;Includes directory&lt;/a&gt;, these files will not be processed as full template files, but can be consumed by other templates.&lt;/p&gt;
&lt;div class=&quot;elv-callout elv-callout-warn&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;WARNING:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;
  &lt;p&gt;This setting &lt;strong&gt;only applies&lt;/strong&gt; to Eleventy&#39;s language-agnostic &lt;a href=&quot;https://www.11ty.dev/docs/layouts/&quot;&gt;layouts&lt;/a&gt; (when defined in front matter or data files).&lt;/p&gt;
  &lt;p&gt;When using &lt;code&gt;{% extends %}&lt;/code&gt;, Eleventy will &lt;strong&gt;still search the &lt;code&gt;_includes&lt;/code&gt; directory&lt;/strong&gt;. See &lt;a href=&quot;https://www.11ty.dev/docs/layout-chaining/#addendum-about-existing-templating-features&quot;&gt;this note about existing templating features&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Includes Directory&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Object Key&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;dir.layouts&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;The value in &lt;code&gt;dir.includes&lt;/code&gt;&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Any valid directory inside of &lt;code&gt;dir.input&lt;/code&gt; (an empty string &lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt; is supported)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Configuration API&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;eleventyConfig.setLayoutsDirectory()&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.6&quot;&gt;Added in v3.0.0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Via named export (order doesn’t matter). Note that there are many &lt;a href=&quot;https://www.11ty.dev/docs/config-shapes/&quot;&gt;different shapes of configuration file&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-layouts-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-layouts-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;config-layouts-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-909&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-909&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// These are both relative to your input directory!&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;includes&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;_includes&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;layouts&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;_layouts&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;config-layouts-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-910&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-910&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// These are both relative to your input directory!&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;includes&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;_includes&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;layouts&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;_layouts&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;Or via method (not available in plugins) &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.6&quot;&gt;Added in v3.0.0&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-227-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-227-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-227-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-911&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-911&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Order matters, put this at the top of your configuration file.&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// This is relative to your input directory!&lt;/span&gt;
  eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setLayoutsDirectory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;_layouts&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-227-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-912&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-912&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Order matters, put this at the top of your configuration file.&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// This is relative to your input directory!&lt;/span&gt;
  eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setLayoutsDirectory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;_layouts&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h3 id=&quot;directory-for-global-data-files&quot;&gt;Directory for Global Data Files&lt;/h3&gt;
&lt;p&gt;Controls the directory inside which the global data template files, available to all templates, can be found. Read more about &lt;a href=&quot;https://www.11ty.dev/docs/data-global/&quot;&gt;Global Data Files&lt;/a&gt;.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Data Files Directory&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Object Key&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;dir.data&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;_data&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Any valid directory inside of &lt;code&gt;dir.input&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Configuration API&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;eleventyConfig.setDataDirectory()&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.6&quot;&gt;Added in v3.0.0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Via named export (order doesn’t matter). Note that there are many &lt;a href=&quot;https://www.11ty.dev/docs/config-shapes/&quot;&gt;different shapes of configuration file&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-data-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-data-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;config-data-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-913&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-913&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// ⚠️ This value is relative to your input directory.&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;lore&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;config-data-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-914&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-914&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token comment&quot;&gt;// ⚠️ This value is relative to your input directory.&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;lore&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;Or via method (not available in plugins) &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.6&quot;&gt;Added in v3.0.0&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-228-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-228-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-228-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-915&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-915&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Order matters, put this at the top of your configuration file.&lt;/span&gt;
  eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataDirectory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;lore&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-228-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-916&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-916&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Order matters, put this at the top of your configuration file.&lt;/span&gt;
  eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataDirectory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;lore&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h3 id=&quot;output-directory&quot;&gt;Output Directory&lt;/h3&gt;
&lt;p&gt;Controls the directory inside which the finished templates will be written to.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Output Directory&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Object Key&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;dir.output&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;_site&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Any string that will work as a directory name. Eleventy creates this if it doesn’t exist.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Configuration API&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;eleventyConfig.setOutputDirectory()&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.6&quot;&gt;Added in v3.0.0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--output&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&quot;command-line-2&quot;&gt;Command Line&lt;/h4&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-917&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-917&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;npx @11ty/eleventy &lt;span class=&quot;token parameter variable&quot;&gt;--output&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;_site&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h4 id=&quot;configuration-3&quot;&gt;Configuration&lt;/h4&gt;
&lt;p&gt;Via named export (order doesn’t matter). Note that there are many &lt;a href=&quot;https://www.11ty.dev/docs/config-shapes/&quot;&gt;different shapes of configuration file&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-output-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-output-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;config-output-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-918&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-918&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;output&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;dist&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;config-output-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-919&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-919&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;output&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;dist&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;Or via method (not available in plugins) &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.6&quot;&gt;Added in v3.0.0&lt;/span&gt;:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-229-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-229-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-229-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-920&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-920&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Order matters, put this at the top of your configuration file.&lt;/span&gt;
  eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setOutputDirectory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;dist&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-229-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-921&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-921&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Order matters, put this at the top of your configuration file.&lt;/span&gt;
  eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setOutputDirectory&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;dist&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h3 id=&quot;default-template-engine-for-markdown-files&quot;&gt;Default template engine for Markdown files&lt;/h3&gt;
&lt;p&gt;Markdown files run through this template engine before transforming to HTML.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Markdown Template Engine&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Object Key&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;markdownTemplateEngine&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;liquid&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;A valid &lt;a href=&quot;https://www.11ty.dev/docs/languages/&quot;&gt;template engine short name&lt;/a&gt; or &lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Configuration API&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;setMarkdownTemplateEngine&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;4.0.0-alpha.1&quot;&gt;Added in v4.0.0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-mdengine-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-mdengine-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;config-mdengine-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-922&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-922&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;markdownTemplateEngine&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;njk&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;config-mdengine-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-923&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-923&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;markdownTemplateEngine&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;njk&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;There are many &lt;a href=&quot;https://www.11ty.dev/docs/config-shapes/&quot;&gt;different shapes of configuration file&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;default-template-engine-for-html-files&quot;&gt;Default template engine for HTML files&lt;/h3&gt;
&lt;p&gt;HTML templates run through this template engine before transforming to (better) HTML.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;HTML Template Engine&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Object Key&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;htmlTemplateEngine&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;liquid&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;A valid &lt;a href=&quot;https://www.11ty.dev/docs/languages/&quot;&gt;template engine short name&lt;/a&gt; or &lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Configuration API&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;setHtmlTemplateEngine&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;4.0.0-alpha.1&quot;&gt;Added in v4.0.0&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-htmlengine-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-htmlengine-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;config-htmlengine-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-924&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-924&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;htmlTemplateEngine&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;njk&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;config-htmlengine-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-925&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-925&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;htmlTemplateEngine&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;njk&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;There are many &lt;a href=&quot;https://www.11ty.dev/docs/config-shapes/&quot;&gt;different shapes of configuration file&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;template-formats&quot;&gt;Template Formats&lt;/h3&gt;
&lt;p&gt;Specify which types of templates should be transformed.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Template Formats&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Object Key&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;templateFormats&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;html,liquid,ejs,md,hbs,mustache,haml,pug,njk,11ty.js&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Array of &lt;a href=&quot;https://www.11ty.dev/docs/languages/&quot;&gt;template engine short names&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--formats&lt;/code&gt; &lt;em&gt;(accepts a comma separated string)&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Configuration API&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;setTemplateFormats&lt;/code&gt;  and &lt;code&gt;addTemplateFormats&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;elv-callout elv-callout-info&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;INFO:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt; &lt;strong&gt;Case sensitivity&lt;/strong&gt;: File extensions should be considered case insensitive, cross-platform. While macOS already behaves this way (by default), other operating systems require additional Eleventy code to enable this behavior.&lt;/div&gt;&lt;/div&gt;
&lt;h4 id=&quot;command-line-3&quot;&gt;Command Line&lt;/h4&gt;
&lt;pre tabindex=&quot;0&quot;&gt;&lt;code&gt;npx @11ty/eleventy --formats=html,liquid,njk&lt;/code&gt;&lt;/pre&gt;
&lt;h4 id=&quot;configuration-file-static-export&quot;&gt;Configuration File Static Export&lt;/h4&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-templatelangs-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-templatelangs-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;config-templatelangs-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-926&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-926&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;templateFormats&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;html&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;liquid&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;njk&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;config-templatelangs-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-927&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-927&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token literal-property property&quot;&gt;templateFormats&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;html&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;liquid&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;njk&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;There are many &lt;a href=&quot;https://www.11ty.dev/docs/config-shapes/&quot;&gt;different shapes of configuration file&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&quot;configuration-api&quot;&gt;Configuration API&lt;/h4&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-230-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-230-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-230-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-928&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-928&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Reset to this value&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setTemplateFormats&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;html,liquid,njk&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Additive to existing&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addTemplateFormats&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;pug,haml&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Or:&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// eleventyConfig.setTemplateFormats([ &quot;html&quot;, &quot;liquid&quot;, &quot;njk&quot; ]);&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// eleventyConfig.addTemplateFormats([ &quot;pug&quot;, &quot;haml&quot; ]);&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-230-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-929&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-929&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Reset to this value&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setTemplateFormats&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;html,liquid,njk&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Additive to existing&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addTemplateFormats&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;pug,haml&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Or:&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// eleventyConfig.setTemplateFormats([ &quot;html&quot;, &quot;liquid&quot;, &quot;njk&quot; ]);&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// eleventyConfig.addTemplateFormats([ &quot;pug&quot;, &quot;haml&quot; ]);&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h3 id=&quot;enable-quiet-mode-to-reduce-console-noise&quot;&gt;Enable Quiet Mode to Reduce Console Noise&lt;/h3&gt;
&lt;p&gt;In order to maximize user-friendliness to beginners, Eleventy will show each file it processes and the output file. To disable this noisy console output, use quiet mode!&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Quiet Mode&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--quiet&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-231-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-231-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-231-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-930&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-930&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setQuietMode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-231-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-931&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-931&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setQuietMode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;The command line will override any setting in configuration:&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;npx @11ty/eleventy &lt;span class=&quot;token parameter variable&quot;&gt;--quiet&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;deploy-to-a-subdirectory-with-a-path-prefix&quot;&gt;Deploy to a subdirectory with a Path Prefix&lt;/h3&gt;
&lt;p&gt;If your site lives in a different subdirectory (particularly useful with GitHub pages), use pathPrefix to specify this. When paired with the &lt;a href=&quot;https://www.11ty.dev/docs/plugins/html-base/&quot;&gt;HTML &lt;code&gt;&amp;lt;base&amp;gt;&lt;/code&gt; plugin&lt;/a&gt; it will transform any absolute URLs in your HTML to include this folder name and does &lt;strong&gt;not&lt;/strong&gt; affect where things go in the output folder.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Path Prefix&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Object Key&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;pathPrefix&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;A prefix directory added to urls in HTML files&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;--pathprefix&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-pathprefix-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#config-pathprefix-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;config-pathprefix-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-932&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-932&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; HtmlBasePlugin &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addPlugin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;HtmlBasePlugin&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;pathPrefix&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;/eleventy-base-blog/&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;config-pathprefix-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-933&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-933&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; HtmlBasePlugin &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addPlugin&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;HtmlBasePlugin&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;config &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;pathPrefix&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;/eleventy-base-blog/&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;Deploy to https://11ty.github.io/eleventy-base-blog/ on GitHub pages without modifying your config. This allows you to use the same code-base to deploy to either GitHub pages or Netlify, like the &lt;a href=&quot;https://github.com/11ty/eleventy-base-blog&quot;&gt;&lt;code&gt;eleventy-base-blog&lt;/code&gt;&lt;/a&gt; project does.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;npx @11ty/eleventy &lt;span class=&quot;token parameter variable&quot;&gt;--pathprefix&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;eleventy-base-blog&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;change-base-file-name-for-data-files&quot;&gt;Change Base File Name for Data Files&lt;/h3&gt;
&lt;p&gt;&lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;2.0.0-canary.19&quot;&gt;Added in v2.0.0&lt;/span&gt; When using &lt;a href=&quot;https://www.11ty.dev/docs/data-template-dir/&quot;&gt;Directory Specific Data Files&lt;/a&gt;, looks for data files that match the current folder name. You can override this behavior to a static string with the &lt;code&gt;setDataFileBaseName&lt;/code&gt; method.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File Suffix&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Configuration API&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;setDataFileBaseName&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;Current folder name&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;String&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-232-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-232-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-232-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-934&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-934&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Looks for index.json and index.11tydata.json instead of using folder names&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataFileBaseName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;index&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-232-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-935&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-935&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Looks for index.json and index.11tydata.json instead of using folder names&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataFileBaseName&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;index&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h3 id=&quot;change-file-suffix-for-data-files&quot;&gt;Change File Suffix for Data Files&lt;/h3&gt;
&lt;p&gt;&lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;2.0.0-canary.19&quot;&gt;Added in v2.0.0&lt;/span&gt; When using &lt;a href=&quot;https://www.11ty.dev/docs/data-template-dir/&quot;&gt;Template and Directory Specific Data Files&lt;/a&gt;, to prevent file name conflicts with non-Eleventy files in the project directory, we scope these files with a unique-to-Eleventy suffix. This suffix is customizable using the &lt;code&gt;setDataFileSuffixes&lt;/code&gt; configuration API method.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File Suffix&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Configuration API&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;setDataFileSuffixes&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Default&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;[&amp;quot;.11tydata&amp;quot;, &amp;quot;&amp;quot;]&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Array&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;For example, using &lt;code&gt;&amp;quot;.11tydata&amp;quot;&lt;/code&gt; will search for &lt;code&gt;*.11tydata.js&lt;/code&gt; and &lt;code&gt;*.11tydata.json&lt;/code&gt; data files. The empty string (&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;) here represents a file without a suffix—and this entry only applies to &lt;code&gt;*.json&lt;/code&gt; data files.&lt;/p&gt;
&lt;p&gt;This feature can also be used to disable Template and Directory Data Files altogether with an empty array (&lt;code&gt;[]&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;Read more about &lt;a href=&quot;https://www.11ty.dev/docs/data-template-dir/&quot;&gt;Template and Directory Specific Data Files&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-233-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-233-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-233-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-936&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-936&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// e.g. file.json and file.11tydata.json&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataFileSuffixes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.11tydata&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// e.g. file.11tydata.json&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataFileSuffixes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.11tydata&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// No data files are used.&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataFileSuffixes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-233-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-937&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-937&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// e.g. file.json and file.11tydata.json&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataFileSuffixes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.11tydata&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// e.g. file.11tydata.json&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataFileSuffixes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.11tydata&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// No data files are used.&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataFileSuffixes&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;details&gt;
&lt;summary&gt;&lt;em&gt;&lt;strong&gt;Backwards Compatibility Note&lt;/strong&gt;&lt;/em&gt; (&lt;code&gt;v2.0.0&lt;/code&gt;)&lt;/summary&gt;
&lt;p&gt;Prior to v2.0.0 this feature was exposed using a &lt;code&gt;jsDataFileSuffix&lt;/code&gt; property in the configuration return object. When the &lt;code&gt;setDataFileSuffixes&lt;/code&gt; method has not been used, Eleventy maintains backwards compatibility for old projects by using this property as a fallback.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-234-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-234-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-234-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-938&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-938&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;jsDataFileSuffix&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;.11tydata&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-234-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-939&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-939&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;jsDataFileSuffix&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;.11tydata&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;/details&gt;
&lt;h3 id=&quot;transforms&quot;&gt;Transforms&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Documented moved to &lt;a href=&quot;https://www.11ty.dev/docs/transforms/&quot;&gt;Transforms&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;linters&quot;&gt;Linters&lt;/h3&gt;
&lt;p&gt;Similar to Transforms, Linters are provided to analyze a template’s output without modifying it.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Linters&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Configuration API&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;addLinter&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Object Key&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;N/A&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Valid Options&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;Callback function&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;Command Line Override&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;em&gt;None&lt;/em&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-235-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-235-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-235-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-940&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-940&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Sync or async&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addLinter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;linter-name&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;inputPath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;outputPath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

		&lt;span class=&quot;token comment&quot;&gt;// Eleventy 2.0+ has full access to Eleventy’s `page` variable&lt;/span&gt;
		console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;page&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;inputPath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;page&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;outputPath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-235-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-941&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-941&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Sync or async&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addLinter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;linter-name&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;inputPath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;outputPath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

		&lt;span class=&quot;token comment&quot;&gt;// Eleventy 2.0+ has full access to Eleventy’s `page` variable&lt;/span&gt;
		console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;page&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;inputPath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;page&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;outputPath&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;details&gt;
&lt;summary&gt;&lt;strong&gt;Linters Example: Use Inclusive Language&lt;/strong&gt;&lt;/summary&gt;
&lt;p&gt;Inspired by the &lt;a href=&quot;https://css-tricks.com/words-avoid-educational-writing/&quot;&gt;CSS Tricks post &lt;em&gt;Words to Avoid in Educational Writing&lt;/em&gt;&lt;/a&gt;, this linter will log a warning to the console when it finds a trigger word in a markdown file.&lt;/p&gt;
&lt;p&gt;This example has been packaged as a plugin in &lt;a href=&quot;https://www.11ty.dev/docs/plugins/inclusive-language/&quot;&gt;&lt;code&gt;eleventy-plugin-inclusive-language&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Filename &lt;/b&gt;eleventy.config.js&lt;/div&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addLinter&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
		&lt;span class=&quot;token string&quot;&gt;&quot;inclusive-language&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;content&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; inputPath&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; outputPath&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; words &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;
				&lt;span class=&quot;token string&quot;&gt;&quot;simply,obviously,basically,of course,clearly,just,everyone knows,however,easy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
					&lt;span class=&quot;token string&quot;&gt;&quot;,&quot;&lt;/span&gt;
				&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

			&lt;span class=&quot;token comment&quot;&gt;// Eleventy 1.0+: use this.inputPath and this.outputPath instead&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;inputPath&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;endsWith&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token keyword&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; word &lt;span class=&quot;token keyword&quot;&gt;of&lt;/span&gt; words&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
					&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; regexp &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;RegExp&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;&#92;&#92;b(&quot;&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; word &lt;span class=&quot;token operator&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;)&#92;&#92;b&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;gi&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
					&lt;span class=&quot;token keyword&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;content&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;regexp&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
						console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;warn&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;
							&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;Inclusive Language Linter (&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;inputPath&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;) Found: &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;word&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;
						&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
					&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
				&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/details&gt;
&lt;h3 id=&quot;data-filter-selectors&quot;&gt;Data Filter Selectors&lt;/h3&gt;
&lt;!-- Beta 4 --&gt;
&lt;p&gt;A &lt;code&gt;Set&lt;/code&gt; of &lt;a href=&quot;https://lodash.com/docs/4.17.15#get&quot;&gt;&lt;code&gt;lodash&lt;/code&gt; selectors&lt;/a&gt; that allow you to include data from the data cascade in the output from &lt;code&gt;--to=json&lt;/code&gt;, &lt;code&gt;--to=ndjson&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-236-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-236-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-236-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-942&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-942&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;dataFilterSelectors&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;page&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;dataFilterSelectors&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;page&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-236-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-943&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-943&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;dataFilterSelectors&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;page&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;dataFilterSelectors&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;page&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;This will now include a &lt;code&gt;data&lt;/code&gt; property in your JSON output that includes the &lt;code&gt;page&lt;/code&gt; variable for each matching template.&lt;/p&gt;
&lt;h3 id=&quot;type-script-type-definitions&quot;&gt;TypeScript Type Definitions&lt;/h3&gt;
&lt;p&gt;This may enable some extra autocomplete features in your IDE (where supported).&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-237-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/config/#tab-id-237-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-237-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-944&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-944&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/** @param {import(&quot;@11ty/eleventy&quot;).UserConfig} eleventyConfig */&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// …&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-237-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-945&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-945&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;/** @param {import(&quot;@11ty/eleventy&quot;).UserConfig} eleventyConfig */&lt;/span&gt;
module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// …&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;ul&gt;
&lt;li&gt;Related: &lt;a href=&quot;https://github.com/11ty/eleventy/pull/2091&quot;&gt;GitHub #2091&lt;/a&gt; and &lt;a href=&quot;https://github.com/11ty/eleventy/issues/3097&quot;&gt;GitHub #3097&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;removed-features&quot;&gt;Removed Features&lt;/h3&gt;
&lt;h4 id=&quot;change-exception-case-suffix-for-html-files&quot;&gt;Change exception case suffix for HTML files&lt;/h4&gt;
&lt;div class=&quot;elv-callout elv-callout-warn&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;Feature Removal&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;The &lt;code&gt;htmlOutputSuffix&lt;/code&gt; feature was removed in Eleventy 3.0. You can read about the feature on the &lt;a href=&quot;https://v2-0-1.11ty.dev/docs/config/#change-exception-case-suffix-for-html-files&quot;&gt;v2 documentation&lt;/a&gt;. Related: &lt;a href=&quot;https://github.com/11ty/eleventy/issues/3327&quot;&gt;GitHub #3327&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;
&lt;h3 id=&quot;documentation-moved-to-dedicated-pages&quot;&gt;Documentation Moved to Dedicated Pages&lt;/h3&gt;
&lt;p&gt;&lt;a id=&quot;copy-files-to-output-using-pass-through-file-copy&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4 id=&quot;copy-files-to-output-using-passthrough-file-copy&quot;&gt;Copy Files to Output using Passthrough File Copy&lt;/h4&gt;
&lt;p&gt;Files found (that don’t have a valid template engine) from opt-in file extensions in &lt;code&gt;templateFormats&lt;/code&gt; will passthrough to the output directory. Read more about &lt;a href=&quot;https://www.11ty.dev/docs/copy/&quot;&gt;Passthrough Copy&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&quot;customize-front-matter-parsing-options&quot;&gt;Customize Front Matter Parsing Options&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Documented at &lt;a href=&quot;https://www.11ty.dev/docs/data-frontmatter-customize/&quot;&gt;Customize Front Matter Parsing&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;watch-java-script-dependencies&quot;&gt;Watch JavaScript Dependencies&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Documented at &lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/&quot;&gt;Watch and Serve Configuration&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;add-your-own-watch-targets&quot;&gt;Add Your Own Watch Targets&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Documented at &lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/&quot;&gt;Watch and Serve Configuration&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;override-browsersync-server-options&quot;&gt;Override Browsersync Server Options&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Documented at &lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/&quot;&gt;Watch and Serve Configuration&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&quot;transforms-2&quot;&gt;Transforms&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Documented at &lt;a href=&quot;https://www.11ty.dev/docs/transforms/&quot;&gt;Transforms&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>Environment Variables</title>
    <link href="https://www.11ty.dev/docs/environment-vars/" />
    <updated>2025-10-28T18:08:49Z</updated>
    <id>https://www.11ty.dev/docs/environment-vars/</id>
    <content type="html">&lt;h1 id=&quot;environment-variables&quot;&gt;Environment Variables&lt;/h1&gt;
&lt;details class=&quot;toc&quot;&gt;
&lt;summary&gt;On this page&lt;/summary&gt;
&lt;div class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#setting-your-own&quot;&gt;Setting your own&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#via-env-file&quot;&gt;Via .env file&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#via-the-command-line&quot;&gt;Via the command line&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#use-case-ideas&quot;&gt;Use Case Ideas&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#eleventy-supplied&quot;&gt;Eleventy Supplied&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#disable-colors&quot;&gt;Disable Colors&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;p&gt;You can set and use your own environment variables in your projects. They will be available in your code via &lt;a href=&quot;https://nodejs.org/api/process.html#process_process_env&quot;&gt;Node.js’ &lt;code&gt;process.env&lt;/code&gt; property&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These are typically used for setting your deployment context and private API keys. This is also the approach used to &lt;a href=&quot;https://www.11ty.dev/docs/debugging/&quot;&gt;enable &lt;code&gt;DEBUG&lt;/code&gt; mode&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;elv-callout elv-callout-info&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;INFO:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;Note that environment variables are only available in JavaScript files in your project, evaluated at build time. This includes your config file, JavaScript data files, JavaScript templates, etc. To use environment variables in other template languages, you can use a &lt;a href=&quot;https://www.11ty.dev/docs/data-js/#example-exposing-environment-variables&quot;&gt;Javascript Data file&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#setting-your-own&quot;&gt;Setting your own&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#via-env-file&quot;&gt;Via .env file&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#via-the-command-line&quot;&gt;Via the command line&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#use-case-ideas&quot;&gt;Use Case Ideas&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#eleventy-supplied&quot;&gt;Eleventy Supplied&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#disable-colors&quot;&gt;Disable Colors&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;h2 id=&quot;setting-your-own&quot;&gt;Setting your own&lt;/h2&gt;
&lt;h3 id=&quot;via-env-file&quot;&gt;Via &lt;code&gt;.env&lt;/code&gt; file&lt;/h3&gt;
&lt;p&gt;For private keys and other sensitive information, you’ll want to create a &lt;code&gt;.env&lt;/code&gt; file and use &lt;a href=&quot;https://github.com/motdotla/dotenv&quot;&gt;the &lt;code&gt;dotenv&lt;/code&gt; package&lt;/a&gt; to setup those values.&lt;/p&gt;
&lt;div class=&quot;elv-callout elv-callout-warn&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;WARNING:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;&lt;strong&gt;Make sure you add &lt;code&gt;.env&lt;/code&gt; to your &lt;code&gt;.gitignore&lt;/code&gt; file. Do &lt;em&gt;not&lt;/em&gt; commit your &lt;code&gt;.env&lt;/code&gt; file to your repository!!&lt;/strong&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h3 id=&quot;via-the-command-line&quot;&gt;Via the command line&lt;/h3&gt;
&lt;h4 id=&quot;mac-os-or-linux-et-al&quot;&gt;macOS or Linux (et al)&lt;/h4&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-758&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-758&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token assign-left variable&quot;&gt;MY_ENVIRONMENT&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;production npx @11ty/eleventy&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h4 id=&quot;windows-cmd-exe&quot;&gt;Windows cmd.exe&lt;/h4&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-759&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-759&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;MY_ENVIRONMENT&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;production &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; npx @11ty/eleventy&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h4 id=&quot;windows-powershell-default-in-vs-code&quot;&gt;Windows Powershell (default in VS Code)&lt;/h4&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-760&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-760&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$env&lt;/span&gt;:MY_ENVIRONMENT&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;production&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; npx @11ty/eleventy&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h4 id=&quot;cross-platform-npm-scripts&quot;&gt;Cross Platform npm scripts&lt;/h4&gt;
&lt;p&gt;Use the &lt;a href=&quot;https://github.com/kentcdodds/cross-env&quot;&gt;&lt;code&gt;cross-env&lt;/code&gt; package&lt;/a&gt; to compatibly set your environment variables cross-platform.&lt;/p&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-761&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-761&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; cross-env&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Filename &lt;/b&gt;package.json&lt;/div&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-762&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-762&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token string-property property&quot;&gt;&quot;scripts&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token string-property property&quot;&gt;&quot;build:prod&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;cross-env MY_ENVIRONMENT=production npx @11ty/eleventy&quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h2 id=&quot;use-case-ideas&quot;&gt;Use Case Ideas&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-js/#example-exposing-environment-variables&quot;&gt;Expose Environment Variables to your templates using JavaScript Data Files&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/dates/&quot;&gt;Opt-in to &lt;code&gt;git Last Modified&lt;/code&gt; only in production&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Use fewer image formats in the &lt;a href=&quot;https://www.11ty.dev/docs/plugins/image/&quot;&gt;Image plugin&lt;/a&gt; to speed up local development&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;eleventy-supplied&quot;&gt;Eleventy Supplied&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://nodejs.org/api/process.html#process_process_env&quot;&gt;Node.js exposes environment variables under &lt;code&gt;process.env&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Eleventy also supplies its own Eleventy-specific environment variables, usually intended for more advanced use cases. You can use these in your configuration or in data files as needed.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;process.env.ELEVENTY_ROOT&lt;/code&gt;  the absolute path to the directory in which you’ve run the Eleventy command.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;process.env.ELEVENTY_SOURCE&lt;/code&gt;  is the method in which Eleventy has run, current either &lt;code&gt;cli&lt;/code&gt; or &lt;code&gt;script&lt;/code&gt; (via the &lt;a href=&quot;https://www.11ty.dev/docs/programmatic/&quot;&gt;programmatic API&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;process.env.ELEVENTY_RUN_MODE&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;2.0.0-beta.2&quot;&gt;Added in v2.0.0&lt;/span&gt; is one of &lt;code&gt;build&lt;/code&gt;, &lt;code&gt;serve&lt;/code&gt;, or &lt;code&gt;watch&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;process.env.ELEVENTY_VERSION&lt;/code&gt; &lt;span data-pagefind-ignore=&quot;&quot; eleventy:id-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.6&quot;&gt;Added in v3.0.0&lt;/span&gt; the current version of Eleventy (e.g. &lt;code&gt;&amp;quot;3.0.0-alpha.5&amp;quot;&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;disable-colors&quot;&gt;Disable Colors&lt;/h2&gt;
&lt;p&gt;Node.js supports a &lt;a href=&quot;https://nodejs.org/api/cli.html#node_disable_colors1&quot;&gt;&lt;code&gt;NODE_DISABLE_COLORS&lt;/code&gt; environment variable&lt;/a&gt; that will disable colorized text in the terminal output.&lt;/p&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
	&lt;div role=&quot;tablist&quot; aria-label=&quot;Choose your Operating System&quot;&gt;
		&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#disable-colors-nix&quot; id=&quot;disable-colors-mac-btn&quot; role=&quot;tab&quot; data-tabs-persist=&quot;os:mac&quot;&gt;macOS&lt;/a&gt;
		&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#disable-colors-nix&quot; role=&quot;tab&quot; data-tabs-persist=&quot;os:posix&quot;&gt;Linux&lt;/a&gt;
		&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#disable-colors-win&quot; role=&quot;tab&quot; data-tabs-persist=&quot;os:win&quot;&gt;Windows&lt;/a&gt;
		&lt;a href=&quot;https://www.11ty.dev/docs/environment-vars/#disable-colors-all&quot; role=&quot;tab&quot;&gt;Cross Platform&lt;/a&gt;
	&lt;/div&gt;
	&lt;div id=&quot;disable-colors-nix&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-763&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-763&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token assign-left variable&quot;&gt;NODE_DISABLE_COLORS&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; npx @11ty/eleventy&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
	&lt;/div&gt;
	&lt;div id=&quot;disable-colors-win&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-764&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-764&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token variable&quot;&gt;$env&lt;/span&gt;:NODE_DISABLE_COLORS&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; npx @11ty/eleventy&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
		&lt;p&gt;Or with the older &lt;code&gt;cmd.exe&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-765&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-765&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;token assign-left variable&quot;&gt;NODE_DISABLE_COLORS&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;&amp;amp;&lt;/span&gt; npx @11ty/eleventy&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
	&lt;/div&gt;
	&lt;div id=&quot;disable-colors-all&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-766&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-766&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;npx cross-env &lt;span class=&quot;token assign-left variable&quot;&gt;NODE_DISABLE_COLORS&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;1&lt;/span&gt; npx @11ty/eleventy&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
		&lt;p&gt;Use the &lt;a href=&quot;https://github.com/kentcdodds/cross-env&quot;&gt;&lt;code&gt;cross-env&lt;/code&gt; package&lt;/a&gt; to compatibly set your environment variables cross-platform.&lt;/p&gt;
	&lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;is-land&gt;
&lt;/is-land&gt;&lt;/is-land&gt;</content>
  </entry>
  <entry>
    <title>Programmatic API</title>
    <link href="https://www.11ty.dev/docs/programmatic/" />
    <updated>2025-10-28T17:45:46Z</updated>
    <id>https://www.11ty.dev/docs/programmatic/</id>
    <content type="html">&lt;h1 id=&quot;programmatic-api&quot;&gt;Programmatic API &lt;!-- Beta 10 or Canary 50 --&gt;&lt;/h1&gt;
&lt;details class=&quot;toc&quot;&gt;
&lt;summary&gt;On this page&lt;/summary&gt;
&lt;div class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#write-to-the-file-system&quot;&gt;Write to the file system&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#dont-write-to-the-file-system&quot;&gt;Dont write to the file system&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#json-output&quot;&gt;JSON Output&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#ndjson-output&quot;&gt;ndjson Output&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#changing-the-input-and-output-directories&quot;&gt;Changing the Input and Output Directories&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#full-options-list&quot;&gt;Full Options List&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;p&gt;You can run Eleventy in any arbitrary Node script.&lt;/p&gt;
&lt;h2 id=&quot;write-to-the-file-system&quot;&gt;Write to the file system&lt;/h2&gt;
&lt;p&gt;Don’t forget to &lt;a href=&quot;https://www.11ty.dev/docs/#step-2-install-eleventy&quot;&gt;install Eleventy into your local project first&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Now create a file called &lt;code&gt;my-node-script.js&lt;/code&gt; with the following contents:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;my-node-script.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#programmatic-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#programmatic-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;programmatic-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-670&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-670&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; Eleventy &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; elev&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;programmatic-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-671&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-671&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; Eleventy &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; elev&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;Then run your new script from the command line.&lt;/p&gt;
&lt;pre tabindex=&quot;0&quot;&gt;&lt;code&gt;node my-node-script.js&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;dont-write-to-the-file-system&quot;&gt;Don’t write to the file system&lt;/h2&gt;
&lt;p&gt;Using &lt;code&gt;.write()&lt;/code&gt; will write your output to the file system. If, instead, you want to retrieve the content programmatically without writing, use &lt;code&gt;.toJSON()&lt;/code&gt; or &lt;code&gt;.toNDJSON()&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&quot;json-output&quot;&gt;JSON Output&lt;/h3&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;my-node-script.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#jsonout-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#jsonout-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;jsonout-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-672&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-672&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; Eleventy &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; json &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; elev&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toJSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// All results&lt;/span&gt;
console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;json&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;jsonout-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-673&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-673&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; Eleventy &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; json &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; elev&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toJSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// All results&lt;/span&gt;
	console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;json&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h4 id=&quot;adding-data-to-json-output&quot;&gt;Adding data to JSON output&lt;/h4&gt;
&lt;p&gt;You can use the &lt;code&gt;eleventyConfig.dataFilterSelectors&lt;/code&gt; configuration API &lt;code&gt;Set&lt;/code&gt; to add or remove lodash-style selectors for Data Cascade entries to be included in individual entries from the &lt;code&gt;toJSON&lt;/code&gt; method.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;my-node-script.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#jsonoutdata-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#jsonoutdata-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;jsonoutdata-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-674&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-674&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; Eleventy &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;_site&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token function-variable function&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;dataFilterSelectors&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;globalData.key1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;dataFilterSelectors&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;globalData.key2&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;dataFilterSelectors&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;someProperty.key&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; json &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; elev&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toJSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// All results with&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// json[…].data.globalData.key1&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// json[…].data.globalData.key2&lt;/span&gt;
&lt;span class=&quot;token comment&quot;&gt;// json[…].data.someProperty.key&lt;/span&gt;
console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;json&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;jsonoutdata-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-675&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-675&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; Eleventy &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;_site&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;dataFilterSelectors&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;globalData.key1&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;dataFilterSelectors&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;globalData.key2&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;dataFilterSelectors&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;someProperty.key&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; json &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; elev&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toJSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// All results with&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// json[…].data.globalData.key1&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// json[…].data.globalData.key2&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// json[…].data.someProperty.key&lt;/span&gt;
	console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;json&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h3 id=&quot;ndjson-output&quot;&gt;ndjson Output&lt;/h3&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;my-node-script.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#ndjsonout-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#ndjsonout-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;ndjsonout-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-676&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-676&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; Eleventy &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; stream &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; elev&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toNDJSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
stream&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;data&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;entry&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Stream one output result at a time&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; json &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;parse&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;entry&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;json&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;ndjsonout-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-677&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-677&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; Eleventy &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; stream &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; elev&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toNDJSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	stream&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;data&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;entry&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token comment&quot;&gt;// Stream one output result at a time&lt;/span&gt;
		&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; json &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token constant&quot;&gt;JSON&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;parse&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;entry&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		console&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;json&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h2 id=&quot;changing-the-input-and-output-directories&quot;&gt;Changing the Input and Output Directories&lt;/h2&gt;
&lt;p&gt;The first argument is the input directory. The second argument is the output directory.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;my-node-script.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#chdirs-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#chdirs-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;chdirs-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-678&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-678&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; Eleventy &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;_site&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Use `write` or `toJSON` or `toNDJSON`&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;chdirs-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-679&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-679&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; Eleventy &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;_site&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Use `write` or `toJSON` or `toNDJSON`&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h2 id=&quot;full-options-list&quot;&gt;Full Options List&lt;/h2&gt;
&lt;p&gt;The third argument to Eleventy is an options object.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;(This documentation section is a work in progress but &lt;a href=&quot;https://github.com/11ty/eleventy/blob/v3.1.2/src/Eleventy.js&quot;&gt;you’re welcome to dig into the &lt;code&gt;Eleventy&lt;/code&gt; class source code in &lt;code&gt;v3.1.2&lt;/code&gt; to learn more&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;my-node-script.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#fullopts-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/programmatic/#fullopts-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;fullopts-jsesm&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-680&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-680&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; Eleventy &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;_site&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// --quiet&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;quietMode&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// --config&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;configPath&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;.eleventy.js&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;

	&lt;span class=&quot;token function-variable function&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token comment&quot;&gt;// Do some custom Configuration API stuff&lt;/span&gt;
		&lt;span class=&quot;token comment&quot;&gt;// Works great with eleventyConfig.addGlobalData&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token comment&quot;&gt;// Use `write` or `toJSON` or `toNDJSON`&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;fullopts-jscjs&quot; role=&quot;tabpanel&quot;&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-681&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-681&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; Eleventy &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;@11ty/eleventy&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; elev &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Eleventy&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;.&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;_site&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token comment&quot;&gt;// --quiet&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;quietMode&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;

		&lt;span class=&quot;token comment&quot;&gt;// --config&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;configPath&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;.eleventy.js&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;

		&lt;span class=&quot;token function-variable function&quot;&gt;config&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token comment&quot;&gt;// Do some custom Configuration API stuff&lt;/span&gt;
			&lt;span class=&quot;token comment&quot;&gt;// Works great with eleventyConfig.addGlobalData&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Use `write` or `toJSON` or `toNDJSON`&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
</content>
  </entry>
  <entry>
    <title>Install Eleventy Globally</title>
    <link href="https://www.11ty.dev/docs/global-installation/" />
    <updated>2025-10-28T17:45:46Z</updated>
    <id>https://www.11ty.dev/docs/global-installation/</id>
    <content type="html">&lt;h1 id=&quot;install-eleventy-globally&quot;&gt;Install Eleventy Globally&lt;/h1&gt;
&lt;div class=&quot;elv-callout elv-callout-warn&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;WARNING:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;It is &lt;strong&gt;not recommended&lt;/strong&gt; to install Eleventy globally (though it does work fine).&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;It is preferred to use &lt;a href=&quot;https://www.11ty.dev/docs/#step-2-install-eleventy&quot;&gt;&lt;code&gt;package.json&lt;/code&gt; installation&lt;/a&gt;&lt;/strong&gt; instead. &lt;code&gt;package.json&lt;/code&gt; installation will avoid versioning issues if you come back to this project later or decide to use Eleventy on multiple projects that may need different versions.&lt;/p&gt;
&lt;div class=&quot;elv-callout elv-callout-warn&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;WARNING:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;If you’re planning on deploying your site using a &lt;a href=&quot;https://www.11ty.dev/docs/deployment/&quot;&gt;service like Netlify&lt;/a&gt; (running a build a deployment server), you &lt;strong&gt;must&lt;/strong&gt; use &lt;code&gt;package.json&lt;/code&gt; installation and &lt;strong&gt;not&lt;/strong&gt; global installation.&lt;/div&gt;&lt;/div&gt;
&lt;pre class=&quot;language-bash&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-g&lt;/span&gt; @11ty/eleventy&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The above adds an &lt;code&gt;eleventy&lt;/code&gt; command that you can use in any directory. When you run Eleventy globally, it might look like this:&lt;/p&gt;
&lt;pre tabindex=&quot;0&quot;&gt;&lt;code&gt;$ eleventy --version
3.1.2&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <title>Data Deep Merge</title>
    <link href="https://www.11ty.dev/docs/data-deep-merge/" />
    <updated>2025-10-24T21:18:50Z</updated>
    <id>https://www.11ty.dev/docs/data-deep-merge/</id>
    <content type="html">&lt;h1 id=&quot;data-deep-merge&quot;&gt;Data Deep Merge&lt;/h1&gt;
&lt;details class=&quot;toc&quot;&gt;
&lt;summary&gt;On this page&lt;/summary&gt;
&lt;div class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-deep-merge/#using-the-override-prefix&quot;&gt;Using the override prefix&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;div class=&quot;elv-callout elv-callout-error&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;Feature Removed&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;&lt;p&gt;This feature was removed in Eleventy v4.0. Read more at &lt;a href=&quot;https://github.com/11ty/eleventy/issues/3937&quot;&gt;GitHub Issue #3937&lt;/a&gt; (originally inspired by &lt;a href=&quot;https://github.com/11ty/eleventy/issues/147&quot;&gt;GitHub Issue #147&lt;/a&gt;).&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Feel free to &lt;a href=&quot;https://v2.11ty.dev/docs/data-deep-merge/&quot;&gt;head over to the previous Eleventy version of the docs for this documentation&lt;/a&gt;. Historically, it may be important to remember that the default for this feature was changed to &lt;code&gt;true&lt;/code&gt; in &lt;a href=&quot;https://github.com/11ty/eleventy/releases/tag/v1.0.0&quot;&gt;Eleventy v1&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/data-deep-merge/#tab-id-187-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/data-deep-merge/#tab-id-187-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-187-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-819&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-819&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// throws an error in Eleventy v4&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataDeepMerge&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// is a no-op in Eleventy v4&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataDeepMerge&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-187-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-820&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-820&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// throws an error in Eleventy v4&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataDeepMerge&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// is a no-op in Eleventy v4&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setDataDeepMerge&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h2 id=&quot;using-the-override-prefix&quot;&gt;Using the &lt;code&gt;override:&lt;/code&gt; prefix&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;override:&lt;/code&gt; prefix in the Data Cascade is still available! Read more &lt;a href=&quot;https://www.11ty.dev/docs/data-cascade/#using-the-override-prefix&quot;&gt;about &lt;code&gt;override:&lt;/code&gt; on the Data Cascade documentation&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Markdown</title>
    <link href="https://www.11ty.dev/docs/languages/markdown/" />
    <updated>2025-10-24T14:12:24Z</updated>
    <id>https://www.11ty.dev/docs/languages/markdown/</id>
    <content type="html">&lt;details class=&quot;toc&quot; open=&quot;&quot;&gt;
&lt;summary&gt;On this page&lt;/summary&gt;
&lt;div class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#markdown-options&quot;&gt;Markdown Options&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#default-options&quot;&gt;Default Options&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#optional-set-your-own-library-instance&quot;&gt;Optional Set your own library instance&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#optional-amend-the-library-instance&quot;&gt;Optional Amend the Library instance &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#add-your-own-plugins&quot;&gt;Add your own plugins&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#indented-code-blocks&quot;&gt;Indented Code Blocks&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#why-cant-i-return-markdown-from-paired-shortcodes-to-use-in-a-markdown-file&quot;&gt;Why cant I return markdown from paired shortcodes to use in a markdown file&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Eleventy Short Name&lt;/th&gt;
&lt;th&gt;File Extension&lt;/th&gt;
&lt;th&gt;npm Package&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;.md&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;https://www.npmjs.com/package/markdown-it&quot;&gt;&lt;code&gt;markdown-it&lt;/code&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;Related languages: &lt;a href=&quot;https://www.11ty.dev/docs/languages/mdx/&quot;&gt;MDX&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Eleventy version&lt;/th&gt;
&lt;th&gt;&lt;code&gt;markdown-it&lt;/code&gt; version&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@11ty/eleventy@0.x&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;markdown-it@10.x&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@11ty/eleventy@1.x&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;markdown-it@12.x&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@11ty/eleventy@2.x&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;markdown-it@13.x&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@11ty/eleventy@3.x&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;markdown-it@14.x&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;elv-callout elv-callout-info&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;INFO:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;
Markdown files are by default pre-processed as Liquid templates. &lt;a href=&quot;https://www.11ty.dev/docs/config/#default-template-engine-for-markdown-files&quot;&gt;You can change this default in your configuration file&lt;/a&gt; (or disable it altogether). To change this for a single template and not globally, read &lt;a href=&quot;https://www.11ty.dev/docs/template-overrides/&quot;&gt;Changing a Template’s Rendering Engine&lt;/a&gt;.
&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;markdown-options&quot;&gt;Markdown Options&lt;/h2&gt;
&lt;h3 id=&quot;default-options&quot;&gt;Default Options&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;html: true&lt;/code&gt; (&lt;code&gt;markdown-it&lt;/code&gt; default is &lt;code&gt;false&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The only listed options here are the ones that differ from the default &lt;code&gt;markdown-it&lt;/code&gt; options. See &lt;a href=&quot;https://github.com/markdown-it/markdown-it#init-with-presets-and-options&quot;&gt;all &lt;code&gt;markdown-it&lt;/code&gt; options and defaults&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Starting in Eleventy 2.0, we’ve disabled the &lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#indented-code-blocks&quot;&gt;Indented Code Blocks&lt;/a&gt; feature by default.&lt;/p&gt;
&lt;h3 id=&quot;optional-set-your-own-library-instance&quot;&gt;Optional: Set your own library instance&lt;/h3&gt;
&lt;p&gt;Pass in your own instance of the Markdown library using the Configuration API. See &lt;a href=&quot;https://github.com/markdown-it/markdown-it#init-with-presets-and-options&quot;&gt;all &lt;code&gt;markdown-it&lt;/code&gt; options&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#tab-id-80-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#tab-id-80-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-80-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-253&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-253&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; markdownIt &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;markdown-it&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; options &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;breaks&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;linkify&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setLibrary&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;markdownIt&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;options&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-80-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-254&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-254&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; markdownIt &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;markdown-it&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; options &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;breaks&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;linkify&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setLibrary&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;markdownIt&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;options&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h3 id=&quot;optional-amend-the-library-instance&quot;&gt;Optional: Amend the Library instance &lt;span data-pagefind-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;2.0.0&quot;&gt;Added in v2.0.0&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Run your own callback on the provided Library instance (the default &lt;em&gt;or&lt;/em&gt; any provided by &lt;code&gt;setLibrary&lt;/code&gt; above).&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#tab-id-81-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#tab-id-81-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-81-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-255&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-255&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;amendLibrary&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;mdLib&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; mdLib&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;enable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;code&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-81-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-256&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-256&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;amendLibrary&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;mdLib&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; mdLib&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;enable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;code&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h2 id=&quot;add-your-own-plugins&quot;&gt;Add your own plugins&lt;/h2&gt;
&lt;p&gt;Pass in your own &lt;code&gt;markdown-it&lt;/code&gt; plugins using the &lt;code&gt;amendLibrary&lt;/code&gt; (Eleventy &amp;gt;= 2.0) or &lt;a href=&quot;https://v1-0-2.11ty.dev/docs/languages/markdown/#add-your-own-plugins&quot;&gt;&lt;code&gt;setLibrary&lt;/code&gt; (Eleventy &amp;lt;= 1.0)&lt;/a&gt; Configuration API methods (building on the method described in “Options” above).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Find your &lt;a href=&quot;https://www.npmjs.com/search?q=keywords:markdown-it-plugin&quot;&gt;own &lt;code&gt;markdown-it&lt;/code&gt; plugin on NPM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;npm install&lt;/code&gt; the plugin.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-257&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-257&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; full &lt;span class=&quot;token keyword&quot;&gt;as&lt;/span&gt; emoji &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;markdown-it-emoji&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;amendLibrary&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;mdLib&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; mdLib&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;use&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;emoji&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h2 id=&quot;indented-code-blocks&quot;&gt;Indented Code Blocks&lt;/h2&gt;
&lt;p&gt;Markdown has a lesser known feature called &lt;a href=&quot;https://spec.commonmark.org/0.28/#indented-code-blocks&quot;&gt;Indented Code Blocks&lt;/a&gt;, which means any content that is indented by four or more spaces (and has a preceding line break) will be transformed into a code block.&lt;/p&gt;
&lt;pre class=&quot;language-markdown&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-markdown&quot;&gt;a simple
      indented code block&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;is transformed into:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;pre&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;code&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;a simple
  indented code block
&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;code&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;pre&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;(Example borrowed from the &lt;a href=&quot;https://spec.commonmark.org/0.28/#indented-code-blocks&quot;&gt;CommonMark Specification&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;After &lt;a href=&quot;https://github.com/11ty/eleventy/issues/2438&quot;&gt;listening to community feedback&lt;/a&gt;, starting with Eleventy 2.0.0 &lt;strong&gt;Indented Code Blocks&lt;/strong&gt; are disabled for both the default Markdown library instance &lt;em&gt;and&lt;/em&gt; any set via &lt;code&gt;setLibrary&lt;/code&gt;.&lt;/p&gt;
&lt;details&gt;
  &lt;summary&gt;Want to &lt;strong&gt;re-enable&lt;/strong&gt; Indented Code Blocks?&lt;/summary&gt;
&lt;div class=&quot;elv-callout elv-callout-warn&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;WARNING:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;&lt;strong&gt;Careful!&lt;/strong&gt; This feature is &lt;a href=&quot;https://github.com/11ty/eleventy/issues/2438&quot;&gt;(almost) universally disliked&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;To re-enable Indented Code Blocks in Eleventy 2.0 (or newer), use the &lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#optional-amend-the-library-instance&quot;&gt;&lt;code&gt;amendLibrary&lt;/code&gt; approach&lt;/a&gt;. Make sure you read through the warning documented below to understand the ramifications.&lt;/p&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;amendLibrary&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;mdLib&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; mdLib&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;enable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;code&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div id=&quot;there-are-extra-and-in-my-output&quot;&gt;&lt;!-- Backwards compat --&gt;&lt;/div&gt;
&lt;div id=&quot;there-are-extra-pre-and-code-tags-in-my-output&quot;&gt;&lt;!-- Backwards compat --&gt;&lt;/div&gt;
&lt;p&gt;When using &lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#indented-code-blocks&quot;&gt;Indented Code Blocks&lt;/a&gt;, any content that follows this four (or more) space indent may be subject to transformation. If you pre-process your markdown using Nunjucks or Liquid or another templating engine, that means the content retrieved from an &lt;code&gt;include&lt;/code&gt; or a shortcode may also fit this formatting. Careful when you include extra whitespace in your includes or shortcodes!&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Filename &lt;/b&gt;.eleventy.js&lt;/div&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// 🛑 Bad, don’t do this&lt;/span&gt;
eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addShortcode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;badShortcode&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;
    This is a code block in a markdown file!
&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Filename &lt;/b&gt;.eleventy.js&lt;/div&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// ✅ This will return expected output&lt;/span&gt;
eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addShortcode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;goodShortcode&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;
This will not be a code block in a markdown file.
&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you still wish to indent your template literals, you can use &lt;a href=&quot;https://www.npmjs.com/package/outdent&quot;&gt;outdent&lt;/a&gt; to strip each line of indentation before handing it off to the renderer.&lt;/p&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;// ✅ This is also acceptable&lt;/span&gt;
eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addShortcode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;alsoGoodShortcode&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; outdent&lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;
    This will not be a code block in a markdown file.
&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/details&gt;
&lt;details&gt;
  &lt;summary&gt;Want to &lt;strong&gt;disable&lt;/strong&gt; Indented Code Blocks on Eleventy v1 or older?&lt;/summary&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;const&lt;/span&gt; markdownIt &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;markdown-it&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token keyword&quot;&gt;let&lt;/span&gt; options &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token comment&quot;&gt;// … truncated for brevity&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setLibrary&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;markdownIt&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;options&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;disable&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;code&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/details&gt;
&lt;div class=&quot;youtube-related&quot;&gt;&lt;div&gt;&lt;is-land on:visible=&quot;&quot; import=&quot;/js/lite-yt-embed.js&quot; class=&quot;fluid&quot;&gt;&lt;lite-youtube videoid=&quot;ZE5Np95-PeU&quot; params=&quot;start=42&quot; playlabel=&quot;Play: The Dreaded Markdown Indented Code Blocks (Weekly №14)&quot; style=&quot;background-image:url(&#39;https://i.ytimg.com/vi/ZE5Np95-PeU/maxresdefault.jpg&#39;)&quot;&gt;
	&lt;a href=&quot;https://youtube.com/watch?v=ZE5Np95-PeU&quot; class=&quot;elv-externalexempt lty-playbtn&quot; title=&quot;Play Video&quot;&gt;&lt;span class=&quot;lyt-visually-hidden&quot;&gt;Play Video: The Dreaded Markdown Indented Code Blocks (Weekly №14)&lt;/span&gt;&lt;/a&gt;
&lt;/lite-youtube&gt;&lt;a href=&quot;https://youtube.com/watch?v=ZE5Np95-PeU&amp;t=42&quot;&gt;The Dreaded Markdown Indented Code Blocks (Weekly №14) &lt;code&gt;▶0m42s&lt;/code&gt;&lt;/a&gt;&lt;/is-land&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;why-cant-i-return-markdown-from-paired-shortcodes-to-use-in-a-markdown-file&quot;&gt;Why can’t I return markdown from paired shortcodes to use in a markdown file?&lt;/h2&gt;
&lt;div class=&quot;elv-callout elv-callout-warn&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;WARNING:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;This is a &lt;a href=&quot;https://www.11ty.dev/docs/pitfalls/&quot;&gt;&lt;strong&gt;Common Pitfall&lt;/strong&gt;&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The truth is, &lt;strong&gt;you can&lt;/strong&gt; return markdown inside shortcodes (as long as the file is transforming markdown, either as a &lt;code&gt;.md&lt;/code&gt; file extension or &lt;a href=&quot;https://www.11ty.dev/docs/template-overrides/&quot;&gt;with &lt;code&gt;templateEngineOverride&lt;/code&gt;&lt;/a&gt;). However, there is one small wrinkle that might catch you off guard.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#tab-id-82-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/languages/markdown/#tab-id-82-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-82-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-258&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-258&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addPairedShortcode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;myShortcode&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token comment&quot;&gt;// Method A: ✅ This works fine&lt;/span&gt;
		&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; content&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

		&lt;span class=&quot;token comment&quot;&gt;// Method B: ⚠️ Careful when wrapping with HTML&lt;/span&gt;
		&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;lt;div&gt;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;content&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;lt;/div&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-82-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-259&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-259&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addPairedShortcode&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;myShortcode&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token comment&quot;&gt;// Method A: ✅ This works fine&lt;/span&gt;
		&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; content&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

		&lt;span class=&quot;token comment&quot;&gt;// Method B: ⚠️ Careful when wrapping with HTML&lt;/span&gt;
		&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;lt;div&gt;&lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;content&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;lt;/div&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Syntax &lt;/b&gt;Liquid, Nunjucks&lt;/div&gt;
&lt;pre class=&quot;language-jinja2&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-jinja2&quot;&gt;&lt;span class=&quot;token jinja2 language-jinja2&quot;&gt;&lt;span class=&quot;token delimiter punctuation&quot;&gt;{%&lt;/span&gt; &lt;span class=&quot;token tag keyword&quot;&gt;myShortcode&lt;/span&gt; &lt;span class=&quot;token delimiter punctuation&quot;&gt;%}&lt;/span&gt;&lt;/span&gt;My really *important* content.&lt;span class=&quot;token jinja2 language-jinja2&quot;&gt;&lt;span class=&quot;token delimiter punctuation&quot;&gt;{%&lt;/span&gt; &lt;span class=&quot;token tag keyword&quot;&gt;endmyShortcode&lt;/span&gt; &lt;span class=&quot;token delimiter punctuation&quot;&gt;%}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;Method A returns: &lt;code&gt;My really *important* content.&lt;/code&gt; which is successfully &lt;a href=&quot;https://spec.commonmark.org/dingus/?text=My%20really%20*important*%20content.&quot;&gt;transformed as markdown into &lt;code&gt;My really &amp;lt;em&amp;gt;important&amp;lt;/em&amp;gt; content&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Method B returns: &lt;code&gt;&amp;lt;div&amp;gt;My really *important* content.&amp;lt;/div&amp;gt;&lt;/code&gt; which markdown treats as an HTML block which cannot have nested markdown inside of it. It’s &lt;a href=&quot;https://spec.commonmark.org/dingus/?text=%3Cdiv%3EMy%20really%20*important*%20content.%3C%2Fdiv%3E&quot;&gt;transformed into &lt;code&gt;&amp;lt;div&amp;gt;My really *important* content.&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/a&gt;. Read more at the &lt;a href=&quot;https://spec.commonmark.org/0.28/#html-blocks&quot;&gt;CommonMark specification on HTML blocks&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
</content>
  </entry>
  <entry>
    <title>Computed Data</title>
    <link href="https://www.11ty.dev/docs/data-computed/" />
    <updated>2025-10-24T14:12:24Z</updated>
    <id>https://www.11ty.dev/docs/data-computed/</id>
    <content type="html">&lt;h1 id=&quot;computed-data&quot;&gt;Computed Data&lt;/h1&gt;
&lt;details class=&quot;toc&quot;&gt;
&lt;summary&gt;On this page&lt;/summary&gt;
&lt;div class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#real-world-example&quot;&gt;Real World Example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#using-java-script&quot;&gt;Using JavaScript&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#using-a-template-string&quot;&gt;Using a Template String&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#advanced-details&quot;&gt;Advanced Details&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#declaring-your-dependencies&quot;&gt;Declaring Your Dependencies&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;p&gt;At the end of the Data Cascade you may want to inject Data properties into your data object that are based on other data values. To do that you can use the new &lt;code&gt;eleventyComputed&lt;/code&gt; feature.&lt;/p&gt;
&lt;div class=&quot;elv-callout elv-callout-info&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;INFO:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;It is important to note that Computed Data is computed right before templates are rendered. Therefore Computed Data cannot be used to modify the &lt;a href=&quot;https://www.11ty.dev/docs/data-configuration/&quot;&gt;special data properties used to configure templates&lt;/a&gt; (e.g. &lt;code&gt;layout&lt;/code&gt;, &lt;code&gt;pagination&lt;/code&gt;, &lt;code&gt;tags&lt;/code&gt; etc.).&lt;!--  One notable exception here is &lt;code&gt;permalink&lt;/code&gt;, which can be set in computed data. --&gt; These restrictions may be relaxed over time.&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;real-world-example&quot;&gt;Real World Example&lt;/h2&gt;
&lt;p&gt;Say you want to use Eleventy’s &lt;a href=&quot;https://www.11ty.dev/docs/plugins/navigation/&quot;&gt;Navigation Plugin&lt;/a&gt; to create a navigation menu for your site. This plugin relies on the &lt;code&gt;eleventyNavigation&lt;/code&gt; object to be set. You don’t necessarily want to set this object manually in front matter in each individual source file. This is where Computed Data comes in!&lt;/p&gt;
&lt;p&gt;Consider a blog post with the following front matter format:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Filename &lt;/b&gt;posts/my-page-title.md&lt;/div&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-837&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-837&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-markdown&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-markdown&quot;&gt;&lt;span class=&quot;token front-matter-block&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;
&lt;span class=&quot;token front-matter yaml language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; My Page Title
&lt;span class=&quot;token key atrule&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; My Parent Key&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;If this file is generated by a Content Management System (like &lt;a href=&quot;https://www.netlifycms.org/&quot;&gt;Netlify CMS&lt;/a&gt;, in my particular case), I may not be able to (or want to) create the &lt;code&gt;eleventyNavigation&lt;/code&gt; object for each of them. I would also not be able to just dump a standard &lt;a href=&quot;https://www.11ty.dev/docs/data-template-dir/&quot;&gt;Data Directory File&lt;/a&gt; in there either (that &lt;em&gt;would&lt;/em&gt; be useful for setting defaults but we don’t want the same values for every markdown file). &lt;code&gt;eleventyNavigation&lt;/code&gt; properties must be set based on other data properties.&lt;/p&gt;
&lt;p&gt;Instead, I created this Data Directory File using &lt;code&gt;eleventyComputed&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;posts/posts.11tydata.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#tab-id-196-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#tab-id-196-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-196-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-838&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-838&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;eleventyComputed&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;eleventyNavigation&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token function-variable function&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
			&lt;span class=&quot;token function-variable function&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;parent&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-196-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-839&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-839&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;eleventyComputed&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;eleventyNavigation&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token function-variable function&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
			&lt;span class=&quot;token function-variable function&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;parent&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;div class=&quot;elv-callout elv-callout-info&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;INFO:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;If you want to use a JavaScript function for your &lt;code&gt;eleventyComputed&lt;/code&gt; properties, you must use either &lt;a href=&quot;https://www.11ty.dev/docs/data-frontmatter/#javascript-front-matter&quot;&gt;JavaScript front matter&lt;/a&gt; or a &lt;a href=&quot;https://www.11ty.dev/docs/data-js/&quot;&gt;JavaScript data file&lt;/a&gt; (template, directory, or global). YAML and JSON do not support JavaScript functions.&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The resulting data for each &lt;code&gt;posts/*.md&lt;/code&gt; file when processed by Eleventy has the following structure:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Data Cascade for &lt;/b&gt;posts/my-page-title.md&lt;/div&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-840&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-840&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-json&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;title&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;My Page Title&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;parent&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;My Parent Key&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;eleventyNavigation&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token property&quot;&gt;&quot;key&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;My Page Title&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token property&quot;&gt;&quot;parent&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;My Parent Key&quot;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;If I wanted this data to be computed for all files, I could instead create the following &lt;code&gt;eleventyComputed.js&lt;/code&gt; &lt;a href=&quot;https://www.11ty.dev/docs/data-global/&quot;&gt;global data file&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;_data/eleventyComputed.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#tab-id-197-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#tab-id-197-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-197-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-841&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-841&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;eleventyNavigation&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;parent&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-197-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-842&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-842&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;eleventyNavigation&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;title&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;parent&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h2 id=&quot;using-java-script&quot;&gt;Using JavaScript&lt;/h2&gt;
&lt;p&gt;Use any arbitrary JavaScript for an &lt;code&gt;eleventyComputed&lt;/code&gt; property. Note that JavaScript functions require either JavaScript front matter or a JavaScript data file (template, directory, or global). YAML and JSON do not support JavaScript functions.&lt;/p&gt;
&lt;p&gt;Here’s a bunch of examples:&lt;/p&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#tab-id-198-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#tab-id-198-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-198-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-843&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-843&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;eleventyComputed&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;myTemplateString&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;This is assumed to be a template string!&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myString&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;This is a string!&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myFunction&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;This is a string using &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;someValue&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myAsyncFunction&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;someAsyncThing&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myPromise&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Promise&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token function&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;100ms DELAYED HELLO&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-198-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-844&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-844&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;eleventyComputed&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;myTemplateString&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;This is assumed to be a template string!&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myString&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;This is a string!&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myFunction&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;This is a string using &lt;/span&gt;&lt;span class=&quot;token interpolation&quot;&gt;&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;${&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;someValue&lt;span class=&quot;token interpolation-punctuation punctuation&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myAsyncFunction&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;async&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;await&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;someAsyncThing&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myPromise&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;token class-name&quot;&gt;Promise&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
				&lt;span class=&quot;token function&quot;&gt;setTimeout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;resolve&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;100ms DELAYED HELLO&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h2 id=&quot;using-a-template-string&quot;&gt;Using a Template String&lt;/h2&gt;
&lt;p&gt;If you want to use eleventyComputed in YAML front matter, you can use the template syntax string that matches the syntax of the template.&lt;/p&gt;
&lt;p&gt;This is how &lt;a href=&quot;https://www.11ty.dev/docs/permalinks/#use-template-syntax-in-permalink&quot;&gt;&lt;code&gt;permalink&lt;/code&gt; works&lt;/a&gt;, if you’re already familiar with that.&lt;/p&gt;
&lt;p&gt;Consider our first example, but using Nunjucks (this example is also valid Liquid syntax).&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Filename &lt;/b&gt;posts/my-page-title.njk&lt;/div&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-845&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-845&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-markdown&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-markdown&quot;&gt;&lt;span class=&quot;token front-matter-block&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;
&lt;span class=&quot;token front-matter yaml language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; My Page Title
&lt;span class=&quot;token key atrule&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; My Parent Key
&lt;span class=&quot;token key atrule&quot;&gt;eleventyComputed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;eleventyNavigation&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;{{ title }}&quot;&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;{{ parent }}&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;The above would also resolve to the same Data Cascade:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Data Cascade for &lt;/b&gt;posts/my-page-title.njk&lt;/div&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-846&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-846&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-json&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;title&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;My Page Title&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;parent&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;My Parent Key&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;eleventyNavigation&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token property&quot;&gt;&quot;key&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;My Page Title&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token property&quot;&gt;&quot;parent&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;My Parent Key&quot;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;elv-callout elv-callout-warn&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;WARNING:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;Template syntax is definitely slower than the “Using JavaScript” methods above.&lt;/div&gt;&lt;/div&gt;
&lt;div class=&quot;elv-callout elv-callout-info&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;INFO:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;This would also work in JSON data files or any other data file type in the cascade, just keep in mind that the template syntax &lt;strong&gt;must&lt;/strong&gt; match the template syntax that it eventually winds up with in the Data Cascade.&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;advanced-details&quot;&gt;Advanced Details&lt;/h2&gt;
&lt;p&gt;We put a lot of work into making this feature as easy to use as possible. Most of these details shouldn’t matter to you as it should Just Work™. But here’s a few things we thought of already and handle in a good way:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can put your &lt;code&gt;eleventyComputed&lt;/code&gt; values anywhere in the Data Cascade: Front Matter, any Data Files (you could even make an &lt;code&gt;eleventyComputed.js&lt;/code&gt; global data file if you wanted to set this for your entire site).&lt;/li&gt;
&lt;li&gt;You can read and use any of the existing data properties (including &lt;a href=&quot;https://www.11ty.dev/docs/data-eleventy-supplied/&quot;&gt;ones created by Eleventy like &lt;code&gt;page&lt;/code&gt;&lt;/a&gt;).
&lt;ul&gt;
&lt;li&gt;You can use &lt;em&gt;or&lt;/em&gt; set &lt;code&gt;permalink&lt;/code&gt; in &lt;code&gt;eleventyComputed&lt;/code&gt; and it will work (&lt;code&gt;permalink&lt;/code&gt; is a top-level special case computed property anyway). Setting other &lt;a href=&quot;https://www.11ty.dev/docs/data-configuration/&quot;&gt;special Eleventy data keys&lt;/a&gt; are not yet supported.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;You can use a computed property that depends on other computed properties (just reference them like they were any other property &lt;code&gt;data.propName&lt;/code&gt; and ⚠️ &lt;strong&gt;not&lt;/strong&gt; &lt;code&gt;data.eleventyComputed.propName&lt;/code&gt;)
&lt;ul&gt;
&lt;li&gt;The order of the keys in the object doesn’t matter—we smartly figure out what order these should be computed in.&lt;/li&gt;
&lt;li&gt;We will let you know if you have circular references (&lt;code&gt;key1&lt;/code&gt; uses on &lt;code&gt;key2&lt;/code&gt; which uses &lt;code&gt;key1&lt;/code&gt; again)&lt;/li&gt;
&lt;li&gt;When we calculate the dependency graph for your variable references, we may get it wrong if your references to other computed properties are nested inside of conditional logic. Read more at &lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#declaring-your-dependencies&quot;&gt;Declaring your Dependencies&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;You can use a nested object of any depth. It can mix, match, and merge with the standard (non-computed) data. This will always do deep merging.&lt;/li&gt;
&lt;li&gt;You can reuse &lt;em&gt;and&lt;/em&gt; override properties at the same time. In the following example &lt;code&gt;key&lt;/code&gt; will have &lt;code&gt;This Is My Key&lt;/code&gt; as its value.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-847&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-847&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-markdown&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-markdown&quot;&gt;&lt;span class=&quot;token front-matter-block&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;
&lt;span class=&quot;token front-matter yaml language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; My Key
&lt;span class=&quot;token key atrule&quot;&gt;eleventyComputed&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;This Is {{ key }}&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h3 id=&quot;declaring-your-dependencies&quot;&gt;Declaring Your Dependencies&lt;/h3&gt;
&lt;p&gt;We do try our best to automatically detect dependencies between &lt;code&gt;eleventyComputed&lt;/code&gt; keys, but it isn’t always 100% accurate—especially if you include conditional logic that only uses another Computed Data key inside of a conditional block. To workaround this issue, you can always declare your dependencies inside of your callback so that it resolves correctly. To do so, just access the variables that your callback uses in the callback function.&lt;/p&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#tab-id-199-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/#tab-id-199-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-199-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-848&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-848&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;eleventyComputed&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myValue&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Hi&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myOtherValue&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Bye&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;usesAllTheThings&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token comment&quot;&gt;// We detect this as a declared dependency&lt;/span&gt;
			data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;myValue&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token comment&quot;&gt;// You can use as many as you want.&lt;/span&gt;
			data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;myOtherValue&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token comment&quot;&gt;// You could use any valid JS syntax to access them.&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;myValue&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;myOtherValue&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

			&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;How are you?&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-199-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-849&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-849&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;exports &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token literal-property property&quot;&gt;eleventyComputed&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myValue&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Hi&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;myOtherValue&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Bye&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token function-variable function&quot;&gt;usesAllTheThings&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&gt;&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;token comment&quot;&gt;// We detect this as a declared dependency&lt;/span&gt;
			data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;myValue&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token comment&quot;&gt;// You can use as many as you want.&lt;/span&gt;
			data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;myOtherValue&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;token comment&quot;&gt;// You could use any valid JS syntax to access them.&lt;/span&gt;
			&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;myValue&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; data&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;myOtherValue&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

			&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;How are you?&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;If you suspect Eleventy has the Computed Data order wrong—you can double check what variables Eleventy detects inside of a Computed Data function in the &lt;a href=&quot;https://www.11ty.dev/docs/debugging/&quot;&gt;debug output&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Data Cascade</title>
    <link href="https://www.11ty.dev/docs/data-cascade/" />
    <updated>2025-10-24T14:12:24Z</updated>
    <id>https://www.11ty.dev/docs/data-cascade/</id>
    <content type="html">&lt;h1 id=&quot;data-cascade&quot;&gt;Data Cascade&lt;/h1&gt;
&lt;details class=&quot;toc&quot;&gt;
&lt;summary&gt;On this page&lt;/summary&gt;
&lt;div class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-cascade/#sources-of-data&quot;&gt;Sources of Data&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-cascade/#example&quot;&gt;Example&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-cascade/#using-the-override-prefix&quot;&gt;Using the override prefix&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-cascade/#from-the-community&quot;&gt;From the Community&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;p&gt;In Eleventy, data is merged from multiple different sources before the template is rendered. The data is merged in what Eleventy calls the Data Cascade.&lt;/p&gt;
&lt;h2 id=&quot;sources-of-data&quot;&gt;Sources of Data&lt;/h2&gt;
&lt;p&gt;When the data is merged in the Eleventy Data Cascade, the order of priority for sources of data is (from highest priority to lowest):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-computed/&quot;&gt;Computed Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-frontmatter/&quot;&gt;Front Matter Data in a Template&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-template-dir/&quot;&gt;Template Data Files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-template-dir/&quot;&gt;Directory Data Files (and ascending Parent Directories)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/layouts/#front-matter-data-in-layouts&quot;&gt;Front Matter Data in Layouts&lt;/a&gt; &lt;em&gt;(this &lt;a href=&quot;https://github.com/11ty/eleventy/issues/915&quot;&gt;moved in 1.0&lt;/a&gt;)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-global-custom/&quot;&gt;Configuration API Global Data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/data-global/&quot;&gt;Global Data Files&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;example&quot;&gt;Example&lt;/h2&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Filename &lt;/b&gt;my-template.md&lt;/div&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-295&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-295&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-yaml&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; This is a Good Blog Post
&lt;span class=&quot;token key atrule&quot;&gt;tags&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; CSS
  &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; HTML
&lt;span class=&quot;token key atrule&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; my&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;layout.njk
&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Filename &lt;/b&gt;_includes/my-layout.njk&lt;/div&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-296&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-296&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-yaml&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; This is a Very Good Blog Post
&lt;span class=&quot;token key atrule&quot;&gt;author&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Zach
&lt;span class=&quot;token key atrule&quot;&gt;tags&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; JavaScript
&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Note that when &lt;code&gt;my-template.md&lt;/code&gt; and &lt;code&gt;my-layout.njk&lt;/code&gt; share data with the same object key (&lt;code&gt;title&lt;/code&gt; and &lt;code&gt;tags&lt;/code&gt;), the “leaf template” &lt;code&gt;my-template.md&lt;/code&gt; takes precedence.&lt;/p&gt;
&lt;p&gt;The data cascade results in the following data when &lt;code&gt;my-template.md&lt;/code&gt; is rendered:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Syntax &lt;/b&gt;JavaScript&lt;/div&gt;
&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-297&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-297&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-json&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;title&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;This is a Good Blog Post&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;author&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;Zach&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;tags&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;CSS&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;HTML&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;JavaScript&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;layout&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;my-layout.njk&quot;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Eleventy does a deep merge to combine Object literals and Arrays. (&lt;em&gt;Wait, where did the option to &lt;a href=&quot;https://www.11ty.dev/docs/data-deep-merge/&quot;&gt;opt-out of deep-merging&lt;/a&gt; go?)&lt;/em&gt; You can override this on a per-property basis with the &lt;code&gt;override:&lt;/code&gt; prefix.&lt;/p&gt;
&lt;h2 id=&quot;using-the-override-prefix&quot;&gt;Using the &lt;code&gt;override:&lt;/code&gt; prefix&lt;/h2&gt;
&lt;p&gt;Use the &lt;code&gt;override:&lt;/code&gt; prefix on any data key to opt-out of deep-merge behavior for specific values or nested values.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Filename &lt;/b&gt;posts/posts.json&lt;/div&gt;
&lt;pre class=&quot;language-json&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token property&quot;&gt;&quot;tags&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;posts&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div class=&quot;codetitle codetitle-left&quot;&gt;&lt;b&gt;Filename &lt;/b&gt;posts/firstpost.md&lt;/div&gt;
&lt;pre class=&quot;language-markdown&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-markdown&quot;&gt;&lt;span class=&quot;token front-matter-block&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;
&lt;span class=&quot;token front-matter yaml language-yaml&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;# Instead of merging the array, this creates an empty set&lt;/span&gt;
&lt;span class=&quot;token key atrule&quot;&gt;override:tags&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;---&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Even though normally the &lt;code&gt;posts/firstpost.md&lt;/code&gt; file would inherit the &lt;code&gt;posts&lt;/code&gt; tag from the directory data file (per normal &lt;a href=&quot;https://www.11ty.dev/docs/data/&quot;&gt;data cascade rules&lt;/a&gt;), we can override the &lt;code&gt;tags&lt;/code&gt; value to be an empty array to opt-out of Array merge behavior.&lt;/p&gt;
&lt;h2 id=&quot;from-the-community&quot;&gt;From the Community&lt;/h2&gt;
&lt;div class=&quot;sites-vert&quot;&gt;
  &lt;div class=&quot;lo-grid&quot;&gt;
&lt;div class=&quot;sites-site-vert&quot; data-filter-tags=&quot;&quot;&gt;
  &lt;a href=&quot;https://benmyers.dev/blog/eleventy-data-cascade/&quot; class=&quot;elv-externalexempt&quot; title=&quot;I Finally Understand Eleventy’s Data Cascade&quot;&gt;
    &lt;span class=&quot;sites-site-name&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fbenmyers.dev%2Fblog%2Feleventy-data-cascade%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fbenmyers.dev%2Fblog%2Feleventy-data-cascade%2F&quot; class=&quot;avatar avatar-indieweb avatar-large&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;I Finally Understand Eleventy’s Data Cascade&lt;/span&gt;
    &lt;div class=&quot;sites-screenshot-container&quot;&gt;&lt;img alt=&quot;https-benmyers-dev-blog-eleventy-data-cascade&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; class=&quot;sites-screenshot&quot; src=&quot;https://screenshot.11ty.app/https%3A%2F%2Fbenmyers.dev%2Fblog%2Feleventy-data-cascade%2F/small/1:1/&quot; width=&quot;375&quot; height=&quot;375&quot;&gt;&lt;/div&gt;
  &lt;/a&gt;
&lt;ul class=&quot;inlinelist inlinelist-sm&quot;&gt;
&lt;/ul&gt;
&lt;/div&gt;
    &lt;div class=&quot;lo-c-center&quot;&gt;
      +&amp;#160;&lt;a href=&quot;https://github.com/11ty/11ty-website/tree/main/src/_data/community/&quot; class=&quot;elv-externalexempt nowrap&quot;&gt;Add yours!&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;×49 resources via &lt;strong&gt;&lt;a href=&quot;https://11tybundle.dev/&quot;&gt;11tybundle.dev&lt;/a&gt;&lt;/strong&gt; curated by &lt;a href=&quot;https://www.bobmonsour.com/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.bobmonsour.com%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.bobmonsour.com%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Bob Monsour&lt;/a&gt;.&lt;/p&gt;
&lt;ul class=&quot;list-bare&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;https://tlohde.com/blog/2025/09/exhibitionism/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Ftlohde.com%2Fblog%2F2025%2F09%2Fexhibitionism%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Ftlohde.com%2Fblog%2F2025%2F09%2Fexhibitionism%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;exhibitionism&lt;/a&gt; — &lt;em&gt;tlohde (2025)&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://joshtronic.com/2025/07/20/last-modified-date-eleventy/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fjoshtronic.com%2F2025%2F07%2F20%2Flast-modified-date-eleventy%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fjoshtronic.com%2F2025%2F07%2F20%2Flast-modified-date-eleventy%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Last modified date of Eleventy posts&lt;/a&gt; — &lt;em&gt;Josh Sherman (2025)&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://madbaker.com/blog/data-vs-collections-in-eleventy/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fmadbaker.com%2Fblog%2Fdata-vs-collections-in-eleventy%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fmadbaker.com%2Fblog%2Fdata-vs-collections-in-eleventy%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Data vs. Collections in Eleventy&lt;/a&gt; — &lt;em&gt;Mark Dyck (2025)&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://tfedder.de/blog/freemarker-and-python-page-templates-in-11ty/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Ftfedder.de%2Fblog%2Ffreemarker-and-python-page-templates-in-11ty%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Ftfedder.de%2Fblog%2Ffreemarker-and-python-page-templates-in-11ty%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Rendering FreeMarker and Python page templates with 11ty&lt;/a&gt; — &lt;em&gt;Tobias Fedder (2025)&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://httpster.io/article/generating-content-driven-css-with-eleventy/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fhttpster.io%2Farticle%2Fgenerating-content-driven-css-with-eleventy%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fhttpster.io%2Farticle%2Fgenerating-content-driven-css-with-eleventy%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Generating content driven CSS with Eleventy&lt;/a&gt; — &lt;em&gt;Sami (2025)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;details&gt;
	&lt;summary&gt;&lt;strong&gt;&lt;em&gt;Expand to see 44 more resources.&lt;/em&gt;&lt;/strong&gt;&lt;/summary&gt;
	&lt;ul class=&quot;list-bare&quot;&gt;
		&lt;li&gt;&lt;a href=&quot;https://damianwalsh.co.uk/posts/creating-connections-with-music-and-technology/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fdamianwalsh.co.uk%2Fposts%2Fcreating-connections-with-music-and-technology%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fdamianwalsh.co.uk%2Fposts%2Fcreating-connections-with-music-and-technology%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Building a personal digital music library with Eleventy and APIs&lt;/a&gt; — &lt;em&gt;Damian Walsh (2025)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.alwaystwisted.com/articles/random-content-using-eleventy&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.alwaystwisted.com%2Farticles%2Frandom-content-using-eleventy/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.alwaystwisted.com%2Farticles%2Frandom-content-using-eleventy&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Adding Random Content Using Eleventy&lt;/a&gt; — &lt;em&gt;Stu Robson (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.coryd.dev/posts/2024/heres-how-this-is-all-put-together&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.coryd.dev%2Fposts%2F2024%2Fheres-how-this-is-all-put-together/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.coryd.dev%2Fposts%2F2024%2Fheres-how-this-is-all-put-together&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Here&#39;s how this is all put together&lt;/a&gt; — &lt;em&gt;Cory Dransfeldt (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://rknight.me/blog/adding-cooklang-support-to-eleventy-two-ways/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Frknight.me%2Fblog%2Fadding-cooklang-support-to-eleventy-two-ways%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Frknight.me%2Fblog%2Fadding-cooklang-support-to-eleventy-two-ways%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Adding Cooklang Support to Eleventy Three Ways&lt;/a&gt; — &lt;em&gt;Robb Knight (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://blog.sebin-nyshkim.net/posts/building-a-blog-with-eleventy-blind-any/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fblog.sebin-nyshkim.net%2Fposts%2Fbuilding-a-blog-with-eleventy-blind-any%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fblog.sebin-nyshkim.net%2Fposts%2Fbuilding-a-blog-with-eleventy-blind-any%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Building a Blog with Eleventy (blind, any%)&lt;/a&gt; — &lt;em&gt;Sebin Nyshkim (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://melanie-richards.com/blog/new-reading-page/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fmelanie-richards.com%2Fblog%2Fnew-reading-page%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fmelanie-richards.com%2Fblog%2Fnew-reading-page%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;New Reading page, powered by the Airtable API&lt;/a&gt; — &lt;em&gt;Melanie Richards (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.roboleary.net/blog/eleventy-csv&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.roboleary.net%2Fblog%2Feleventy-csv/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.roboleary.net%2Fblog%2Feleventy-csv&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Eleventy - Add CSV data file support&lt;/a&gt; — &lt;em&gt;Rob O&amp;#39;Leary (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://claytonerrington.com/blog/umami-api-top-10-pages/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fclaytonerrington.com%2Fblog%2Fumami-api-top-10-pages%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fclaytonerrington.com%2Fblog%2Fumami-api-top-10-pages%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Umami API Top 10 Pages&lt;/a&gt; — &lt;em&gt;Clayton Errington (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.coryd.dev/posts/2024/building-pages-from-data-in-eleventy/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.coryd.dev%2Fposts%2F2024%2Fbuilding-pages-from-data-in-eleventy%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.coryd.dev%2Fposts%2F2024%2Fbuilding-pages-from-data-in-eleventy%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Building pages from data in Eleventy&lt;/a&gt; — &lt;em&gt;Cory Dransfeldt (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://johnwargo.com/posts/2024/eleventy-navigation-set-url/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fjohnwargo.com%2Fposts%2F2024%2Feleventy-navigation-set-url%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fjohnwargo.com%2Fposts%2F2024%2Feleventy-navigation-set-url%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Eleventy Navigation Set URL to First Item in Collection&lt;/a&gt; — &lt;em&gt;John M. Wargo (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://wonderfulfrog.com/posts/version-3/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwonderfulfrog.com%2Fposts%2Fversion-3%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwonderfulfrog.com%2Fposts%2Fversion-3%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Version 3&lt;/a&gt; — &lt;em&gt;Devin Haska (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.coryd.dev/posts/2024/using-b2-as-a-json-data-store/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.coryd.dev%2Fposts%2F2024%2Fusing-b2-as-a-json-data-store%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.coryd.dev%2Fposts%2F2024%2Fusing-b2-as-a-json-data-store%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Using B2 as a JSON data store&lt;/a&gt; — &lt;em&gt;Cory Dransfeldt (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.roboleary.net/2024/02/15/eleventy-favicon-modes.html&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.roboleary.net%2F2024%2F02%2F15%2Feleventy-favicon-modes.html/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.roboleary.net%2F2024%2F02%2F15%2Feleventy-favicon-modes.html&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Eleventy - Differentiate between dev and production builds with unique favicons&lt;/a&gt; — &lt;em&gt;Rob O&amp;#39;Leary (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://hamatti.org/posts/community-websites-with-eleventy/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fhamatti.org%2Fposts%2Fcommunity-websites-with-eleventy%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fhamatti.org%2Fposts%2Fcommunity-websites-with-eleventy%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Community websites with Eleventy&lt;/a&gt; — &lt;em&gt;Juha-Matti Santala (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://rknight.me/blog/creating-an-opml-file-for-my-blogroll/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Frknight.me%2Fblog%2Fcreating-an-opml-file-for-my-blogroll%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Frknight.me%2Fblog%2Fcreating-an-opml-file-for-my-blogroll%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Creating an OPML File for my Blogroll&lt;/a&gt; — &lt;em&gt;Robb Knight (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://antonio.is/2024/02/21/learning-new-tricks/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fantonio.is%2F2024%2F02%2F21%2Flearning-new-tricks%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fantonio.is%2F2024%2F02%2F21%2Flearning-new-tricks%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Learning New Tricks&lt;/a&gt; — &lt;em&gt;Antonio Rodrigues (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.martingunnarsson.com/posts/right-here-right-now/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.martingunnarsson.com%2Fposts%2Fright-here-right-now%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.martingunnarsson.com%2Fposts%2Fright-here-right-now%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Right here, right now&lt;/a&gt; — &lt;em&gt;Martin Gunnarsson (2024)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://jamesdoc.com/blog/2023/git-changelog-in-11ty/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fjamesdoc.com%2Fblog%2F2023%2Fgit-changelog-in-11ty%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fjamesdoc.com%2Fblog%2F2023%2Fgit-changelog-in-11ty%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Adding a git based changelog in 11ty&lt;/a&gt; — &lt;em&gt;James Doc (2023)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.coryd.dev/posts/2023/programmatically-importing-your-lastfm-listening-data-to-listenbrainz/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.coryd.dev%2Fposts%2F2023%2Fprogrammatically-importing-your-lastfm-listening-data-to-listenbrainz%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.coryd.dev%2Fposts%2F2023%2Fprogrammatically-importing-your-lastfm-listening-data-to-listenbrainz%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Programmatically importing your Last.fm listening data to ListenBrainz&lt;/a&gt; — &lt;em&gt;Cory Dransfeldt (2023)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://rknight.me/popular-pages-with-eleventy-and-fathom-analytics/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Frknight.me%2Fpopular-pages-with-eleventy-and-fathom-analytics%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Frknight.me%2Fpopular-pages-with-eleventy-and-fathom-analytics%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Popular Pages with Eleventy and Fathom Analytics&lt;/a&gt; — &lt;em&gt;Robb Knight (2023)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.bobmonsour.com/posts/scratch-that-use-google-sheets-api/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.bobmonsour.com%2Fposts%2Fscratch-that-use-google-sheets-api%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.bobmonsour.com%2Fposts%2Fscratch-that-use-google-sheets-api%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Scratch that...use the Google Sheets API&lt;/a&gt; — &lt;em&gt;Bob Monsour (2023)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://benmyers.dev/blog/eleventy-blogroll/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fbenmyers.dev%2Fblog%2Feleventy-blogroll%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fbenmyers.dev%2Fblog%2Feleventy-blogroll%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Build a Blogroll with Eleventy&lt;/a&gt; — &lt;em&gt;Ben Myers (2023)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://illtron.net/2023/01/11ty-directory-data-filters/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Filltron.net%2F2023%2F01%2F11ty-directory-data-filters%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Filltron.net%2F2023%2F01%2F11ty-directory-data-filters%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Using Eleventy filters in Directory Computed Data&lt;/a&gt; — &lt;em&gt;Chris Coleman (2023)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://danburzo.ro/eleventy-relational-data/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fdanburzo.ro%2Feleventy-relational-data%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fdanburzo.ro%2Feleventy-relational-data%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Relational data in Eleventy&lt;/a&gt; — &lt;em&gt;Dan Burzo (2022)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.alpower.com/tutorials/access-eleventy-post-content-in-listing/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.alpower.com%2Ftutorials%2Faccess-eleventy-post-content-in-listing%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.alpower.com%2Ftutorials%2Faccess-eleventy-post-content-in-listing%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;How to access post content in template listing files&lt;/a&gt; — &lt;em&gt;Al Power (2022)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.raymondcamden.com/2022/06/26/testing-the-netlify-cache-plugin-with-eleventy&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.raymondcamden.com%2F2022%2F06%2F26%2Ftesting-the-netlify-cache-plugin-with-eleventy/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.raymondcamden.com%2F2022%2F06%2F26%2Ftesting-the-netlify-cache-plugin-with-eleventy&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Testing the Netlify Cache Plugin with Eleventy&lt;/a&gt; — &lt;em&gt;Raymond Camden (2022)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Nv5i_nuZOqw&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DNv5i_nuZOqw/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DNv5i_nuZOqw&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Journey to the Center of the Eleventy Data Cascade with Ben Myers&lt;/a&gt; — &lt;em&gt;Ben Myers (2022)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://davidea.st/articles/11ty-tips-i-wish-i-knew-from-the-start/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fdavidea.st%2Farticles%2F11ty-tips-i-wish-i-knew-from-the-start%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fdavidea.st%2Farticles%2F11ty-tips-i-wish-i-knew-from-the-start%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;11ty tips I wish I knew from the start&lt;/a&gt; — &lt;em&gt;David East (2022)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.cassey.dev/posts/2021-11-17-switching-data-file-with-env-11ty/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.cassey.dev%2Fposts%2F2021-11-17-switching-data-file-with-env-11ty%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.cassey.dev%2Fposts%2F2021-11-17-switching-data-file-with-env-11ty%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Dynamically choosing a data file to use in Eleventy templates&lt;/a&gt; — &lt;em&gt;Cassey Lottman (2021)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://anhvn.com/posts/2021/2021-09-21-media-diary-eleventy/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fanhvn.com%2Fposts%2F2021%2F2021-09-21-media-diary-eleventy%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fanhvn.com%2Fposts%2F2021%2F2021-09-21-media-diary-eleventy%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Media Diary with Eleventy&lt;/a&gt; — &lt;em&gt;anh (2021)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://joshcrain.io/notes/2021/eleventy-garmin-connect/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fjoshcrain.io%2Fnotes%2F2021%2Feleventy-garmin-connect%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fjoshcrain.io%2Fnotes%2F2021%2Feleventy-garmin-connect%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;A Running Log - Garmin Connect and Eleventy&lt;/a&gt; — &lt;em&gt;Josh Crain (2021)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://multiline.co/mment/2021/07/building-notification-thingamajig-eleventy-data/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fmultiline.co%2Fmment%2F2021%2F07%2Fbuilding-notification-thingamajig-eleventy-data%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fmultiline.co%2Fmment%2F2021%2F07%2Fbuilding-notification-thingamajig-eleventy-data%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Building a notification thingamajig with Eleventy data&lt;/a&gt; — &lt;em&gt;Ashur Cabrera (2021)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://blog.kaan.fyi/stop-forgetting-the-eleventy-data-cascade&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fblog.kaan.fyi%2Fstop-forgetting-the-eleventy-data-cascade/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fblog.kaan.fyi%2Fstop-forgetting-the-eleventy-data-cascade&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Stop forgetting the Eleventy Data Cascade&lt;/a&gt; — &lt;em&gt;Kaan Divringi (2021)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://florian.ec/blog/eleventy-data-pages/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fflorian.ec%2Fblog%2Feleventy-data-pages%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fflorian.ec%2Fblog%2Feleventy-data-pages%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Creating pages from data with Eleventy&lt;/a&gt; — &lt;em&gt;Florian Eckerstorfer (2021)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://benmyers.dev/blog/eleventy-data-cascade/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fbenmyers.dev%2Fblog%2Feleventy-data-cascade%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fbenmyers.dev%2Fblog%2Feleventy-data-cascade%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;I Finally Understand Eleventy&#39;s Data Cascade&lt;/a&gt; — &lt;em&gt;Ben Myers (2021)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://11ty.rocks/tips/site-metadata/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2F11ty.rocks%2Ftips%2Fsite-metadata%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2F11ty.rocks%2Ftips%2Fsite-metadata%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Site Metadata&lt;/a&gt; — &lt;em&gt;Stephanie Eckles (2021)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://11ty.rocks/posts/using-template-content-as-data/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2F11ty.rocks%2Fposts%2Fusing-template-content-as-data%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2F11ty.rocks%2Fposts%2Fusing-template-content-as-data%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Using Template Content as Data for 11ty&lt;/a&gt; — &lt;em&gt;Stephanie Eckles (2021)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.maxkohler.com/posts/eleventy-csv/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.maxkohler.com%2Fposts%2Feleventy-csv%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.maxkohler.com%2Fposts%2Feleventy-csv%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;How to use CSV data with Eleventy&lt;/a&gt; — &lt;em&gt;Max Kohler (2021)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.maxivanov.io/add-structured-data-to-eleventy-blog/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.maxivanov.io%2Fadd-structured-data-to-eleventy-blog%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.maxivanov.io%2Fadd-structured-data-to-eleventy-blog%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Add structured data annotations to Eleventy blog&lt;/a&gt; — &lt;em&gt;Max Ivanov (2020)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.madebymike.com.au/writing/11ty-filters-data-shortcodes/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.madebymike.com.au%2Fwriting%2F11ty-filters-data-shortcodes%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.madebymike.com.au%2Fwriting%2F11ty-filters-data-shortcodes%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Understanding Filters, Shortcodes and Data in 11ty&lt;/a&gt; — &lt;em&gt;Mike (2020)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://www.falldowngoboone.com/blog/composing-data-in-eleventy/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.falldowngoboone.com%2Fblog%2Fcomposing-data-in-eleventy%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fwww.falldowngoboone.com%2Fblog%2Fcomposing-data-in-eleventy%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Composing data in Eleventy&lt;/a&gt; — &lt;em&gt;Ryan Boone (2020)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://danabyerly.com/notes/using-eleventy-data-files-for-frequently-used-links/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fdanabyerly.com%2Fnotes%2Fusing-eleventy-data-files-for-frequently-used-links%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fdanabyerly.com%2Fnotes%2Fusing-eleventy-data-files-for-frequently-used-links%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Using Eleventy data files for frequently used links&lt;/a&gt; — &lt;em&gt;Dana Byerly (2020)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://sia.codes/posts/architecting-data-in-eleventy/&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fsia.codes%2Fposts%2Farchitecting-data-in-eleventy%2F/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fsia.codes%2Fposts%2Farchitecting-data-in-eleventy%2F&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Architecting data in Eleventy&lt;/a&gt; — &lt;em&gt;Sia Karamalegos (2020)&lt;/em&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href=&quot;https://khalidabuhakmeh.com/five-critical-things-before-working-with-11ty&quot;&gt;&lt;img src=&quot;https://v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fkhalidabuhakmeh.com%2Ffive-critical-things-before-working-with-11ty/&quot; width=&quot;60&quot; height=&quot;60&quot; alt=&quot;Favicon for v1.indieweb-avatar.11ty.dev/https%3A%2F%2Fkhalidabuhakmeh.com%2Ffive-critical-things-before-working-with-11ty&quot; class=&quot;avatar avatar-indieweb&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;Five Critical Things To Do Before Working With 11ty&lt;/a&gt; — &lt;em&gt;Khalid Abuhakmeh (2020)&lt;/em&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/details&gt;
</content>
  </entry>
  <entry>
    <title>Watch and Serve</title>
    <link href="https://www.11ty.dev/docs/watch-serve/" />
    <updated>2025-10-23T21:39:30Z</updated>
    <id>https://www.11ty.dev/docs/watch-serve/</id>
    <content type="html">&lt;h1 id=&quot;development-servers&quot;&gt;Development Servers&lt;/h1&gt;
&lt;details class=&quot;toc&quot;&gt;
&lt;summary&gt;On this page&lt;/summary&gt;
&lt;div class=&quot;table-of-contents&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#eleventy-dev-server&quot;&gt;Eleventy Dev Server &lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#add-your-own-watch-targets&quot;&gt;Add Your Own Watch Targets&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#reset-configuration&quot;&gt;Reset configuration &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#ignore-watching-files&quot;&gt;Ignore Watching Files&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#gitignore&quot;&gt;.gitignore&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#configuration-api&quot;&gt;Configuration API &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#watch-java-script-dependencies&quot;&gt;Watch JavaScript Dependencies&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#add-delay-before-re-running&quot;&gt;Add delay before re-running&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#advanced-chokidar-configuration&quot;&gt;Advanced chokidar Configuration&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
&lt;/details&gt;
&lt;div id=&quot;browsersync&quot;&gt;&lt;/div&gt;
&lt;div id=&quot;swap-back-to-browsersync&quot;&gt;&lt;/div&gt;
&lt;p&gt;Running Eleventy with &lt;a href=&quot;https://www.11ty.dev/docs/usage/#re-run-eleventy-when-you-save&quot;&gt;&lt;code&gt;--serve&lt;/code&gt;&lt;/a&gt; starts a hot reloading local development server for you.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/dev-server/&quot;&gt;Eleventy Dev Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/server-browsersync/&quot;&gt;Browsersync&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.11ty.dev/docs/server-vite/&quot;&gt;Vite&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;A development server is optional! Using &lt;a href=&quot;https://www.11ty.dev/docs/usage/#re-run-eleventy-when-you-save&quot;&gt;&lt;code&gt;--watch&lt;/code&gt;&lt;/a&gt; will run Eleventy (and re-run when you save your files) without a server.&lt;/p&gt;
&lt;h2 id=&quot;eleventy-dev-server&quot;&gt;Eleventy Dev Server &lt;span data-pagefind-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;2.0.0&quot;&gt;Added in v2.0.0&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Eleventy bundles its own &lt;a href=&quot;https://www.11ty.dev/docs/dev-server/&quot;&gt;dedicated Development Server&lt;/a&gt;. In versions prior to v2, we used &lt;a href=&quot;https://www.11ty.dev/docs/server-browsersync/&quot;&gt;Browsersync, which you can still use with Eleventy if you’d like&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;add-your-own-watch-targets&quot;&gt;Add Your Own Watch Targets&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;addWatchTarget&lt;/code&gt; config method allows you to manually add a file or directory for Eleventy to watch. When the file or the files in this directory change Eleventy will trigger a build. This is useful if Eleventy is not directly aware of any external file dependencies.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-142-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-142-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-142-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-608&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-608&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addWatchTarget&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;./src/scss/&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-142-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-609&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-609&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addWatchTarget&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;./src/scss/&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;&lt;strong&gt;Advanced usage note:&lt;/strong&gt; This works with &lt;a href=&quot;https://github.com/paulmillr/chokidar#api&quot;&gt;&lt;code&gt;chokidar&lt;/code&gt; under the hood&lt;/a&gt; and chokidar uses &lt;a href=&quot;https://github.com/micromatch/picomatch&quot;&gt;&lt;code&gt;picomatch&lt;/code&gt; for globbing&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Both &lt;code&gt;**/*.(png|jpeg)&lt;/code&gt; and &lt;code&gt;**/*.{png,jpeg}&lt;/code&gt; are valid globs to matches any &lt;code&gt;png&lt;/code&gt; or &lt;code&gt;jpeg&lt;/code&gt; file in your project.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;reset-configuration&quot;&gt;Reset configuration &lt;span data-pagefind-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0&quot;&gt;Added in v3.0.0&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;We do automatically look for dependencies in your configuration file based on JavaScript &lt;code&gt;require&lt;/code&gt; or &lt;code&gt;import&lt;/code&gt;—watch targets not included in that dependency graph will not reset or re-run your configuration automatically.&lt;/p&gt;
&lt;p&gt;To reset your configuration for a specific watch target, use the &lt;code&gt;resetConfig&lt;/code&gt; option.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-143-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-143-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-143-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-610&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-610&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// You probably don’t need this&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addWatchTarget&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;./_config/**&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;resetConfig&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-143-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-611&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-611&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// You probably don’t need this&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addWatchTarget&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;./_config/**&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;resetConfig&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h2 id=&quot;ignore-watching-files&quot;&gt;Ignore Watching Files&lt;/h2&gt;
&lt;h3 id=&quot;gitignore&quot;&gt;&lt;code&gt;.gitignore&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;Eleventy will ignore changes to files or folders listed in your &lt;code&gt;.gitignore&lt;/code&gt; file by default, &lt;a href=&quot;https://www.11ty.dev/docs/ignores/#opt-out-of-using-gitignore&quot;&gt;unless &lt;code&gt;setUseGitIgnore&lt;/code&gt; is turned off&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;configuration-api&quot;&gt;Configuration API &lt;span data-pagefind-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;2.0.0-canary.18&quot;&gt;Added in v2.0.0&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Previously, &lt;a href=&quot;https://www.11ty.dev/docs/ignores/#configuration-api&quot;&gt;the configuration API ignores for template processing&lt;/a&gt; were also used as ignores for watching (e.g. &lt;code&gt;eleventyConfig.ignores.add(&amp;quot;README.md&amp;quot;)&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;New in v2.0.0, watch target ignores now have their own dedicated API:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-144-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-144-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-144-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-612&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-612&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Do not rebuild when README.md changes (You can use a glob here too)&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;watchIgnores&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;README.md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Or delete entries too&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;watchIgnores&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;README.md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-144-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-613&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-613&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Do not rebuild when README.md changes (You can use a glob here too)&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;watchIgnores&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;README.md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Or delete entries too&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;watchIgnores&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;delete&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;README.md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;p&gt;The &lt;code&gt;watchIgnores&lt;/code&gt; Set starts with a default &lt;code&gt;**/node_modules/**&lt;/code&gt; entry.&lt;/p&gt;
&lt;h2 id=&quot;watch-java-script-dependencies&quot;&gt;Watch JavaScript Dependencies&lt;/h2&gt;
&lt;p&gt;When in &lt;code&gt;--watch&lt;/code&gt; mode, Eleventy will spider the dependencies of your &lt;a href=&quot;https://www.11ty.dev/docs/languages/javascript/&quot;&gt;JavaScript Templates&lt;/a&gt; (&lt;code&gt;.11ty.js&lt;/code&gt;), &lt;a href=&quot;https://www.11ty.dev/docs/data-js/&quot;&gt;JavaScript Data Files&lt;/a&gt; (&lt;code&gt;.11tydata.js&lt;/code&gt; or &lt;code&gt;_data/**/*.js&lt;/code&gt;), or Configuration File (usually &lt;code&gt;eleventy.config.js&lt;/code&gt;) to watch those files too. Files in &lt;code&gt;node_modules&lt;/code&gt; directories are ignored. This feature is &lt;em&gt;enabled by default&lt;/em&gt;.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-145-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-145-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-145-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-614&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-614&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Enabled by default&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setWatchJavaScriptDependencies&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-145-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-615&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-615&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Enabled by default&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setWatchJavaScriptDependencies&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token boolean&quot;&gt;false&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h2 id=&quot;add-delay-before-re-running&quot;&gt;Add delay before re-running&lt;/h2&gt;
&lt;p&gt;A hardcoded amount of time Eleventy will wait before triggering a new build when files have changes during &lt;code&gt;--watch&lt;/code&gt; or &lt;code&gt;--serve&lt;/code&gt; modes. You probably won’t need this, but is useful in some edge cases with other task runners (Gulp, Grunt, etc).&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-146-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-146-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-146-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-616&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-616&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// default is 0&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setWatchThrottleWaitTime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// in milliseconds&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-146-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-617&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-617&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// default is 0&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setWatchThrottleWaitTime&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token number&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;token comment&quot;&gt;// in milliseconds&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h2 id=&quot;advanced-chokidar-configuration&quot;&gt;Advanced &lt;code&gt;chokidar&lt;/code&gt; Configuration&lt;/h2&gt;
&lt;p&gt;Advanced &lt;a href=&quot;https://github.com/paulmillr/chokidar&quot;&gt;&lt;code&gt;chokidar&lt;/code&gt; options&lt;/a&gt; can be defined using the &lt;code&gt;setChokidarConfig&lt;/code&gt; configuration API method:&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-147-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/watch-serve/#tab-id-147-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-147-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-618&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-618&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setChokidarConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;usePolling&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-147-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-619&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-619&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;setChokidarConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;usePolling&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token boolean&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
		&lt;span class=&quot;token literal-property property&quot;&gt;interval&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;500&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;div class=&quot;elv-callout elv-callout-warn&quot;&gt;&lt;div class=&quot;elv-callout-label&quot;&gt;WARNING:&lt;/div&gt;&lt;div class=&quot;elv-callout-c&quot;&gt;If you’re using &lt;a href=&quot;https://learn.microsoft.com/en-us/windows/wsl/&quot;&gt;Windows Subsystem for Linux (WSL)&lt;/a&gt; and your project exists &lt;em&gt;outside&lt;/em&gt; of your home directory (&lt;code&gt;~&lt;/code&gt;), you will likely want to use the &lt;code&gt;usePolling&lt;/code&gt; feature to ensure watching works correctly. This is a WSL limitation.&lt;/div&gt;&lt;/div&gt;
</content>
  </entry>
  <entry>
    <title>Virtual Templates</title>
    <link href="https://www.11ty.dev/docs/virtual-templates/" />
    <updated>2025-10-23T21:39:30Z</updated>
    <id>https://www.11ty.dev/docs/virtual-templates/</id>
    <content type="html">&lt;h1 id=&quot;virtual-templates&quot;&gt;Virtual Templates &lt;span data-pagefind-ignore=&quot;&quot; class=&quot;minilink minilink-addedin&quot; data-uncoerced-version=&quot;3.0.0-alpha.15&quot;&gt;Added in v3.0.0&lt;/span&gt;&lt;/h1&gt;
&lt;p&gt;In addition to template files in your input directory, Eleventy can also process virtual templates defined in your configuration file (or plugins). Related &lt;a href=&quot;https://github.com/11ty/eleventy/issues/1612&quot;&gt;GitHub #1612&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://www.11ty.dev/docs/plugins/rss/#virtual-template&quot;&gt;RSS plugin offers a virtual template&lt;/a&gt; to add feeds to your project.&lt;/p&gt;
&lt;h2 id=&quot;api&quot;&gt;API&lt;/h2&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addTemplate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;virtualPath&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; content&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; data &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;virtualPath&lt;/code&gt;: used to determine the template language and data cascade for this template. This path is relative to your project’s input directory.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;content&lt;/code&gt;: usually a string, but maybe JavaScript (if using an &lt;code&gt;11ty.js&lt;/code&gt; template). Can include front matter if the template language supports it.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;data&lt;/code&gt;: a data object tied to the template. A little more ergonomic than front matter but functionally the same.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;example&quot;&gt;Example&lt;/h2&gt;
&lt;h3 id=&quot;markdown-html-via-liquid-layout&quot;&gt;Markdown, HTML (via Liquid) Layout&lt;/h3&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/virtual-templates/#tab-id-148-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/virtual-templates/#tab-id-148-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-148-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-620&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-620&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Create content templates Files&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addTemplate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;virtual.md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;# Hello&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        	&lt;span class=&quot;token literal-property property&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;virtual.html&quot;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Works great with Layouts too&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addTemplate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;_includes/virtual.html&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;lt;!-- Layout --&gt;{{ content }}&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-148-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-621&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-621&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Create content templates Files&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addTemplate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;virtual.md&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;# Hello&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
        	&lt;span class=&quot;token literal-property property&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;virtual.html&quot;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;

	&lt;span class=&quot;token comment&quot;&gt;// Works great with Layouts too&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addTemplate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;_includes/virtual.html&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;lt;!-- Layout --&gt;{{ content }}&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
&lt;h3 id=&quot;java-script&quot;&gt;JavaScript&lt;/h3&gt;
&lt;p&gt;Any of the JavaScript shapes on &lt;a href=&quot;https://www.11ty.dev/docs/languages/javascript/&quot;&gt;&lt;code&gt;11ty.js&lt;/code&gt; templates&lt;/a&gt; are also supported here.&lt;/p&gt;
&lt;div class=&quot;codetitle codetitle-right-md&quot;&gt;eleventy.config.js&lt;/div&gt;
&lt;is-land on:visible=&quot;&quot; import=&quot;/js/seven-minute-tabs.js&quot;&gt;
&lt;seven-minute-tabs class=&quot;tabs-flush&quot; persist=&quot;&quot; sync=&quot;&quot;&gt;
&lt;div role=&quot;tablist&quot; aria-label=&quot;Template Language Chooser&quot;&gt;
	&lt;a href=&quot;https://www.11ty.dev/docs/virtual-templates/#tab-id-149-jsesm&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jsesm&quot;&gt;ESM&lt;/a&gt;
&lt;a href=&quot;https://www.11ty.dev/docs/virtual-templates/#tab-id-149-jscjs&quot; role=&quot;tab&quot; data-tabs-persist=&quot;templatelang:jscjs&quot;&gt;CommonJS&lt;/a&gt;
&lt;/div&gt;
  &lt;div id=&quot;tab-id-149-jsesm&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-622&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-622&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;default&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Create content templates Files&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addTemplate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;virtual.11ty.js&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;lt;h1&gt;Hello&amp;lt;/h1&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div id=&quot;tab-id-149-jscjs&quot; role=&quot;tabpanel&quot;&gt;&lt;div class=&quot;syntax-highlight&quot;&gt;&lt;is-land on:visible=&quot;&quot; data-wa-copy-button-target=&quot;highlighted-source-623&quot;&gt;
&lt;wa-copy-button from=&quot;highlighted-source-623&quot; tooltip-placement=&quot;left&quot;&gt;&lt;/wa-copy-button&gt;
&lt;template data-island=&quot;once&quot;&gt;&lt;script type=&quot;module&quot; src=&quot;https://www.11ty.dev/js/copy-button.js&quot;&gt;&lt;/script&gt;&lt;/template&gt;
&lt;/is-land&gt;
&lt;pre class=&quot;language-js&quot; tabindex=&quot;0&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;token comment&quot;&gt;// Create content templates Files&lt;/span&gt;
	eleventyConfig&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function&quot;&gt;addTemplate&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&quot;virtual.11ty.js&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;token parameter&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token template-string&quot;&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;token string&quot;&gt;&amp;lt;h1&gt;Hello&amp;lt;/h1&gt;&lt;/span&gt;&lt;span class=&quot;token template-punctuation string&quot;&gt;`&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
  &lt;/div&gt;
&lt;/seven-minute-tabs&gt;
&lt;/is-land&gt;
</content>
  </entry>
</feed>