Jekyll JSONFeed installed
05 Jul 2022 by Friedrich Ewald · 2 min readI finally followed through with my plan from 2017 to install JSONFeed for this blog.
Although I haven’t seen any breakthrough of this as a technology, I’ll keep it running next to the XML feed and will monitor all requests. This feed is compliant to the standard.
To get it to work, I had to adjust my template a little bit and also use jsonify
from the liquid template language. Overall, it was easier to get an XML feed to work as JSON is very picky about escaping of double quotes and other special HTML characters. My template for Jekyll is saved as feed.json
and looks as follows:
---
layout: null
---
{
"version": "https://jsonfeed.org/version/1.1",
"title": {{ site.title | jsonify }},
"description": {{ site.description | strip_newlines | jsonify }},
"language": "{{ site.language }}",
"home_page_url": "{{ site.url }}{{ site.baseurl }}",
"feed_url": "{{ site.url }}{{ site.baseurl }}/feed.json",
"items": [
{% for post in site.posts limit:100 %}
{
"id": "{{ post.url | prepend: site.baseurl | prepend: site.url }}",
"url": "{{ post.url | prepend: site.baseurl | prepend: site.url }}",
"title": {{ post.title | jsonify }},
"content_html": {{ post.content | strip_newlines | jsonify }},
"date_published": "{{ post.date | date_to_xmlschema }}"
}{% unless forloop.last %},{% endunless %}
{% endfor %}
]
}