Skip to content

Releases: 11ty/eleventy

Eleventy v0.3.0

26 Mar 13:54
Compare
Choose a tag to compare

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

06 Mar 03:38
Compare
Choose a tag to compare

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

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() and eleventyConfig.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

16 Feb 15:02
Compare
Choose a tag to compare

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

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 local href links. For example, my personal blog lives at https://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 --watching 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

25 Jan 15:24
Compare
Choose a tag to compare

Install

npm install -g @11ty/eleventy

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 and slug 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

  • See Code Coverage Statistics

v0.2.7: Eleventy-Aught-Two-Seven

17 Jan 03:56
Compare
Choose a tag to compare

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 with collections.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

  • See Code Coverage Statistics

v0.2.6: Eleventy-Aught-Two-Six

12 Jan 05:49
Compare
Choose a tag to compare

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 the gitignore: 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

09 Jan 15:01
Compare
Choose a tag to compare

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 the collections.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