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

Eleventy Documentation

This is an older version of Eleventy. Go to the newest Eleventy docs (current path: /docs/usage/) or the full release history.
Menu

Command Line Usage #

These examples assume local project installation instead of global installation.

# Searches the current directory, outputs to ./_site
npx @11ty/eleventy
Make sure you always use npx @11ty/eleventy (including the @11ty/ prefix!). If you do not include the @11ty/ prefix and you don’t already have Eleventy installed (locally or globally), it will execute the wrong package. For consistency and accuracy always use npx @11ty/eleventy.

If you’re using a global install of Eleventy, remove npx @11ty/ from the beginning of each command, like so:

# Global installation
eleventy
# `npx @11ty/eleventy` is the same as:
npx @11ty/eleventy --input=. --output=_site

Read more about --input and --output. Note that setting the input and output directories via a config file is more reliable, especially when using tools like netlify dev.

A hypothetical template.md in the current directory would be rendered to _site/template/index.html. Read more at Permalinks.

# Use only a subset of template types
npx @11ty/eleventy --formats=md,html,ejs
# Find out the most up-to-date list of commands (there are more)
npx @11ty/eleventy --help

Re-run Eleventy when you save #

# Boot up a Browsersync web server to apply changes and
# refresh automatically. We’ll also --watch for you.
npx @11ty/eleventy --serve
# Change the web server’s port—use localhost:8081
npx @11ty/eleventy --serve --port=8081
Important Note: Browsersync requires a <body> tag in your template for live-reload to work properly.
# Automatically run when input template files change.
# Useful if you have your own web server.
npx @11ty/eleventy --watch

--quiet if the Output is Too Noisy #

# Shhhhh—Don’t log so much to the console
npx @11ty/eleventy --quiet

--dryrun to do a Little Testing #

Runs without writing to the file system. Useful when debugging.

# Run Eleventy but don’t write any files
npx @11ty/eleventy --dryrun

--config to Change the Config file name #

# Override the default eleventy project config filename (.eleventy.js)
npx @11ty/eleventy --config=myeleventyconfig.js

--to can output JSON New in v1.0.0 #

# Output a JSON structure (does not write to the file system)
npx @11ty/eleventy --to=json

# Output a Newline Deliminated JSON structure (does not write to the file system)
npx @11ty/eleventy --to=ndjson

# Default behavior (Output to file system)
npx @11ty/eleventy --to=fs

Read more about ndjson.

--incremental for partial incremental builds #

# Repeat builds only operate on files that have changed
npx @11ty/eleventy --incremental

Read more about incremental builds.

Using the Same Input and Output #

Yes, you can use the same input and output directories, like so:

# Parse and write Markdown to HTML, respecting directory structure.
npx @11ty/eleventy --input=. --output=. --formats=md
Careful with --formats=html here! If you run eleventy more than once, it’ll try to process the output files too. Read more at the HTML template docs.

Other pages in Getting Started: