Go to file
2023-01-23 14:39:49 -06:00
_data Convert to tabs 2023-01-23 11:37:44 -06:00
_includes More tweaks and CSS instructions 2023-01-23 14:39:36 -06:00
.github Create FUNDING.yml 2019-07-02 14:29:37 -05:00
about Cleaned up v2.0 status 2023-01-23 10:02:06 -06:00
blog More tweaks and CSS instructions 2023-01-23 14:39:36 -06:00
feed Convert to tabs 2023-01-23 11:37:44 -06:00
public More tweaks and CSS instructions 2023-01-23 14:39:36 -06:00
sitemap Convert to tabs 2023-01-23 11:37:44 -06:00
.editorconfig Convert to tabs 2023-01-23 11:37:44 -06: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 Cleaned up v2.0 status 2023-01-23 10:02:06 -06:00
blog.njk Cleaned up v2.0 status 2023-01-23 10:02:06 -06:00
eleventy.config.js More tweaks and CSS instructions 2023-01-23 14:39:36 -06:00
index.njk Convert to tabs 2023-01-23 11:37:44 -06:00
LICENSE Tiny tweaks 2023-01-23 11:37:54 -06:00
netlify.toml Clean up the commands 2022-03-03 17:14:08 -06:00
package.json More tweaks and CSS instructions 2023-01-23 14:39:36 -06:00
README.md Add features to README 2023-01-23 14:39:49 -06:00
tags-list.njk Convert to tabs 2023-01-23 11:37:44 -06:00
tags.njk Cleaned up v2.0 status 2023-01-23 10:02:06 -06:00

eleventy-base-blog

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

Features

Demos

Deploy this to your own site

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

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

Generate a production-ready build:

npx @11ty/eleventy

Or build and host locally on a local development server:

npx @11ty/eleventy --serve

Or in debug mode to see all the internals:

DEBUG=Eleventy* npx @11ty/eleventy

Implementation Notes

  • about/index.md is an example of a content page.
  • blog/ has the blog posts but really they can live in any directory. They need only the post tag to be included in the blog posts collection.
  • Use the eleventyNavigation key (via the Eleventy Navigation plugin) in your front matter to add a template to the top level site navigation. This is in use on index.njk and about/index.md.
  • Content can be in any template format (blog posts neednt exclusively be markdown, for example). Configure your projects supported templates in eleventy.config.js -> templateFormats.
  • The public folder in your input directory will be copied to the output folder (via addPassthroughCopy in the eleventy.config.js file). This means ./public/css/* will live at ./_site/css/* after your build completes.
  • The blog post feed template is in feed/feed.njk. This feed also uses the global data file at _data/metadata.json.
  • This project 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/postslist.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.