aboutsummaryrefslogtreecommitdiff
path: root/lib/generators/rss.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/generators/rss.js')
-rw-r--r--lib/generators/rss.js17
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/generators/rss.js b/lib/generators/rss.js
index a1fcb08..ec45dc8 100644
--- a/lib/generators/rss.js
+++ b/lib/generators/rss.js
@@ -1,6 +1,6 @@
'use strict';
-const { template } = require('dot');
+const { template, templateSettings } = require('dot');
const { encodeXML } = require('entities');
const { readFile, writeFile } = require('fs/promises');
const { join } = require('path');
@@ -9,7 +9,12 @@ const { debuglog } = require('util');
const internals = {
debuglog: debuglog('blog'),
- kFeedName: 'feed.xml'
+ kFeedName: 'feed.xml',
+
+ extractTitle(postText) {
+
+ return postText.trim().split('\n')[0].replace('#', '').trim();
+ }
};
/**
@@ -33,10 +38,12 @@ module.exports = async function RSSGenerator(source, target, posts) {
posts = posts.map((post) => ({
...post,
createdOn: (new Date(post.createdOn)).toUTCString(),
+ title: internals.extractTitle(post.raw),
html: encodeXML(post.html)
}));
- const feedXml = template(feedTemplate)({ posts });
+ const feedXml = template(feedTemplate, {
+ ...templateSettings,
+ strip: false
+ })({ posts });
await writeFile(feedTarget, feedXml);
};
-
-