From f83d7e1f53c8357269fd71a8cf863d97c7a08b17 Mon Sep 17 00:00:00 2001 From: KeiLongW Date: Tue, 14 Jan 2020 11:48:21 +0800 Subject: [PATCH] feat: add Traditional Chinese for nytimes (#3719) --- docs/en/traditional-media.md | 6 +++--- docs/traditional-media.md | 6 +++--- lib/routes/nytimes/index.js | 11 ++++++++++- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/docs/en/traditional-media.md b/docs/en/traditional-media.md index 91447846f..98a3bb388 100644 --- a/docs/en/traditional-media.md +++ b/docs/en/traditional-media.md @@ -76,8 +76,8 @@ Provides a better reading experience (full text articles) over the official one. 通过提取文章全文,以提供比官方源更佳的阅读体验。 -| Default to Chinese | Chinese-English | English | -| ------------------ | --------------- | ------- | -| (空) | dual | en | +| Default to Chinese | Chinese-English | English | Chinese-English (Traditional Chinese) | Traditional Chinese | +| ------------------ | --------------- | ------- | ------------------------------------- | ------------------- | +| (空) | dual | en | dual-traditionalchinese | traditionalchinese | diff --git a/docs/traditional-media.md b/docs/traditional-media.md index 83dad0d25..1099c28d7 100644 --- a/docs/traditional-media.md +++ b/docs/traditional-media.md @@ -268,9 +268,9 @@ category 对应的关键词有 通过提取文章全文,以提供比官方源更佳的阅读体验。 -| 默认中文 | 中英对照 | 英文 | -| -------- | -------- | ---- | -| (空) | dual | en | +| 默认中文 | 中英对照 | 英文 | 中英对照 (繁体中文) | 繁体中文 | +| -------- | -------- | ---- | ----------------------- | ------------------ | +| (空) | dual | en | dual-traditionalchinese | traditionalchinese | diff --git a/lib/routes/nytimes/index.js b/lib/routes/nytimes/index.js index df3c05f57..cc6dfa33d 100644 --- a/lib/routes/nytimes/index.js +++ b/lib/routes/nytimes/index.js @@ -2,20 +2,29 @@ const got = require('@/utils/got'); const parser = require('@/utils/rss-parser'); const utils = require('./utils'); const cheerio = require('cheerio'); +const url = require('url'); module.exports = async (ctx) => { let { lang = '' } = ctx.params; lang = lang.toLowerCase(); let title = '纽约时报中文网'; + let rssUrl = 'https://cn.nytimes.com/rss/'; if (lang === 'dual') { title += ' - 中英对照版'; } else if (lang === 'en') { title += ' - 英文原版'; + } else if (lang === 'traditionalchinese') { + title = '紐約時報中文網'; + rssUrl = url.resolve(rssUrl, 'zh-hant'); + } else if (lang === 'dual-traditionalchinese') { + title = '紐約時報中文網 - 中英對照版'; + rssUrl = url.resolve(rssUrl, 'zh-hant'); + lang = 'dual'; } - const feed = await parser.parseURL('https://cn.nytimes.com/rss/'); + const feed = await parser.parseURL(rssUrl); const items = await Promise.all( feed.items.splice(0, 10).map(async (item) => { let link = item.link;