Go to file
Damon Muma c68d946bab
Bump nvmrc to 10 for netlify
I tried deploying a site based on the starter to netlify and it failed due to a node mismatch. This got the build to work.
2020-04-26 13:33:20 -04:00
_11ty Using deep data merge (post tag is inherited from posts/posts.json) and updates to use 0.7.0. 2019-01-10 22:20:14 -06:00
_data Builds feed URL from site URL to reduce replication 2019-07-23 18:00:11 +01:00
_includes Rogue markdown! 2020-01-03 11:19:51 -06:00
.github Create FUNDING.yml 2019-07-02 14:29:37 -05:00
about Switches to use more obvious markup menu template for eleventy-navigation 2020-01-02 20:51:47 -06:00
css Merge pull request #27 from krzychukula/patch-1 2020-01-05 08:38:01 -06:00
feed Builds feed URL from site URL to reduce replication 2019-07-23 18:00:11 +01:00
img adding img dir to align with default eleventy.js settings and avoid error 2018-05-19 21:06:12 -04:00
posts Using deep data merge (post tag is inherited from posts/posts.json) and updates to use 0.7.0. 2019-01-10 22:20:14 -06:00
.editorconfig Adds editorconfig for my own sanity. 2018-01-28 21:26:25 -06:00
.eleventy.js Nicer browsersync defaults. 2020-01-03 11:30:27 -06:00
.eleventyignore Adds a /tags/ to list all valid tags 2018-08-29 08:46:06 -05:00
.gitignore Initial commit. 2018-01-16 21:08:47 -06:00
.nvmrc Bump nvmrc to 10 for netlify 2020-04-26 13:33:20 -04:00
.travis.yml Change default config to use pathPrefix: "/" and then use --pathprefix="/eleventy-base-blog/ for GitHub deploy command. Requires Eleventy v0.2.11 2018-01-25 21:03:57 -06:00
404.md Use new eleventyExcludeFromCollections feature in 0.8.0: https://www.11ty.io/docs/collections/#option%3A-exclude-content-from-collections 2019-04-04 20:49:20 -05:00
archive.njk Switches to use more obvious markup menu template for eleventy-navigation 2020-01-02 20:51:47 -06:00
index.njk Rename the variable for #47 2020-01-02 21:51:24 -06:00
LICENSE Updated license name 2018-01-28 21:27:50 -06:00
netlify.toml Switch to debug for netlify deploy 2018-01-27 23:44:29 -06:00
package.json Update to v0.10.0 2020-01-07 16:49:36 -06:00
page-list.njk Updates to 0.8.1 2019-04-05 21:57:58 -05:00
README.md Extra colon 2020-01-02 21:43:41 -06:00
sitemap.xml.njk Use new eleventyExcludeFromCollections feature in 0.8.0: https://www.11ty.io/docs/collections/#option%3A-exclude-content-from-collections 2019-04-04 20:49:20 -05:00
tags-list.njk Adds a /tags/ to list all valid tags 2018-08-29 08:46:06 -05:00
tags.njk Updates to 0.8.1 2019-04-05 21:57:58 -05:00

eleventy-base-blog

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

Build Status

Demos

Deploy this to your own site

These builders are amazing—try them out to get your own Eleventy site in a few clicks!

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