Go to file
Zach Leatherman 70530889e4 Merge branch 'main' into v2
# Conflicts:
#	.eleventy.js
#	package.json
#	tags-list.njk
2022-07-13 12:46:03 -05:00
_data Merge pull request #81 from Atlas48/master 2021-03-17 10:08:24 -05:00
_includes Make the <meta name="generator"> opt-in in official starter projects too 2022-06-30 10:21:08 -05: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 Some variable cleanup and color changes 2022-06-29 11:10:24 -05:00
feed fix: convert URLs in post content 2021-06-15 10:45:29 +02:00
img adding img dir to align with default eleventy.js settings and avoid error 2018-05-19 21:06:12 -04:00
posts Missed a diff syntax example 2022-04-18 13:46:01 -05:00
.editorconfig Adds editorconfig for my own sanity. 2018-01-28 21:26:25 -06:00
.eleventy.js Merge branch 'main' into v2 2022-07-13 12:46:03 -05:00
.eleventyignore Get rid of the _11ty folder—we don’t need it. 2020-07-27 15:18:51 -05:00
.gitignore Initial commit. 2018-01-16 21:08:47 -06:00
.nojekyll Fixes https://github.com/11ty/eleventy-base-blog/issues/87 2022-06-29 14:28:21 -05:00
.nvmrc Update the Node default 2022-05-13 16:11:39 -05:00
404.md Missed one for #63. 2021-03-17 10:33:58 -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 Fixes #62. 2021-03-17 10:29:29 -05:00
LICENSE Updated license name 2018-01-28 21:27:50 -06:00
netlify.toml Clean up the commands 2022-03-03 17:14:08 -06:00
package.json Merge branch 'main' into v2 2022-07-13 12:46:03 -05:00
page-list.njk fix: add tr element for valid markup 2021-06-12 19:50:33 +02:00
README.md Fixes https://github.com/11ty/eleventy-base-blog/issues/91 2022-06-29 12:19:12 -05: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 Merge branch 'main' into v2 2022-07-13 12:46:03 -05:00
tags.njk Switch to use 1.0+ slugify filter instead 2022-06-29 12:03:41 -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

Deploy this Eleventy site in just a few clicks on these services:

Or, read more about Deploying an Eleventy project.

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 @11ty/eleventy

Or build and host locally for local development

npx @11ty/eleventy --serve

Or build automatically when a template changes:

npx @11ty/eleventy --watch

Or in debug mode:

DEBUG=* npx @11ty/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.
  • Use the eleventyNavigation key in your front matter 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.
  • The css and img directories in the input directory will be copied to the output folder (via addPassthroughCopy() in the .eleventy.js file).
  • 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.