jekyll/jekyll-feed

Name: jekyll-feed

Owner: Jekyll

Description: :memo: A Jekyll plugin to generate an Atom (RSS-like) feed of your Jekyll posts

Created: 2015-05-12 13:28:32.0

Updated: 2018-05-18 07:06:47.0

Pushed: 2018-05-16 14:16:05.0

Homepage:

Size: 338

Language: Ruby

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Jekyll Feed plugin

A Jekyll plugin to generate an Atom (RSS-like) feed of your Jekyll posts

Build Status Gem Version

Installation

Add this line to your site's Gemfile:

'jekyll-feed'

And then add this line to your site's _config.yml:

ins:
jekyll-feed

:warning: If you are using Jekyll < 3.5.0 use the gems key instead of plugins.

Usage

The plugin will automatically generate an Atom feed at /feed.xml.

Optional configuration options

The plugin will automatically use any of the following configuration variables, if they are present in your site's _config.yml file.

Already have a feed path?

Do you already have an existing feed someplace other than /feed.xml, but are on a host like GitHub Pages that doesn't support machine-friendly redirects? If you simply swap out jekyll-feed for your existing template, your existing subscribers won't continue to get updates. Instead, you can specify a non-default path via your site's config.

:
th: atom.xml

To note, you shouldn't have to do this unless you already have a feed you're using, and you can't or wish not to redirect existing subscribers.

Optional front matter

The plugin will use the following post metadata, automatically generated by Jekyll, which you can override via a post's YAML front matter:

Additionally, the plugin will use the following values, if present in a post's YAML front matter:

Author information

TL;DR: In most cases, put author: [your name] in the document's front matter, for sites with multiple authors. If you need something more complicated, read on.

There are several ways to convey author-specific information. Author information is found in the following order of priority:

  1. An author object, in the documents's front matter, e.g.:

    or:
    ter: benbalter
    
  2. An author object, in the site's _config.yml, e.g.:

    or:
    ter: benbalter
    
  3. site.data.authors[author], if an author is specified in the document's front matter, and a corresponding key exists in site.data.authors. E.g., you have the following in the document's front matter:

    or: benbalter
    

    And you have the following in _data/authors.yml:

    alter:
    ure: /img/benbalter.png
    ter: jekyllrb
    
    s:
    ure: /img/potus.png
    ter: whitehouse
    

    In the above example, the author benbalter's Twitter handle will be resolved to @jekyllrb. This allows you to centralize author information in a single _data/authors file for site with many authors that require more than just the author's username.

    Pro-tip: If authors is present in the document's front matter as an array (and author is not), the plugin will use the first author listed.

  4. An author in the document's front matter (the simplest way), e.g.:

    or: benbalter
    
  5. An author in the site's _config.yml, e.g.:

    or: benbalter
    
Meta tags

The plugin exposes a helper tag to expose the appropriate meta tags to support automated discovery of your feed. Simply place {% feed_meta %} someplace in your template's <head> section, to output the necessary metadata.

SmartyPants

The plugin uses Jekyll's smartify filter for processing the site title and post titles. This will translate plain ASCII punctuation into “smart” typographic punctuation. This will not render or strip any Markdown you may be using in a title.

Jekyll's smartify filter uses kramdown as a processor. Accordingly, if you do not want “smart” typographic punctuation, disabling them in kramdown in your _config.yml will disable them in your feed. For example:

ramdown:
 smart_quotes:               apos,apos,quot,quot
 typographic_symbols:        {hellip: ...}
Custom styling

Want to style what your feed looks like in the browser? Simply add an XSLT at /feed.xslt.xml and Jekyll Feed will link to the stylesheet.

Why Atom, and not RSS?

Great question. In short, Atom is a better format. Think of it like RSS 3.0. For more information, see this discussion on why we chose Atom over RSS 2.0.

Contributing
  1. Fork it (https://github.com/jekyll/jekyll-feed/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.