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

Eleventy Documentation

Menu

Glossary #

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 #

Template #

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 #

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

Read more about using layouts.

Data #

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 #

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 #

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 #

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 #

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 #

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 #

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

Read more about plugins.

Eleventy Edge #

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 #

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 #

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 #

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 #

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 #

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 #

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 #

“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 #

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 #

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 #

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 #

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 #

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 #

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: