Jekyll JSONFeed installed
I finally followed through with my plan from 2017 to install JSONFeed for this blog.
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 %}
]
}