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.
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.
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.
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.
Plugin Jump to heading
A portable, installable Eleventy configuration which can add data, filters, shortcodes, and more to a project's setup.
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.
- If you want to add dynamic server-side functionality to your Eleventy project, use Eleventy Edge on top of your build or server generated templates.
- Eleventy can also run in Serverless mode for server side rendering On Request or even On Request Once and Cached for Subsequent Visitors.
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.