Releases: 11ty/eleventy
Eleventy v0.3.0
Eleventy is a simpler Static Site Generator!
⭐️ Support Eleventy by starring us on GitHub! This will increase our project’s visibility on staticgen.com, a big giant list of static site generators.
🚨 Eleventy wins Google Open Source Peer Bonus Award
Changelog
- Adds new documentation pages for each individual template engine:
- Adds Configuration API
setLibrary
for all template engines. Configure your own rendering engine options (e.g. add your own markdown options/plugins). #79 - Adds
--dryrun
to run Eleventy without writing any files (useful for debugging issues) #77 - Eleventy throws an error when using unknown options (instead of running) #66 Thanks @kleinfreund!
- Bug fix: paginate collection data #76
- Bug fix: directory specific data files were being ignored in some cases #78
- Eleventy Configuration API:
addPassthroughCopy
is now chainable. #81 #82 Thanks @kleinfreund! - We’ve surpassed 300 automated tests 👍
Milestone
Non-dev Dependency semver Major Version Upgrades:
Eleventy v0.2.15
Eleventy is a simpler Static Site Generator!
https://www.11ty.io/
Support Eleventy by starring us on GitHub! This will increase our project’s visibility on staticgen.com, a big giant list of static site generators.
Install
npm install -g @11ty/eleventy
- Getting Started Quick Guide
- Check out https://11ty.io/
Changelog
- Template and Directory Specific Data Files: Read more
- Not processed through a templating engine, although Global Data files are.
- Eleventy now looks for Directory Specific Data Files in all parent directories of template (inside of
--input
)
- Adds an example of using template date in permalink value. Use inside of a Directory Specific Data file to apply a permalink structure to all templates in a directory. Read more
- Adds
eleventyConfig.setPugOptions()
andeleventyConfig.setLiquidOptions()
to modify default rendering options for Pug and Liquid template engines, respectively. Read more - A bunch more tests! (always)
Milestone
Eleventy v0.2.14
Eleventy is a simpler Static Site Generator!
https://www.11ty.io/
Support Eleventy by starring us on GitHub! This will increase our project’s visibility on staticgen.com, a big giant list of static site generators.
Install
npm install -g @11ty/eleventy
- Getting Started Quick Guide
- Check out https://11ty.io/
Changelog
-
Plugin support: Plugins are custom code that Eleventy can import into a project from an external repository. Currently, we have plugins for RSS and Syntax Highlighting provided. This is big and there will be more to come. Read more
-
Template and Directory Specific Data Files: This is a super powerful option to configure data files for specific templates (or directories of templates). It was added to configure a default
layout
for an entire directory of templates, but it can do so much more. Read more. -
Changing a Template’s Rendering Engine: Prior versions of Eleventy tied the template engine specifically to the file extension. We now allow you to override this option using the
templateEngineOverride
data key. Read more. -
Adds
setTemplateFormats
method to the Configuration API. (In order of precedence:--formats
command line,setTemplateFormats()
Configuration API,templateFormats
Configuration Object key) -
Adds
pathPrefix
Configuration Object key, used by the url filter and inserted as a prefix to the beginning of all localhref
links. For example, my personal blog lives athttps://www.zachleat.com/web/
, so my"pathPrefix": "/web/"
. Don’t worry about slashes, we clean them up. -
Adds
getFilteredByGlob
to Collection API. For example, in your config file, you can create these types of collections:
// Filter source file names using a glob
eleventyConfig.addCollection("onlyMarkdown", function(collection) {
return collection.getFilteredByGlob("**/*.md");
});
// Filter source file names using a glob
eleventyConfig.addCollection("posts", function(collection) {
return collection.getFilteredByGlob("_posts/*.md");
});
- Manual passthrough copy: Searching the entire directory structure for files to copy based on file extensions is not optimal with large directory structures. If we know what non-template static content we want to appear in our output, we can opt-in to specify files or directories for Eleventy to copy for you. This will probably speed up your build times.
// .eleventy.js
module.exports = function(eleventyConfig) {
eleventyConfig.addPassthroughCopy("img");
// use a subdirectory, it’ll copy using the same directory structure.
eleventyConfig.addPassthroughCopy("css/fonts");
};
- Support for Asynchronous Nunjucks Filters. Do async work inside your filter!
- Ignore source files in
node_modules
if.gitignore
file does not exist. See #54 - Vaguely described performance improvements
- Bug fixes listed in Milestone
- If you’re
eleventy --watch
ing and save while Eleventy is already running, we’ll let you know and run again for you automatically.
v0.2.10: Eleventy-Aught-Two-Ten
Install
npm install -g @11ty/eleventy
- Getting Started Quick Guide
- Making a Simple Web Site with the Simplest Static Site Generator
- Check out https://11ty.io/ (an Eleventy web site, of course)
Changelog
-
Configuration API:
- Add custom helpers, filters, and tags! Read more and here
- Universal filters: experimental. Add a single filter that cascades to multiple template engine types! Supports Liquid, Nunjucks, and Handlebars:
eleventyConfig.addFilter(name, function(value) {});
- In addition to the filters and tags provided by the templating engines themselves, Eleventy provides
url
andslug
universal filters.
-
Layout Aliasing (useful if you’re migrating a bunch of existing content)
-
Allow content to use the
YYYY-MM-DD-filename.suffix
format and this date will be used for sorting in collections. -
Fixed a gnarly bug when mixing template engines between content and layouts (now working as advertised) (#44)
-
Additions to eleventy-base-blog. I was able to dump all 10+ years worth of markdown posts from zachleat.com into an eleventy-base-blog branch for a pretty-easy working Jekyll content migration! Stay tuned for more info on migrating!
-
See full GitHub milestone
v0.2.7: Eleventy-Aught-Two-Seven
Install
npm install -g @11ty/eleventy
Read the full Getting Started Quick Guide
Changelog
-
The long awaited blog web site sample project:
eleventy-base-blog
is here—with an RSS feed! (technically Atom) #29 -
Adds
passthroughFileCopy
option as a very basic feature to copy assets (think CSS or images) to the output directory. Read more -
Adds
page.url
data option to allow comparison withcollections.name[…].url
to find if the item is the same as the current page (useful for active page classes on navigation) #22 #36 -
Bugs with
inputDir
vs./inputDir
normalization in ignores. #33 #34 #35 -
Fixed a bug with
--watch
and build counts/times -
Layouts can now include a full path (with subdirectories) instead of just a filename:
layout: layouts/mylayout.njk
-
See full GitHub milestone
v0.2.6: Eleventy-Aught-Two-Six
Install
npm install -g @11ty/eleventy
Read the full Getting Started Quick Guide
Changelog
-
Adds
DEBUG=* eleventy
mode for additional logging and information! Read more -
Massive speed improvements, found a serious bottleneck in
globby
when using thegitignore: true
feature. Worked around it to shave seconds off execution time. -
Adds big docs page about
Layouts
in Eleventy. -
Adds
--config=MyConfigFile.js
command line option to override the default project config file for eleventy. -
Supports a single file input using
--input=FILENAME
. Thinking about adding support for globs here in the future, if user-requested! -
Adds Code Coverage Statistics to the documentation and an
npm run coverage
script that automates it. -
See full GitHub milestone
v0.2.2: Eleventy-Aught-Two
Installation
npm install --save-dev @11ty/eleventy
- WARNING npm package name has been renamed to use the
@11ty
scope. Install using@11ty/eleventy
. Previous version (eleventy-cli
) is now deprecated (but still works as is). Sorry, y’all—for proper code organization and future maintenance I needed to pull that bandaid off as soon as possible.
Links
Release notes
- Tagged content and collections! Add a
tags
list to your front matter and use thecollections.tagName
variables in your data. Read more about Collections and Tags - Adds friendly warning message if you don’t meet minimum Node version requirement (version 8+)
- Worth noting explicitly that unlike Jekyll, files and directories that start with an underscore are processed.
- Adds continuous integration with Travis CI
A little help from my friends
With a pull request from @aakoch—thanks!
For our version naming pattern, major and minor versions are combined with https://en.wiktionary.org/wiki/eleventy