├── .nvmrc ├── test ├── noop │ └── .gitkeep ├── noop2 │ └── .gitkeep ├── stubs-1325 │ ├── test.js │ └── test.11ty.js ├── stubs │ ├── index.liquid │ ├── globby │ │ ├── test.html │ │ └── _includes │ │ │ └── include.html │ ├── img │ │ └── stub.md │ ├── public │ │ └── test.css │ ├── subdir │ │ ├── index.html │ │ └── img │ │ │ └── .gitkeep │ ├── template.liquid │ ├── _includes │ │ ├── multiple.md │ │ ├── default.liquid │ │ ├── multiple.liquid │ │ ├── layouts │ │ │ ├── inasubdir.njk │ │ │ ├── post.liquid │ │ │ ├── div-wrapper-layout.njk │ │ │ ├── templateMapCollection.njk │ │ │ ├── engineOverrides.njk │ │ │ ├── layout-inherit-a.njk │ │ │ ├── engineOverridesMd.njk │ │ │ ├── layout-contentdump.njk │ │ │ ├── layout-inherit-c.njk │ │ │ ├── layout-inherit-b.njk │ │ │ └── issue-115.liquid │ │ ├── included.nunj │ │ ├── included.html │ │ ├── included.njk │ │ ├── included-relative.njk │ │ ├── included.liquid │ │ ├── subfolder │ │ │ ├── included.nunj │ │ │ ├── included.html │ │ │ └── included.liquid │ │ ├── custom-filter.liquid │ │ ├── scopeleak.liquid │ │ ├── test.js │ │ ├── included-data.html │ │ ├── base.njk │ │ ├── mylocallayout.njk │ │ ├── imports.njk │ │ ├── permalink-in-layout │ │ │ ├── layout.liquid │ │ │ └── layout-fileslug.liquid │ │ ├── permalink-data-layout.njk │ │ ├── layoutLiquid.liquid │ │ ├── layout-a.liquid │ │ ├── layout-b.liquid │ │ ├── defaultLayout.liquid │ │ └── defaultLayoutLayoutContent.liquid │ ├── add-extension │ │ ├── test.njk │ │ └── test.txt │ ├── ignore5 │ │ ├── .gitignore │ │ └── ignoredFolder │ │ │ └── ignored.md │ ├── ignore6 │ │ ├── .gitignore │ │ ├── ignoredFolder │ │ │ └── ignored.md │ │ └── .eleventyignore │ ├── subfolder │ │ ├── index.html │ │ ├── subfolder.liquid │ │ └── subfolder │ │ │ └── subfolder.liquid │ ├── default-no-liquid.md │ ├── default.liquid │ ├── default.md │ ├── engine-singletons │ │ ├── first.njk │ │ └── second.njk │ ├── includesemptystring.liquid │ ├── layoutsemptystring.liquid │ ├── pagedate.njk │ ├── posts │ │ ├── post1.njk │ │ ├── posts.njk │ │ └── posts.json │ ├── writeTest │ │ └── test.md │ ├── _layouts │ │ └── layoutsdefault.liquid │ ├── collection │ │ ├── test7.njk │ │ ├── test6.html │ │ ├── test2.md │ │ ├── test4.md │ │ ├── test5.md │ │ ├── test3.md │ │ ├── test1.md │ │ ├── test8.md │ │ ├── test9.md │ │ └── test10.md │ ├── exitCode │ │ └── failure.njk │ ├── exitCode_globalData │ │ ├── test.liquid │ │ └── _data │ │ │ └── test.js │ ├── firstdir │ │ └── seconddir │ │ │ └── component.njk │ ├── issue-522 │ │ ├── template.md │ │ └── excluded.md │ ├── pagedate.liquid │ ├── template-passthrough │ │ ├── .htaccess │ │ ├── img.jpg │ │ ├── static │ │ │ ├── test.css │ │ │ ├── test.js │ │ │ └── nested │ │ │ │ └── test-nested.css │ │ └── src │ │ │ └── views │ │ │ └── avatar.png │ ├── template-passthrough2 │ │ ├── .htaccess │ │ ├── img.jpg │ │ ├── static │ │ │ ├── test.css │ │ │ ├── test.js │ │ │ └── nested │ │ │ │ └── test-nested.css │ │ └── src │ │ │ └── views │ │ │ └── avatar.png │ ├── cfg-directories-export │ │ ├── src │ │ │ └── .gitkeep │ │ └── eleventy.config.js │ ├── datafiledoesnotexist │ │ └── template.njk │ ├── cfg-directories-export-cjs │ │ ├── src │ │ │ └── .gitkeep │ │ └── eleventy.config.cjs │ ├── component │ │ ├── component.njk │ │ ├── component.json │ │ ├── component.11tydata.js │ │ ├── component.11tydata.cjs │ │ └── component.11tydata.json │ ├── exitCode_success │ │ └── success.njk │ ├── ignore2 │ │ ├── .gitignore │ │ └── ignoredFolder │ │ │ └── ignored.md │ ├── ignorelocalroot │ │ └── .eleventyignore │ ├── multiple-ignores │ │ ├── ignoredFolder │ │ │ └── ignored.md │ │ ├── subfolder │ │ │ ├── ignoredFolder2 │ │ │ │ └── ignored2.md │ │ │ └── .eleventyignore │ │ └── .eleventyignore │ ├── component-async │ │ ├── component.njk │ │ ├── component.11tydata.js │ │ └── component.11tydata.cjs │ ├── custom-extension-no-permalink.txt │ ├── ignorelocalrootgitignore │ │ ├── .eleventyignore │ │ └── .gitignore │ ├── included.liquid │ ├── pagedateutc.njk │ ├── deps │ │ ├── dep1.cjs │ │ └── dep2.cjs │ ├── includer.liquid │ ├── relative-liquid │ │ └── dir │ │ │ └── included.liquid │ ├── string.11ty.cjs │ ├── string.11ty.custom │ ├── template-passthrough-duplicates │ │ └── input │ │ │ ├── avatar.png │ │ │ └── src │ │ │ └── views │ │ │ └── avatar.png │ ├── collection-slug │ │ ├── dog1.njk │ │ └── template.njk │ ├── dependencies │ │ ├── dep1.cjs │ │ ├── dep2.cjs │ │ └── two-deps.11ty.cjs │ ├── ignore-dedupe │ │ └── .gitignore │ ├── ignoredFolder │ │ └── ignored.md │ ├── njk-relative │ │ └── dir │ │ │ ├── included.njk │ │ │ ├── unique-include-123.njk │ │ │ ├── base.njk │ │ │ └── imports.njk │ ├── permalink-data-layout │ │ ├── test.njk │ │ └── test.json │ ├── string.11ty.possum │ ├── templateLayoutCacheDuplicates │ │ └── _includes │ │ │ └── layout.njk │ ├── class-with-dep-upstream.js │ ├── collection-layout │ │ ├── dog1.liquid │ │ ├── template.liquid │ │ └── _includes │ │ │ └── layout.liquid │ ├── config-deps-upstream.cjs │ ├── dates │ │ ├── 2019-01-01-folder │ │ │ └── 2020-01-01-file.md │ │ ├── 2018-01-01-file5.md │ │ ├── file4.md │ │ ├── file2.md │ │ ├── file2b.md │ │ ├── file3.md │ │ └── file1.md │ ├── default-frontmatter.txt │ ├── ignore1 │ │ └── ignoredFolder │ │ │ └── ignored.md │ ├── ignore3 │ │ ├── ignoredFolder │ │ │ └── ignored.md │ │ └── .eleventyignore │ ├── ignore4 │ │ ├── ignoredFolder │ │ │ └── ignored.md │ │ └── .eleventyignore │ ├── prematureTemplateContent │ │ ├── test.njk │ │ ├── test.md │ │ ├── test.liquid │ │ └── test.11ty.cjs │ ├── stubs-virtual-conflict │ │ └── virtual.md │ ├── templateLayoutCacheDuplicates-b │ │ └── _includes │ │ │ └── layout.njk │ ├── writeTestJS │ │ ├── sample.cjs │ │ └── test.11ty.cjs │ ├── buffer.11ty.cjs │ ├── collection-template │ │ ├── dog1.liquid │ │ ├── _includes │ │ │ └── layout.liquid │ │ └── template.liquid │ ├── glob-pages │ │ ├── home.md │ │ ├── about.md │ │ └── contact.md │ ├── writeTestJS-passthrough │ │ ├── sample.js │ │ └── test.11ty.js │ ├── writeTestMarkdown │ │ ├── sample.md │ │ └── sample2.markdown │ ├── _data │ │ ├── testData.json │ │ ├── subdir │ │ │ └── testDataSubdir.json │ │ ├── globalData2.cjs │ │ ├── globalData.json │ │ ├── testDataLiquid.json │ │ ├── globalDataFn.js │ │ └── globalDataFnCJS.cjs │ ├── issue-95 │ │ ├── cat.md │ │ └── notacat.md │ ├── writeTestJS-casesensitive │ │ ├── sample.Js │ │ └── test.11Ty.js │ ├── formatTest.liquid │ ├── function-arrow.11ty.cjs │ ├── global-dash-variable.liquid │ ├── index.html │ ├── templateMapCollection │ │ ├── test2.md │ │ ├── test5.md │ │ ├── test1.md │ │ ├── test4.md │ │ ├── testWithLayout.md │ │ ├── templateContent.md │ │ ├── test3.md │ │ ├── paged-tag.md │ │ ├── paged-cfg.md │ │ ├── paged-cfg-tagged.md │ │ ├── paged-cfg-permalink.md │ │ ├── paged-cfg-tagged-apply-to-all.md │ │ ├── paged-tag-dogs-templateContent.md │ │ ├── paged-cfg-tagged-permalink.md │ │ ├── paged-tag-dogs-templateContent-alias.md │ │ └── paged-cfg-tagged-permalink-apply-to-all.md │ ├── custom-extension.txt │ ├── local-data-tags │ │ ├── component.11tydata.cjs │ │ └── component.njk │ ├── overrides │ │ ├── test-md.liquid │ │ ├── test.liquid │ │ ├── test-empty.md │ │ ├── test-njk.liquid │ │ ├── test.html │ │ ├── test-bypass.md │ │ ├── test-empty.html │ │ ├── test-error.njk │ │ ├── page-templatesyntax.md │ │ ├── test-multiple.md │ │ ├── test-multiple2.njk │ │ ├── test.md │ │ ├── layoutfalse.njk │ │ └── layout.njk │ ├── testing.html │ ├── .eleventyignore │ ├── custom-frontmatter │ │ ├── template-toml.njk │ │ ├── template-newline2.njk │ │ ├── template.njk │ │ ├── template-newline1.njk │ │ ├── template-newline3.njk │ │ ├── template-nonewline.njk │ │ └── template-excerpt-comment.njk │ ├── permalink-false │ │ └── test.md │ ├── object-norender.11ty.cjs │ ├── paged │ │ ├── collection │ │ │ ├── test1.njk │ │ │ ├── test2.njk │ │ │ ├── test3.njk │ │ │ ├── consumer.njk │ │ │ └── main.njk │ │ ├── collection-apply-to-all │ │ │ ├── test1.njk │ │ │ ├── test2.njk │ │ │ ├── test3.njk │ │ │ ├── consumer.njk │ │ │ └── main.njk │ │ ├── cfg-collection-tag-cfg-collection │ │ │ ├── test1.njk │ │ │ ├── test2.njk │ │ │ ├── test3.njk │ │ │ ├── consumer.njk │ │ │ ├── paged-downstream.njk │ │ │ └── paged-main.njk │ │ ├── paged.njk │ │ ├── paged-empty.njk │ │ ├── paged-empty-pageonemptydata.njk │ │ ├── pagedalias.njk │ │ ├── paged.json │ │ ├── notpaged.njk │ │ ├── pagedaliassize2.njk │ │ ├── pagedinlinedata.njk │ │ ├── pagedinlinedata-reverse.njk │ │ ├── pagedresolve.njk │ │ ├── pagedpermalinkif.liquid │ │ ├── pagedpermalinkif.njk │ │ ├── paged-before.njk │ │ ├── paged-before-and-reverse.njk │ │ ├── paged-before-filter.njk │ │ ├── pagedpermalink.njk │ │ ├── pagedpermalinknumeric.njk │ │ ├── pagedobject.njk │ │ ├── pagedpermalinknumericoneindexed.njk │ │ ├── paged-before-metadata.njk │ │ ├── pagedobjectfilterstring.njk │ │ ├── pagedobjectvalues.njk │ │ └── pagedobjectfilterarray.njk │ ├── pagination-templatecontent │ │ ├── post-1.md │ │ ├── post-2.md │ │ └── index.njk │ ├── dynamic-permalink │ │ └── test.njk │ ├── function-markdown.11ty.cjs │ ├── function.11ty.cjs │ ├── issue-115 │ │ ├── template-bars.liquid │ │ ├── template-foos.liquid │ │ ├── index-with-layout.liquid │ │ └── index.liquid │ ├── fileslug.11ty.cjs │ ├── frontmatter-date │ │ ├── test.njk │ │ └── test.liquid │ ├── permalink-true │ │ └── permalink-true.md │ ├── permalinked.liquid │ ├── cmd-help-processing │ │ └── _data │ │ │ └── test.js │ ├── collection2 │ │ ├── test2.md │ │ └── test1.md │ ├── layout-permalink-difflang │ │ ├── _includes │ │ │ └── test.njk │ │ └── test.md │ ├── config-promise.js │ ├── function-throws.11ty.cjs │ ├── permalink-in-layout.liquid │ ├── reuse-permalink │ │ ├── reuse-permalink.json │ │ └── test1.liquid │ ├── collection-layout-wrap.njk │ ├── default-export-and-others.11ty.js │ ├── function-buffer.11ty.cjs │ ├── permalinkdata-jsfn.njk │ ├── config-empty-pathprefix.cjs │ ├── eleventyComputed │ │ ├── override.njk │ │ ├── true.njk │ │ ├── first.njk │ │ ├── override-reuse.njk │ │ ├── permalink-simple.njk │ │ ├── permalink-slug.njk │ │ ├── use-global-data.njk │ │ ├── third.njk │ │ ├── second.njk │ │ └── permalink.njk │ ├── permalink-false-computed │ │ └── test.md │ ├── permalink-markdown.md │ ├── permalinkdata.njk │ ├── templateFrontMatter.liquid │ ├── function-async-filter.11ty.cjs │ ├── function-throws-async.11ty.cjs │ ├── permalink-in-layout-fileslug.liquid │ ├── stubs-1541 │ │ └── _includes │ │ │ └── render-source.liquid │ ├── templatetest-frontmatter │ │ ├── single.njk │ │ └── multiple.njk │ ├── permalink-build │ │ └── permalink-build.md │ ├── permalink-empty-object │ │ └── empty-object.md │ ├── permalink-markdown-var.md │ ├── data-cascade │ │ ├── template.njk │ │ └── template.11tydata.cjs │ ├── 2016-02-01-permalinkdate.liquid │ ├── multipleexports.11ty.cjs │ ├── permalink-conflicts-false │ │ ├── test1.md │ │ └── test2.md │ ├── promise.11ty.cjs │ ├── script-frontmatter │ │ ├── test-js.njk │ │ ├── test.njk │ │ └── test-default.njk │ ├── class-norender.11ty.cjs │ ├── eleventyExcludeFromCollections.njk │ ├── class-async.11ty.cjs │ ├── object.11ty.cjs │ ├── permalink-conflicts │ │ ├── test1.md │ │ ├── test2.md │ │ └── test3.md │ ├── templateFrontMatterJson.liquid │ ├── permalink-markdown-override.md │ ├── config-deps.cjs │ ├── page-target-collections │ │ ├── tagpages.njk │ │ ├── tagpagesall.njk │ │ └── paginateall.njk │ ├── permalinkdate.liquid │ ├── permalink-nobuild │ │ └── permalink-nobuild.md │ ├── permalinkdata-jspermalinkfn.njk │ ├── default-function-export-and-named-data.11ty.js │ ├── eleventyExcludeFromCollectionsPermalinkFalse.njk │ ├── exports-flatdata.11ty.cjs │ ├── issue-135 │ │ ├── template.njk │ │ └── template.json │ ├── use-collection.11ty.cjs │ ├── default-function-export-and-named-data.11ty.cjs │ ├── templateWithLayout.liquid │ ├── templateWithLayoutKey.liquid │ ├── classfields-data.11ty.cjs │ ├── templateWithLayoutContent.liquid │ ├── function-async.11ty.cjs │ ├── class-data-fn.11ty.cjs │ ├── class-data.11ty.cjs │ ├── templateFrontMatterJs.njk │ ├── default-class-export-and-others.11ty.js │ ├── tagged-pagination-multiples │ │ └── test.njk │ ├── class-data-filter.11ty.cjs │ ├── class-data-fn-filter.11ty.cjs │ ├── class-data-permalink.11ty.cjs │ ├── function-filter.11ty.cjs │ ├── templateTwoLayouts.liquid │ ├── class-data-permalink-buffer.11ty.cjs │ ├── paged-global-data-mutable │ │ ├── _data │ │ │ └── testdata.cjs │ │ └── paged-differing-data-set.njk │ ├── stubs-computed-permalink │ │ ├── eleventycomputed-object.11ty.cjs │ │ ├── eleventycomputed-nested-object.11ty.cjs │ │ └── eleventycomputed-object-replace.11ty.cjs │ ├── broken-config.cjs │ ├── pagination-eleventycomputed-permalink.liquid │ ├── tagged-pagination-multiples-layout │ │ └── test.njk │ ├── test-override-js-markdown.11ty.cjs │ ├── class-data-permalink-fn.11ty.cjs │ ├── class-fns-has-page.11ty.cjs │ ├── transform-pages │ │ └── template.njk │ ├── class.11ty.cjs │ ├── class-data-permalink-fn-buffer.11ty.cjs │ ├── function-fns.11ty.cjs │ ├── oneinstance.11ty.cjs │ ├── class-buffer.11ty.cjs │ ├── class-filter.11ty.cjs │ ├── class-fns.11ty.cjs │ ├── class-with-dep.11ty.cjs │ ├── class-async-data-fn.11ty.cjs │ ├── class-async-filter.11ty.cjs │ ├── class-data-permalink-fn-filter.11ty.cjs │ ├── pagination-eleventycomputed-title.liquid │ ├── multipleexports-promises.11ty.cjs │ ├── function-prototype.11ty.cjs │ ├── class-data-permalink-async-fn.11ty.cjs │ ├── vue.11ty.cjs │ └── vue-layout.11ty.cjs ├── views │ └── .gitkeep ├── stubs-1242 │ ├── empty.md │ └── _data │ │ ├── xyz.dottest.json │ │ └── xyz.dottest │ │ └── test.json ├── stubs-1691 │ ├── template.njk │ ├── _data │ │ └── str.txt │ └── template.11tydata.txt ├── stubs-3356 │ └── .gitkeep ├── stubs-337 │ ├── src │ │ └── empty.md │ └── data │ │ └── xyz.json ├── stubs-919 │ ├── test2.njk │ ├── test.11tydata.cjs │ └── test.njk ├── stubs-absolute │ └── test.md ├── stubs-autocopy │ ├── .gitkeep │ ├── possum.jpg │ └── possum.png ├── stubs-empty │ └── .gitkeep ├── stubs-virtual │ ├── .gitkeep │ └── eleventy.config.js ├── file-system-search │ └── file.txt ├── stubs--to │ ├── test.md │ └── test2.liquid ├── stubs-403 │ ├── template.liquid │ ├── _includes │ │ └── include.liquid │ └── .eleventyignore ├── stubs-pathtourl │ ├── tmpl.njk │ └── css.njk ├── stubs-2145 │ ├── test.njk │ └── _includes │ │ └── layout.njk ├── stubs-2753 │ ├── page1.njk │ ├── page2.njk │ └── _data │ │ └── global.js ├── stubs-addglobaldata-noop │ └── test.txt ├── stubs-addglobaldata │ └── test.liquid ├── stubs-virtual-nowrite │ └── .gitkeep ├── _issues │ ├── 0 │ │ ├── content │ │ │ └── index.html │ │ └── eleventy.config.js │ ├── 975 │ │ ├── post.md │ │ ├── another-post.md │ │ └── index.md │ ├── 2250 │ │ ├── liquid.liquid │ │ ├── nunjucks.njk │ │ └── javascript.11ty.cjs │ ├── 3697 │ │ └── _data │ │ │ └── folder │ │ │ ├── 3.json │ │ │ └── 0.json │ ├── 3809 │ │ ├── index.njk │ │ └── .app │ │ │ ├── _data │ │ │ └── app.json │ │ │ └── .eleventy.js │ ├── 3853 │ │ └── deeper │ │ │ └── index.njk │ ├── 3854 │ │ ├── index.njk │ │ └── app │ │ │ ├── index.njk │ │ │ └── .eleventy.js │ ├── 3896 │ │ ├── eleventy-input-folder │ │ │ ├── 3896.html │ │ │ └── _archive │ │ │ │ └── ignored.html │ │ └── test-files │ │ │ └── eleventy.config.js │ └── 3932 │ │ ├── 1 │ │ └── 2025.html │ │ └── eleventy.config.js ├── stubs-global-data-config-api │ └── empty.txt ├── stubs-3810 │ ├── index.md │ └── _includes │ │ └── promo.njk ├── stubs-custom-extension │ └── test.js1 ├── stubs-empty-json-data │ └── _data │ │ └── empty.json ├── stubs-incremental │ └── layout-chain │ │ ├── _includes │ │ ├── parent.njk │ │ └── base.njk │ │ └── test.njk ├── stubs-630 │ ├── component-yaml │ │ ├── component.njk │ │ ├── component.11tydata.json │ │ ├── component.11tydata.nosj │ │ ├── component.11tydata.cjs │ │ ├── component.json │ │ ├── component.yaml │ │ └── component.11tydata.yaml │ └── _data │ │ ├── subdir │ │ └── globalDataSubdir.yaml │ │ ├── globalData0.cjs │ │ ├── globalData1.cjs │ │ ├── globalData3.yaml │ │ ├── mergingGlobalData.js │ │ ├── globalData2.json │ │ ├── globalData4.nosj │ │ ├── mergingGlobalData.cjs │ │ ├── mergingGlobalData.json │ │ ├── mergingGlobalData.yaml │ │ └── mergingGlobalData.nosj ├── stubs-dependency-tree │ ├── grandchild.cjs │ ├── child.cjs │ └── index.cjs ├── stubs-img-transform │ ├── missing-alt.md │ ├── single.md │ ├── ignored.md │ ├── possum.png │ └── multiple.md ├── stubs-layouts-event │ ├── _includes │ │ ├── third.liquid │ │ ├── first.liquid │ │ └── second.liquid │ └── page.md ├── stubs-2851 │ ├── content.njk │ └── paginated.njk ├── stubs-3807 │ ├── index.md │ ├── _layouts │ │ ├── base.html │ │ └── home.html │ └── eleventy.config.js ├── stubs-670 │ ├── content.njk │ └── index.njk ├── stubs-2258 │ ├── _includes │ │ ├── layout.njk │ │ └── _code.scss │ └── style.scss ├── stubs-data-esm │ └── _data │ │ ├── commonjs.cjs │ │ └── module.mjs ├── stubs-475 │ ├── _includes │ │ └── layout.njk │ └── transform-layout │ │ └── transform-layout.njk ├── stubs-computed-collections │ ├── dog.njk │ └── collections.njk ├── stubs-data-cascade │ ├── layout-data-files │ │ ├── test.njk │ │ ├── _includes │ │ │ └── base.njk │ │ └── test.11tydata.cjs │ ├── global-versus-layout │ │ ├── test.njk │ │ ├── _data │ │ │ └── cascade.cjs │ │ └── _includes │ │ │ └── base.njk │ ├── layout-versus-tmpldatafile │ │ ├── test.njk │ │ ├── _includes │ │ │ └── base.njk │ │ └── test.11tydata.cjs │ └── layout-versus-dirdatafile │ │ └── src │ │ ├── test.njk │ │ ├── _includes │ │ └── base.njk │ │ └── src.11tydata.cjs ├── stubs-layout-cache │ ├── test.njk │ ├── test.liquid │ └── _includes │ │ ├── layout.njk │ │ └── layout.liquid ├── stubs-pagination-computed-quotes │ ├── post.liquid │ └── test.liquid ├── stubs-render-plugin │ ├── _includes │ │ ├── include-js.txt │ │ ├── include.11ty.cjs │ │ ├── frontmatter.liquid │ │ ├── include.njk │ │ └── include.liquid │ ├── njk-page.liquid │ ├── bad-data.njk │ ├── liquid-page.njk │ ├── liquid-page.liquid │ ├── njk-file-not-exist.liquid │ ├── using-frontmatter.liquid │ ├── njk-eleventy.liquid │ ├── liquid-eleventy.njk │ ├── liquid-global.njk │ ├── nunjucks-global.liquid │ ├── false.liquid │ ├── nunjucks-frontmatter.njk │ ├── data-no-templatelang.liquid │ ├── njk-file.liquid │ ├── 11tyjs-file.njk │ ├── njk-file.njk │ ├── 11tyjs-file-override.njk │ ├── md.liquid │ ├── 11tyjs.liquid │ ├── liquid-md.liquid │ ├── vue.liquid │ ├── capture-njk.liquid │ ├── nunjucks.liquid │ ├── liquid-direct.njk │ ├── capture-liquid.njk │ ├── liquid.njk │ ├── nunjucks.11ty.cjs │ └── liquid-md.11ty.cjs ├── stubs-1206 │ ├── page2.njk │ └── page1.njk ├── stubs-2224 │ └── index.njk ├── stubs-408-sass │ ├── _code.scss │ └── style.scss ├── stubs-computed-collections-filter │ ├── dog.njk │ └── collections.njk ├── stubs-njk-async │ └── _includes │ │ └── loop.njk ├── stubs-pagination-computed-quotes-njk │ ├── post.njk │ └── test.njk ├── stubs-142 │ └── index.njk ├── stubs-2258-2830-skip-layouts │ ├── _includes │ │ └── layout.njk │ └── style.scss ├── stubs-2261 │ ├── _includes │ │ └── block.njk │ ├── index.njk │ └── eleventy.config.js ├── stubs-3013 │ ├── njk │ │ ├── _includes │ │ │ └── base.njk │ │ ├── book.njk │ │ └── _data │ │ │ └── books.json │ ├── html │ │ ├── _includes │ │ │ └── base.html │ │ ├── book.html │ │ └── _data │ │ │ └── books.json │ ├── liquid │ │ ├── _includes │ │ │ └── base.liquid │ │ ├── book.liquid │ │ └── _data │ │ │ └── books.json │ └── md │ │ ├── _includes │ │ └── base.md │ │ ├── book.md │ │ └── _data │ │ └── books.json ├── proxy-pagination-globaldata │ ├── _data │ │ └── banner.js │ ├── tmpl2.njk │ ├── tmpl.liquid │ └── tmpl4.11ty.js ├── stubs-2367 │ ├── templateWithLiquidShortcodeMultipleArguments.liquid │ ├── templateWithLiquidShortcodeMultipleArguments-template2.liquid │ └── _includes │ │ └── layout.liquid ├── stubs-circular-layout │ └── _includes │ │ ├── layout-cycle-a.njk │ │ ├── layout-cycle-b.njk │ │ ├── layout-cycle-c.njk │ │ └── layout-cycle-self.njk ├── stubs-freeze │ ├── eleventy │ │ └── _data │ │ │ └── eleventy.js │ └── page │ │ └── _data │ │ └── page.js ├── stubs-global-data-config-api-nested │ └── _data │ │ └── deep.cjs ├── stubs-3285 │ └── src │ │ └── scripts │ │ └── hello-world.js ├── stubs-fancyjs │ ├── test.mdx │ └── test.11ty.tsx ├── stubs-2378 │ └── _data │ │ └── images │ │ ├── dog.jpg │ │ └── dogpng.png ├── stubs-2790 │ └── page.11ty.cjs ├── slugify-filter │ ├── multibyte.njk │ ├── slug-number.njk │ ├── slugify-number.njk │ ├── comma.njk │ ├── test.njk │ ├── slug-options.njk │ └── slugify-options.njk ├── stubs-413 │ └── date-frontmatter.md ├── stubs-434 │ └── _includes │ │ ├── macros-filter.njk │ │ └── macros.njk ├── stubs-computed-symbolparse │ ├── test.liquid │ └── test.njk ├── stubs-computed-dirdata │ └── dir │ │ ├── first.11ty.cjs │ │ ├── dir.11tydata.cjs │ │ └── second.11ty.cjs ├── stubs-2167 │ └── paginated.njk ├── stubs-computed-pagination │ ├── child.11ty.cjs │ └── paginated.njk ├── stubs-computed-array │ └── test.liquid ├── stubs-i18n │ ├── non-lang-file.njk │ ├── en │ │ └── index.liquid │ ├── es │ │ └── index.njk │ └── en-us │ │ └── index.11ty.cjs ├── stubs-computed-global │ ├── intermix.njk │ └── _data │ │ └── eleventyComputed.cjs ├── semverCoerceTest.js ├── Util │ ├── normalizeNewLines.js │ └── normalizeSeparators.js ├── PluralizeTest.js ├── TestUtilityTest.js ├── EleventyNunjucksTest.js ├── JavaScriptDependenciesTest.js ├── Issue3788Test.js └── Issue3809Test.js ├── .prettierignore ├── test_node ├── 3824 │ ├── _includes │ │ ├── view-props.tsx │ │ └── head.tsx │ ├── tsconfig-3824.json │ └── index.11ty.tsx ├── 3824-incremental │ ├── _includes │ │ ├── view-props.tsx │ │ └── head.tsx │ ├── tsconfig-3824.json │ └── index.11ty.tsx ├── tests.js └── README.md ├── src ├── Util │ ├── Objects │ │ ├── SampleModule.mjs │ │ ├── Unique.js │ │ ├── ObjectFilter.js │ │ └── DeepFreeze.js │ ├── NewLineAdapter.core.js │ ├── NewLineAdapter.js │ ├── importer.js │ ├── EsmResolverPortAdapter.core.js │ ├── Pluralize.js │ ├── spawn.core.js │ ├── IsAsyncFunction.js │ ├── SetUtil.js │ ├── JavaScriptDependencies.core.js │ ├── ResolvePlugin.client.js │ ├── PromiseUtil.js │ ├── importer.client.js │ ├── FileSize.js │ ├── DirContains.js │ ├── SemverCoerce.js │ ├── GlobMatcher.client.js │ ├── EventBusUtil.js │ ├── FilePathUtil.js │ ├── UrlUtil.js │ ├── RetrieveGlobals.core.js │ ├── ArrayUtil.js │ ├── RetrieveGlobals.client.js │ ├── PassthroughCopyBehaviorCheck.js │ └── PathPrefixer.js ├── Adapters │ ├── Packages │ │ ├── url.js │ │ ├── chalk.js │ │ ├── inspect.core.js │ │ ├── semver.client.js │ │ ├── semver.js │ │ ├── inspect.js │ │ └── chalk.client.js │ ├── Engines │ │ ├── Liquid.js │ │ ├── Markdown.js │ │ ├── Nunjucks.js │ │ ├── Liquid.core.js │ │ ├── Markdown.core.js │ │ └── Nunjucks.core.js │ ├── getDefaultConfig.js │ └── getDefaultConfig.core.js ├── Errors │ ├── TemplateContentPrematureUseError.js │ ├── TemplateContentUnrenderedTemplateError.js │ ├── UsingCircularTemplateContentReferenceError.js │ └── DuplicatePermalinkOutputError.js └── Filters │ ├── GetCollectionItemIndex.js │ └── GetCollectionItem.js ├── packages └── client │ ├── src │ ├── BundleLiquid.js │ ├── BundleMarkdown.js │ ├── BundleNunjucks.js │ ├── BundleI18nPlugin.js │ ├── BundleCore.js │ └── shims │ │ └── shim-core.js │ └── test │ ├── client-core.test.js │ └── client-eleventy.test.js ├── .npmignore ├── .git-blame-ignore-revs ├── .prettierrc.json ├── .github ├── CODEOWNERS └── opencollective.yml ├── scripts └── release-dryrun.sh ├── .editorconfig ├── docs ├── coverage.njk └── eleventy.coverage.js ├── SECURITY.md └── .gitignore /.nvmrc: -------------------------------------------------------------------------------- 1 | 22 2 | -------------------------------------------------------------------------------- /test/noop/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/noop2/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-1325/test.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/index.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/views/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /test/stubs-1242/empty.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-1325/test.11ty.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-1691/template.njk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-3356/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-337/src/empty.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-919/test2.njk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-absolute/test.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-autocopy/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-empty/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-virtual/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/globby/test.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/img/stub.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /test/stubs/public/test.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/subdir/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/file-system-search/file.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs--to/test.md: -------------------------------------------------------------------------------- 1 | # hi 2 | -------------------------------------------------------------------------------- /test/stubs-403/template.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-pathtourl/tmpl.njk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/_includes/multiple.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/add-extension/test.njk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/add-extension/test.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/ignore5/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/ignore6/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/subdir/img/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/subfolder/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-1691/_data/str.txt: -------------------------------------------------------------------------------- 1 | Testing -------------------------------------------------------------------------------- /test/stubs-2145/test.njk: -------------------------------------------------------------------------------- 1 | {{ layout }} -------------------------------------------------------------------------------- /test/stubs-2753/page1.njk: -------------------------------------------------------------------------------- 1 | {{ global }} -------------------------------------------------------------------------------- /test/stubs-2753/page2.njk: -------------------------------------------------------------------------------- 1 | {{ global }} -------------------------------------------------------------------------------- /test/stubs-addglobaldata-noop/test.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-addglobaldata/test.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-virtual-nowrite/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/_includes/default.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/_includes/multiple.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/default-no-liquid.md: -------------------------------------------------------------------------------- 1 | hi 2 | -------------------------------------------------------------------------------- /test/stubs/default.liquid: -------------------------------------------------------------------------------- 1 | {{ "hi" }} -------------------------------------------------------------------------------- /test/stubs/default.md: -------------------------------------------------------------------------------- 1 | {{ "hi" }} 2 | -------------------------------------------------------------------------------- /test/stubs/engine-singletons/first.njk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/includesemptystring.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/layoutsemptystring.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/pagedate.njk: -------------------------------------------------------------------------------- 1 | {{ page.date }} -------------------------------------------------------------------------------- /test/stubs/posts/post1.njk: -------------------------------------------------------------------------------- 1 | Post1 2 | -------------------------------------------------------------------------------- /test/stubs/posts/posts.njk: -------------------------------------------------------------------------------- 1 | Posts 2 | -------------------------------------------------------------------------------- /test/stubs/writeTest/test.md: -------------------------------------------------------------------------------- 1 | # Header -------------------------------------------------------------------------------- /test/_issues/3853/deeper/index.njk: -------------------------------------------------------------------------------- 1 | 3853 2 | -------------------------------------------------------------------------------- /test/_issues/3854/index.njk: -------------------------------------------------------------------------------- 1 | 3854/parent 2 | -------------------------------------------------------------------------------- /test/stubs-403/_includes/include.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs-global-data-config-api/empty.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/_includes/layouts/inasubdir.njk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/_includes/layouts/post.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/_layouts/layoutsdefault.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/collection/test7.njk: -------------------------------------------------------------------------------- 1 | # Test 7 -------------------------------------------------------------------------------- /test/stubs/engine-singletons/second.njk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/exitCode/failure.njk: -------------------------------------------------------------------------------- 1 | {{ test() }} -------------------------------------------------------------------------------- /test/stubs/exitCode_globalData/test.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/firstdir/seconddir/component.njk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/globby/_includes/include.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/issue-522/template.md: -------------------------------------------------------------------------------- 1 | # Test 2 | -------------------------------------------------------------------------------- /test/stubs/pagedate.liquid: -------------------------------------------------------------------------------- 1 | {{ page.date }} -------------------------------------------------------------------------------- /test/stubs/template-passthrough/.htaccess: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough/img.jpg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough2/.htaccess: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough2/img.jpg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test_node/3824/_includes/view-props.tsx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/_issues/3697/_data/folder/3.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/_issues/3809/index.njk: -------------------------------------------------------------------------------- 1 | {{ app.name }} 2 | -------------------------------------------------------------------------------- /test/_issues/3854/app/index.njk: -------------------------------------------------------------------------------- 1 | 3854/child 2 | -------------------------------------------------------------------------------- /test/stubs-3810/index.md: -------------------------------------------------------------------------------- 1 | {% promo "newsletter" %} -------------------------------------------------------------------------------- /test/stubs-403/.eleventyignore: -------------------------------------------------------------------------------- 1 | ./_includes/** -------------------------------------------------------------------------------- /test/stubs/_includes/included.nunj: -------------------------------------------------------------------------------- 1 | Nunjabusiness -------------------------------------------------------------------------------- /test/stubs/cfg-directories-export/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/collection/test6.html: -------------------------------------------------------------------------------- 1 | # Test 6 2 | -------------------------------------------------------------------------------- /test/stubs/datafiledoesnotexist/template.njk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/subfolder/subfolder.liquid: -------------------------------------------------------------------------------- 1 | subfolder -------------------------------------------------------------------------------- /test/stubs/subfolder/subfolder/subfolder.liquid: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough/static/test.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough/static/test.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough2/static/test.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough2/static/test.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/_issues/0/content/index.html: -------------------------------------------------------------------------------- 1 |
HTML
2 | -------------------------------------------------------------------------------- /test/_issues/2250/liquid.liquid: -------------------------------------------------------------------------------- 1 | {{ "test" | getUrl }} -------------------------------------------------------------------------------- /test/_issues/2250/nunjucks.njk: -------------------------------------------------------------------------------- 1 | {{ "test" | getUrl }} -------------------------------------------------------------------------------- /test/stubs-337/data/xyz.json: -------------------------------------------------------------------------------- 1 | { 2 | "hi": "bye" 3 | } -------------------------------------------------------------------------------- /test/stubs-custom-extension/test.js1: -------------------------------------------------------------------------------- 1 |Paragraph
-------------------------------------------------------------------------------- /test/stubs/_includes/included.html: -------------------------------------------------------------------------------- 1 | This is an include. -------------------------------------------------------------------------------- /test/stubs/_includes/included.njk: -------------------------------------------------------------------------------- 1 | This is an include. -------------------------------------------------------------------------------- /test/stubs/cfg-directories-export-cjs/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/component/component.njk: -------------------------------------------------------------------------------- 1 | {{localdatakey1}} -------------------------------------------------------------------------------- /test/stubs/exitCode_success/success.njk: -------------------------------------------------------------------------------- 1 | {{ "hi" }} -------------------------------------------------------------------------------- /test/stubs/ignore2/.gitignore: -------------------------------------------------------------------------------- 1 | thisshouldnotexist12345 -------------------------------------------------------------------------------- /test/stubs/ignorelocalroot/.eleventyignore: -------------------------------------------------------------------------------- 1 | test.md -------------------------------------------------------------------------------- /test/stubs/multiple-ignores/ignoredFolder/ignored.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough/src/views/avatar.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough2/src/views/avatar.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test_node/3824-incremental/_includes/view-props.tsx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Util/Objects/SampleModule.mjs: -------------------------------------------------------------------------------- 1 | export default {}; 2 | -------------------------------------------------------------------------------- /test/_issues/3932/1/2025.html: -------------------------------------------------------------------------------- 1 | {{ page.filePathStem }} 2 | -------------------------------------------------------------------------------- /test/stubs-1691/template.11tydata.txt: -------------------------------------------------------------------------------- 1 | Template Data File -------------------------------------------------------------------------------- /test/stubs-empty-json-data/_data/empty.json: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /test/stubs-incremental/layout-chain/_includes/parent.njk: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/_includes/included-relative.njk: -------------------------------------------------------------------------------- 1 | akdlsjafkljdskl -------------------------------------------------------------------------------- /test/stubs/_includes/included.liquid: -------------------------------------------------------------------------------- 1 | This is an include. -------------------------------------------------------------------------------- /test/stubs/_includes/subfolder/included.nunj: -------------------------------------------------------------------------------- 1 | Nunjabusiness2 -------------------------------------------------------------------------------- /test/stubs/component-async/component.njk: -------------------------------------------------------------------------------- 1 | {{localdatakey1}} -------------------------------------------------------------------------------- /test/stubs/custom-extension-no-permalink.txt: -------------------------------------------------------------------------------- 1 | Sample content -------------------------------------------------------------------------------- /test/stubs/ignorelocalrootgitignore/.eleventyignore: -------------------------------------------------------------------------------- 1 | test.md -------------------------------------------------------------------------------- /test/stubs/included.liquid: -------------------------------------------------------------------------------- 1 | This is not in the includes dir. -------------------------------------------------------------------------------- /test/stubs/pagedateutc.njk: -------------------------------------------------------------------------------- 1 | {{ page.date.toUTCString() }} -------------------------------------------------------------------------------- /src/Util/NewLineAdapter.core.js: -------------------------------------------------------------------------------- 1 | export const EOL = "\n"; 2 | -------------------------------------------------------------------------------- /src/Util/NewLineAdapter.js: -------------------------------------------------------------------------------- 1 | export { EOL } from "node:os"; 2 | -------------------------------------------------------------------------------- /test/_issues/3896/eleventy-input-folder/3896.html: -------------------------------------------------------------------------------- 1 | Issue 3896 -------------------------------------------------------------------------------- /test/_issues/975/post.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - post 4 | --- 5 | -------------------------------------------------------------------------------- /test/stubs-630/component-yaml/component.njk: -------------------------------------------------------------------------------- 1 | {{localkeyOverride}} -------------------------------------------------------------------------------- /test/stubs-dependency-tree/grandchild.cjs: -------------------------------------------------------------------------------- 1 | require("kleur"); 2 | -------------------------------------------------------------------------------- /test/stubs-img-transform/missing-alt.md: -------------------------------------------------------------------------------- 1 |
--------------------------------------------------------------------------------
/test/stubs-layouts-event/_includes/third.liquid:
--------------------------------------------------------------------------------
1 | {{ content }}
--------------------------------------------------------------------------------
/test/stubs/_includes/custom-filter.liquid:
--------------------------------------------------------------------------------
1 | {{ name | makeItFoo }}
--------------------------------------------------------------------------------
/test/stubs/_includes/subfolder/included.html:
--------------------------------------------------------------------------------
1 | This is an include.
--------------------------------------------------------------------------------
/test/stubs/deps/dep1.cjs:
--------------------------------------------------------------------------------
1 | module.exports = function() {};
2 |
--------------------------------------------------------------------------------
/test/stubs/deps/dep2.cjs:
--------------------------------------------------------------------------------
1 | module.exports = function() {};
2 |
--------------------------------------------------------------------------------
/test/stubs/includer.liquid:
--------------------------------------------------------------------------------
1 | {% include 'included' %}
2 | -------------------------------------------------------------------------------- /test/stubs/relative-liquid/dir/included.liquid: -------------------------------------------------------------------------------- 1 | TIME IS RELATIVE. -------------------------------------------------------------------------------- /test/stubs/string.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports = "Zach
"; 2 | -------------------------------------------------------------------------------- /test/stubs/string.11ty.custom: -------------------------------------------------------------------------------- 1 | export default "Zach
"; 2 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough-duplicates/input/avatar.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough/static/nested/test-nested.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/template-passthrough2/static/nested/test-nested.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/_issues/3809/.app/_data/app.json: -------------------------------------------------------------------------------- 1 | {"name": "My Application"} 2 | -------------------------------------------------------------------------------- /test/stubs--to/test2.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | hi: hello 3 | --- 4 | {{ hi }} -------------------------------------------------------------------------------- /test/stubs-1242/_data/xyz.dottest.json: -------------------------------------------------------------------------------- 1 | { 2 | "hi": "bye" 3 | } 4 | -------------------------------------------------------------------------------- /test/stubs-2851/content.njk: -------------------------------------------------------------------------------- 1 | --- 2 | tags: ['tag with spaces'] 3 | --- -------------------------------------------------------------------------------- /test/stubs-3807/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: home.html 3 | --- 4 | Index -------------------------------------------------------------------------------- /test/stubs-670/content.njk: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - Cañon City 4 | --- -------------------------------------------------------------------------------- /test/stubs-layouts-event/page.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: first 3 | --- 4 | -------------------------------------------------------------------------------- /test/stubs-pathtourl/css.njk: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: output.css 3 | --- -------------------------------------------------------------------------------- /test/stubs/_includes/scopeleak.liquid: -------------------------------------------------------------------------------- 1 | {% assign test = 2 %}{{ test }} -------------------------------------------------------------------------------- /test/stubs/_includes/subfolder/included.liquid: -------------------------------------------------------------------------------- 1 | This is an include. -------------------------------------------------------------------------------- /test/stubs/collection-slug/dog1.njk: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - dog 4 | --- -------------------------------------------------------------------------------- /test/stubs/dependencies/dep1.cjs: -------------------------------------------------------------------------------- 1 | module.exports = function() {}; 2 | -------------------------------------------------------------------------------- /test/stubs/dependencies/dep2.cjs: -------------------------------------------------------------------------------- 1 | module.exports = function() {}; 2 | -------------------------------------------------------------------------------- /test/stubs/ignore-dedupe/.gitignore: -------------------------------------------------------------------------------- 1 | ignoredFolder 2 | ignoredFolder -------------------------------------------------------------------------------- /test/stubs/ignoredFolder/ignored.md: -------------------------------------------------------------------------------- 1 | # This should be ignored 2 | -------------------------------------------------------------------------------- /test/stubs/multiple-ignores/subfolder/ignoredFolder2/ignored2.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/njk-relative/dir/included.njk: -------------------------------------------------------------------------------- 1 | HELLO FROM THE OTHER SIDE. -------------------------------------------------------------------------------- /test/stubs/permalink-data-layout/test.njk: -------------------------------------------------------------------------------- 1 | Test 1:{{ page.fileSlug }} -------------------------------------------------------------------------------- /test/stubs/string.11ty.possum: -------------------------------------------------------------------------------- 1 | export default "Possum
"; 2 | -------------------------------------------------------------------------------- /test/stubs/templateLayoutCacheDuplicates/_includes/layout.njk: -------------------------------------------------------------------------------- 1 | Hello A -------------------------------------------------------------------------------- /test/_issues/3697/_data/folder/0.json: -------------------------------------------------------------------------------- 1 | { 2 | "key": "value" 3 | } 4 | -------------------------------------------------------------------------------- /test/_issues/975/another-post.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - post 4 | --- 5 | -------------------------------------------------------------------------------- /test/stubs-2258/_includes/layout.njk: -------------------------------------------------------------------------------- 1 | /* Banner */ 2 | {{ content | safe }} -------------------------------------------------------------------------------- /test/stubs-630/_data/subdir/globalDataSubdir.yaml: -------------------------------------------------------------------------------- 1 | keyyaml: "yaml" 2 | -------------------------------------------------------------------------------- /test/stubs-dependency-tree/child.cjs: -------------------------------------------------------------------------------- 1 | require("./grandchild.cjs"); 2 | -------------------------------------------------------------------------------- /test/stubs/class-with-dep-upstream.js: -------------------------------------------------------------------------------- 1 | module.exports = function() {}; 2 | -------------------------------------------------------------------------------- /test/stubs/collection-layout/dog1.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - dog 4 | --- -------------------------------------------------------------------------------- /test/stubs/config-deps-upstream.cjs: -------------------------------------------------------------------------------- 1 | module.exports = function() {}; 2 | -------------------------------------------------------------------------------- /test/stubs/dates/2019-01-01-folder/2020-01-01-file.md: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | -------------------------------------------------------------------------------- /test/stubs/default-frontmatter.txt: -------------------------------------------------------------------------------- 1 | --- 2 | frontmatter: 1 3 | --- 4 | hi -------------------------------------------------------------------------------- /test/stubs/ignore1/ignoredFolder/ignored.md: -------------------------------------------------------------------------------- 1 | # This should be ignored 2 | -------------------------------------------------------------------------------- /test/stubs/ignore2/ignoredFolder/ignored.md: -------------------------------------------------------------------------------- 1 | # This should be ignored 2 | -------------------------------------------------------------------------------- /test/stubs/ignore3/ignoredFolder/ignored.md: -------------------------------------------------------------------------------- 1 | # This should be ignored 2 | -------------------------------------------------------------------------------- /test/stubs/ignore4/ignoredFolder/ignored.md: -------------------------------------------------------------------------------- 1 | # This should be ignored 2 | -------------------------------------------------------------------------------- /test/stubs/ignore5/ignoredFolder/ignored.md: -------------------------------------------------------------------------------- 1 | # This should be ignored 2 | -------------------------------------------------------------------------------- /test/stubs/ignore6/ignoredFolder/ignored.md: -------------------------------------------------------------------------------- 1 | # This should be ignored 2 | -------------------------------------------------------------------------------- /test/stubs/ignorelocalrootgitignore/.gitignore: -------------------------------------------------------------------------------- 1 | thisshouldnotexist12345 -------------------------------------------------------------------------------- /test/stubs/prematureTemplateContent/test.njk: -------------------------------------------------------------------------------- 1 | {{ sample.templateContent }} -------------------------------------------------------------------------------- /test/stubs/stubs-virtual-conflict/virtual.md: -------------------------------------------------------------------------------- 1 | # This is on the file system -------------------------------------------------------------------------------- /test/stubs/template-passthrough-duplicates/input/src/views/avatar.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /test/stubs/templateLayoutCacheDuplicates-b/_includes/layout.njk: -------------------------------------------------------------------------------- 1 | Hello B -------------------------------------------------------------------------------- /test/stubs/writeTestJS/sample.cjs: -------------------------------------------------------------------------------- 1 | module.exports = "Zach
"; 2 | -------------------------------------------------------------------------------- /test/stubs/writeTestJS/test.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports = "Zach
"; 2 | -------------------------------------------------------------------------------- /src/Adapters/Packages/url.js: -------------------------------------------------------------------------------- 1 | export { fileURLToPath } from "node:url"; 2 | -------------------------------------------------------------------------------- /test/stubs-1242/_data/xyz.dottest/test.json: -------------------------------------------------------------------------------- 1 | { 2 | "abc": 42 3 | } 4 | -------------------------------------------------------------------------------- /test/stubs-3810/_includes/promo.njk: -------------------------------------------------------------------------------- 1 |tést
"); 2 | -------------------------------------------------------------------------------- /test/stubs/collection-template/dog1.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - dog 4 | --- -------------------------------------------------------------------------------- /test/stubs/collection/test2.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: cat 3 | --- 4 | 5 | # Test 2 6 | -------------------------------------------------------------------------------- /test/stubs/dates/2018-01-01-file5.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: dateTestTag 3 | --- 4 | -------------------------------------------------------------------------------- /test/stubs/glob-pages/home.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Home" 3 | --- 4 | 5 | Home 6 | -------------------------------------------------------------------------------- /test/stubs/njk-relative/dir/unique-include-123.njk: -------------------------------------------------------------------------------- 1 | HELLO FROM THE OTHER SIDE. -------------------------------------------------------------------------------- /test/stubs/posts/posts.json: -------------------------------------------------------------------------------- 1 | { 2 | "layout": "mylocallayout.njk" 3 | } 4 | -------------------------------------------------------------------------------- /test/stubs/prematureTemplateContent/test.md: -------------------------------------------------------------------------------- 1 | {{ sample.templateContent }} 2 | -------------------------------------------------------------------------------- /test/stubs/writeTestJS-passthrough/sample.js: -------------------------------------------------------------------------------- 1 | export default "Zach
"; 2 | -------------------------------------------------------------------------------- /test/stubs/writeTestMarkdown/sample.md: -------------------------------------------------------------------------------- 1 | module.exports = "Zach
"; 2 | -------------------------------------------------------------------------------- /test/_issues/3896/eleventy-input-folder/_archive/ignored.html: -------------------------------------------------------------------------------- 1 | This should be ignored -------------------------------------------------------------------------------- /test/stubs-475/_includes/layout.njk: -------------------------------------------------------------------------------- 1 | {{ content | safe }} -------------------------------------------------------------------------------- /test/stubs-computed-collections/dog.njk: -------------------------------------------------------------------------------- 1 | --- 2 | tags: dog 3 | --- 4 | Hi from dog -------------------------------------------------------------------------------- /test/stubs-data-cascade/layout-data-files/test.njk: -------------------------------------------------------------------------------- 1 | --- 2 | layout: base.njk 3 | --- -------------------------------------------------------------------------------- /test/stubs-layout-cache/test.njk: -------------------------------------------------------------------------------- 1 | --- 2 | layout: "layout.njk" 3 | --- 4 | Content -------------------------------------------------------------------------------- /test/stubs-pagination-computed-quotes/post.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | tags: posts 3 | --- 4 | No -------------------------------------------------------------------------------- /test/stubs-render-plugin/_includes/include-js.txt: -------------------------------------------------------------------------------- 1 | module.exports = "TESTING"; 2 | -------------------------------------------------------------------------------- /test/stubs-render-plugin/_includes/include.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports = "TESTING"; 2 | -------------------------------------------------------------------------------- /test/stubs/_data/testData.json: -------------------------------------------------------------------------------- 1 | { 2 | "testdatakey1": "testdatavalue1" 3 | } 4 | -------------------------------------------------------------------------------- /test/stubs/_includes/included-data.html: -------------------------------------------------------------------------------- 1 | This is an include. {{ myVariable }} 2 | -------------------------------------------------------------------------------- /test/stubs/collection-template/_includes/layout.liquid: -------------------------------------------------------------------------------- 1 | Layout 2 | 3 | {{ content }} -------------------------------------------------------------------------------- /test/stubs/dates/file4.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: dateTestTag 3 | date: Created 4 | --- 5 | -------------------------------------------------------------------------------- /test/stubs/glob-pages/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "About" 3 | --- 4 | 5 | About 6 | -------------------------------------------------------------------------------- /test/stubs/issue-95/cat.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - cat 4 | --- 5 | 6 | # Test 8 7 | -------------------------------------------------------------------------------- /test/stubs/issue-95/notacat.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: notacat 3 | --- 4 | 5 | # Test 8 6 | -------------------------------------------------------------------------------- /test/stubs/writeTestJS-casesensitive/sample.Js: -------------------------------------------------------------------------------- 1 | module.exports = "Zach
"; 2 | -------------------------------------------------------------------------------- /test/stubs/writeTestJS-passthrough/test.11ty.js: -------------------------------------------------------------------------------- 1 | export default "Zach
"; 2 | -------------------------------------------------------------------------------- /test/stubs/writeTestMarkdown/sample2.markdown: -------------------------------------------------------------------------------- 1 | module.exports = "Zach
"; 2 | -------------------------------------------------------------------------------- /src/Adapters/Engines/Liquid.js: -------------------------------------------------------------------------------- 1 | export { default } from "../../Engines/Liquid.js"; 2 | -------------------------------------------------------------------------------- /test/stubs-1206/page2.njk: -------------------------------------------------------------------------------- 1 | This is the second template.{{ collections.tag1[0].rawInput }} -------------------------------------------------------------------------------- /test/stubs-2224/index.njk: -------------------------------------------------------------------------------- 1 | --- 2 | date: git created 3 | --- 4 | {{ page.date.getTime() }} -------------------------------------------------------------------------------- /test/stubs-408-sass/_code.scss: -------------------------------------------------------------------------------- 1 | code { 2 | padding: 0.25em; 3 | line-height: 0; 4 | } -------------------------------------------------------------------------------- /test/stubs-computed-collections-filter/dog.njk: -------------------------------------------------------------------------------- 1 | --- 2 | tags: dog 3 | --- 4 | Hi from dog -------------------------------------------------------------------------------- /test/stubs-data-cascade/global-versus-layout/test.njk: -------------------------------------------------------------------------------- 1 | --- 2 | layout: "base.njk" 3 | --- -------------------------------------------------------------------------------- /test/stubs-incremental/layout-chain/_includes/base.njk: -------------------------------------------------------------------------------- 1 | --- 2 | layout: parent.njk 3 | --- -------------------------------------------------------------------------------- /test/stubs-layout-cache/test.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | layout: "layout.liquid" 3 | --- 4 | Content -------------------------------------------------------------------------------- /test/stubs-njk-async/_includes/loop.njk: -------------------------------------------------------------------------------- 1 | included_{{item}}-{% genericshortcode item %} -------------------------------------------------------------------------------- /test/stubs-pagination-computed-quotes-njk/post.njk: -------------------------------------------------------------------------------- 1 | --- 2 | tags: posts 3 | --- 4 | No -------------------------------------------------------------------------------- /test/stubs/_data/subdir/testDataSubdir.json: -------------------------------------------------------------------------------- 1 | { 2 | "subdirkey": "subdirvalue" 3 | } 4 | -------------------------------------------------------------------------------- /test/stubs/_includes/base.njk: -------------------------------------------------------------------------------- 1 |{% block content %}This is a parent.{% endblock %}
-------------------------------------------------------------------------------- /test/stubs/collection/test4.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 1983-01-01 3 | --- 4 | 5 | # Test 3 6 | -------------------------------------------------------------------------------- /test/stubs/collection/test5.md: -------------------------------------------------------------------------------- 1 | --- 2 | date: 2038-01-01 3 | --- 4 | 5 | # Test 3 6 | -------------------------------------------------------------------------------- /test/stubs/dates/file2.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: dateTestTag 3 | date: "2016-01-01" 4 | --- 5 | -------------------------------------------------------------------------------- /test/stubs/dates/file2b.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: dateTestTag 3 | date: 2016-01-01 4 | --- 5 | -------------------------------------------------------------------------------- /test/stubs/dates/file3.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: dateTestTag 3 | date: Last Modified 4 | --- 5 | -------------------------------------------------------------------------------- /test/stubs/formatTest.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | name: zach 3 | --- 4 |{{name | capitalize}}
-------------------------------------------------------------------------------- /test/stubs/function-arrow.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports = ({ name }) => `${name}
`; 2 | -------------------------------------------------------------------------------- /test/stubs/glob-pages/contact.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Contact" 3 | --- 4 | 5 | Contact 6 | -------------------------------------------------------------------------------- /test/stubs/prematureTemplateContent/test.liquid: -------------------------------------------------------------------------------- 1 | {{ collections.all[0].templateContent }} -------------------------------------------------------------------------------- /test/stubs/writeTestJS-casesensitive/test.11Ty.js: -------------------------------------------------------------------------------- 1 | module.exports = "Zach
"; 2 | -------------------------------------------------------------------------------- /src/Adapters/Engines/Markdown.js: -------------------------------------------------------------------------------- 1 | export { default } from "../../Engines/Markdown.js"; 2 | -------------------------------------------------------------------------------- /src/Adapters/Engines/Nunjucks.js: -------------------------------------------------------------------------------- 1 | export { default } from "../../Engines/Nunjucks.js"; 2 | -------------------------------------------------------------------------------- /src/Adapters/Packages/chalk.js: -------------------------------------------------------------------------------- 1 | import chalk from "kleur"; 2 | 3 | export default chalk; 4 | -------------------------------------------------------------------------------- /test/_issues/975/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | eleventyImport: 3 | collections: ["post"] 4 | --- 5 | -------------------------------------------------------------------------------- /test/stubs-142/index.njk: -------------------------------------------------------------------------------- 1 | --- 2 | date: git Last Modified 3 | --- 4 | {{ page.date.getTime() }} -------------------------------------------------------------------------------- /test/stubs-2258-2830-skip-layouts/_includes/layout.njk: -------------------------------------------------------------------------------- 1 | /* Banner */ 2 | {{ content | safe }} -------------------------------------------------------------------------------- /test/stubs-2258/_includes/_code.scss: -------------------------------------------------------------------------------- 1 | code { 2 | padding: 0.25em; 3 | line-height: 0; 4 | } -------------------------------------------------------------------------------- /test/stubs-2261/_includes/block.njk: -------------------------------------------------------------------------------- 1 | {% macro block() %}{% block content %}This is a parent.{% endblock %}
-------------------------------------------------------------------------------- /test/stubs/permalink-data-layout/test.json: -------------------------------------------------------------------------------- 1 | { 2 | "layout": "permalink-data-layout.njk" 3 | } -------------------------------------------------------------------------------- /test/stubs/templateMapCollection/test2.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: cat 3 | --- 4 | 5 | # Test 2 6 | -------------------------------------------------------------------------------- /test/stubs-2145/_includes/layout.njk: -------------------------------------------------------------------------------- 1 | --- 2 | LayoutData: 123 3 | --- 4 | FromLayout{{ content }} -------------------------------------------------------------------------------- /test/stubs-3013/njk/_includes/base.njk: -------------------------------------------------------------------------------- 1 | --- 2 | title: Books 3 | --- 4 |
--------------------------------------------------------------------------------
/test/stubs-layout-cache/_includes/layout.njk:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/test/stubs-layouts-event/_includes/first.liquid:
--------------------------------------------------------------------------------
1 | ---
2 | layout: second
3 | ---
4 | {{ content }}
--------------------------------------------------------------------------------
/test/stubs/_includes/imports.njk:
--------------------------------------------------------------------------------
1 | {% macro label(text) %}{% endmacro %}
--------------------------------------------------------------------------------
/test/stubs/collection-layout/template.liquid:
--------------------------------------------------------------------------------
1 | ---
2 | layout: layout.liquid
3 | ---
4 | Template
--------------------------------------------------------------------------------
/test/stubs/custom-extension.txt:
--------------------------------------------------------------------------------
1 | ---
2 | permalink: custom-extension.lit
3 | ---
4 | Sample content
--------------------------------------------------------------------------------
/test/stubs/dates/file1.md:
--------------------------------------------------------------------------------
1 | ---
2 | tags: dateTestTag
3 | ---
4 |
5 | Assume file created time.
6 |
--------------------------------------------------------------------------------
/test/stubs/local-data-tags/component.11tydata.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | tags: "tag3"
3 | };
4 |
--------------------------------------------------------------------------------
/test/stubs/overrides/test-md.liquid:
--------------------------------------------------------------------------------
1 | ---
2 | templateEngineOverride: md
3 | ---
4 | # My Title
5 |
--------------------------------------------------------------------------------
/test/stubs/testing.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | This is an html template.
4 |
5 |
--------------------------------------------------------------------------------
/src/Util/importer.js:
--------------------------------------------------------------------------------
1 | export default function importer(relPath) {
2 | return import(relPath);
3 | }
4 |
--------------------------------------------------------------------------------
/test/stubs-1206/page1.njk:
--------------------------------------------------------------------------------
1 | ---
2 | tags: tag1
3 | ---
4 | This is the first template.{{ page.rawInput }}
--------------------------------------------------------------------------------
/test/stubs-3013/html/_includes/base.html:
--------------------------------------------------------------------------------
1 | ---
2 | title: Books
3 | ---
4 |
--------------------------------------------------------------------------------
/test/stubs/_data/globalData.json:
--------------------------------------------------------------------------------
1 | {
2 | "datakey1": "datavalue1",
3 | "datakey2": "{{pkg.name}}"
4 | }
5 |
--------------------------------------------------------------------------------
/test/stubs/dynamic-permalink/test.njk:
--------------------------------------------------------------------------------
1 | ---
2 | permalink: "/{{justastring}}/"
3 | dynamicPermalink: false
4 | ---
--------------------------------------------------------------------------------
/test/stubs/function-markdown.11ty.cjs:
--------------------------------------------------------------------------------
1 | module.exports = function(data) {
2 | return `# ${data.name}`;
3 | };
4 |
--------------------------------------------------------------------------------
/test/stubs/function.11ty.cjs:
--------------------------------------------------------------------------------
1 | module.exports = function(data) {
2 | return `${data.name}
`; 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs/issue-115/template-bars.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | title: This page is bars 3 | tags: 4 | - bars 5 | --- 6 | Bars -------------------------------------------------------------------------------- /test/stubs/local-data-tags/component.njk: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - tag1 4 | - tag2 5 | --- 6 | {{localdatakey1}} -------------------------------------------------------------------------------- /test/stubs/multiple-ignores/.eleventyignore: -------------------------------------------------------------------------------- 1 | ignoredFolder 2 | ./ignoredFolder/ignored.md 3 | # This is a comment -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | docs 2 | docs-src 3 | test 4 | test_node 5 | coverage 6 | eslint.config.js 7 | .* 8 | packages/client/ 9 | -------------------------------------------------------------------------------- /test/stubs-2367/templateWithLiquidShortcodeMultipleArguments-template2.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | layout: layout.liquid 3 | --- -------------------------------------------------------------------------------- /test/stubs-2753/_data/global.js: -------------------------------------------------------------------------------- 1 | let count = 0; 2 | export default async function () { 3 | return ++count; 4 | }; 5 | -------------------------------------------------------------------------------- /test/stubs-3285/src/scripts/hello-world.js: -------------------------------------------------------------------------------- 1 | export default function() { 2 | console.log('hello world'); 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs-630/_data/mergingGlobalData.js: -------------------------------------------------------------------------------- 1 | export default { 2 | datakey0: "js-value0", 3 | jskey: "js", 4 | }; 5 | -------------------------------------------------------------------------------- /test/stubs-data-cascade/layout-data-files/test.11tydata.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | shared: "datafile" 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs-data-cascade/layout-versus-dirdatafile/src/_includes/base.njk: -------------------------------------------------------------------------------- 1 | --- 2 | cascade: "from-layout-file" 3 | --- -------------------------------------------------------------------------------- /test/stubs-fancyjs/test.mdx: -------------------------------------------------------------------------------- 1 | export function Thing() { 2 | return <>World!!!!> 3 | } 4 | 5 | # Hello,${data.page.fileSlug}
`; 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs/frontmatter-date/test.njk: -------------------------------------------------------------------------------- 1 | --- 2 | mydate: 2009-04-15T01:34:34+01:00 3 | --- 4 | {{ mydate.toISOString() }} -------------------------------------------------------------------------------- /test/stubs/issue-115/template-foos.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | title: This page is foos 3 | tags: 4 | - foos 5 | --- 6 | Foos. -------------------------------------------------------------------------------- /test/stubs/overrides/test.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | templateEngineOverride: njk 3 | title: My Title 4 | --- 5 | {{ title }} 6 | -------------------------------------------------------------------------------- /test/stubs/permalink-true/permalink-true.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: true 3 | --- 4 | 5 | This should throw an error. 6 | -------------------------------------------------------------------------------- /test/stubs/permalinked.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: permalinksubfolder/index.html 3 | --- 4 | Current url: {{ permalink }} -------------------------------------------------------------------------------- /packages/client/src/BundleI18nPlugin.js: -------------------------------------------------------------------------------- 1 | export { default as I18nPlugin } from "../../../src/Plugins/I18nPlugin.js"; 2 | -------------------------------------------------------------------------------- /test/stubs-2378/_data/images/dog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/11ty/eleventy/main/test/stubs-2378/_data/images/dog.jpg -------------------------------------------------------------------------------- /test/stubs-2851/paginated.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: "collections['tag with spaces']" 4 | size: 1 5 | --- 6 | -------------------------------------------------------------------------------- /test/stubs-630/_data/globalData2.json: -------------------------------------------------------------------------------- 1 | { 2 | "datakey1": "datavalue2", 3 | "datakey2": "{{pkg.name}}--json" 4 | } 5 | -------------------------------------------------------------------------------- /test/stubs-630/_data/globalData4.nosj: -------------------------------------------------------------------------------- 1 | { 2 | "datakey1": "datavalue4", 3 | "datakey2": "{{pkg.name}}--nosj" 4 | } 5 | -------------------------------------------------------------------------------- /test/stubs-img-transform/possum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/11ty/eleventy/main/test/stubs-img-transform/possum.png -------------------------------------------------------------------------------- /test/stubs-render-plugin/bad-data.njk: -------------------------------------------------------------------------------- 1 | {% renderTemplate "liquid", "string" %} 2 | {{ _ }} 3 | {% endrenderTemplate %} 4 | -------------------------------------------------------------------------------- /test/stubs-render-plugin/liquid-page.njk: -------------------------------------------------------------------------------- 1 | {% renderTemplate "liquid" %} 2 | {{ page.url }} 3 | {% endrenderTemplate %} 4 | -------------------------------------------------------------------------------- /test/stubs/_includes/layouts/templateMapCollection.njk: -------------------------------------------------------------------------------- 1 | --- 2 | upstream: Inherited 3 | --- 4 | 5 | {{ content | safe }} -------------------------------------------------------------------------------- /test/stubs/cmd-help-processing/_data/test.js: -------------------------------------------------------------------------------- 1 | console.log("THIS SHOULD NOT LOG TO CONSOLE"); 2 | module.exports = []; 3 | -------------------------------------------------------------------------------- /test/stubs/collection/test1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test Title 3 | tags: 4 | - post 5 | - dog 6 | --- 7 | 8 | # Test 1 9 | -------------------------------------------------------------------------------- /test/stubs/collection2/test2.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - post 4 | - cat 5 | date: 2010-01-01 6 | --- 7 | 8 | # Test 2 9 | -------------------------------------------------------------------------------- /test/stubs/custom-frontmatter/template-newline2.njk: -------------------------------------------------------------------------------- 1 | --- 2 | front: hello 3 | --- 4 | This is an excerpt.---This is content. -------------------------------------------------------------------------------- /test/stubs/custom-frontmatter/template.njk: -------------------------------------------------------------------------------- 1 | --- 2 | front: hello 3 | --- 4 | This is an excerpt. 5 | --- 6 | This is content. -------------------------------------------------------------------------------- /test/stubs/layout-permalink-difflang/_includes/test.njk: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: "/{{ page.fileSlug }}/" 3 | --- 4 | {{ content }} -------------------------------------------------------------------------------- /test/stubs/overrides/test-empty.md: -------------------------------------------------------------------------------- 1 | --- 2 | templateEngineOverride: 3 | title: My Title 4 | --- 5 | 6 | # {{ title }} 7 | -------------------------------------------------------------------------------- /test/stubs/overrides/test-njk.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | templateEngineOverride: njk 3 | title: My Title 4 | --- 5 | {{ title }} 6 | -------------------------------------------------------------------------------- /test/stubs/overrides/test.html: -------------------------------------------------------------------------------- 1 | --- 2 | templateEngineOverride: njk 3 | title: My Title 4 | --- 5 |${this.jsfunction(name)}
`; 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs-919/test.11tydata.cjs: -------------------------------------------------------------------------------- 1 | module.exports = function () { 2 | return { 3 | test: Math.random(), 4 | }; 5 | }; 6 | -------------------------------------------------------------------------------- /test/stubs-data-esm/_data/module.mjs: -------------------------------------------------------------------------------- 1 | export const named = "es module named"; 2 | 3 | export default "es module default"; 4 | -------------------------------------------------------------------------------- /test/stubs-render-plugin/liquid-page.liquid: -------------------------------------------------------------------------------- 1 | {% renderTemplate "liquid" %} 2 | {{ page.url }} 3 | {% endrenderTemplate %} 4 | -------------------------------------------------------------------------------- /test/stubs-render-plugin/njk-file-not-exist.liquid: -------------------------------------------------------------------------------- 1 | {% renderFile "./test/stubs-render-plugin/THIS_DOES_NOT_EXIST.njk" %} 2 | -------------------------------------------------------------------------------- /test/stubs-render-plugin/using-frontmatter.liquid: -------------------------------------------------------------------------------- 1 | {% renderFile "./test/stubs-render-plugin/_includes/frontmatter.liquid" %} 2 | -------------------------------------------------------------------------------- /test/stubs/collection-slug/template.njk: -------------------------------------------------------------------------------- 1 | fileSlug:{% for post in collections.dog %}{{ post.url }}:{{ post.fileSlug }}{% endfor %} -------------------------------------------------------------------------------- /test/stubs/config-promise.js: -------------------------------------------------------------------------------- 1 | module.exports = async function() { 2 | return { 3 | layouts: "promise" 4 | }; 5 | }; 6 | -------------------------------------------------------------------------------- /test/stubs/custom-frontmatter/template-newline1.njk: -------------------------------------------------------------------------------- 1 | --- 2 | front: hello 3 | --- 4 | This is an excerpt.--- 5 | This is content. -------------------------------------------------------------------------------- /test/stubs/custom-frontmatter/template-newline3.njk: -------------------------------------------------------------------------------- 1 | --- 2 | front: hello 3 | --- 4 | This is an excerpt. 5 | ---This is content. -------------------------------------------------------------------------------- /test/stubs/custom-frontmatter/template-nonewline.njk: -------------------------------------------------------------------------------- 1 | --- 2 | front: hello 3 | --- 4 | This is an excerpt. 5 | ---This is content. -------------------------------------------------------------------------------- /test/stubs/exitCode_globalData/_data/test.js: -------------------------------------------------------------------------------- 1 | module.exports = async function () { 2 | throw new Error("Testing"); 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs/frontmatter-date/test.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | mydate: 2009-04-15T12:34:34+01:00 3 | --- 4 | {{ mydate | date: "%Y-%m-%d" }} -------------------------------------------------------------------------------- /test/stubs/function-throws.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports = function(data) { 2 | return `${this.upper(data.name)}
`; 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs/multiple-ignores/subfolder/.eleventyignore: -------------------------------------------------------------------------------- 1 | ignoredFolder2 2 | ./ignoredFolder2/ignored2.md 3 | # This is a comment -------------------------------------------------------------------------------- /test/stubs/overrides/test-bypass.md: -------------------------------------------------------------------------------- 1 | --- 2 | templateEngineOverride: njk 3 | title: My Title 4 | --- 5 | 6 | # {{ title }} 7 | -------------------------------------------------------------------------------- /test/stubs/overrides/test-empty.html: -------------------------------------------------------------------------------- 1 | --- 2 | templateEngineOverride: 3 | title: My Title 4 | --- 5 |${data.name}
`); 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs/layout-permalink-difflang/test.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: test.njk 3 | templateEngineOverride: md 4 | --- 5 | 6 | # Title 7 | -------------------------------------------------------------------------------- /test/stubs/overrides/page-templatesyntax.md: -------------------------------------------------------------------------------- 1 | --- 2 | templateEngineOverride: njk,md 3 | --- 4 | 5 | {{ page.templateSyntax }} 6 | -------------------------------------------------------------------------------- /test/stubs/overrides/test-multiple.md: -------------------------------------------------------------------------------- 1 | --- 2 | templateEngineOverride: njk,md 3 | title: My Title 4 | --- 5 | 6 | # {{ title }} 7 | -------------------------------------------------------------------------------- /test/stubs/overrides/test-multiple2.njk: -------------------------------------------------------------------------------- 1 | --- 2 | templateEngineOverride: liquid,md 3 | title: My Title 4 | --- 5 | # {{ title }} 6 | -------------------------------------------------------------------------------- /test/stubs/overrides/test.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: My Title 3 | layout: layouts/engineOverridesMd.njk 4 | --- 5 | 6 | # {{ title }} 7 | -------------------------------------------------------------------------------- /test/stubs/paged/cfg-collection-tag-cfg-collection/test1.njk: -------------------------------------------------------------------------------- 1 | --- 2 | title: Testing 1 3 | tags: 4 | - tag1 5 | --- 6 | {{ title }} -------------------------------------------------------------------------------- /test/stubs/paged/cfg-collection-tag-cfg-collection/test2.njk: -------------------------------------------------------------------------------- 1 | --- 2 | title: Testing 2 3 | tags: 4 | - tag1 5 | --- 6 | {{ title }} -------------------------------------------------------------------------------- /test/stubs/paged/cfg-collection-tag-cfg-collection/test3.njk: -------------------------------------------------------------------------------- 1 | --- 2 | title: Testing 3 3 | tags: 4 | - tag1 5 | --- 6 | {{ title }} -------------------------------------------------------------------------------- /test/stubs/paged/collection/consumer.njk: -------------------------------------------------------------------------------- 1 | {% for item in collections.pagingtag %}{{ item.templateContent | safe }}{% endfor %} 2 | -------------------------------------------------------------------------------- /test/stubs/permalinkdata-jsfn.njk: -------------------------------------------------------------------------------- 1 | ---js 2 | { 3 | title: "slug", 4 | permalink: "subdir/{{title}}/" 5 | } 6 | --- 7 | Slugged. 8 | -------------------------------------------------------------------------------- /test/stubs/reuse-permalink/test1.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test Title 3 | date: "2016-01-01T06:00-06:00" 4 | --- 5 | 6 | # Test 1 7 | -------------------------------------------------------------------------------- /test/stubs/templateMapCollection/test1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test Title 3 | tags: 4 | - post 5 | - dog 6 | --- 7 | 8 | # Test 1 9 | -------------------------------------------------------------------------------- /src/Adapters/Packages/semver.client.js: -------------------------------------------------------------------------------- 1 | export function satisfies(version, range) { 2 | // Always return true 3 | return true; 4 | } 5 | -------------------------------------------------------------------------------- /test/slugify-filter/multibyte.njk: -------------------------------------------------------------------------------- 1 | --- 2 | title: "test-猫" 3 | permalink: subdir/{{ title | slugify }}/index.html 4 | --- 5 | Slugged. 6 | -------------------------------------------------------------------------------- /test/slugify-filter/slug-number.njk: -------------------------------------------------------------------------------- 1 | --- 2 | number: 1 3 | permalink: subdir/{{ number | slugify }}/index.html 4 | --- 5 | Slugged. 6 | -------------------------------------------------------------------------------- /test/slugify-filter/slugify-number.njk: -------------------------------------------------------------------------------- 1 | --- 2 | number: 1 3 | permalink: subdir/{{ number | slugify }}/index.html 4 | --- 5 | Slugged. 6 | -------------------------------------------------------------------------------- /test/stubs-413/date-frontmatter.md: -------------------------------------------------------------------------------- 1 | --- 2 | subtitle: New doc page 3 | date: 2019-03-13 20:18:42 +0000 4 | tags: 5 | - docs 6 | --- 7 | -------------------------------------------------------------------------------- /test/stubs-data-cascade/layout-versus-tmpldatafile/test.11tydata.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | cascade: "template-data-file", 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs/_includes/permalink-data-layout.njk: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: "{{ page.fileSlug }}/index.html" 3 | --- 4 | Wrapper:{{ content | safe }} -------------------------------------------------------------------------------- /test/stubs/config-empty-pathprefix.cjs: -------------------------------------------------------------------------------- 1 | module.exports = function (config) { 2 | return { 3 | pathPrefix: "", 4 | }; 5 | }; 6 | -------------------------------------------------------------------------------- /test/stubs/eleventyComputed/override.njk: -------------------------------------------------------------------------------- 1 | --- 2 | key1: value1 3 | eleventyComputed: 4 | key1: override 5 | --- 6 | hi:{{ key1 }} 7 | -------------------------------------------------------------------------------- /test/stubs/permalink-false-computed/test.md: -------------------------------------------------------------------------------- 1 | --- 2 | eleventyComputed: 3 | permalink: false 4 | --- 5 | 6 | This shouldn’t write 7 | -------------------------------------------------------------------------------- /test/stubs/permalink-markdown.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: My Title 3 | permalink: /news/my-test-file/index.html 4 | --- 5 | 6 | # <%= title %> 7 | -------------------------------------------------------------------------------- /test/stubs/permalinkdata.njk: -------------------------------------------------------------------------------- 1 | --- 2 | title: Slug CANDIDATE 3 | permalink: subdir/{{ title | slugify }}/index.html 4 | --- 5 | Slugged. 6 | -------------------------------------------------------------------------------- /test/stubs/templateFrontMatter.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | key1: value1 3 | key2: value2 4 | key3: value3 5 | --- 6 | c:{{ key1 }}:{{ key2 }}:{{ key3 }} -------------------------------------------------------------------------------- /test/stubs/templateMapCollection/test4.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test Title 4 3 | tags: 4 | - post 5 | - dog 6 | --- 7 | 8 | # Test 4 9 | -------------------------------------------------------------------------------- /test/stubs/templateMapCollection/testWithLayout.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: layouts/templateMapCollection.njk 3 | --- 4 | 5 | {{ upstream }} 6 | -------------------------------------------------------------------------------- /src/Util/Pluralize.js: -------------------------------------------------------------------------------- 1 | export default function (count, singleWord, pluralWord) { 2 | return count === 1 ? singleWord : pluralWord; 3 | } 4 | -------------------------------------------------------------------------------- /test/_issues/3809/.app/.eleventy.js: -------------------------------------------------------------------------------- 1 | export const config = { 2 | dir: { 3 | input: "../", 4 | data: ".app/_data", 5 | } 6 | }; 7 | -------------------------------------------------------------------------------- /test/slugify-filter/comma.njk: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Hi, I'm ZAch" 3 | permalink: subdir/{{ title | slugify }}/index.html 4 | --- 5 | Slugged. 6 | -------------------------------------------------------------------------------- /test/stubs-2258-2830-skip-layouts/style.scss: -------------------------------------------------------------------------------- 1 | --- 2 | layout: layout.njk 3 | --- 4 | code { 5 | padding: 0.25em; 6 | line-height: 0; 7 | } -------------------------------------------------------------------------------- /test/stubs-434/_includes/macros-filter.njk: -------------------------------------------------------------------------------- 1 | {% macro label(text) %}{% endmacro %} -------------------------------------------------------------------------------- /test/stubs-computed-symbolparse/test.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | eleventyComputed: 3 | c: "{{ a | fail }}{{ b | fail }}" 4 | a: "a" 5 | b: "b" 6 | --- -------------------------------------------------------------------------------- /test/stubs-computed-symbolparse/test.njk: -------------------------------------------------------------------------------- 1 | --- 2 | eleventyComputed: 3 | c: "{{ a | fail }}{{ b | fail }}" 4 | a: "a" 5 | b: "b" 6 | --- -------------------------------------------------------------------------------- /test/stubs-freeze/page/_data/page.js: -------------------------------------------------------------------------------- 1 | export default { 2 | "key": "value", // allowed 3 | "url": "lksjdklfjlskdjf", // not allowed 4 | }; -------------------------------------------------------------------------------- /test/stubs/_includes/layoutLiquid.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | keylayout: valuelayout 3 | --- 4 | 5 |
2 |
--------------------------------------------------------------------------------
/test/stubs-render-plugin/njk-eleventy.liquid:
--------------------------------------------------------------------------------
1 | ---
2 | ---
3 | {% renderTemplate "njk" %}
4 | {{ eleventy.version }}
5 | {% endrenderTemplate %}
6 |
--------------------------------------------------------------------------------
/test/stubs/_includes/layouts/engineOverrides.njk:
--------------------------------------------------------------------------------
1 | ---
2 | layoutkey: layoutvalue
3 | ---
4 | ${await this.upper(name)}
`; 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs/function-throws-async.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports = async function(data) { 2 | return `${await this.upper(data.name)}
`; 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs/permalink-in-layout-fileslug.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | layout: permalink-in-layout/layout-fileslug.liquid 3 | --- 4 | Current url: {{ permalink }} -------------------------------------------------------------------------------- /test/stubs/prematureTemplateContent/test.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports = function(data) { 2 | return data.collections.all[0].templateContent; 3 | }; 4 | -------------------------------------------------------------------------------- /test/stubs/stubs-1541/_includes/render-source.liquid: -------------------------------------------------------------------------------- 1 | {{ page.url }} via {{ eleventy.env.source }} collections.all size: {{ collections.all | size }} -------------------------------------------------------------------------------- /test/stubs/templatetest-frontmatter/single.njk: -------------------------------------------------------------------------------- 1 | --- 2 | tags: single-tag 3 | --- 4 | {% if tags.includes("single-tag") %}Has single-tag{% endif %} -------------------------------------------------------------------------------- /test/proxy-pagination-globaldata/tmpl2.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pages: 3 | - page 1 4 | pagination: 5 | data: pages 6 | size: 1 7 | --- 8 | {{ banner.content }} -------------------------------------------------------------------------------- /test/slugify-filter/test.njk: -------------------------------------------------------------------------------- 1 | --- 2 | title: _Slug ♥ CANDIDATE люблю $#%- 3 | permalink: subdir/{{ title | slugify }}/index.html 4 | --- 5 | Slugged. 6 | -------------------------------------------------------------------------------- /test/stubs-630/_data/mergingGlobalData.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | datakey0: "cjs-value1", 3 | datakey1: "cjs-value1", 4 | cjskey: "cjs" 5 | }; 6 | -------------------------------------------------------------------------------- /test/stubs-630/component-yaml/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "jsonKey2": "json2", 3 | "jsKey1": "overridden", 4 | "yamlKey3": "overridden" 5 | } 6 | -------------------------------------------------------------------------------- /test/stubs-render-plugin/liquid-eleventy.njk: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | {% renderTemplate "liquid" %} 4 | {{ eleventy.version }} 5 | {% endrenderTemplate %} 6 | -------------------------------------------------------------------------------- /test/stubs-render-plugin/liquid-global.njk: -------------------------------------------------------------------------------- 1 | --- 2 | hi: globalHi 3 | --- 4 | {% renderTemplate "liquid" %} 5 | {{ hi }}123 6 | {% endrenderTemplate %} 7 | -------------------------------------------------------------------------------- /test/stubs-render-plugin/nunjucks-global.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | hi: globalHi 3 | --- 4 | {% renderTemplate "njk" %} 5 | {{ hi }} 6 | {% endrenderTemplate %} 7 | -------------------------------------------------------------------------------- /test/stubs/collection2/test1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test Title 3 | tags: 4 | - post 5 | - dog 6 | date: 2009-01-01 7 | --- 8 | 9 | # Test 1 10 | -------------------------------------------------------------------------------- /test/stubs/custom-frontmatter/template-excerpt-comment.njk: -------------------------------------------------------------------------------- 1 | --- 2 | front: hello 3 | --- 4 | This is an excerpt. 5 | 6 | This is content. -------------------------------------------------------------------------------- /test/stubs/dependencies/two-deps.11ty.cjs: -------------------------------------------------------------------------------- 1 | const dep1 = require("./dep1.cjs"); 2 | const dep2 = require("./dep2.cjs"); 3 | 4 | module.exports = ""; 5 | -------------------------------------------------------------------------------- /test/stubs/eleventyComputed/override-reuse.njk: -------------------------------------------------------------------------------- 1 | --- 2 | key1: value1 3 | eleventyComputed: 4 | key1: "over({{key1}})ride" 5 | --- 6 | hi:{{ key1 }} 7 | -------------------------------------------------------------------------------- /test/stubs/paged/cfg-collection-tag-cfg-collection/consumer.njk: -------------------------------------------------------------------------------- 1 | {% for item in collections.pagingtag %}{{ item.templateContent | safe }}{% endfor %} 2 | -------------------------------------------------------------------------------- /test/stubs/permalink-build/permalink-build.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: 3 | build: /url/ 4 | --- 5 | 6 | This should be the same as `permalink: /url/` 7 | -------------------------------------------------------------------------------- /test/stubs/permalink-empty-object/empty-object.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: {} 3 | --- 4 | 5 | This should be the same as if permalink was not set at all. 6 | -------------------------------------------------------------------------------- /test/stubs/permalink-markdown-var.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: My Title 3 | permalink: /news/{{ title | slugify }}/index.html 4 | --- 5 | 6 | # <%= title %> 7 | -------------------------------------------------------------------------------- /test/stubs/templateMapCollection/templateContent.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: circle 3 | --- 4 | 5 | # Test 6 | 7 | {{ collections.circle[0].templateContent }} 8 | -------------------------------------------------------------------------------- /test/stubs/templateMapCollection/test3.md: -------------------------------------------------------------------------------- 1 | --- 2 | tags: circle 3 | --- 4 | 5 | # {{ collections.circle.length }}, {{ collections.circle[0].url }} 6 | -------------------------------------------------------------------------------- /test/proxy-pagination-globaldata/tmpl.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | pages: 3 | - page 1 4 | pagination: 5 | data: pages 6 | size: 1 7 | --- 8 | {{ banner.content }} -------------------------------------------------------------------------------- /test/stubs-2261/index.njk: -------------------------------------------------------------------------------- 1 | {% from "block.njk" import block with context %} 2 | {% call block() %}Hello{% sample "Manuel" %}Hello{% endsample %}{% endcall %} -------------------------------------------------------------------------------- /test/stubs/component/component.11tydata.js: -------------------------------------------------------------------------------- 1 | import dep2 from "../deps/dep2.cjs"; 2 | 3 | export default { 4 | localdatakeyfromjs: "howdydoody", 5 | }; 6 | -------------------------------------------------------------------------------- /test/stubs/data-cascade/template.njk: -------------------------------------------------------------------------------- 1 | --- 2 | parent: 3 | child: -2 4 | frontmatter: true 5 | frontmatter: true 6 | tags: 7 | - tagA 8 | - tagB 9 | --- -------------------------------------------------------------------------------- /test/stubs/eleventyComputed/permalink-simple.njk: -------------------------------------------------------------------------------- 1 | --- 2 | key1: value1 3 | eleventyComputed: 4 | permalink: "haha-{{key1}}.html" 5 | --- 6 | hi:{{ key2 }} -------------------------------------------------------------------------------- /test/stubs/eleventyComputed/permalink-slug.njk: -------------------------------------------------------------------------------- 1 | --- 2 | key1: "This is a string" 3 | eleventyComputed: 4 | permalink: "haha-{{key1 | slugify}}.html" 5 | --- -------------------------------------------------------------------------------- /test/stubs/issue-522/excluded.md: -------------------------------------------------------------------------------- 1 | --- 2 | eleventyExcludeFromCollections: true 3 | --- 4 | 5 | # Test 6 | 7 | {{ collections.all[0].templateContent }} 8 | -------------------------------------------------------------------------------- /src/Adapters/getDefaultConfig.js: -------------------------------------------------------------------------------- 1 | // Standard 2 | export default async function () { 3 | return import("../defaultConfig.js").then((mod) => mod.default); 4 | } 5 | -------------------------------------------------------------------------------- /test/stubs-434/_includes/macros.njk: -------------------------------------------------------------------------------- 1 | {% macro label(text) %}{% endmacro %} -------------------------------------------------------------------------------- /test/stubs-919/test.njk: -------------------------------------------------------------------------------- 1 | --- 2 | root: 3 | - one 4 | - two 5 | - three 6 | pagination: 7 | data: "root" 8 | size: 1 9 | --- 10 | {{ test | log }} -------------------------------------------------------------------------------- /test/stubs-render-plugin/false.liquid: -------------------------------------------------------------------------------- 1 | {% renderTemplate %} 2 | {% assign name = "Bruno" %} 3 | # Hello {{ name }} 4 | * Testing 5 | {% endrenderTemplate %} 6 | -------------------------------------------------------------------------------- /test/stubs/2016-02-01-permalinkdate.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | title: Date Permalink 3 | permalink: "/{{ page.date | date: '%Y/%m/%d' }}/index.html" 4 | --- 5 | Date Permalinks -------------------------------------------------------------------------------- /src/Adapters/Packages/semver.js: -------------------------------------------------------------------------------- 1 | // Costs ~18 KB 2 | import semverSatisfies from "semver/functions/satisfies.js"; 3 | 4 | export { semverSatisfies as satisfies }; 5 | -------------------------------------------------------------------------------- /test/slugify-filter/slug-options.njk: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Hi, I am ZAch" 3 | permalink: "subdir/{{ title | slugify({separator:'_'}) }}/index.html" 4 | --- 5 | Slugged. 6 | -------------------------------------------------------------------------------- /test/stubs/_includes/layouts/engineOverridesMd.njk: -------------------------------------------------------------------------------- 1 | --- 2 | layoutkey: layoutvalue 3 | --- 4 | # Layout header 5 | 6 |${name}
`; 7 | }; 8 | -------------------------------------------------------------------------------- /test/stubs/overrides/layoutfalse.njk: -------------------------------------------------------------------------------- 1 | --- 2 | templateEngineOverride: false 3 | title: My Title 4 | layout: layouts/engineOverrides.njk 5 | --- 6 |Zach
"); 4 | }, 100); 5 | }); 6 | -------------------------------------------------------------------------------- /test/stubs/script-frontmatter/test-js.njk: -------------------------------------------------------------------------------- 1 | ---javascript 2 | { 3 | myFunction: function() { 4 | return "HELLO!"; 5 | } 6 | } 7 | --- 8 |${name}
`); 4 | } 5 | } 6 | 7 | module.exports = Test; 8 | -------------------------------------------------------------------------------- /test/stubs/collection-layout/_includes/layout.liquid: -------------------------------------------------------------------------------- 1 | Layout 2 | 3 | {{ content }} 4 | 5 | All {{ collections.all | size }} templates 6 | Layout {{ collections.dog | size }} dog -------------------------------------------------------------------------------- /test/stubs/collection/test8.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test Title 3 | tags: 4 | - post 5 | - office 6 | eleventyExcludeFromCollections: true 7 | --- 8 | 9 | # Test 1 10 | -------------------------------------------------------------------------------- /test/stubs/collection/test9.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test Title 3 | tags: 4 | - post 5 | - office 6 | eleventyExcludeFromCollections: post 7 | --- 8 | 9 | # Test 1 10 | -------------------------------------------------------------------------------- /test/stubs/component/component.11tydata.cjs: -------------------------------------------------------------------------------- 1 | const dep2 = require("../deps/dep2.cjs"); 2 | 3 | module.exports = { 4 | localdatakeyfromcjs: "common-js-howdydoody" 5 | }; 6 | -------------------------------------------------------------------------------- /test/stubs/object.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | data: { 3 | name: "Ted" 4 | }, 5 | render: function({ name }) { 6 | return `${name}
`; 7 | } 8 | }; 9 | -------------------------------------------------------------------------------- /test/stubs/permalink-conflicts/test1.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test Title 3 | tags: 4 | - post 5 | - dog 6 | permalink: /permalink-conflicts/ 7 | --- 8 | 9 | # Test 1 10 | -------------------------------------------------------------------------------- /test/stubs/permalink-conflicts/test2.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test Title 3 | tags: 4 | - post 5 | - dog 6 | permalink: /permalink-conflicts/ 7 | --- 8 | 9 | # Test 2 10 | -------------------------------------------------------------------------------- /test/stubs/permalink-conflicts/test3.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Test Title 3 | tags: 4 | - post 5 | - dog 6 | permalink: permalink-conflicts/ 7 | --- 8 | 9 | # Test 3 10 | -------------------------------------------------------------------------------- /test/stubs/templateFrontMatterJson.liquid: -------------------------------------------------------------------------------- 1 | ---json 2 | { 3 | "key1": "value1", 4 | "key2": "value2", 5 | "key3": "value3" 6 | } 7 | --- 8 | c:{{ key1 }}:{{ key2 }}:{{ key3 }} -------------------------------------------------------------------------------- /test/stubs/templateMapCollection/paged-cfg.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Paged Test 3 | pagination: 4 | data: collections.userCollection 5 | size: 1 6 | --- 7 | 8 | # {{ title }} 9 | -------------------------------------------------------------------------------- /test/stubs/templatetest-frontmatter/multiple.njk: -------------------------------------------------------------------------------- 1 | --- 2 | tags: 3 | - multi-tag 4 | - multi-tag-2 5 | --- 6 | {% if tags.includes("multi-tag-2") %}Has multi-tag-2{% endif %} -------------------------------------------------------------------------------- /test/stubs-computed-dirdata/dir/first.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports.data = { 2 | test: "first", 3 | }; 4 | 5 | module.exports.render = function (data) { 6 | return "first"; 7 | }; 8 | -------------------------------------------------------------------------------- /test/stubs/_includes/layouts/layout-inherit-b.njk: -------------------------------------------------------------------------------- 1 | --- 2 | inherits: b 3 | secondinherits: b 4 | layout: layouts/layout-inherit-c.njk 5 | --- 6 | {{ content | safe }} {{secondinherits}} -------------------------------------------------------------------------------- /test/stubs/issue-115/index-with-layout.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | layout: layouts/issue-115.liquid 3 | title: My index page 4 | pagination: 5 | data: collections.foos 6 | size: 12 7 | --- 8 | -------------------------------------------------------------------------------- /test/stubs/permalink-markdown-override.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: My Title 3 | permalink: /news/my-test-file/index.html 4 | templateEngineOverride: html,md 5 | --- 6 | 7 | # <%= title %> 8 | -------------------------------------------------------------------------------- /test/stubs-computed-dirdata/dir/dir.11tydata.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | eleventyComputed: { 3 | webmentions: (data) => { 4 | return data.test; 5 | }, 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /test/stubs-computed-dirdata/dir/second.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports.data = { 2 | test: "second", 3 | }; 4 | 5 | module.exports.render = function (data) { 6 | return "second"; 7 | }; 8 | -------------------------------------------------------------------------------- /test/stubs/_includes/layout-a.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | layout: layout-b 3 | key1: value1-a 4 | upstream: value2-a 5 | --- 6 | 7 |${JSON.stringify(name)}
`; 6 | }; 7 | -------------------------------------------------------------------------------- /test/stubs/issue-135/template.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: articles 4 | size: 1 5 | alias: article 6 | permalink: blog/{{ article.title | slugify }}/index.html 7 | --- 8 | {{ article.body | safe }} -------------------------------------------------------------------------------- /test/stubs/use-collection.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports = function({ collections }) { 2 | return `Hello.
-------------------------------------------------------------------------------- /test/stubs/templateWithLayoutKey.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | layout: defaultLayout 3 | keymain: valuemain 4 | title: 'Font Aliasing, or How to Rename a Font in CSS' 5 | permalink: /rename-font/ 6 | --- 7 | 8 |Hello.
-------------------------------------------------------------------------------- /src/Util/SetUtil.js: -------------------------------------------------------------------------------- 1 | export function union(...sets) { 2 | let root = new Set(); 3 | for (let set of sets) { 4 | for (let entry of set) { 5 | root.add(entry); 6 | } 7 | } 8 | return root; 9 | } 10 | -------------------------------------------------------------------------------- /test/stubs-2261/eleventy.config.js: -------------------------------------------------------------------------------- 1 | export default function(eleventyConfig) { 2 | eleventyConfig.addPairedShortcode("sample", function(content, firstName) { 3 | return `${content} ${firstName}` 4 | }); 5 | }; -------------------------------------------------------------------------------- /test/stubs/_includes/defaultLayoutLayoutContent.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | keylayout: valuelayout 3 | postRank: 4 4 | daysPosted: 152 5 | yearsPosted: 0.4 6 | --- 7 | 8 |${name}
`; 8 | } 9 | } 10 | 11 | module.exports = Test; 12 | -------------------------------------------------------------------------------- /packages/client/src/BundleCore.js: -------------------------------------------------------------------------------- 1 | // see BundleEleventy.js for Core WITH bundled Eleventy core plugins 2 | import "./shims/shim-core.js"; 3 | 4 | export { MinimalCore as Eleventy } from "../../../src/CoreMinimal.js"; 5 | -------------------------------------------------------------------------------- /test/stubs-render-plugin/11tyjs-file-override.njk: -------------------------------------------------------------------------------- 1 | --- 2 | hi: value 3 | argData: 4 | hi: liquidHi 5 | bye: liquidBye 6 | --- 7 | {% renderFile "./test/stubs-render-plugin/_includes/include-js.txt", argData, "11ty.js" %} -------------------------------------------------------------------------------- /test/stubs-render-plugin/md.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | hi: value 3 | argData: 4 | hi: liquidHi 5 | bye: liquidBye 6 | --- 7 | {% renderTemplate "md" argData %} 8 | # Hello {{ hi }} 9 | * Testing 10 | {% endrenderTemplate %} -------------------------------------------------------------------------------- /test/stubs/paged/collection/main.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: collections.tag1 4 | size: 2 5 | tags: 6 | - pagingtag 7 | --- 8 |Hello.
8 | -------------------------------------------------------------------------------- /src/Adapters/getDefaultConfig.core.js: -------------------------------------------------------------------------------- 1 | import defaultConfig from "../defaultConfig.js"; 2 | 3 | // Standard and minimal bundle import directly for bundling 4 | export default async function () { 5 | return defaultConfig; 6 | } 7 | -------------------------------------------------------------------------------- /test/stubs/paged/cfg-collection-tag-cfg-collection/paged-downstream.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: collections.pagingtag 4 | size: 1 5 | --- 6 |${data.name}
`); 5 | }, 100); 6 | }); 7 | }; 8 | -------------------------------------------------------------------------------- /test/stubs/templateMapCollection/paged-cfg-tagged.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Paged Test 3 | tags: 4 | - haha 5 | pagination: 6 | data: collections.userCollection 7 | size: 1 8 | alias: item 9 | --- 10 | 11 | # {{ title }} 12 | -------------------------------------------------------------------------------- /src/Errors/TemplateContentPrematureUseError.js: -------------------------------------------------------------------------------- 1 | import EleventyBaseError from "./EleventyBaseError.js"; 2 | 3 | class TemplateContentPrematureUseError extends EleventyBaseError {} 4 | 5 | export default TemplateContentPrematureUseError; 6 | -------------------------------------------------------------------------------- /test/stubs-3013/html/book.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: base 3 | pagination: 4 | data: books 5 | size: 1 6 | alias: book 7 | permalink: /{{ book.shortname }}/ 8 | eleventyComputed: 9 | title: "{{ book.name }}" 10 | --- 11 | {{ title }} -------------------------------------------------------------------------------- /test/stubs-3013/njk/book.njk: -------------------------------------------------------------------------------- 1 | --- 2 | layout: base 3 | pagination: 4 | data: books 5 | size: 1 6 | alias: book 7 | permalink: /{{ book.shortname }}/ 8 | eleventyComputed: 9 | title: "{{ book.name }}" 10 | --- 11 | {{ title }} -------------------------------------------------------------------------------- /test/stubs-i18n/non-lang-file.njk: -------------------------------------------------------------------------------- 1 | {{ "/" | locale_url }} 2 | {{ "/" | locale_url("en-us") }} 3 | {{ "/non-lang-file/" | locale_url }} 4 | {{ page.url | locale_links | dump | safe }} 5 | {{ "" | locale_links | dump | safe }} 6 | {{ page.lang }} -------------------------------------------------------------------------------- /test/stubs-render-plugin/liquid-md.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | hi: value 3 | argData: 4 | hi: liquidHi 5 | bye: liquidBye 6 | --- 7 | {% renderTemplate "liquid,md" argData %} 8 | # Hello {{ hi }} 9 | * Testing 10 | {% endrenderTemplate %} 11 | -------------------------------------------------------------------------------- /test/stubs/paged/paged-empty-pageonemptydata.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: items 4 | size: 1 5 | generatePageOnEmptyData: true 6 | items: [] 7 | --- 8 |${name}
`; 10 | } 11 | } 12 | 13 | module.exports = Test; 14 | -------------------------------------------------------------------------------- /test/stubs/class-data.11ty.cjs: -------------------------------------------------------------------------------- 1 | class Test { 2 | get data() { 3 | return { 4 | name: "Ted" 5 | }; 6 | } 7 | 8 | render({ name }) { 9 | return `${name}
`; 10 | } 11 | } 12 | 13 | module.exports = Test; 14 | -------------------------------------------------------------------------------- /test/stubs/templateFrontMatterJs.njk: -------------------------------------------------------------------------------- 1 | ---js 2 | { 3 | key1: "value1", 4 | key2: function(value) { 5 | return value.toUpperCase(); 6 | }, 7 | key3: "value3" 8 | } 9 | --- 10 | c:{{ key1 }}:{{ key2("value2") }}:{{ key3 }} 11 | -------------------------------------------------------------------------------- /test/stubs-3013/md/book.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: base 3 | pagination: 4 | data: books 5 | size: 1 6 | alias: book 7 | permalink: /{{ book.shortname }}/ 8 | eleventyComputed: 9 | title: "{{ book.name }}" 10 | --- 11 | 12 | {{ title }} 13 | -------------------------------------------------------------------------------- /test/stubs-computed-global/intermix.njk: -------------------------------------------------------------------------------- 1 | ---js 2 | { 3 | eleventyComputed: { 4 | image: data => { 5 | return "first"; 6 | }, 7 | image2: data => { 8 | return "second"; 9 | } 10 | } 11 | } 12 | --- 13 | Issue #1043 -------------------------------------------------------------------------------- /test/stubs/page-target-collections/paginateall.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: collections.all 4 | size: 1 5 | alias: entry 6 | filter: 7 | - all 8 | addAllPagesToCollections: true 9 | --- 10 | INPUT PATH:{{ entry.inputPath }} -------------------------------------------------------------------------------- /src/Util/JavaScriptDependencies.core.js: -------------------------------------------------------------------------------- 1 | class JavaScriptDependencies { 2 | static async getDependencies() { 3 | throw new Error("This feature is not supported in `@11ty/client` bundles."); 4 | } 5 | } 6 | 7 | export default JavaScriptDependencies; 8 | -------------------------------------------------------------------------------- /test/stubs-render-plugin/vue.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | hi: value 3 | argData: 4 | hi: liquidHi 5 | bye: liquidBye 6 | --- 7 | {% renderTemplate "vue" argData %} 8 |${this.upper(name)}
`; 10 | } 11 | } 12 | 13 | module.exports = Test; 14 | -------------------------------------------------------------------------------- /test/stubs/class-data-fn-filter.11ty.cjs: -------------------------------------------------------------------------------- 1 | class Test { 2 | data() { 3 | return { 4 | name: "Ted" 5 | }; 6 | } 7 | 8 | render({ name }) { 9 | return `${this.upper(name)}
`; 10 | } 11 | } 12 | 13 | module.exports = Test; 14 | -------------------------------------------------------------------------------- /test/stubs/paged/collection-apply-to-all/main.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: collections.tag1 4 | size: 2 5 | addAllPagesToCollections: true 6 | tags: 7 | - pagingtag 8 | --- 9 |${name}
`; 10 | } 11 | } 12 | 13 | module.exports = Test; 14 | -------------------------------------------------------------------------------- /test/stubs/function-filter.11ty.cjs: -------------------------------------------------------------------------------- 1 | function myFunction({ name }) { 2 | return `${this.upper(name)}${myFunction.staticMethod()}
`; 3 | } 4 | 5 | myFunction.staticMethod = function() { 6 | return "T9000"; 7 | }; 8 | 9 | module.exports = myFunction; 10 | -------------------------------------------------------------------------------- /test/stubs/script-frontmatter/test-default.njk: -------------------------------------------------------------------------------- 1 | --- 2 | import {noopSync} from "@zachleat/noop"; 3 | const myString = "Hi"; 4 | 5 | // export a function 6 | function myFunction() { return "Bye" } 7 | --- 8 |{{ upstream }}
-------------------------------------------------------------------------------- /test/stubs-pagination-computed-quotes-njk/test.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: "collections.posts" 4 | size: 1 5 | quotes: 6 | - The person that shared this is awesome 7 | eleventyComputed: 8 | quote: "{{ quotes | selectRandomFromArray }}" 9 | --- 10 | {{ quote }} -------------------------------------------------------------------------------- /test/stubs-pagination-computed-quotes/test.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: "collections.posts" 4 | size: 1 5 | quotes: 6 | - The person that shared this is awesome 7 | eleventyComputed: 8 | quote: "{{ quotes | selectRandomFromArray }}" 9 | --- 10 | {{ quote }} -------------------------------------------------------------------------------- /test/stubs/cfg-directories-export/eleventy.config.js: -------------------------------------------------------------------------------- 1 | export default function(eleventyConfig) { 2 | 3 | }; 4 | 5 | export const config = { 6 | dir: { 7 | input: "src", 8 | includes: "myincludes", 9 | data: "mydata", 10 | output: "dist" 11 | } 12 | }; -------------------------------------------------------------------------------- /test/stubs/component-async/component.11tydata.js: -------------------------------------------------------------------------------- 1 | export default async function () { 2 | return new Promise((resolve) => { 3 | setTimeout(function () { 4 | resolve({ 5 | localdatakeyfromjs: "howdydoody", 6 | }); 7 | }, 1); 8 | }); 9 | } 10 | -------------------------------------------------------------------------------- /test/stubs/paged/cfg-collection-tag-cfg-collection/paged-main.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: collections.tag1 4 | size: 2 5 | addAllPagesToCollections: true 6 | tags: 7 | - pagingtag 8 | --- 9 |${name}
`; 10 | } 11 | } 12 | 13 | module.exports = Test; 14 | -------------------------------------------------------------------------------- /test/stubs/component-async/component.11tydata.cjs: -------------------------------------------------------------------------------- 1 | module.exports = async function() { 2 | return new Promise(resolve => { 3 | setTimeout(function() { 4 | resolve({ 5 | localdatakeyfromcjs: "common-js-howdydoody" 6 | }); 7 | }, 1); 8 | }); 9 | }; 10 | -------------------------------------------------------------------------------- /test/stubs/paged-global-data-mutable/_data/testdata.cjs: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | key1: "item1", 4 | key2: "item2", 5 | }, 6 | { 7 | key3: "item3", 8 | key4: "item4", 9 | }, 10 | { 11 | key5: "item5", 12 | key6: "item6", 13 | }, 14 | ]; 15 | -------------------------------------------------------------------------------- /test/stubs/paged-global-data-mutable/paged-differing-data-set.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: testdata 4 | size: 1 5 | alias: item 6 | --- 7 | 1:{{ item.key1 }} 8 | 2:{{ item.key2 }} 9 | 3:{{ item.key3 }} 10 | 4:{{ item.key4 }} 11 | 5:{{ item.key5 }} 12 | 6:{{ item.key6 }} -------------------------------------------------------------------------------- /test/stubs/stubs-computed-permalink/eleventycomputed-object.11ty.cjs: -------------------------------------------------------------------------------- 1 | module.exports.data = { 2 | lang: "en", 3 | eleventyComputed: { 4 | permalink: { 5 | build: function (data) { 6 | return `/i18n/${data.lang}/`; 7 | }, 8 | }, 9 | }, 10 | }; 11 | -------------------------------------------------------------------------------- /test_node/3824-incremental/_includes/head.tsx: -------------------------------------------------------------------------------- 1 | import { Page } from "./ViewProps.js"; 2 | 3 | export type HeadProps = { 4 | page: Page 5 | }; 6 | 7 | export function Head(props: HeadProps): JSX.Element { 8 | return 9 |${name}
`; 11 | } 12 | } 13 | 14 | module.exports = Test; 15 | -------------------------------------------------------------------------------- /test/stubs/class-fns-has-page.11ty.cjs: -------------------------------------------------------------------------------- 1 | class TestWithPage { 2 | get page() { 3 | return "this-is-my-page"; 4 | } 5 | 6 | render(data) { 7 | data.avaTest.is(this.page, "this-is-my-page"); 8 | data.avaTest.is(data.page.url, "/hi/"); 9 | } 10 | } 11 | 12 | module.exports = TestWithPage; 13 | -------------------------------------------------------------------------------- /test/stubs/transform-pages/template.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: testdata 4 | size: 4 5 | testdata: 6 | - item1 7 | - item2 8 | - item3 9 | - item4 10 | - item5 11 | - item6 12 | - item7 13 | - item8 14 | --- 15 |${name}${this.returnsBill()}${Test.returnsTed()}
`; 12 | } 13 | } 14 | 15 | module.exports = Test; 16 | -------------------------------------------------------------------------------- /test/stubs-computed-global/_data/eleventyComputed.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | eleventyNavigation: { 3 | key: data => { 4 | return "nested-first-global"; 5 | } 6 | }, 7 | image2: data => { 8 | return "second-global"; 9 | }, 10 | image3: data => { 11 | return "third-global"; 12 | } 13 | }; 14 | -------------------------------------------------------------------------------- /test/stubs/class-data-permalink-fn-buffer.11ty.cjs: -------------------------------------------------------------------------------- 1 | class Test { 2 | get data() { 3 | return { 4 | key: "value1", 5 | permalink: data => Buffer.from(`/my-permalink/${data.key}/`) 6 | }; 7 | } 8 | 9 | render({ name }) { 10 | return `${name}
`; 11 | } 12 | } 13 | 14 | module.exports = Test; 15 | -------------------------------------------------------------------------------- /test/stubs/paged/pagedinlinedata-reverse.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: testdata 4 | size: 4 5 | reverse: true 6 | testdata: 7 | - item1 8 | - item2 9 | - item3 10 | - item4 11 | - item5 12 | - item6 13 | - item7 14 | - item8 15 | --- 16 |${name}${this.rand}
`; 15 | } 16 | } 17 | 18 | module.exports = Test; 19 | -------------------------------------------------------------------------------- /test/stubs/class-buffer.11ty.cjs: -------------------------------------------------------------------------------- 1 | class Test { 2 | returnsBill() { 3 | return "Bill"; 4 | } 5 | 6 | static returnsTed() { 7 | return "Ted"; 8 | } 9 | 10 | render({ name }) { 11 | return Buffer.from( 12 | `${name}${this.returnsBill()}${Test.returnsTed()}
` 13 | ); 14 | } 15 | } 16 | 17 | module.exports = Test; 18 | -------------------------------------------------------------------------------- /test/stubs/class-filter.11ty.cjs: -------------------------------------------------------------------------------- 1 | class Test { 2 | static returnsTed() { 3 | return "Ted"; 4 | } 5 | 6 | returnsBill() { 7 | return "Bill"; 8 | } 9 | 10 | render({ name }) { 11 | return `${this.upper( 12 | name 13 | )}${this.returnsBill()}${Test.returnsTed()}
`; 14 | } 15 | } 16 | 17 | module.exports = Test; 18 | -------------------------------------------------------------------------------- /test/stubs/paged/pagedpermalinkif.liquid: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: items 4 | size: 2 5 | items: 6 | - item1 7 | - item2 8 | - item3 9 | - item4 10 | permalink: paged/{% if pagination.pageNumber > 0 %}page-{{ pagination.pageNumber }}/{% endif %}index.html 11 | --- 12 |${name}${this.returnsBill()}${Test.returnsTed()}
`; 12 | } 13 | } 14 | 15 | module.exports = Test; -------------------------------------------------------------------------------- /test/Util/normalizeSeparators.js: -------------------------------------------------------------------------------- 1 | import PathNormalizer from "../../src/Util/PathNormalizer.js"; 2 | 3 | export function normalizeSeparatorString(str) { 4 | return PathNormalizer.normalizeSeperator(str); 5 | } 6 | 7 | export function normalizeSeparatorArray(arr) { 8 | return arr.map(entry => { 9 | return PathNormalizer.normalizeSeperator(entry); 10 | }) 11 | } 12 | -------------------------------------------------------------------------------- /src/Util/DirContains.js: -------------------------------------------------------------------------------- 1 | import path from "node:path"; 2 | 3 | // Returns true if subfolder is in parent (accepts absolute or relative paths for both) 4 | export default function (parentFolder, subFolder) { 5 | // path.resolve returns an absolute path 6 | if (path.resolve(subFolder).startsWith(path.resolve(parentFolder))) { 7 | return true; 8 | } 9 | return false; 10 | } 11 | -------------------------------------------------------------------------------- /test/stubs/class-async-data-fn.11ty.cjs: -------------------------------------------------------------------------------- 1 | class Test { 2 | async data() { 3 | return new Promise((resolve, reject) => { 4 | setTimeout(function() { 5 | resolve({ 6 | name: "Ted" 7 | }); 8 | }, 50); 9 | }); 10 | } 11 | 12 | render({ name }) { 13 | return `${name}
`; 14 | } 15 | } 16 | 17 | module.exports = Test; 18 | -------------------------------------------------------------------------------- /test/stubs/issue-135/template.json: -------------------------------------------------------------------------------- 1 | { 2 | "articles": 3 | [ 4 | { 5 | "title": "Do you even paginate bro?", 6 | "author": "Bill Ted", 7 | "publish_date": "2018-06-22", 8 | "tags": [ 9 | "post" 10 | ], 11 | "image": "/url/thing", 12 | "teaser": "Teaser copy", 13 | "body": "Raw HTML
" 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /test/stubs/paged/paged-before.njk: -------------------------------------------------------------------------------- 1 | ---js 2 | { 3 | pagination: { 4 | data: "items", 5 | size: 1, 6 | before: function(data) { 7 | return data.reverse(); 8 | }, 9 | alias: 'myalias' 10 | }, 11 | items: ["item1", "item2", "item3", "item4", "item5", "item6"] 12 | } 13 | --- 14 |${this.upper(name)}${this.returnsBill()}${Test.returnsTed()}
` 13 | ); 14 | } 15 | } 16 | 17 | module.exports = Test; 18 | -------------------------------------------------------------------------------- /test/stubs/class-data-permalink-fn-filter.11ty.cjs: -------------------------------------------------------------------------------- 1 | class Test { 2 | get data() { 3 | return { 4 | title: "My Super Cool Title", 5 | permalink: function({ title }) { 6 | return `/my-permalink/${this.slugify(title)}/`; 7 | } 8 | }; 9 | } 10 | 11 | render({ name }) { 12 | return `${name}
`; 13 | } 14 | } 15 | 16 | module.exports = Test; 17 | -------------------------------------------------------------------------------- /test/stubs/paged/paged-before-and-reverse.njk: -------------------------------------------------------------------------------- 1 | ---js 2 | { 3 | pagination: { 4 | data: "items", 5 | size: 1, 6 | reverse: true, 7 | before: function(data) { 8 | return data.slice(0, 2); 9 | } 10 | }, 11 | items: ["item1", "item2", "item3", "item4", "item5", "item6"] 12 | } 13 | --- 14 |${name}
`); 13 | }, 100); 14 | }); 15 | }; 16 | -------------------------------------------------------------------------------- /test_node/3824-incremental/tsconfig-3824.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2016", 4 | "jsx": "react-jsx", 5 | "jsxImportSource": "jsx-async-runtime", 6 | "module": "NodeNext", 7 | "outDir": "dist", 8 | "esModuleInterop": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "strict": true, 11 | "skipLibCheck": true 12 | }, 13 | "exclude": [ "node_modules", "_site" ] 14 | } 15 | -------------------------------------------------------------------------------- /test/stubs/paged/pagedobjectfilterstring.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: testdata 4 | size: 4 5 | filter: item4 6 | testdata: 7 | item1: itemvalue1 8 | item2: itemvalue2 9 | item3: itemvalue3 10 | item4: itemvalue4 11 | item5: itemvalue5 12 | item6: itemvalue6 13 | item7: itemvalue7 14 | item8: itemvalue8 15 | item9: itemvalue9 16 | --- 17 |${this.upper( 5 | name 6 | )}${this.returnsBill()}${myFunction.staticMethod()}
`; 7 | }; 8 | 9 | myFunction.prototype.returnsBill = function() { 10 | return "Bill"; 11 | }; 12 | 13 | myFunction.staticMethod = function() { 14 | return "T9001"; 15 | }; 16 | 17 | module.exports = myFunction; 18 | -------------------------------------------------------------------------------- /test/stubs/paged/pagedobjectfilterarray.njk: -------------------------------------------------------------------------------- 1 | --- 2 | pagination: 3 | data: testdata 4 | size: 4 5 | filter: 6 | - item4 7 | testdata: 8 | item1: itemvalue1 9 | item2: itemvalue2 10 | item3: itemvalue3 11 | item4: itemvalue4 12 | item5: itemvalue5 13 | item6: itemvalue6 14 | item7: itemvalue7 15 | item8: itemvalue8 16 | item9: itemvalue9 17 | --- 18 |${name}
`; 17 | } 18 | } 19 | 20 | module.exports = Test; 21 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Reporting a Vulnerability 4 | 5 | Privately report a security issue by navigating to https://github.com/11ty/eleventy/security and using the “Report a vulnerability” button. 6 | 7 | Read more at: https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability 8 | 9 | Alternatively, you may report security issues via an email to `security@11ty.dev`. 10 | -------------------------------------------------------------------------------- /src/Util/ArrayUtil.js: -------------------------------------------------------------------------------- 1 | export function arrayDelete(arr, match) { 2 | if (!Array.isArray(arr)) { 3 | return []; 4 | } 5 | 6 | if (!match) { 7 | return arr; 8 | } 9 | 10 | // only mutates if found 11 | if (typeof match === "function") { 12 | if (arr.find(match)) { 13 | return arr.filter((entry) => { 14 | return !match(entry); 15 | }); 16 | } 17 | } else if (arr.includes(match)) { 18 | return arr.filter((entry) => { 19 | return entry !== match; 20 | }); 21 | } 22 | 23 | return arr; 24 | } 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Generated files 2 | dist/ 3 | packages/*/visualize/* 4 | 5 | # Ignore installed npm modules 6 | node_modules/ 7 | 8 | # Ignore build tool output, e.g. code coverage 9 | .nyc_output/ 10 | coverage/ 11 | docs/_data/coverage.json 12 | 13 | # Ignore API documentation 14 | api-docs/ 15 | 16 | # Ignore folders from source code editors 17 | .vscode 18 | .idea 19 | 20 | # Ignore eleventy output when doing manual tests 21 | _site/ 22 | 23 | # Ignore test files 24 | .cache 25 | test/stubs-layout-cache/_includes/*.js 26 | -------------------------------------------------------------------------------- /test/stubs/vue.11ty.cjs: -------------------------------------------------------------------------------- 1 | const { createSSRApp } = require("vue"); 2 | const { renderToString } = require("@vue/server-renderer"); 3 | 4 | module.exports = async function (templateData) { 5 | var app = createSSRApp({ 6 | template: "Hello {{ data.name }}, this is a Vue template.
", 7 | data: function () { 8 | return { 9 | data: templateData, 10 | }; 11 | }, 12 | // components: { 13 | // 'test': ComponentA 14 | // } 15 | }); 16 | 17 | return renderToString(app); 18 | }; 19 | -------------------------------------------------------------------------------- /test/Issue3788Test.js: -------------------------------------------------------------------------------- 1 | import test from "ava"; 2 | import Eleventy from "../src/Eleventy.js"; 3 | 4 | test("#3788 Nunjucks shortcodes args", async (t) => { 5 | let elev = new Eleventy("test/noop", false, { 6 | config(eleventyConfig) { 7 | eleventyConfig.addTemplate("index.njk", `{% test %}:{% test "" %}`); 8 | 9 | eleventyConfig.addShortcode("test", (args) => { 10 | return JSON.stringify(args); 11 | }) 12 | } 13 | }); 14 | 15 | let [result] = await elev.toJSON(); 16 | 17 | t.is(result.content, `undefined:""`); 18 | }); 19 | -------------------------------------------------------------------------------- /packages/client/src/shims/shim-core.js: -------------------------------------------------------------------------------- 1 | import * as process from "./process.cjs"; 2 | 3 | // `path` polyfill needs this 4 | window.process = globalThis.process = process; 5 | 6 | // `recursive-copy` needs this (not necessary for Core.js) 7 | window.global = globalThis || window; 8 | 9 | // @11ty/eleventy needs this 10 | class Buffer { 11 | static [Symbol.hasInstance](instance) { 12 | return this.isBuffer(instance); 13 | } 14 | 15 | static isBuffer() { 16 | return false; 17 | } 18 | } 19 | 20 | window.Buffer = globalThis.Buffer = Buffer; 21 | -------------------------------------------------------------------------------- /test_node/3824/index.11ty.tsx: -------------------------------------------------------------------------------- 1 | import { Head } from "./_includes/head.tsx"; 2 | import { Page, ViewProps } from "./_includes/viewprops.tsx"; 3 | 4 | 5 | export type IndexProps = { 6 | children?: JSX.Element; 7 | page: Page 8 | }; 9 | 10 | export function Index(props: IndexProps): JSX.Element { 11 | return 12 |Hello World
15 | 16 | ; 17 | } 18 | 19 | export function render(props: ViewProps): JSX.Element { 20 | returnHello World
15 | 16 | ; 17 | } 18 | 19 | export function render(props: ViewProps): JSX.Element { 20 | returnHello {{ data.name }}, this is a Vue template.
", 7 | data: function () { 8 | return { data }; 9 | }, 10 | // components: { 11 | // 'test': ComponentA 12 | // } 13 | }); 14 | 15 | let content = await renderToString(app, { title: "Test" }); 16 | return ` 17 |