UNPKG

generate-feed

Version:
68 lines (59 loc) 1.7 kB
const ensureID = require('../ensure-id') function raw (item, cb) { if (!item) return cb(new Error('log: missing item object')) item = Object.assign({}, item) const jf = {} if (item.id) jf.id = item.id if (item.url) jf.url = item.url if (item.external_url) jf.external_url = item.link if (item.title) jf.title = item.title if (item.content_html) jf.content_html = item.content_html if (item.content_text) jf.content_text = item.content_text if (item.summary) jf.summary = item.summary if (item.image) jf.image = item.image if (item.banner_image) jf.banner_image = item.banner_image if (item.date_published) jf.date_published = item.date_published if (item.date_modified) jf.date_modified = item.date_modified if (item.author) jf.author = item.author if (item.tags) jf.tags = item.tags if (item.attachments) jf.attachments = item.attachments // extensions Object.getOwnPropertyNames(item).filter(prop => prop.startsWith('_')).forEach(prop => { jf[prop] = item[prop] }) return cb(null, ensureID(jf)) } module.exports = raw /* jsonfeed reference https://jsonfeed.org/version/1 id (required) url external_url (very optional) title content_text content_html summary image banner_image date_published RFC 3339 2010-02-07T14:04:00-05:00 date_modified RFC 3339 2010-02-07T14:04:00-05:00 author { name url avatar } tags [] attachments [ { url (required) mime_type (required) title size_in_bytes duration_in_seconds } ] _any_extension { about - description of extension whatever you want } */