Skip to content
A starter repository for a blog web site using the Eleventy static site generator.
HTML CSS JavaScript
Branch: master
Clone or download
Pull request Compare This branch is 8 commits ahead of 11ty:master.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Create FUNDING.yml Jul 2, 2019
_11ty Using deep data merge (post tag is inherited from posts/posts.json) a… Jan 11, 2019
_data Builds feed URL from site URL to reduce replication Jul 23, 2019
_includes Fall back to page title if navtitle is not set Jul 23, 2019
about Upgrades to 0.4.0 and adds tag pages Jun 21, 2018
css Updates to 0.8.1 Apr 6, 2019
feed Builds feed URL from site URL to reduce replication Jul 23, 2019
img adding img dir to align with default eleventy.js settings and avoid e… May 20, 2018
posts Changes tags to a list to validate with stackbit.yaml Jul 23, 2019
.editorconfig Adds editorconfig for my own sanity. Jan 29, 2018
.eleventy.js Ass pass-through for admin directory for CMS that require it Jul 23, 2019
.eleventyignore Adds a /tags/ to list all valid tags Aug 29, 2018
.gitignore Initial commit. Jan 17, 2018
.nvmrc Adds an .nvmrc for netlify deploys. Jan 25, 2018
.travis.yml Change default config to use pathPrefix: "/" and then use `--pathpref… Jan 26, 2018
404.md Use new eleventyExcludeFromCollections feature in 0.8.0: https://www.… Apr 5, 2019
LICENSE Updated license name Jan 29, 2018
README.md Adds "Deploy to Netlify" and "Create with Stackbit" buttons to README Jul 23, 2019
archive.njk Refactored latest posts and with a correct sort. Uses dates on posts … Sep 30, 2018
index.njk Fix href on github pages Sep 30, 2018
netlify.toml Switch to debug for netlify deploy Jan 28, 2018
package.json Updates Eleventy dependency. May 5, 2019
page-list.njk Updates to 0.8.1 Apr 6, 2019
sitemap.xml.njk Use new eleventyExcludeFromCollections feature in 0.8.0: https://www.… Apr 5, 2019
stackbit.yaml Adds stackbit.yaml Jul 23, 2019
tags-list.njk Adds a /tags/ to list all valid tags Aug 29, 2018
tags.njk Updates to 0.8.1 Apr 6, 2019

README.md

eleventy-base-blog

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

Build Status

Demos

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. Edit _data/metadata.json

5. Run Eleventy

npx eleventy

Or build and host locally for local development

npx eleventy --serve

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 needn’t 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 include and is a reusable component used to display a list of all the posts. index.njk has an example of how to use it.
You can’t perform that action at this time.