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}