feat: add 通識·現代中國議題熱話 (#6694)

Co-authored-by: NeverBehave <gayhub@never.pet>
This commit is contained in:
Ethan Shen
2021-01-14 21:42:07 -05:00
committed by GitHub
co-authored by NeverBehave
parent acb07f82b2
commit 7d6d3345fa
3 changed files with 75 additions and 0 deletions
+12
View File
@@ -1755,6 +1755,18 @@ column 为 third 时可选的 category:
<Route author="LogicJake" example="/tencent/news/author/5933889" path="/tencent/news/author/:mid" :paramsDesc="['企鹅号 ID']"/>
## 通識・現代中國
### 議題熱話
<Route author="nczitzk" example="/chiculture/topic" path="/chiculture/topic/:category?" :paramsDesc="['分类,见下表,默认为全部']">
| 全部 | 現代中國 | 今日香港 | 全球化 | 一周時事通識 |
| ---- | -------- | -------- | ------ | ------------ |
| | 76 | 479 | 480 | 379 |
</Route>
## 推酷
### 周刊
+3
View File
@@ -3878,6 +3878,9 @@ router.get('/newzmz/:category?', require('./routes/newzmz/index'));
// Phrack Magazine
router.get('/phrack', require('./routes/phrack/index'));
// 通識·現代中國
router.get('/chiculture/topic/:category?', require('./routes/chiculture/topic'));
// CQUT News
router.get('/cqut/news', require('./routes/universities/cqut/cqut-news'));
router.get('/cqut/libnews', require('./routes/universities/cqut/cqut-libnews'));
+60
View File
@@ -0,0 +1,60 @@
const got = require('@/utils/got');
const date = require('@/utils/date');
const cheerio = require('cheerio');
module.exports = async (ctx) => {
const category = ctx.params.category || '';
const rootUrl = 'https://ls.chiculture.org.hk';
const currentUrl = `${rootUrl}/api/general-listing?lang=zh-hant&type=ssrh&category=${category}&page=1`;
const response = await got({
method: 'get',
url: currentUrl,
});
const list = response.data.data.map((item) => ({
title: item.title,
pubDate: item.tags,
link: `${rootUrl}/${item.url}`,
}));
const items = await Promise.all(
list.map(
async (item) =>
await ctx.cache.tryGet(item.link, async () => {
const detailResponse = await got({
method: 'get',
url: item.link,
});
const content = cheerio.load(detailResponse.data);
const pubDate = detailResponse.data.match(/上載日期:(.*)<\/p>/);
if (pubDate) {
item.pubDate = date(pubDate[1]);
} else if (item.title.indexOf('一周時事通識') > -1) {
for (const tag of item.pubDate) {
if (tag.title.match(/^\d{4}年$/)) {
item.pubDate = date(`${tag.title.replace('年', '')}-${item.title.replace(/)/g, '').split('- ')[1].split('/').reverse().join('-')}`);
break;
}
}
} else if (item.title.match(/^\d{4}年新聞回顧$/)) {
item.pubDate = date(`${item.title.split('年')[0]}-12-31`);
} else {
item.pubDate = '';
}
item.description = content('#article_main_content').html();
return item;
})
)
);
ctx.state.data = {
title: '議題熱話 | 通識·現代中國',
link: `${rootUrl}/tc/hot-topics${category ? `?category=${category}` : ''}`,
item: items,
};
};