Go to file
Zach Leatherman 283df5ef4c
Merge pull request #1 from mathiasbynens/link
Use <link> to refer to the Atom feed
2018-01-19 05:43:25 -06:00
_data Initial commit. 2018-01-16 21:08:47 -06:00
_includes Use <link> to refer to the Atom feed 2018-01-19 07:32:20 +01:00
about Initial commit. 2018-01-16 21:08:47 -06:00
css Initial commit. 2018-01-16 21:08:47 -06:00
feed Initial commit. 2018-01-16 21:08:47 -06:00
img Initial commit. 2018-01-16 21:08:47 -06:00
posts Initial commit. 2018-01-16 21:08:47 -06:00
.eleventy.js Renames url filter to url 2018-01-16 21:20:54 -06:00
.eleventyignore Initial commit. 2018-01-16 21:08:47 -06:00
.gitignore Initial commit. 2018-01-16 21:08:47 -06:00
index.njk Reorder docs 2018-01-16 21:38:57 -06:00
LICENSE Initial commit 2018-01-15 13:28:08 -06:00
package.json Initial commit. 2018-01-16 21:08:47 -06:00
README.md Reorder docs 2018-01-16 21:38:57 -06:00

eleventy-base-blog

A starter repository showing how to build a blog with the Eleventy static site generator.

Getting Started

1. Clone this repository:

git clone https://github.com/11ty/eleventy-base-blog.git my-blog-name

2. Navigate to the directory

cd my-blog-name

Specifically have a look at .eleventy.js to see if you want to configure any Eleventy options differently.

3. Install dependencies

npm install

4. Run Eleventy

npx eleventy

Or build automatically when a template changes:

npx eleventy --watch

Or in debug mode:

DEBUG=* npx eleventy

Implementation Notes

  • about/index.md shows how to add a content page.
  • posts/ has the blog posts but really they can live in any directory. They need only the post tag to be added to this collection.
  • Add the nav tag to add a template to the top level site navigation. For example, this is in use on index.njk and about/index.md.
  • Content can be any template format (blog posts neednt be markdown, for example). Configure your supported templates in .eleventy.js -> templateFormats.
    • Because css and png are listed in templateFormats but are not supported template types, any files with these extensions will be copied without modification to the output (while keeping the same directory structure).
  • The blog post feed template is in feed/feed.njk. This is also a good example of using a global data files in that it uses _data/metadata.json.
  • This example uses three layouts:
    • _includes/layouts/base.njk: the top level HTML structure
    • _includes/layouts/home.njk: the home page template (wrapped into base.njk)
    • _includes/layouts/post.njk: the blog post template (wrapped into base.njk)
  • _includes/postlist.njk is a Nunjucks macro and is a reusable component used to display a list of all the posts. index.njk has an example of how to use it.