Blog IT's on us
 
 
 
Go to file
Nicolas Doby 8c0034d325 refactor: add sass, minify HTML, remove i18n 2022-10-20 16:10:53 +02:00
src refactor: add sass, minify HTML, remove i18n 2022-10-20 16:10:53 +02:00
.editorconfig feat: first commit 2022-10-14 17:14:38 +02:00
.gitignore refactor: add sass, minify HTML, remove i18n 2022-10-20 16:10:53 +02:00
.nojekyll feat: first commit 2022-10-14 17:14:38 +02:00
.nvmrc feat: first commit 2022-10-14 17:14:38 +02:00
README.md refactor: add sass, minify HTML, remove i18n 2022-10-20 16:10:53 +02:00
babel.config.json chore: minify CSS using Webpack 2022-10-18 15:05:11 +02:00
eleventy.config.js refactor: add sass, minify HTML, remove i18n 2022-10-20 16:10:53 +02:00
i18n.js feat: change typo 2022-10-18 09:58:35 +02:00
package.json refactor: add sass, minify HTML, remove i18n 2022-10-20 16:10:53 +02:00
postcss.config.js refactor: add sass, minify HTML, remove i18n 2022-10-20 16:10:53 +02:00
webpack.config.common.js refactor: add sass, minify HTML, remove i18n 2022-10-20 16:10:53 +02:00
webpack.config.dev.js refactor: add sass, minify HTML, remove i18n 2022-10-20 16:10:53 +02:00
webpack.config.prod.js refactor: add sass, minify HTML, remove i18n 2022-10-20 16:10:53 +02:00

README.md

eleventy-base-blog

A starter repository showing how to build a (multi-language friendly) 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 in debug mode:

DEBUG=Eleventy* npx @11ty/eleventy

Implementation Notes

  • en is the folder for content (written using the primary language for project, here were using English)
  • en/about/index.md is an example of an English content page.
  • en/blog/ has the English 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 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 public folder in your input directory will be copied to the output folder (via addPassthroughCopy() in the .eleventy.js file). This means ./public/css/* will live at ./_site/css/* after your build completes. When using --serve this behavior is emulated (the files will not show up in _site).
  • 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 project uses three layouts:
    • _layouts/base.njk: the top level HTML structure
    • _layouts/home.njk: the home page template (wrapped into base.njk)
    • _layouts/post.njk: the blog post template (wrapped into base.njk)
  • _components/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.