Skip to content

EthanJStark/ethanstark.com

Repository files navigation

🌐 My blog, live at EthanStark.com

🛠️ Built with 11ty

Eleventy is a JavaScript-based static site generator. This blog was started using the 11ty base blog repo v.8

Want a more generic/detailed getting started guide?

💠 Deployed with Netlify

🚀 Learn more about this power-combo.

🏃🏻‍♂️ How to Run This

  1. Clone this Repository
git clone https://github.com/EthanJStark/ethanstark.com.git .

Optional: Review eleventy.config.js and _data/metadata.js to configure the site’s options and data.

  1. Install dependencies
npm install
  1. Run Eleventy

Generate a production-ready build to the _site folder:

npx @11ty/eleventy

Or build and host on a local development server:

npx @11ty/eleventy --serve

Or you can run debug mode to see all the internals.

Features

Demos

Deploy this to your own site

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

Implementation Notes

  • 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 content/index.njk and content/about/index.md.
  • Content can be in any template format (blog posts needn’t exclusively be markdown, for example). Configure your project’s 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.
  • Provides two content feeds:
    • content/feed/feed.njk
    • content/feed/json.njk
  • This project uses three Eleventy 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. content/index.njk has an example of how to use it.

If your site enforces a Content Security Policy (as public-facing sites should), either, in base.njk, disable

<style>{% getBundle "css" %}</style>

and enable

<link rel="stylesheet" href="{% getBundleFileUrl "css" %}">

or configure the server with the CSP directive style-src: 'unsafe-inline' (which is less secure).