feat(route): add 荒岛 (#14550)

* add lala

* 更新 rss.js
This commit is contained in:
cnkmmk
2024-02-25 23:39:45 +08:00
committed by GitHub
parent 6ed47fbdf9
commit 20a7852394
5 changed files with 57 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
module.exports = {
'/': ['cnkmmk'],
};
+13
View File
@@ -0,0 +1,13 @@
module.exports = {
'lala.im': {
_name: "荒岛",
'.': [
{
title: '博客',
docs: 'https://docs.rsshub.app/routes/blog#huang-dao',
source: ['/'],
target: '/lala',
},
],
},
};
+3
View File
@@ -0,0 +1,3 @@
module.exports = function (router) {
router.get('/', require('./rss'));
};
+32
View File
@@ -0,0 +1,32 @@
const got = require('@/utils/got');
const cheerio = require('cheerio');
module.exports = async (ctx) => {
const currentUrl = 'https://lala.im';
const response = await got(`${currentUrl}/feed`);
const $ = cheerio.load(response.data, { xmlMode: true });
const titleMain = $('channel > title').text();
const descriptionMain = $('channel > description').text();
const items = $('channel > item')
.map((_, item) => {
const $item = $(item);
const link = $item.find('link').text();
const title = $item.find('title').text();
const description = $item.find('description').text();
const pubDate = $item.find('pubDate').text();
return {
link,
pubDate, // no need to normalize because it's from a valid RSS feed
title,
description,
};
})
.get();
ctx.state.data = {
title: titleMain,
description: descriptionMain,
link: currentUrl,
item: items,
};
};