diff --git a/docs/en/traditional-media.md b/docs/en/traditional-media.md index 91447846fc..98a3bb388e 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 83dad0d251..1099c28d7b 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 df3c05f57c..cc6dfa33de 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;