Skip to content

Latest commit

 

History

186 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tannerbyers.com

3. Setup & Start

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

Writing Blog Posts

  • Use npm run new-post -- "Post Title" to create a draft-ready post in src/posts/.
  • New posts scaffold with draft: true and are hidden from production builds until you set draft: false.
  • Preview drafts locally with npm run serve and open /drafts/ to review all draft posts together.
  • Write in Markdown and include inline HTML freely; image references like /img/my-image.jpg work automatically.

Local Drafts

  • Draft posts are only visible during local development and are excluded from production output.
  • Keep revising drafts until you are ready, then remove or set draft: false.

Shortcodes

JSFiddle

You can embed jsFiddle iframes using this shortcode

{% jsFiddle "<iframe-src-from-jsfiddle>" %}

Example

{% jsFiddle "//jsfiddle.net/sidswork/apk0wg96/embedded/js,html,result/dark/" %}

References

Dark mode blog starter based on the Official Eleventy Base Blog

About

My personal tech blog I've been working on for 10+ years.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages