A basic starter template for Eleventy blogs, with added support for webmentions.
Branch: master
Clone or download
Pull request Compare This branch is 16 commits ahead, 5 commits behind 11ty:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
_11ty Using deep data merge (post tag is inherited from posts/posts.json) a… Jan 11, 2019
_data get domain name from metadata Jan 17, 2019
_includes
about Upgrades to 0.4.0 and adds tag pages Jun 21, 2018
css add basic styling Jan 17, 2019
feed Add sitemap.xml Sep 24, 2018
img
posts Using deep data merge (post tag is inherited from posts/posts.json) a… Jan 11, 2019
.editorconfig
.eleventy.js
.eleventyignore Adds a /tags/ to list all valid tags Aug 29, 2018
.env.sample
.gitignore
.nvmrc Adds an .nvmrc for netlify deploys. Jan 25, 2018
.travis.yml
404.md
LICENSE
README.md
archive.njk
index.njk Fix href on github pages Sep 30, 2018
netlify.toml
package.json add wm filters Jan 17, 2019
sitemap.xml.njk
tags-list.njk
tags.njk

README.md

eleventy-webmentions

A basic starter template for Eleventy blogs with added support for webmentions.
For more information about this, read Static Indieweb: Using Webmentions.

Example of Webmention Section

Installation

Run npm install after cloning this repository. The available commands are identical to eleventy-base-blog.

Enable Webmentions

Follow these steps to get it working:

  1. Go to https://webmention.io/ and sign in. To authenticate, you will have to include a <a rel="me"> link at your domain, pointing to your github or twitter user URL:

<a href="https://github.com/maxboeck" rel="me">Max on Github</a>

  1. Once you've verified domain ownership, go to the settings page. Copy the token listed under "API Key" there.

  2. Paste the token into the .env.sample file, then delete the .sample from the filename.

  3. Check the information in _data/metadata.json and make sure your domain name is correct. It should look like example.com.

  4. Run Eleventy. It will try to fetch the webmentions for your domain (you may not yet have any, check your webmentions.io dashboard). After the first use, a cached json file will be created so you don't have to re-fetch that data everytime eleventy regenerates the site in development.

Customization

This starter includes just the basic functionality, feel free to make it your own.
The relevant parts are:

  • Templates: _includes/webmentionlist.njk and _includes/webmention.njk
  • Filter: webmentionsForUrl in .eleventy.js
  • Data Fetching: _data/webmentions.js
  • Basic Styling: css/webmentions.css