diff --git a/lib/v2/chinawriter/index.js b/lib/v2/chinawriter/index.js new file mode 100644 index 00000000000000..fafca99cfe42b9 --- /dev/null +++ b/lib/v2/chinawriter/index.js @@ -0,0 +1,88 @@ +const got = require('@/utils/got'); +const cheerio = require('cheerio'); +const timezone = require('@/utils/timezone'); +const { parseDate } = require('@/utils/parse-date'); + +module.exports = async (ctx) => { + const { id } = ctx.params; + const limit = ctx.query.limit ? parseInt(ctx.query.limit, 10) : 40; + + const rootUrl = 'http://www.chinawriter.com.cn'; + const currentUrl = `${new URL(id ?? '', rootUrl).href}/`; + + const { data: response } = await got(currentUrl); + + const $ = cheerio.load(response); + + let items = ($('main div.inner').find('a').length === 0 ? $('body') : $('main div.inner')) + .find('a') + .toArray() + .filter((item) => /\/\d{4}\/\d{4}\/\w+-\w+\.html/.test($(item).prop('href'))) + .slice(0, limit) + .map((item) => { + item = $(item); + + const link = item.prop('href'); + + return { + title: item.text(), + link: /^http/.test(link) ? link : new URL(item.prop('href'), rootUrl).href, + }; + }); + + items = await Promise.all( + items.map((item) => + ctx.cache.tryGet(item.link, async () => { + try { + const { data: detailResponse } = await got(item.link); + + const content = cheerio.load(detailResponse); + + content('div.end_shared').remove(); + + const info = content('div.end_info').text().trim(); + + item.title = content('#newstit').text() || content('h6.end_tit').text(); + item.description = content('div.end_article').html(); + item.author = info ? info.match(/\|(.*)\d{4}/)[1].trim() : ''; + item.category = [ + ...new Set( + [ + ...content('div.location a.clink') + .slice(1) + .toArray() + .map((c) => content(c).text()), + info + ? info + .match(/^(.*)\|/)[1] + .replace(/来源:/g, '') + .trim() + : undefined, + ].filter(Boolean) + ), + ]; + item.pubDate = content('div.end_info em').text() ? timezone(parseDate(content('div.end_info em').text(), 'YYYY年MM月DD日HH:mm'), +8) : parseDate(content('meta[name="publishdate"]').prop('content')); + } catch (e) { + // + } + + return item; + }) + ) + ); + + const icon = new URL($('link[rel="icon"]').prop('href'), rootUrl); + + ctx.state.data = { + item: items, + title: $('title').text().replace(/--/g, ' - '), + link: currentUrl, + description: $('meta[name="description"]').prop('content'), + language: 'zh-cn', + image: new URL($('h1.logo a img').prop('src'), rootUrl).href, + icon, + logo: icon, + subtitle: $('meta[name="keywords"]').prop('content'), + allowEmpty: true, + }; +}; diff --git a/lib/v2/chinawriter/maintainer.js b/lib/v2/chinawriter/maintainer.js new file mode 100644 index 00000000000000..77e7f46e2f9997 --- /dev/null +++ b/lib/v2/chinawriter/maintainer.js @@ -0,0 +1,3 @@ +module.exports = { + '/:id?': ['nczitzk'], +}; diff --git a/lib/v2/chinawriter/radar.js b/lib/v2/chinawriter/radar.js new file mode 100644 index 00000000000000..5bbeec144d1f7b --- /dev/null +++ b/lib/v2/chinawriter/radar.js @@ -0,0 +1,660 @@ +module.exports = { + 'chinawriter.com.cn': { + _name: '中国作家网', + '.': [ + { + title: '栏目', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/:id*'], + target: (params, url) => { + url = new URL(url); + const path = url.href.match(/\.\w+([\d/]+)(?:\/index(?:\.html)?)?$/)[1]; + + return `/chinawriter${path ?? ''}`; + }, + }, + { + title: '服务', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403937'], + target: '/chinawriter/403937', + }, + { + title: '会员', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403978'], + target: '/chinawriter/403978', + }, + { + title: '文学奖项', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403973'], + target: '/chinawriter/403973', + }, + { + title: '新闻', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403990'], + target: '/chinawriter/403990', + }, + { + title: '访谈', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403997'], + target: '/chinawriter/403997', + }, + { + title: '艺术', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404002'], + target: '/chinawriter/404002', + }, + { + title: '理论评论', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404029'], + target: '/chinawriter/404029', + }, + { + title: '文史', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404057'], + target: '/chinawriter/404057', + }, + { + title: '科幻', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404078'], + target: '/chinawriter/404078', + }, + { + title: '书汇', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404058'], + target: '/chinawriter/404058', + }, + { + title: '新作品', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015'], + target: '/chinawriter/404015', + }, + { + title: '世界文坛', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404085'], + target: '/chinawriter/404085', + }, + { + title: '民族文艺', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404086'], + target: '/chinawriter/404086', + }, + { + title: '网络文学', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404022'], + target: '/chinawriter/404022', + }, + { + title: '儿童文学', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404059'], + target: '/chinawriter/404059', + }, + { + title: '会员 - 新发展会员名单', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403978/403979', '/403978'], + target: '/chinawriter/403978/403979', + }, + { + title: '会员 - 讣告', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403978/403981', '/403978'], + target: '/chinawriter/403978/403981', + }, + { + title: '文学奖项 - 其他文学奖项', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403973/419349', '/403973'], + target: '/chinawriter/403973/419349', + }, + { + title: '新闻 - 时政新闻', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403990/403991', '/403990'], + target: '/chinawriter/403990/403991', + }, + { + title: '新闻 - 中国作协', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403990/403993', '/403990'], + target: '/chinawriter/403990/403993', + }, + { + title: '新闻 - 主席', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403990/441519', '/403990'], + target: '/chinawriter/403990/441519', + }, + { + title: '新闻 - 党组书记', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403990/441520', '/403990'], + target: '/chinawriter/403990/441520', + }, + { + title: '新闻 - 各地文讯', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/403990/403994', '/403990'], + target: '/chinawriter/403990/403994', + }, + { + title: '艺术 - 新闻', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404002/404003', '/404002'], + target: '/chinawriter/404002/404003', + }, + { + title: '艺术 - 影视', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404002/419388', '/404002'], + target: '/chinawriter/404002/419388', + }, + { + title: '艺术 - 舞台', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404002/419389', '/404002'], + target: '/chinawriter/404002/419389', + }, + { + title: '艺术 - 人物', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404002/404005', '/404002'], + target: '/chinawriter/404002/404005', + }, + { + title: '艺术 - 展览', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404002/419390', '/404002'], + target: '/chinawriter/404002/419390', + }, + { + title: '艺术 - 书画', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404002/419391', '/404002'], + target: '/chinawriter/404002/419391', + }, + { + title: '理论评论 - 重要理论文章', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404029/419350', '/404029'], + target: '/chinawriter/404029/419350', + }, + { + title: '理论评论 - 理论热点', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404029/419351', '/404029'], + target: '/chinawriter/404029/419351', + }, + { + title: '理论评论 - 文学评论', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404029/404030', '/404029'], + target: '/chinawriter/404029/404030', + }, + { + title: '理论评论 - 创作谈', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404029/404032', '/404029'], + target: '/chinawriter/404029/404032', + }, + { + title: '理论评论 - 争鸣', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404029/404033', '/404029'], + target: '/chinawriter/404029/404033', + }, + { + title: '理论评论 - 综述', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404029/404034', '/404029'], + target: '/chinawriter/404029/404034', + }, + { + title: '理论评论 - 《中国当代文学研究》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404087/404988/425775', '/404087/404988', '/404087'], + target: '/chinawriter/404087/404988/425775', + }, + { + title: '文史 - 文坛轶事', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404057/404063', '/404057'], + target: '/chinawriter/404057/404063', + }, + { + title: '文史 - 文史漫谈', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404057/442005', '/404057'], + target: '/chinawriter/404057/442005', + }, + { + title: '文史 - 重温经典', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404057/419384', '/404057'], + target: '/chinawriter/404057/419384', + }, + { + title: '文史 - 版本研究', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404057/419387', '/404057'], + target: '/chinawriter/404057/419387', + }, + { + title: '文史 - 名人手迹', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404057/419382', '/404057'], + target: '/chinawriter/404057/419382', + }, + { + title: '文史 - 茅盾文学奖获奖作家研究', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404087/404988/429369', '/404087/404988', '/404087'], + target: '/chinawriter/404087/404988/429369', + }, + { + title: '科幻 - 动态', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404078/404079', '/404078'], + target: '/chinawriter/404078/404079', + }, + { + title: '科幻 - 评论', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404078/404080', '/404078'], + target: '/chinawriter/404078/404080', + }, + { + title: '科幻 - 作家印象', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404078/404081', '/404078'], + target: '/chinawriter/404078/404081', + }, + { + title: '科幻 - 作品', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404078/404083', '/404078'], + target: '/chinawriter/404078/404083', + }, + { + title: '科幻 - 科声幻影', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404078/404084', '/404078'], + target: '/chinawriter/404078/404084', + }, + { + title: '书汇 - 书摘', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404058/404067', '/404058'], + target: '/chinawriter/404058/404067', + }, + { + title: '书汇 - 图书排行', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404058/404069', '/404058'], + target: '/chinawriter/404058/404069', + }, + { + title: '新作品 - 小说', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/404017', '/404015'], + target: '/chinawriter/404015/404017', + }, + { + title: '新作品 - 诗歌', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/404020', '/404015'], + target: '/chinawriter/404015/404020', + }, + { + title: '新作品 - 散文', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/404018', '/404015'], + target: '/chinawriter/404015/404018', + }, + { + title: '新作品 - 纪实', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/404019', '/404015'], + target: '/chinawriter/404015/404019', + }, + { + title: '新作品 - 其他', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/419926', '/404015'], + target: '/chinawriter/404015/419926', + }, + { + title: '新作品 - 平台推荐', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/419789', '/404015'], + target: '/chinawriter/404015/419789', + }, + { + title: '新作品 - 本周之星', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/431511', '/404015'], + target: '/chinawriter/404015/431511', + }, + { + title: '新作品 - 2018年5月18日前原创作品', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404009'], + target: '/chinawriter/404009', + }, + { + title: '新作品 - 《人民文学》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418925', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418925', + }, + { + title: '新作品 - 《诗刊》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418926', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418926', + }, + { + title: '新作品 - 《民族文学》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418928', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418928', + }, + { + title: '新作品 - 《收获》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418958', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418958', + }, + { + title: '新作品 - 《十月》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418956', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418956', + }, + { + title: '新作品 - 《小说选刊》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418929', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418929', + }, + { + title: '新作品 - 《北京文学》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418954', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418954', + }, + { + title: '新作品 - 《上海文学》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418962', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418962', + }, + { + title: '新作品 - 《天津文学》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/419004', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/419004', + }, + { + title: '新作品 - 《草原》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418989', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418989', + }, + { + title: '新作品 - 《黄河》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/426204', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/426204', + }, + { + title: '新作品 - 《江南》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418957', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418957', + }, + { + title: '新作品 - 《钟山》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418984', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418984', + }, + { + title: '新作品 - 《广州文艺》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/419881', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/419881', + }, + { + title: '新作品 - 《湖南文学》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/419156', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/419156', + }, + { + title: '新作品 - 《山西文学》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/419827', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/419827', + }, + { + title: '新作品 - 《花城》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418960', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418960', + }, + { + title: '新作品 - 《青年作家》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418967', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418967', + }, + { + title: '新作品 - 《雨花》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/419885', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/419885', + }, + { + title: '新作品 - 《红豆》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418993', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418993', + }, + { + title: '新作品 - 《长江文艺》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418961', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418961', + }, + { + title: '新作品 - 《中国作家》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418927', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418927', + }, + { + title: '新作品 - 《青年文学》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418979', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418979', + }, + { + title: '新作品 - 《美文》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418985', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418985', + }, + { + title: '新作品 - 《芙蓉》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418986', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418986', + }, + { + title: '新作品 - 《长城》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418987', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418987', + }, + { + title: '新作品 - 《福建文学》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/419003', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/419003', + }, + { + title: '新作品 - 《啄木鸟》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/435225', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/435225', + }, + { + title: '新作品 - 《芳草》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/424311', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/424311', + }, + { + title: '新作品 - 《小说月报》', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404015/416204/418963', '/404015/416204', '/404015'], + target: '/chinawriter/404015/416204/418963', + }, + { + title: '世界文坛 - 视点', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404085/404090', '/404085'], + target: '/chinawriter/404085/404090', + }, + { + title: '世界文坛 - 译介', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404085/431803', '/404085'], + target: '/chinawriter/404085/431803', + }, + { + title: '世界文坛 - 作家印象', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404085/404091', '/404085'], + target: '/chinawriter/404085/404091', + }, + { + title: '世界文坛 - 文学评论', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404085/404092', '/404085'], + target: '/chinawriter/404085/404092', + }, + { + title: '世界文坛 - 影像艺术', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404085/404093', '/404085'], + target: '/chinawriter/404085/404093', + }, + { + title: '世界文坛 - 作品推介', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404085/404095', '/404085'], + target: '/chinawriter/404085/404095', + }, + { + title: '民族文艺 - 动态', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404086/404098', '/404086'], + target: '/chinawriter/404086/404098', + }, + { + title: '民族文艺 - 品评', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404086/404101', '/404086'], + target: '/chinawriter/404086/404101', + }, + { + title: '民族文艺 - 作家印象', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404086/404099', '/404086'], + target: '/chinawriter/404086/404099', + }, + { + title: '民族文艺 - 作品', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404086/404100', '/404086'], + target: '/chinawriter/404086/404100', + }, + { + title: '民族文艺 - 影像', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404086/404102', '/404086'], + target: '/chinawriter/404086/404102', + }, + { + title: '网络文学 - 动态', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404022/404023', '/404022'], + target: '/chinawriter/404022/404023', + }, + { + title: '网络文学 - 观察', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404022/404027', '/404022'], + target: '/chinawriter/404022/404027', + }, + { + title: '网络文学 - 访谈', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404022/404024', '/404022'], + target: '/chinawriter/404022/404024', + }, + { + title: '网络文学 - 中国网络小说排行榜', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404022/404028', '/404022'], + target: '/chinawriter/404022/404028', + }, + { + title: '儿童文学 - 视点', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404059/404071', '/404059'], + target: '/chinawriter/404059/404071', + }, + { + title: '儿童文学 - 文学评论', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404059/404072', '/404059'], + target: '/chinawriter/404059/404072', + }, + { + title: '儿童文学 - 作家印象', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404059/404073', '/404059'], + target: '/chinawriter/404059/404073', + }, + { + title: '儿童文学 - 作品推介', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404059/404075', '/404059'], + target: '/chinawriter/404059/404075', + }, + { + title: '儿童文学 - 动漫艺术', + docs: 'https://docs.rsshub.app/routes/new-media#zhong-guo-zuo-jia-wang-lan-mu', + source: ['/404059/404076', '/404059'], + target: '/chinawriter/404059/404076', + }, + ], + }, +}; diff --git a/lib/v2/chinawriter/router.js b/lib/v2/chinawriter/router.js new file mode 100644 index 00000000000000..294b473e126850 --- /dev/null +++ b/lib/v2/chinawriter/router.js @@ -0,0 +1,3 @@ +module.exports = (router) => { + router.get('/:id*', require('./')); +}; diff --git a/package.json b/package.json index f66fd69caf484a..d212294d5b054b 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "@koa/router": "12.0.0", "@notionhq/client": "2.2.13", "@postlight/parser": "2.2.3", - "@sentry/node": "7.68.0", + "@sentry/node": "7.69.0", "aes-js": "3.1.2", "art-template": "4.13.2", "bbcodejs": "0.0.4", @@ -105,7 +105,7 @@ "got": "11.8.6", "https-proxy-agent": "7.0.2", "iconv-lite": "0.6.3", - "imapflow": "1.0.143", + "imapflow": "1.0.144", "instagram-private-api": "1.45.3", "ioredis": "5.3.2", "ip-regex": "4.3.0", @@ -127,7 +127,7 @@ "pidusage": "3.0.2", "plist": "3.1.0", "proxy-chain": "2.3.0", - "puppeteer": "21.1.1", + "puppeteer": "21.2.1", "puppeteer-extra": "3.3.6", "puppeteer-extra-plugin-stealth": "2.11.2", "puppeteer-extra-plugin-user-data-dir": "2.4.1", @@ -157,7 +157,6 @@ "@types/fs-extra": "11.0.1", "@types/git-rev-sync": "2.0.0", "@types/imapflow": "1.0.13", - "@types/ip-regex": "4.1.1", "@types/jsdom": "21.1.2", "@types/json-bigint": "1.0.1", "@types/koa": "2.13.8", @@ -176,7 +175,6 @@ "@types/request-promise-native": "1.0.18", "@types/require-all": "3.0.3", "@types/showdown": "2.0.1", - "@types/string-width": "4.0.1", "@types/supertest": "2.0.12", "@types/tiny-async-pool": "2.0.0", "@types/tough-cookie": "4.0.3", @@ -189,7 +187,7 @@ "eslint-plugin-yml": "1.9.0", "fs-extra": "11.1.1", "husky": "8.0.3", - "jest": "29.6.4", + "jest": "29.7.0", "jest-junit": "16.0.0", "lint-staged": "14.0.1", "mockdate": "3.0.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e3968f09aaf139..3562613fe693c8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,8 +15,8 @@ dependencies: specifier: 2.2.3 version: 2.2.3 '@sentry/node': - specifier: 7.68.0 - version: 7.68.0 + specifier: 7.69.0 + version: 7.69.0 aes-js: specifier: 3.1.2 version: 3.1.2 @@ -72,8 +72,8 @@ dependencies: specifier: 0.6.3 version: 0.6.3 imapflow: - specifier: 1.0.143 - version: 1.0.143 + specifier: 1.0.144 + version: 1.0.144 instagram-private-api: specifier: 1.45.3 version: 1.45.3 @@ -138,11 +138,11 @@ dependencies: specifier: 2.3.0 version: 2.3.0 puppeteer: - specifier: 21.1.1 - version: 21.1.1 + specifier: 21.2.1 + version: 21.2.1 puppeteer-extra: specifier: 3.3.6 - version: 3.3.6(puppeteer@21.1.1) + version: 3.3.6(puppeteer@21.2.1) puppeteer-extra-plugin-stealth: specifier: 2.11.2 version: 2.11.2(puppeteer-extra@3.3.6) @@ -223,9 +223,6 @@ devDependencies: '@types/imapflow': specifier: 1.0.13 version: 1.0.13 - '@types/ip-regex': - specifier: 4.1.1 - version: 4.1.1 '@types/jsdom': specifier: 21.1.2 version: 21.1.2 @@ -280,9 +277,6 @@ devDependencies: '@types/showdown': specifier: 2.0.1 version: 2.0.1 - '@types/string-width': - specifier: 4.0.1 - version: 4.0.1 '@types/supertest': specifier: 2.0.12 version: 2.0.12 @@ -320,8 +314,8 @@ devDependencies: specifier: 8.0.3 version: 8.0.3 jest: - specifier: 29.6.4 - version: 29.6.4 + specifier: 29.7.0 + version: 29.7.0 jest-junit: specifier: 16.0.0 version: 16.0.0 @@ -1212,15 +1206,15 @@ packages: safe-buffer: 5.2.1 dev: false - /@puppeteer/browsers@1.7.0: - resolution: {integrity: sha512-sl7zI0IkbQGak/+IE3VEEZab5SSOlI5F6558WvzWGC1n3+C722rfewC1ZIkcF9dsoGSsxhsONoseVlNQG4wWvQ==} + /@puppeteer/browsers@1.7.1: + resolution: {integrity: sha512-nIb8SOBgDEMFY2iS2MdnUZOg2ikcYchRrBoF+wtdjieRFKR2uGRipHY/oFLo+2N6anDualyClPzGywTHRGrLfw==} engines: {node: '>=16.3.0'} hasBin: true dependencies: debug: 4.3.4 extract-zip: 2.0.1 progress: 2.0.3 - proxy-agent: 6.3.0 + proxy-agent: 6.3.1 tar-fs: 3.0.4 unbzip2-stream: 1.4.3 yargs: 17.7.1 @@ -1243,33 +1237,33 @@ packages: selderee: 0.11.0 dev: false - /@sentry-internal/tracing@7.68.0: - resolution: {integrity: sha512-nNKS/q21+Iqzxs2K7T/l3dZi8Z9s/uxsAazpk2AYhFzx9mFnPj1Xfe3dgbFoygNifE+IrpUuldr6D5HQamTDPQ==} + /@sentry-internal/tracing@7.69.0: + resolution: {integrity: sha512-4BgeWZUj9MO6IgfO93C9ocP3+AdngqujF/+zB2rFdUe+y9S6koDyUC7jr9Knds/0Ta72N/0D6PwhgSCpHK8s0Q==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.68.0 - '@sentry/types': 7.68.0 - '@sentry/utils': 7.68.0 + '@sentry/core': 7.69.0 + '@sentry/types': 7.69.0 + '@sentry/utils': 7.69.0 tslib: 2.6.2 dev: false - /@sentry/core@7.68.0: - resolution: {integrity: sha512-mT3ObBWgvAky/QF3dZy4KBoXbRXbNsD6evn+mYi9UEeIZQ5NpnQYDEp78mapiEjI/TAHZIhTIuaBhj1Jk0qUUA==} + /@sentry/core@7.69.0: + resolution: {integrity: sha512-V6jvK2lS8bhqZDMFUtvwe2XvNstFQf5A+2LMKCNBOV/NN6eSAAd6THwEpginabjet9dHsNRmMk7WNKvrUfQhZw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.68.0 - '@sentry/utils': 7.68.0 + '@sentry/types': 7.69.0 + '@sentry/utils': 7.69.0 tslib: 2.6.2 dev: false - /@sentry/node@7.68.0: - resolution: {integrity: sha512-gtcHoi6Xu6Iu8MpPgKJA4E0nozqLvYF0fKtt+27T0QBzWioO6lkxSQkKGWMyJGL0AmpLCex0E28fck/rlbt0LA==} + /@sentry/node@7.69.0: + resolution: {integrity: sha512-T0NgPcmDQvEuz5hy6aEhXghTHHTWsiP3IWoeEAakDBHAXmtpT6lYFQZgb5AiEOt9F5KO/G/1yH3YYdpDAnKhPw==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.68.0 - '@sentry/core': 7.68.0 - '@sentry/types': 7.68.0 - '@sentry/utils': 7.68.0 + '@sentry-internal/tracing': 7.69.0 + '@sentry/core': 7.69.0 + '@sentry/types': 7.69.0 + '@sentry/utils': 7.69.0 cookie: 0.4.2 https-proxy-agent: 5.0.1 lru_map: 0.3.3 @@ -1278,16 +1272,16 @@ packages: - supports-color dev: false - /@sentry/types@7.68.0: - resolution: {integrity: sha512-5J2pH1Pjx/029zTm3CNY9MaE8Aui81nG7JCtlMp7uEfQ//9Ja4d4Sliz/kV4ARbkIKUZerSgaRAm3xCy5XOXLg==} + /@sentry/types@7.69.0: + resolution: {integrity: sha512-zPyCox0mzitzU6SIa1KIbNoJAInYDdUpdiA+PoUmMn2hFMH1llGU/cS7f4w/mAsssTlbtlBi72RMnWUCy578bw==} engines: {node: '>=8'} dev: false - /@sentry/utils@7.68.0: - resolution: {integrity: sha512-NecnQegvKARyeFmBx7mYmbI17mTvjARWs1nfzY5jhPyNc3Zk4M3bQsgIdnJ1t+jo93UYudlNND7hxhDzjcBAVg==} + /@sentry/utils@7.69.0: + resolution: {integrity: sha512-4eBixe5Y+0EGVU95R4NxH3jkkjtkE4/CmSZD4In8SCkWGSauogePtq6hyiLsZuP1QHdpPb9Kt0+zYiBb2LouBA==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.68.0 + '@sentry/types': 7.69.0 tslib: 2.6.2 dev: false @@ -1506,13 +1500,6 @@ packages: '@types/node': 20.5.6 dev: true - /@types/ip-regex@4.1.1: - resolution: {integrity: sha512-RUEV39p+XoK1rO4nDQYXb1TATpyVKzfIr75HgR0074G/uA9RzjPsIK4TMlxh7KZ4WxcM512j03esP06tHMZNLA==} - deprecated: This is a stub types definition. ip-regex provides its own type definitions, so you do not need this installed. - dependencies: - ip-regex: 4.3.0 - dev: true - /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: true @@ -1754,13 +1741,6 @@ packages: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: true - /@types/string-width@4.0.1: - resolution: {integrity: sha512-zsZXP4RSmw3TOXf2eut1xxb7Gto7I+BrB0WxwdRaEdCBnUbAQa57yZf/OWcAfop9m7t6Zd0pw9tV2ghpJXJPZg==} - deprecated: This is a stub types definition. string-width provides its own type definitions, so you do not need this installed. - dependencies: - string-width: 4.2.3 - dev: true - /@types/superagent@4.1.18: resolution: {integrity: sha512-LOWgpacIV8GHhrsQU+QMZuomfqXiqzz3ILLkCtKx3Us6AmomFViuzKT9D693QTKgyut2oCytMG8/efOop+DB+w==} dependencies: @@ -2445,8 +2425,8 @@ packages: engines: {node: '>=10'} dev: true - /chromium-bidi@0.4.22(devtools-protocol@0.0.1159816): - resolution: {integrity: sha512-wR7Y9Ioez+cNXT4ZP7VNM1HRTljpNnMSLw4/RnwhhZUP4yCU7kIQND00YiktuHekch68jklGPK1q9Jkb29+fQg==} + /chromium-bidi@0.4.26(devtools-protocol@0.0.1159816): + resolution: {integrity: sha512-lukBGfogAI4T0y3acc86RaacqgKQve47/8pV2c+Hr1PjcICj2K4OkL3qfX3qrqxxnd4ddurFC0WBA3VCQqYeUQ==} peerDependencies: devtools-protocol: '*' dependencies: @@ -2668,9 +2648,14 @@ packages: /core-util-is@1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - /cosmiconfig@8.2.0: - resolution: {integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==} + /cosmiconfig@8.3.5: + resolution: {integrity: sha512-A5Xry3xfS96wy2qbiLkQLAg4JUrR2wvfybxj6yqLmrUfMAvhS3MZxIP2oQn0grgYIvJqzpeTEWu4vK0t+12NNw==} engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -4207,8 +4192,8 @@ packages: hasBin: true dev: false - /imapflow@1.0.143: - resolution: {integrity: sha512-1J7ySUM7wGyh0OguhZc0EdM+4yywX/tB4tjAskvOwz4Kd1S8+cxcIBBuslq6hpO1XLDOnjUns0ADrjwQIuTBTg==} + /imapflow@1.0.144: + resolution: {integrity: sha512-pJENOyIn3oaJwtMbIty4cYcxguNR4oWz+izTo267jcLOpBXrjwnQG2jU7+yEDESxaPazVXlcbr/5ZzBRglT51Q==} dependencies: encoding-japanese: 2.0.0 iconv-lite: 0.6.3 @@ -4216,8 +4201,8 @@ packages: libmime: 5.2.1 libqp: 2.0.1 mailsplit: 5.4.0 - nodemailer: 6.9.4 - pino: 8.15.0 + nodemailer: 6.9.5 + pino: 8.15.1 socks: 2.7.1 dev: false @@ -4314,6 +4299,7 @@ packages: /ip-regex@4.3.0: resolution: {integrity: sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==} engines: {node: '>=8'} + dev: false /ip@1.1.8: resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} @@ -4953,8 +4939,8 @@ packages: supports-color: 8.1.1 dev: true - /jest@29.6.4: - resolution: {integrity: sha512-tEFhVQFF/bzoYV1YuGyzLPZ6vlPrdfvDmmAxudA1dLEuiztqg2Rkx20vkKY32xiDROcD2KXlgZ7Cu8RPeEHRKw==} + /jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: @@ -5929,8 +5915,8 @@ packages: engines: {node: '>=6.0.0'} dev: false - /nodemailer@6.9.4: - resolution: {integrity: sha512-CXjQvrQZV4+6X5wP6ZIgdehJamI63MFoYFGGPtHudWym9qaEHDNdPzaj5bfMCvxG1vhAileSWW90q7nL0N36mA==} + /nodemailer@6.9.5: + resolution: {integrity: sha512-/dmdWo62XjumuLc5+AYQZeiRj+PRR8y8qKtFCOyuOl1k/hckZd8durUUHs/ucKx6/8kN+wFxqKJlQ/LK/qR5FA==} engines: {node: '>=6.0.0'} dev: false @@ -6170,8 +6156,8 @@ packages: engines: {node: '>=6'} dev: true - /pac-proxy-agent@7.0.0: - resolution: {integrity: sha512-t4tRAMx0uphnZrio0S0Jw9zg3oDbz1zVhQ/Vy18FjLfP1XOLNUEjaVxYCYRI6NS+BsMBXKIzV6cTLOkO9AtywA==} + /pac-proxy-agent@7.0.1: + resolution: {integrity: sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==} engines: {node: '>= 14'} dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 @@ -6320,8 +6306,8 @@ packages: safe-buffer: 5.2.1 dev: false - /pino-abstract-transport@1.0.0: - resolution: {integrity: sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==} + /pino-abstract-transport@1.1.0: + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} dependencies: readable-stream: 4.4.2 split2: 4.2.0 @@ -6331,14 +6317,14 @@ packages: resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} dev: false - /pino@8.15.0: - resolution: {integrity: sha512-olUADJByk4twxccmAxb1RiGKOSvddHugCV3wkqjyv+3Sooa2KLrmXrKEWOKi0XPCLasRR5jBXxioE1jxUa4KzQ==} + /pino@8.15.1: + resolution: {integrity: sha512-Cp4QzUQrvWCRJaQ8Lzv0mJzXVk4z2jlq8JNKMGaixC2Pz5L4l2p95TkuRvYbrEbe85NQsDKrAd4zalf7Ml6WiA==} hasBin: true dependencies: atomic-sleep: 1.0.0 fast-redact: 3.3.0 on-exit-leak-free: 2.1.0 - pino-abstract-transport: 1.0.0 + pino-abstract-transport: 1.1.0 pino-std-serializers: 6.2.2 process-warning: 2.2.0 quick-format-unescaped: 4.0.4 @@ -6456,8 +6442,8 @@ packages: engines: {node: '>= 8'} dev: true - /proxy-agent@6.3.0: - resolution: {integrity: sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==} + /proxy-agent@6.3.1: + resolution: {integrity: sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==} engines: {node: '>= 14'} dependencies: agent-base: 7.1.0 @@ -6465,7 +6451,7 @@ packages: http-proxy-agent: 7.0.0 https-proxy-agent: 7.0.2 lru-cache: 7.18.3 - pac-proxy-agent: 7.0.0 + pac-proxy-agent: 7.0.1 proxy-from-env: 1.1.0 socks-proxy-agent: 8.0.2 transitivePeerDependencies: @@ -6501,16 +6487,16 @@ packages: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - /puppeteer-core@21.1.1: - resolution: {integrity: sha512-Tlcajcf44zwfa9Sbwv3T8BtaNMJ69wtpHIxwl2NOBTyTK3D1wppQovXTjfw0TDOm3a16eCfQ+5BMi3vRQ4kuAQ==} + /puppeteer-core@21.2.1: + resolution: {integrity: sha512-+I8EjpWFeeFKScpQiTEnC4jGve2Wr4eA9qUMoa8S317DJPm9h7wzrT4YednZK2TQZMyPtPQ2Disb/Tg02+4Naw==} engines: {node: '>=16.3.0'} dependencies: - '@puppeteer/browsers': 1.7.0 - chromium-bidi: 0.4.22(devtools-protocol@0.0.1159816) + '@puppeteer/browsers': 1.7.1 + chromium-bidi: 0.4.26(devtools-protocol@0.0.1159816) cross-fetch: 4.0.0 debug: 4.3.4 devtools-protocol: 0.0.1159816 - ws: 8.13.0 + ws: 8.14.1 transitivePeerDependencies: - bufferutil - encoding @@ -6531,7 +6517,7 @@ packages: optional: true dependencies: debug: 4.3.4 - puppeteer-extra: 3.3.6(puppeteer@21.1.1) + puppeteer-extra: 3.3.6(puppeteer@21.2.1) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6) puppeteer-extra-plugin-user-preferences: 2.4.1(puppeteer-extra@3.3.6) transitivePeerDependencies: @@ -6552,7 +6538,7 @@ packages: dependencies: debug: 4.3.4 fs-extra: 10.1.0 - puppeteer-extra: 3.3.6(puppeteer@21.1.1) + puppeteer-extra: 3.3.6(puppeteer@21.2.1) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6) rimraf: 3.0.2 transitivePeerDependencies: @@ -6573,7 +6559,7 @@ packages: dependencies: debug: 4.3.4 deepmerge: 4.3.1 - puppeteer-extra: 3.3.6(puppeteer@21.1.1) + puppeteer-extra: 3.3.6(puppeteer@21.2.1) puppeteer-extra-plugin: 3.2.3(puppeteer-extra@3.3.6) puppeteer-extra-plugin-user-data-dir: 2.4.1(puppeteer-extra@3.3.6) transitivePeerDependencies: @@ -6595,12 +6581,12 @@ packages: '@types/debug': 4.1.8 debug: 4.3.4 merge-deep: 3.0.3 - puppeteer-extra: 3.3.6(puppeteer@21.1.1) + puppeteer-extra: 3.3.6(puppeteer@21.2.1) transitivePeerDependencies: - supports-color dev: false - /puppeteer-extra@3.3.6(puppeteer@21.1.1): + /puppeteer-extra@3.3.6(puppeteer@21.2.1): resolution: {integrity: sha512-rsLBE/6mMxAjlLd06LuGacrukP2bqbzKCLzV1vrhHFavqQE/taQ2UXv3H5P0Ls7nsrASa+6x3bDbXHpqMwq+7A==} engines: {node: '>=8'} peerDependencies: @@ -6618,23 +6604,24 @@ packages: '@types/debug': 4.1.8 debug: 4.3.4 deepmerge: 4.3.1 - puppeteer: 21.1.1 + puppeteer: 21.2.1 transitivePeerDependencies: - supports-color dev: false - /puppeteer@21.1.1: - resolution: {integrity: sha512-2TLntjGA4qLrI9/8N0UK/5OoZJ2Ue7QgphN2SD+RsaHiha12AEiVyMGsB+i6LY1IoPAtEgYIjblQ7lw3kWDNRw==} + /puppeteer@21.2.1: + resolution: {integrity: sha512-bgY/lYBH3rR+m5EP1FxzY2MRMrau7Pyq+N5YlspA63sF+cBkUiTn5WZXwXm7mEHwkkOSVi5LiS74T5QIgrSklg==} engines: {node: '>=16.3.0'} requiresBuild: true dependencies: - '@puppeteer/browsers': 1.7.0 - cosmiconfig: 8.2.0 - puppeteer-core: 21.1.1 + '@puppeteer/browsers': 1.7.1 + cosmiconfig: 8.3.5 + puppeteer-core: 21.2.1 transitivePeerDependencies: - bufferutil - encoding - supports-color + - typescript - utf-8-validate dev: false @@ -8020,6 +8007,19 @@ packages: optional: true dev: false + /ws@8.14.1: + resolution: {integrity: sha512-4OOseMUq8AzRBI/7SLMUwO+FEDnguetSk7KMb1sHwvF2w2Wv5Hoj0nlifx8vtGsftE/jWHojPy8sMMzYLJ2G/A==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + /wuzzy@0.1.8: resolution: {integrity: sha512-FUzKQepFSTnANsDYwxpIzGJ/dIJaqxuMre6tzzbvWwFAiUHPsI1nVQVCLK4Xqr67KO7oYAK0kaCcI/+WYj/7JA==} dependencies: diff --git a/website/docs/routes/new-media.md b/website/docs/routes/new-media.md index eea16266ff9304..6900fa6bdf128a 100644 --- a/website/docs/routes/new-media.md +++ b/website/docs/routes/new-media.md @@ -5332,6 +5332,141 @@ column 为 third 时可选的 category: +## 中国作家网 {#zhong-guo-zuo-jia-wang} + +### 栏目 {#zhong-guo-zuo-jia-wang-lan-mu} + + + +| 服务 | 文学奖项 | +| ------ | -------- | +| 403937 | 403973 | + +| 新闻 | 访谈 | 艺术 | +| ------ | ------ | ------ | +| 403990 | 403997 | 404002 | + +| 理论评论 | 文史 | 科幻 | 书汇 | 新作品 | +| -------- | ------ | ------ | ------ | ------ | +| 404029 | 404057 | 404078 | 404058 | 404015 | + +| 世界文坛 | 民族文艺 | 网络文学 | 儿童文学 | +| -------- | -------- | -------- | -------- | +| 404085 | 404086 | 404022 | 404059 | + +
+ 更多栏目 + + #### 会员 + + | 新发展会员名单 | 讣告 | + | -------------- | ------------- | + | 403978/403979 | 403978/403981 | + + #### 文学奖项 + + | 其他文学奖项 | + | ------------- | + | 403973/419349 | + + #### 新闻 + + | 时政新闻 | 中国作协 | 主席 | 党组书记 | 各地文讯 | + | ------------- | ------------- | ------------- | ------------- | ------------- | + | 403990/403991 | 403990/403993 | 403990/441519 | 403990/441520 | 403990/403994 | + + #### 艺术 + + | 新闻 | 影视 | 舞台 | 人物 | 展览 | 书画 | + | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | + | 404002/404003 | 404002/419388 | 404002/419389 | 404002/404005 | 404002/419390 | 404002/419391 | + + #### 理论评论 + + | 重要理论文章 | 理论热点 | 文学评论 | 创作谈 | 争鸣 | 综述 | 《中国当代文学研究》 | + | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | + | 404029/419350 | 404029/419351 | 404029/404030 | 404029/404032 | 404029/404033 | 404029/404034 | 404087/404988/425775 | + + #### 文史 + + | 文坛轶事 | 文史漫谈 | 重温经典 | 版本研究 | 名人手迹 | 茅盾文学奖获奖作家研究 | + | ------------- | ------------- | ------------- | ------------- | ------------- | ---------------------- | + | 404057/404063 | 404057/442005 | 404057/419384 | 404057/419387 | 404057/419382 | 404087/404988/429369 | + + #### 科幻 + + | 动态 | 评论 | 作家印象 | 作品 | 科声幻影 | + | ------------- | ------------- | ------------- | ------------- | ------------- | + | 404078/404079 | 404078/404080 | 404078/404081 | 404078/404083 | 404078/404084 | + + #### 书汇 + + | 书摘 | 图书排行 | + | ------------- | ------------- | + | 404058/404067 | 404058/404069 | + + #### 新作品 + + | 小说 | 诗歌 | 散文 | 纪实 | 其他 | + | ------------- | ------------- | ------------- | ------------- | ------------- | + | 404015/404017 | 404015/404020 | 404015/404018 | 404015/404019 | 404015/419926 | + + | 平台推荐 | 本周之星 | 2018年5月18日前原创作品 | + | ------------- | ------------- | ----------------------- | + | 404015/419789 | 404015/431511 | 404009 | + + | 《人民文学》 | 《诗刊》 | 《民族文学》 | 《收获》 | 《十月》 | + | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | + | 404015/416204/418925 | 404015/416204/418926 | 404015/416204/418928 | 404015/416204/418958 | 404015/416204/418956 | + + | 《小说选刊》 | 《北京文学》 | 《上海文学》 | 《天津文学》 | 《草原》 | + | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | + | 404015/416204/418929 | 404015/416204/418954 | 404015/416204/418962 | 404015/416204/419004 | 404015/416204/418989 | + + | 《黄河》 | 《江南》 | 《钟山》 | 《广州文艺》 | 《湖南文学》 | + | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | + | 404015/416204/426204 | 404015/416204/418957 | 404015/416204/418984 | 404015/416204/419881 | 404015/416204/419156 | + + | 《山西文学》 | 《花城》 | 《青年作家》 | 《雨花》 | 《红豆》 | + | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | + | 404015/416204/419827 | 404015/416204/418960 | 404015/416204/418967 | 404015/416204/419885 | 404015/416204/418993 | + + | 《长江文艺》 | 《中国作家》 | 《青年文学》 | 《美文》 | 《芙蓉》 | + | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | + | 404015/416204/418961 | 404015/416204/418927 | 404015/416204/418979 | 404015/416204/418985 | 404015/416204/418986 | + + | 《长城》 | 《福建文学》 | 《啄木鸟》 | 《芳草》 | 《小说月报》 | + | -------------------- | -------------------- | -------------------- | -------------------- | -------------------- | + | 404015/416204/418987 | 404015/416204/419003 | 404015/416204/435225 | 404015/416204/424311 | 404015/416204/418963 | + + #### 世界文坛 + + | 视点 | 译介 | 作家印象 | 文学评论 | 影像艺术 | 作品推介 | + | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | + | 404085/404090 | 404085/431803 | 404085/404091 | 404085/404092 | 404085/404093 | 404085/404095 | + + #### 民族文艺 + + | 动态 | 品评 | 作家印象 | 作品 | 影像 | + | ------------- | ------------- | ------------- | ------------- | ------------- | + | 404086/404098 | 404086/404101 | 404086/404099 | 404086/404100 | 404086/404102 | + + #### 网络文学 + + | 动态 | 观察 | 访谈 | 中国网络小说排行榜 | + | ------------- | ------------- | ------------- | ------------------ | + | 404022/404023 | 404022/404027 | 404022/404024 | 404022/404028 | + + #### 儿童文学 + + | 视点 | 文学评论 | 作家印象 | 作品推介 | 动漫艺术 | + | ------------- | ------------- | ------------- | ------------- | ------------- | + | 404059/404071 | 404059/404072 | 404059/404073 | 404059/404075 | 404059/404076 | + +
+ +
+ ## 重构 {#zhong-gou} ### 推荐 {#zhong-gou-tui-jian}