custom-keystonev4-rss
v1.0.4
Published
Custome RSS feed for Keystone V4 that uses findOne to get a return a specific category and then lists posts in that Category in the RSS feed. Also returns multiple authors and images.
Downloads
11
Maintainers
Readme
README
This package provides simple RSS Feed generation for your KeystoneJS data models.
What is this repository for?
This is a first crude implementation of creating RSS feeds for models within Keystone. KeystoneJS is a powerful CMS/Web App platform, which can be used to create blog-esq content feeds.
Inside index.js add the following:
```
var keystone = require('keystone');
var rss = require('keystone-rss');
/* Setup Route Bindings */
exports = module.exports = function (app) {
// Your other middleware/dependencies go here
/* RSS Feeds */
app.get('/feed/url.xml', function (req, res) {
rss.create(keystone, req, res, {
/* The model that is the subject of the feed */
model: 'Post',
/* The category that is being displayed in this feed */
category: 'categoryname',
/* RSS Feed meta data */
meta: {
title: 'Feed Title',
description: 'Description of feed',
feed_url: 'https://feed.url',
site_url: 'https://site.url',
image_url: 'https://feed.image.url',
managingEditor: 'someone',
webMaster: 'someone else',
copyright: '2017 You',
language: 'en',
categories: ['Category 1', 'Category 2', 'Category 3'],
pubDate: 'Jan 1, 2017 12:00:00 GMT',
},
/* The url prefix for posts within the feed (the post slug is appended to this) */
url: 'http://site.url/post/',
});
});
/* You can repeat the above code to create multiple, separate feeds */
};
```
- For each feed item it expects:
- title
- content.extended
- slug
- publishedDate
- state
- author(s)
- image.secure_url
state
is used to filter drafts, and the rest are parsed into xml as:
title: post.title,
description: post.content.brief,
url: feedUrl + post.slug,
date: post.publishedDate,
author: post.name[1].first + ' ' + post.name[1].last + ', ' + post.name[2].first + ' ' + post.name[2].last ...
enclosure: post.image.secure_url