feat: add blog_options and rss feed generation

This commit is contained in:
2026-03-15 15:07:34 +01:00
parent 419c8a579c
commit b44868361d
17 changed files with 367 additions and 14 deletions

View File

@@ -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.