Stand with Ukraine 🇺🇦
Eleventy
The possum is Eleventy’s mascot

Eleventy Documentation

Menu

Glossary Jump to heading

This page provides two lists of terms — one for Eleventy-specific terminology that may be useful for when building out a project using Eleventy, and one for industry jargon that may be useful for understanding context.

Work in progress: Edit this page

Eleventy-Specific Terminology Jump to heading

Template Jump to heading

A content file written in a format such as Markdown, HTML, Liquid, Nunjucks, and more, which Eleventy transforms into a page (or pages) in the built site. Templates can access data exposed through the data cascade with templating syntax.

Layout Jump to heading

A template which wraps around another template, typically to provide the scaffolding markup for content to sit in.

Read more about using layouts.

Data Jump to heading

Exposed via variables that can be used inside templates and layouts using templating syntax. The data for a given template is aggregated through a process called the data cascade.

Data Cascade Jump to heading

Eleventy's order of operations for evaluating all data for any given template, and for resolving conflicts that arise. The data cascade follows the principle of colocation, so data defined broadly to apply to many templates will be overruled by data that targets the given template more specifically.

Read more about the data cascade.

Filter Jump to heading

A function which can be used within templating syntax to transform data into a more presentable format. Filters are typically designed to be chained, so that the value returned from one filter is piped into the next filter.

Read more about filters.

Shortcode Jump to heading

A function which can be used within templating syntax to inject content into templates. Shortcodes can take many arguments, and can be thought of as a templating approach to reusable markup.

Read more about shortcodes.

Collection Jump to heading

An array of templates, used to group similar content. Collections can be created by using tags or by calling the collections API in the Eleventy configuration.

Read more about collections.

Pagination Jump to heading

A way to create pages by iterating over data. The same template is applied to each chunk of the paginated data.

Read more about pagination.

Plugin Jump to heading

A portable, installable Eleventy configuration which can add data, filters, shortcodes, and more to a project's setup.

Read more about plugins.

Eleventy Edge Jump to heading

Opt-in shortcodes for Eleventy in which pieces of dynamic functionality can be coupled with build-generated or serverless templates.

Read more about Eleventy Edge.

Eleventy Serverless Jump to heading

An opt-in build mode for Eleventy in which specified pages are built when a user requests them, rather than ahead of time during a build step. Optionally, pages that are built on request can be cached by the content delivery network to be used for future visits to that page.

Read more about Eleventy Serverless.

Industry Terms and Buzzwords Jump to heading

Bask in the warm glow of this “Nobody ever got fired for buying IBM”-style feel-good industry jargon.

Our industry can be particularly bad about inventing words for things that already exist. Hopefully this page will help you navigate the labyrinth.

Static Sites Jump to heading

A static site is a group of generated HTML files. Content is built into the HTML files rather than using a dynamic back end language to generate the content on-the-fly. A dynamic site can appear static when you add caching rules to make the content stickier. A static site can appear dynamic when you run your build quickly and often.

JAMstack Jump to heading

Modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt Markup.—jamstack.org

Eleventy facilitates JAMstack sites—but you maintain full control over the JavaScript.

Progressive Enhancement Jump to heading

The idea that content should be the priority for a website's development. In other words, start with only essential content and functionality that works with as many users as possible, and then progressively enhance from there.

As stated in the MDN Web Docs: "Special notice should be taken of accessibility. Acceptable alternatives should be provided where possible."

Data-Driven Jump to heading

Make components and markup data-driven so that you don’t have a bunch of one-off copy-pasted HTML instances littered throughout your project.

Serverless Friendly Jump to heading

“You can take your front-end skills and do things that typically only a back-end can do. You can write a JavaScript function that you run and receive a response from by hitting a URL.”—The Power of Serverless from Chris Coyier

Take care to make sure that serverless functions are progressively enhanced. If you call serverless functions in client-side JavaScript, they should be used for features that are outside the core functionality of the site. Use Eleventy Serverless to generate pages on-request without any client-side JavaScript.

Lean Web Jump to heading

To be honest it’s kind of a stretch to relate Lean methodology to this project but the term just kinda feels right.

Zero Config Jump to heading

Zero config means that Eleventy can run without any command line parameters or configuration files.

We’ve taken care to setup Eleventy so that that running the stock eleventy command uses sensible defaults. Lower the barrier to entry for that first project build to get up and running faster.

Convention over Configuration Routing Jump to heading

Can you believe that some frameworks require a centralized piece of configuration for routing? eleventy routes map the file system, unless you override with a permalink.

Pre-rendered Templates by Default Jump to heading

With the rise of client side rendering of templates in JavaScript came significant performance problems, especially with users of less-capable (but none-the-less still modern) hardware. Did you know they’re selling new mobile devices that are pretty hardware-limited?

Many frameworks switched to Server Side Rendering, which meant running an application server with middleware that would render the markup on demand for each request. Eleventy templates by default are generated (some call this pre-rendering) at build time for maximum performance. This way the web server only needs to fetch the static file and send it back to the user.

Hydration-less Jump to heading

Well, uh, we don’t inject or use any client-side JavaScript in Eleventy, so there’s nothing that needs hydration.

Apps not App Servers Jump to heading

Application servers can be slow. Instead of PHP, Java, or even Node.js dynamically generating page responses on the fly when the request comes in, have your pre-rendered templates ready to go for delivery! Maximum performance.


Other pages in Overview: