feat: add blog_options and rss feed generation
This commit is contained in:
36
app/index.js
36
app/index.js
@@ -8,6 +8,42 @@ import app from './server/app.js';
|
||||
import debug from 'debug';
|
||||
debug('pathtoglory:server');
|
||||
import http from 'http';
|
||||
import rssGenerator from './server/rss/index.js';
|
||||
import PostController from './server/controllers/Post.controller.js';
|
||||
import OptionController from './server/controllers/Option.controller.js';
|
||||
|
||||
// Check needed options
|
||||
Promise.all([
|
||||
OptionController.get('blog_name'),
|
||||
OptionController.get('blog_description'),
|
||||
`https://${process.env.RP_ID}/`,
|
||||
PostController.getAll()
|
||||
])
|
||||
.then(([name, description, link, posts]) => {
|
||||
rssGenerator.setChannel(
|
||||
name || process.env.RP_NAME,
|
||||
description || '',
|
||||
link,
|
||||
posts[0] ? new Date(posts[0].updated_at) : new Date()
|
||||
);
|
||||
|
||||
posts
|
||||
.map(post => {
|
||||
return {
|
||||
title: post.title,
|
||||
description: post.content.slice(0, 255),
|
||||
link: `${link}/posts/${post.id}`,
|
||||
}
|
||||
})
|
||||
.forEach(post => {
|
||||
rssGenerator.addItem(post);
|
||||
});
|
||||
|
||||
rssGenerator.generateFile();
|
||||
})
|
||||
.catch(err => {
|
||||
console.error(err);
|
||||
});
|
||||
|
||||
/**
|
||||
* Get port from environment and store in Express.
|
||||
|
||||
Reference in New Issue
Block a user