Eleventy (software)

Last updated
Eleventy
Other names11ty
Developer(s) Zach Leatherman
Initial releaseDecember 20, 2017;6 years ago (2017-12-20) [1]
Stable release
3.0.0 [2] / 1 October 2024;16 days ago (1 October 2024)
Repository
Written in JavaScript
Operating system Cross-platform
Platform Web
Type Blog publishing system
License MIT License
Website www.11ty.dev OOjs UI icon edit-ltr-progressive.svg

Eleventy (abbreviated 11ty) is a static site generator, a software system for creating websites. It is open source software written in JavaScript. 11ty is noted for its simplicity, and for its support of a large number of template languages. Paired with other technologies, 11ty can be used as part of a Jamstack.

Contents

11ty was created in 2017 by Zach Leatherman. It was inspired by Jekyll.

Purpose

Like all static site generators, the purpose of Eleventy is to allow the user to create HTML documents more simply than by typing out the documents by hand. This is of particular value for multi-page static websites, which require making the same change to many HTML documents.

Eleventy uses a "static first" design philosophy, meaning that it specializes in creating HTML documents that do not need to be refreshed or updated each time they are viewed by a web browser. Although Eleventy may be configured to run on web servers at request time creating dynamic web pages this is not its primary purpose. [3] :2

History

Eleventy was created by Zach Leatherman, a web developer in Omaha, Nebraska, in 2017. Leatherman was inspired by Jekyll, which is written in the Ruby language, to create a similar system in the JavaScript language. [3] :2 11ty is distributed under the MIT License.

Among the users of 11ty is the US federal government via Cloud.gov and the US Web Design System. [4]

Version 3.0.0 of 11ty was released in October, 2024. [5]

Features

11ty comes with more than 10 templating engines. These may be used separately or together, giving 11ty flexibility to combine content from several sources or authors. [3] :2 Template languages supported include Markdown, Liquid, Nunjucks and HAML. [6] :17

No front-end JavaScript framework is assumed by 11ty; it is "frontend agnostic." [3] :3 By combining 11ty with a JavaScript framework performing API integration, developers may form a Jamstack application. [6] :15–40

Eleventy includes a local web server for use during development, activated with the --serve flag. It "hot-reloads" upon file changes, updating the web browser as the developer works. [7]

Related Research Articles

Server-side scripting is a technique used in web development which involves employing scripts on a web server which produces a response customized for each user's (client's) request to the website. Scripts can be written in any of a number of server-side scripting languages that are available. Server-side scripting is distinguished from client-side scripting where embedded scripts, such as JavaScript, are run client-side in a web browser, but both techniques are often used together. The alternative to either or both types of scripting is for the web server itself to deliver a static web page.

Web development is the work involved in developing a website for the Internet or an intranet. Web development can range from developing a simple single static page of plain text to complex web applications, electronic businesses, and social network services. A more comprehensive list of tasks to which Web development commonly refers, may include Web engineering, Web design, Web content development, client liaison, client-side/server-side scripting, Web server and network security configuration, and e-commerce development.

A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications on the World Wide Web. Web frameworks aim to automate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks, and session management, and they often promote code reuse. Although they often target development of dynamic web sites, they are also applicable to static websites.

Google Developers is Google's site for software development tools and platforms, application programming interfaces (APIs), and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers using Google's developer products.

<span class="mw-page-title-main">Web template system</span> System in web publishing

A web template system in web publishing allows web designers and developers to work with web templates to automatically generate custom web pages, such as the results from a search. This reuses static web page elements while defining dynamic elements based on web request parameters. Web templates support static content, providing basic structure and appearance. Developers can implement templates from content management systems, web application frameworks, and HTML editors.

A static web page, sometimes called a flat page or a stationary page, is a web page that is delivered to a web browser exactly as stored, in contrast to dynamic web pages which are generated by a web application.

<span class="mw-page-title-main">YUI Library</span>

The Yahoo! User Interface Library (YUI) is a discontinued open-source JavaScript library for building richly interactive web applications using techniques such as Ajax, DHTML, and DOM scripting. YUI includes several cores CSS resources. It is available under a BSD License. Development on YUI began in 2005 and Yahoo! properties such as My Yahoo! and the Yahoo! front page began using YUI in the summer of that year. YUI was released for public use in February 2006. It was actively developed by a core team of Yahoo! engineers.

jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animations, and Ajax. It is free, open-source software using the permissive MIT License. As of August 2022, jQuery is used by 77% of the 10 million most popular websites. Web analysis indicates that it is the most widely deployed JavaScript library by a large margin, having at least three to four times more usage than any other JavaScript library.

A single-page application (SPA) is a web application or website that interacts with the user by dynamically rewriting the current web page with new data from the web server, instead of the default method of loading entire new pages. The goal is faster transitions that make the website feel more like a native app.

<span class="mw-page-title-main">Vaadin</span> Web development platform written in Java

Vaadin is an open-source web application development platform for Java. Vaadin includes a set of Web Components, a Java web framework, and a set of tools that enable developers to implement modern web graphical user interfaces (GUI) using the Java programming language only, TypeScript only, or a combination of both.

<span class="mw-page-title-main">Opa (programming language)</span>

Opa is an open-source programming language for developing scalable web applications.

Content Security Policy (CSP) is a computer security standard introduced to prevent cross-site scripting (XSS), clickjacking and other code injection attacks resulting from execution of malicious content in the trusted web page context. It is a Candidate Recommendation of the W3C working group on Web Application Security, widely supported by modern web browsers. CSP provides a standard method for website owners to declare approved origins of content that browsers should be allowed to load on that website—covered types are JavaScript, CSS, HTML frames, web workers, fonts, images, embeddable objects such as Java applets, ActiveX, audio and video files, and other HTML5 features.

<span class="mw-page-title-main">Jekyll (software)</span> Ruby-based static website generator

Jekyll is a static site generator written in Ruby by Tom Preston-Werner. It is distributed under the open source MIT license.

Web Components are a set of features that provide a standard component model for the web allowing for encapsulation and interoperability of individual HTML elements. Web Components are a popular approach when building microfrontends.

Static site generators (SSGs) are software engines that use text input files to generate static web pages. Static sites generated by static site generators do not require a backend after site generation, making them first-class citizens on content delivery networks (CDNs). Some of the most popular static site generators are Jekyll, Hugo, Eleventy, Gatsby, and Next js, SSGs are typically for rarely-changing, informative content, such as product pages, news articles, software documentation, and blogs.

<span class="mw-page-title-main">Vue.js</span> Open-source JavaScript library for building user interfaces

Vue.js is an open-source model–view–viewmodel front end JavaScript framework for building user interfaces and single-page applications. It was created by Evan You and is maintained by him and the rest of the active core team members.

Hugo is a static site generator written in Go. Steve Francia originally created Hugo as an open source project in 2013. Since v0.14 in 2015, Hugo has continued development under the lead of Bjørn Erik Pedersen with other contributors. Hugo is licensed under the Apache License 2.0.

Next.js is an open-source web development framework created by the private company Vercel providing React-based web applications with server-side rendering and static website generation.

In web development, hydration or rehydration is a technique in which client-side JavaScript converts a static HTML web page, delivered either through static hosting or server-side rendering, into a dynamic web page by attaching event handlers to the HTML elements. Because the HTML is pre-rendered on a server, this allows for a fast "first contentful paint", but there is a period of time afterward where the page appears to be fully loaded and interactive, but is not until the client-side JavaScript is executed and event handlers have been attached.

htmx is an open-source front-end JavaScript library that extends HTML with custom attributes that enable the use of AJAX directly in HTML and with a hypermedia-driven approach. These attributes allow for the dynamic definition of a web page directly in HTML and CSS, without the need for writing additional JavaScript. These attributes allows tasks that traditionally required writing JavaScript to be done completely with HTML. The library was created by Carson Gross as a new version of intercooler.js.

References

  1. "Release v0.1.0 · 11ty/eleventy". GitHub . Retrieved 16 October 2024.
  2. "Eleventy v3.0.0: Possums ❤️ ESM". 1 October 2024. Retrieved 16 October 2024.
  3. 1 2 3 4 Robinson, Bryan (2023). Eleventy by Example: Create Powerful, Performant Websites with a Static-first Strategy. Packt Publishing. ISBN   9781804618622.
  4. "Site Templates". Cloud.gov.
  5. "Eleventy v3.0.0". GitHub.
  6. 1 2 Camden, Raymond; Rinaldi, Brian (2022). The Jamstack Book: Beyond Static Sites with JavaScript, APIs, and Markup. Manning. ISBN   9781617298882. OCLC   1319833583.
  7. Eckles, Stephanie (March 24, 2021). "A Deep Dive Into Eleventy Static Site Generator". Smashing Magazine.