All Projects β†’ lildude β†’ jekyll-json-feed

lildude / jekyll-json-feed

Licence: MIT license
A Jekyll plugin to generate a JSON (RSS-like) feed of your Jekyll posts

Programming Languages

ruby
36898 projects - #4 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to jekyll-json-feed

Tubefeeder
A Youtube, Lbry and Peertube client made for the Pinephone
Stars: ✭ 88 (+388.89%)
Mutual labels:  feed
PhotoFeed
πŸ›΅ Instagram in Swift 4
Stars: ✭ 43 (+138.89%)
Mutual labels:  feed
jekyll-figure
A liquid tag for Jekyll that generates <figure> elements
Stars: ✭ 47 (+161.11%)
Mutual labels:  jekyll-plugin
premonition
Premonition 4 is a Jekyll extension that makes it possible to add block-styled side content to your site. For example summaries, notes, hints or warnings.
Stars: ✭ 41 (+127.78%)
Mutual labels:  jekyll-plugin
jekyll-font-awesome-sass
A plugin to add Font Awesome to your Jekyll site
Stars: ✭ 24 (+33.33%)
Mutual labels:  jekyll-plugin
jekyll-target-blank
Automatically opens external links in a new browser for Jekyll Pages, Posts and Docs.
Stars: ✭ 86 (+377.78%)
Mutual labels:  jekyll-plugin
awesome-feeds
A curated list of tech, machine learning, biz and etc... feeds
Stars: ✭ 25 (+38.89%)
Mutual labels:  feed
jekyll-watch
πŸ‘€ Rebuild your Jekyll site when a file changes with the `--watch` switch.
Stars: ✭ 87 (+383.33%)
Mutual labels:  jekyll-plugin
meta-extractor
Super simple and fast html page meta data extractor with low memory footprint
Stars: ✭ 38 (+111.11%)
Mutual labels:  feed
jekyll-loading-lazy
πŸ§™πŸ½β€β™€οΈ Automatically adds loading="lazy" to <img> and <iframe> tags. Load images on your sites lazily without JavaScript.
Stars: ✭ 41 (+127.78%)
Mutual labels:  jekyll-plugin
watch-rss
Subscribe your watched GitHub Repository's releases as RSS feeds on Inoreader
Stars: ✭ 24 (+33.33%)
Mutual labels:  feed
jQuery-Google-Plus-Stream
jQuery Google Plus Stream
Stars: ✭ 16 (-11.11%)
Mutual labels:  feed
xml-to-json
Simple API that converts dynamic XML feeds to JSON through a URL or pasting the raw XML data. Made 100% in PHP.
Stars: ✭ 38 (+111.11%)
Mutual labels:  feed
micro-feed
Micro-Feed an extremely small size feed sync service with beautiful GUI, GraphQL support(also a graphql playground) support. https://github.com/leopku/micro-feed
Stars: ✭ 22 (+22.22%)
Mutual labels:  feed
StackFlowView
Enforce stack behaviour for custom UI flow.
Stars: ✭ 35 (+94.44%)
Mutual labels:  feed
swarm-cli
Manage your Bee node and interact with the Swarm network via the CLI
Stars: ✭ 36 (+100%)
Mutual labels:  feed
jekyll-instagram
A Jekyll plugin for displaying your recent Instagram photos
Stars: ✭ 24 (+33.33%)
Mutual labels:  jekyll-plugin
pyrfa
Open sourced Python API for Refinitiv (Thomson Reuters) Enterprise Platform.
Stars: ✭ 49 (+172.22%)
Mutual labels:  feed
stream-ruby
Ruby Client - Build Activity Feeds & Streams with GetStream.io
Stars: ✭ 81 (+350%)
Mutual labels:  feed
Cyca
Web-based bookmarks and feeds manager
Stars: ✭ 15 (-16.67%)
Mutual labels:  feed

Jekyll JSON Feed plugin

A Jekyll plugin to generate a JSON feed of your Jekyll posts.

Build Status Gem Version

Installation

Add this line to your site's Gemfile:

gem 'jekyll-json-feed'

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

plugins:
  - jekyll-json-feed

⚠️ If you are using Jekyll < 3.5.0 use the gems key instead of plugins.

Usage

The plugin will automatically generate a JSON feed at /feed.json.

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.

  • title or name - The title of the site, e.g., "My awesome site"
  • description - A longer description of what your site is about, e.g., "Where I blog about Jekyll and other awesome things"
  • url - The URL to your site, e.g., http://example.com. If none is provided, the plugin will try to use site.github.url.
  • author - Global author information (see below)

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:

  • date
  • title
  • excerpt
  • id
  • tags

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

  • image - URL of an image that is representative of the post (can also be passed as image.path)
  • banner_image - URL of an image to use as a banner, like those used on Medium
  • author - The author of the post, e.g., "Dr. Jekyll". If none is given, feed readers will look to the feed author as defined in _config.yml. Like the feed author, this can also be an object or a reference to an author in _data/authors.yml (see below).

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.:
author:
  twitter: benbalter
  1. An author object, in the site's _config.yml, e.g.:
author:
  twitter: benbalter
  1. 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:
author: benbalter

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

benbalter:
  picture: /img/benbalter.png
  twitter: jekyllrb

potus:
  picture: /img/potus.png
  twitter: 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.

  1. An author in the document's front matter (the simplest way), e.g.:
author: benbalter
  1. An author in the site's _config.yml, e.g.:
author: benbalter

Meta tags

The plugin exposes a helper tag to expose the appropriate meta tags to support automated discovery of your feed. Simply place {% json_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.

Why JSON Feed?

Great question and I'll leave it to the spec to answer:

The JSON Feed format is a pragmatic syndication format, like RSS and Atom, but with one big difference: it’s JSON instead of XML.

For most developers, JSON is far easier to read and write than XML. Developers may groan at picking up an XML parser, but decoding JSON is often just a single line of code.

Credit where credit is due

This plugin is heavily inspired by the Jekyll Feed plugin plugin. So much so, that it is a fork with JSON tweaks. Big thanks go to @benbalter for creating the Jekyll Feed plugin, licensing it under the MIT license and making it so easy to create this plugin (it took me an afternoon whilst I was doing other things).

Contributing

  1. Fork it (https://github.com/lildude/jekyll-json-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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].