Files
RSSHub/lib/routes/scala-blog/scala-blog.js
2020-01-20 18:44:45 +08:00

30 lines
829 B
JavaScript

const got = require('@/utils/got');
const cheerio = require('cheerio');
module.exports = async (ctx, next) => {
const part = ctx.params.part || '';
const link = `https://scala-lang.org/blog/${part}`;
const host = 'https://scala-lang.org';
const resp = await got(link);
const $ = cheerio.load(resp.body);
const items = $('.blog-item')
.get()
.map((item) => {
const $ = cheerio.load(item);
const aTag = $('a').first();
return {
title: aTag.text(),
link: host + aTag.attr('href'),
pubDate: new Date($('.blog-date').text()),
};
});
ctx.state.data = {
title: `Scala Blog ${part === '' ? 'all' : part} Section `,
link,
item: items,
};
await next();
};