From 053f0480e4c3076710e2f55fa0efbb4b4f2d724c Mon Sep 17 00:00:00 2001
From: DIYgod
Date: Thu, 21 Dec 2023 23:19:40 +0800
Subject: [PATCH] feat: remove notOperational routes - study
---
lib/router.js | 28 -----
lib/routes/51voa/channel.js | 158 -----------------------------
lib/routes/cpta/notice.js | 41 --------
lib/routes/gbcc/trust.js | 28 -----
lib/routes/gradcafe/result.js | 37 -------
lib/routes/jijitang/article.js | 19 ----
lib/routes/jijitang/publication.js | 18 ----
lib/routes/mind42/index.js | 7 --
lib/routes/mind42/search.js | 5 -
lib/routes/mind42/tag.js | 5 -
lib/routes/mind42/utils.js | 47 ---------
lib/routes/processon/popular.js | 51 ----------
lib/routes/putonghua/hangzhou.js | 45 --------
lib/v2/cscse/maintainer.js | 3 -
lib/v2/cscse/radar.js | 13 ---
lib/v2/cscse/router.js | 3 -
lib/v2/cscse/tzgg.js | 54 ----------
website/docs/routes/study.mdx | 118 +--------------------
18 files changed, 1 insertion(+), 679 deletions(-)
delete mode 100644 lib/routes/51voa/channel.js
delete mode 100644 lib/routes/cpta/notice.js
delete mode 100644 lib/routes/gbcc/trust.js
delete mode 100644 lib/routes/gradcafe/result.js
delete mode 100644 lib/routes/jijitang/article.js
delete mode 100644 lib/routes/jijitang/publication.js
delete mode 100644 lib/routes/mind42/index.js
delete mode 100644 lib/routes/mind42/search.js
delete mode 100644 lib/routes/mind42/tag.js
delete mode 100644 lib/routes/mind42/utils.js
delete mode 100644 lib/routes/processon/popular.js
delete mode 100644 lib/routes/putonghua/hangzhou.js
delete mode 100644 lib/v2/cscse/maintainer.js
delete mode 100644 lib/v2/cscse/radar.js
delete mode 100644 lib/v2/cscse/router.js
delete mode 100644 lib/v2/cscse/tzgg.js
diff --git a/lib/router.js b/lib/router.js
index 65d605d53..9892b4fa0 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -676,10 +676,6 @@ router.get('/mit/csail/news', lazyloadRouteHandler('./routes/universities/mit/cs
// 毕马威
router.get('/kpmg/insights', lazyloadRouteHandler('./routes/kpmg/insights'));
-// gradcafe
-router.get('/gradcafe/result/:type', lazyloadRouteHandler('./routes/gradcafe/result'));
-router.get('/gradcafe/result', lazyloadRouteHandler('./routes/gradcafe/result'));
-
// 朝日新闻
router.get('/asahi/:genre?/:category?', lazyloadRouteHandler('./routes/asahi/index'));
@@ -1084,9 +1080,6 @@ router.get('/nosec/:keykind?', lazyloadRouteHandler('./routes/nosec/index'));
router.get('/xinquji/today', lazyloadRouteHandler('./routes/xinquji/today'));
router.get('/xinquji/today/internal', lazyloadRouteHandler('./routes/xinquji/internal'));
-// 英中协会
-router.get('/gbcc/trust', lazyloadRouteHandler('./routes/gbcc/trust'));
-
// discuz
// router.get('/discuz/:ver([7|x])/:cid([0-9]{2})/:link(.*)', lazyloadRouteHandler('./routes/discuz/discuz'));
// router.get('/discuz/:ver([7|x])/:link(.*)', lazyloadRouteHandler('./routes/discuz/discuz'));
@@ -1219,9 +1212,6 @@ router.get('/etoland/:bo_table', lazyloadRouteHandler('./routes/etoland/board'))
// 辽宁工程技术大学教务在线公告
router.get('/lntu/jwnews', lazyloadRouteHandler('./routes/universities/lntu/jwnews'));
-// 51voa
-router.get('/51voa/:channel', lazyloadRouteHandler('./routes/51voa/channel'));
-
// 追新番
router.get('/fanxinzhui', lazyloadRouteHandler('./routes/fanxinzhui/latest'));
router.get('/zhuixinfan/list', lazyloadRouteHandler('./routes/fanxinzhui/latest'));
@@ -1262,9 +1252,6 @@ router.get('/slu/csggxy/:id', lazyloadRouteHandler('./routes/universities/slu/cs
router.get('/ruby-china/topics/:type?', lazyloadRouteHandler('./routes/ruby-china/topics'));
router.get('/ruby-china/jobs', lazyloadRouteHandler('./routes/ruby-china/jobs'));
-// 中国人事考试网
-router.get('/cpta/notice', lazyloadRouteHandler('./routes/cpta/notice'));
-
// 广告网
router.get('/adquan/:type?', lazyloadRouteHandler('./routes/adquan/index'));
@@ -1298,10 +1285,6 @@ router.get('/199it', lazyloadRouteHandler('./routes/199it/index'));
router.get('/199it/category/:caty', lazyloadRouteHandler('./routes/199it/category'));
router.get('/199it/tag/:tag', lazyloadRouteHandler('./routes/199it/tag'));
-// 唧唧堂
-router.get('/jijitang/article/:id', lazyloadRouteHandler('./routes/jijitang/article'));
-router.get('/jijitang/publication', lazyloadRouteHandler('./routes/jijitang/publication'));
-
// Grub Street
// router.get('/grubstreet', lazyloadRouteHandler('./routes/grubstreet/index'));
@@ -1642,26 +1625,15 @@ router.get('/lifetimes/:category?', lazyloadRouteHandler('./routes/lifetimes/ind
// Zhimap 知识导图社区
router.get('/zhimap/:categoryUuid?/:recommend?', lazyloadRouteHandler('./routes/zhimap/index'));
-// ProcessOn
-router.get('/processon/popular/:cate?/:sort?', lazyloadRouteHandler('./routes/processon/popular'));
-
// Mathpix
router.get('/mathpix/blog', lazyloadRouteHandler('./routes/mathpix/blog'));
// OneNote Gem Add-Ins
router.get('/onenotegem/release', lazyloadRouteHandler('./routes/onenotegem/release'));
-// Mind42
-router.get('/mind42/tag/:id', lazyloadRouteHandler('./routes/mind42/tag'));
-router.get('/mind42/search/:keyword', lazyloadRouteHandler('./routes/mind42/search'));
-router.get('/mind42/:caty?', lazyloadRouteHandler('./routes/mind42/index'));
-
// 幕布网
router.get('/mubu/explore/:category?/:title?', lazyloadRouteHandler('./routes/mubu/explore'));
-// 国家普通话测试 杭州市
-router.get('/putonghua', lazyloadRouteHandler('./routes/putonghua/hangzhou'));
-
// 有道云笔记
router.get('/youdao/xueba', lazyloadRouteHandler('./routes/youdao/xueba'));
router.get('/youdao/latest', lazyloadRouteHandler('./routes/youdao/latest'));
diff --git a/lib/routes/51voa/channel.js b/lib/routes/51voa/channel.js
deleted file mode 100644
index eefce7620..000000000
--- a/lib/routes/51voa/channel.js
+++ /dev/null
@@ -1,158 +0,0 @@
-const got = require('@/utils/got');
-const date = require('@/utils/date');
-const cheerio = require('cheerio');
-
-const HOST = 'https://www.51voa.com';
-const PAGE_ROUTER = {
- standard: {
- url: 'https://www.51voa.com/VOA_Standard_1.html',
- title: '常速英语',
- },
- archive: {
- url: 'https://www.51voa.com/VOA_Standard_1_archiver.html',
- title: '常速英语存档',
- },
-
- technology: {
- url: 'https://www.51voa.com/Technology_Report_1.html',
- title: '科技报道',
- },
- daily: {
- url: 'https://www.51voa.com/This_is_America_1.html',
- title: '今日美国',
- },
- sciences: {
- url: 'https://www.51voa.com/Science_in_the_News_1.html',
- title: '科学报道',
- },
- health: {
- url: 'https://www.51voa.com/Health_Report_1.html',
- title: '健康报道',
- },
- education: {
- url: 'https://www.51voa.com/Education_Report_1.html',
- title: '教育报道',
- },
- economics: {
- url: 'https://www.51voa.com/Economics_Report_1.html',
- title: '经济报道',
- },
- culture: {
- url: 'https://www.51voa.com/American_Mosaic_1.html',
- title: '文化艺术',
- },
- events: {
- url: 'https://www.51voa.com/In_the_News_1.html',
- title: '时事新闻',
- },
- stories: {
- url: 'https://www.51voa.com/American_Stories_1.html',
- title: '美国故事',
- },
- words: {
- url: 'https://www.51voa.com/Words_And_Their_Stories_1.html',
- title: '词汇掌故',
- },
- trending: {
- url: 'https://www.51voa.com/Trending_Today_1.html',
- title: '今日热点',
- },
- magazine: {
- url: 'https://www.51voa.com/as_it_is_1.html',
- title: '新闻杂志',
- },
- grammar: {
- url: 'https://www.51voa.com/Everyday_Grammar_1.html',
- title: '日常语法',
- },
- queries: {
- url: 'https://www.51voa.com/ask_a_teacher_1.html',
- title: '名师答疑',
- },
- history: {
- url: 'https://www.51voa.com/The_Making_of_a_Nation_1.html',
- title: '美国历史',
- },
- park: {
- url: 'https://www.51voa.com/National_Parks_1.html',
- title: '国家公园',
- },
- president: {
- url: 'https://www.51voa.com/Americas_Presidents_1.html',
- title: '美国总统',
- },
- agriculture: {
- url: 'https://www.51voa.com/Agriculture_Report_1.html',
- title: '农业报道',
- },
- exploration: {
- url: 'https://www.51voa.com/Explorations_1.html',
- title: '自然探索',
- },
- people: {
- url: 'https://www.51voa.com/People_in_America_1.html',
- title: '美国人物',
- },
- bilingual: {
- url: 'https://www.51voa.com/Bilingual_News_1.html',
- title: '双语新闻',
- },
- address: {
- url: 'https://www.51voa.com/President_Address_1.html',
- title: '总统演讲',
- },
-};
-
-module.exports = async (ctx) => {
- const { channel } = ctx.params;
- const { url, title } = PAGE_ROUTER[channel] || {};
-
- const response = await got({
- method: 'get',
- url,
- });
-
- const $ = cheerio.load(response.data);
- const list = $('div.List ul li>a')
- .slice(0, 5)
- .map((i, e) => $(e).attr('href'))
- .get();
-
- const out = await Promise.all(
- list.map(async (link) => {
- const pageUrl = HOST + link;
- const cache = await ctx.cache.get(link);
- if (cache) {
- return Promise.resolve(JSON.parse(cache));
- }
-
- const response = await got({
- method: 'get',
- url: pageUrl,
- headers: {
- Referer: url,
- },
- });
-
- const $ = cheerio.load(response.data);
-
- const single = {
- pubDate: date($('div.Content>span.datetime').text()),
- link: $('div.title h1').text(),
- title: $('div.title>h1').html(),
- description: $('div.Content').html(),
- category: ['study', 'English'],
- };
-
- ctx.cache.set(link, JSON.stringify(single));
- return Promise.resolve(single);
- })
- );
-
- ctx.state.data = {
- title,
- link: url,
- description: '51voa - ' + channel,
- item: out,
- };
-};
diff --git a/lib/routes/cpta/notice.js b/lib/routes/cpta/notice.js
deleted file mode 100644
index 2516d594f..000000000
--- a/lib/routes/cpta/notice.js
+++ /dev/null
@@ -1,41 +0,0 @@
-const url = require('url');
-const got = require('@/utils/got');
-const cheerio = require('cheerio');
-const iconv = require('iconv-lite');
-
-module.exports = async (ctx) => {
- const link = `http://www.cpta.com.cn/GB/360339/index.html`;
- const response = await got({ method: 'get', url: link, responseType: 'buffer' });
-
- const $ = cheerio.load(iconv.decode(response.data, 'gbk'));
- const list = $('ul.list_14 li')
- .map((_, item) => {
- item = $(item).find('a');
- return {
- title: item.text(),
- link: url.resolve(`http://www.cpta.com.cn/`, item.attr('href')),
- };
- })
- .get();
-
- ctx.state.data = {
- title: '中国人事考试网 - 通知公告',
- link,
- item: await Promise.all(
- list.map((item) =>
- ctx.cache.tryGet(item.link, async () => {
- const detailResponse = await got({ method: 'get', url: item.link, responseType: 'buffer' });
- const content = cheerio.load(iconv.decode(detailResponse.data, 'gbk'));
- item.description = content('div.text').html();
- item.pubDate = new Date(
- content('#p_publishtime')
- .text()
- .replace(/[年|月]/g, '-')
- .replace(/日/g, ' ') + ' GMT+8'
- ).toUTCString();
- return item;
- })
- )
- ),
- };
-};
diff --git a/lib/routes/gbcc/trust.js b/lib/routes/gbcc/trust.js
deleted file mode 100644
index 783b15e43..000000000
--- a/lib/routes/gbcc/trust.js
+++ /dev/null
@@ -1,28 +0,0 @@
-const got = require('@/utils/got');
-const cheerio = require('cheerio');
-
-module.exports = async (ctx) => {
- const link = 'http://www.gbcc.org.uk/educational-grants';
- const response = (await got.get(link)).data;
-
- const $ = cheerio.load(response);
-
- const items = $('.entry-anchorLinkId')
- .map((i, e) => {
- const text = $(e).next('.entry-text');
- return {
- title: $(text).find('h1').html(),
- link: `${link}#${$(e).children('div')[0].attribs.id}`,
- description: $(text).html(),
- pubDate: new Date().toUTCString(),
- };
- })
- .get();
-
- ctx.state.data = {
- title: '英中协会 - 奖学金',
- description: '英中协会是由英国外交和联邦事务部于 1974 年创立的非政府部门公共机构。',
- link,
- item: items,
- };
-};
diff --git a/lib/routes/gradcafe/result.js b/lib/routes/gradcafe/result.js
deleted file mode 100644
index b517fc617..000000000
--- a/lib/routes/gradcafe/result.js
+++ /dev/null
@@ -1,37 +0,0 @@
-const cheerio = require('cheerio');
-const got = require('@/utils/got');
-const queryString = require('query-string');
-const url = 'https://www.thegradcafe.com/survey/';
-module.exports = async (ctx) => {
- const type = ctx.params.type;
- const res = await got.get(url, {
- searchParams: queryString.stringify({
- q: type,
- }),
- });
- const $ = cheerio.load(res.data);
- const list = $('table.submission-table tbody tr');
- const out = list
- .slice(0, 10)
- .map(function () {
- const title = $(this).find('.tcol1 ').text();
- const author = $(this).find('.tcol2').text();
- const description = $(this).find($('strong').parents('.tcol3')).text() + ' Note:' + $(this).find('.tcol6').text();
- const pubDate = $(this).find('.tcol5').text();
- const item = {
- title,
- author,
- description,
- pubDate,
- // note
- };
- return item;
- })
- .get();
-
- ctx.state.data = {
- title: 'gradCafe',
- link: url,
- item: out,
- };
-};
diff --git a/lib/routes/jijitang/article.js b/lib/routes/jijitang/article.js
deleted file mode 100644
index bd6a1c46e..000000000
--- a/lib/routes/jijitang/article.js
+++ /dev/null
@@ -1,19 +0,0 @@
-const got = require('@/utils/got');
-
-module.exports = async (ctx) => {
- const id = ctx.params.id;
- const url = `http://www.jijitang.com/article/list?sort=${id}`;
- const res = await got.get(url);
- const data = res.data;
-
- ctx.state.data = {
- title: `唧唧堂 ${id}`,
- link: url,
- item: data.map((item) => ({
- title: item.title,
- description: item.content,
- pubDate: item.createTime,
- link: `http://www.jijitang.com/article/${item._id}`,
- })),
- };
-};
diff --git a/lib/routes/jijitang/publication.js b/lib/routes/jijitang/publication.js
deleted file mode 100644
index 68a97954b..000000000
--- a/lib/routes/jijitang/publication.js
+++ /dev/null
@@ -1,18 +0,0 @@
-const got = require('@/utils/got');
-
-module.exports = async (ctx) => {
- const url = `http://www.jijitang.com/api/publication/search?start=0&limit=40`;
- const res = await got.get(url);
- const data = res.data;
-
- ctx.state.data = {
- title: `唧唧堂 publication`,
- link: url,
- item: data.result.map((item) => ({
- title: item.titleCn,
- description: `杂志名称:` + item.journalName + `
英文标题:` + item.title + `
摘要:` + item.summary,
- pubDate: item.created,
- link: item.fullArticleLink,
- })),
- };
-};
diff --git a/lib/routes/mind42/index.js b/lib/routes/mind42/index.js
deleted file mode 100644
index fa2abe0d1..000000000
--- a/lib/routes/mind42/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-const utils = require('./utils');
-
-module.exports = async (ctx) => {
- const currentUrl = ctx.params.caty || 'mindmaps';
-
- ctx.state.data = await utils(ctx, currentUrl);
-};
diff --git a/lib/routes/mind42/search.js b/lib/routes/mind42/search.js
deleted file mode 100644
index 8cf7f4748..000000000
--- a/lib/routes/mind42/search.js
+++ /dev/null
@@ -1,5 +0,0 @@
-const utils = require('./utils');
-
-module.exports = async (ctx) => {
- ctx.state.data = await utils(ctx, `search?q=${ctx.params.keyword}`);
-};
diff --git a/lib/routes/mind42/tag.js b/lib/routes/mind42/tag.js
deleted file mode 100644
index 685a9816d..000000000
--- a/lib/routes/mind42/tag.js
+++ /dev/null
@@ -1,5 +0,0 @@
-const utils = require('./utils');
-
-module.exports = async (ctx) => {
- ctx.state.data = await utils(ctx, `tag/${ctx.params.id}`);
-};
diff --git a/lib/routes/mind42/utils.js b/lib/routes/mind42/utils.js
deleted file mode 100644
index d866a68a7..000000000
--- a/lib/routes/mind42/utils.js
+++ /dev/null
@@ -1,47 +0,0 @@
-const got = require('@/utils/got');
-const cheerio = require('cheerio');
-
-module.exports = async (ctx, currentUrl) => {
- const rootUrl = `https://mind42.com`;
- currentUrl = `${rootUrl}/${currentUrl}`;
-
- const response = await got({
- method: 'get',
- url: currentUrl,
- });
- const $ = cheerio.load(response.data);
-
- const list = $('.title a.title')
- .slice(0, 10)
- .map((_, item) => {
- item = $(item);
- return {
- link: `${rootUrl}${item.attr('href')}`,
- };
- })
- .get();
-
- const items = await Promise.all(
- list.map((item) =>
- ctx.cache.tryGet(item.link, async () => {
- const detailResponse = await got({
- method: 'get',
- url: item.link,
- });
- const content = cheerio.load(detailResponse.data);
-
- item.title = content('h1 a[name="info"]').text();
- item.author = content('.creator').text().trim().replace('by', '');
- item.description = `
${content('.description').text()}
`; - - return item; - }) - ) - ); - - return { - title: $('title').text().split(' - ')[0], - link: currentUrl, - item: items, - }; -}; diff --git a/lib/routes/processon/popular.js b/lib/routes/processon/popular.js deleted file mode 100644 index 4dcebeb71..000000000 --- a/lib/routes/processon/popular.js +++ /dev/null @@ -1,51 +0,0 @@ -const got = require('@/utils/got'); -const cheerio = require('cheerio'); - -module.exports = async (ctx) => { - const cate = ctx.params.cate || ''; - const sort = ctx.params.sort || ''; - - const rootUrl = 'https://www.processon.com'; - const currentUrl = `${rootUrl}/popular/?cate=${cate}&sort=${sort}`; - const response = await got({ - method: 'get', - url: currentUrl, - }); - - const $ = cheerio.load(response.data); - - const list = $('a.chart-title') - .slice(0, 10) - .map((_, item) => { - item = $(item); - return { - title: item.text(), - link: `${rootUrl}${item.attr('href')}`, - description: `${item.parent().prev().html()}${item.parent().find('p').text()}
`, - }; - }) - .get(); - - const items = await Promise.all( - list.map((item) => - ctx.cache.tryGet(item.link, async () => { - const detailResponse = await got({ - method: 'get', - url: item.link, - }); - const content = cheerio.load(detailResponse.data); - - item.author = content('a.user_quickinfo').text(); - item.pubDate = content('.chart-pubtime').text().split('发布于 ')[1]; - - return item; - }) - ) - ); - - ctx.state.data = { - title: $('title').text(), - link: currentUrl, - item: items, - }; -}; diff --git a/lib/routes/putonghua/hangzhou.js b/lib/routes/putonghua/hangzhou.js deleted file mode 100644 index 5dc0326b5..000000000 --- a/lib/routes/putonghua/hangzhou.js +++ /dev/null @@ -1,45 +0,0 @@ -const got = require('@/utils/got'); -const cheerio = require('cheerio'); - -module.exports = async (ctx) => { - const rootUrl = 'http://cltt.51hzks.cn/queryExamInfo'; - const response = await got({ - method: 'get', - url: rootUrl, - }); - - const $ = cheerio.load(response.data); - - const title = []; - const items = []; - $('.pth_smrtable') - .find('th') - .each((i, e) => { - const titleStr = $(e).text().replace(/\n/g, '').replace(/\t/g, ''); - title.push(titleStr); - }); - - $('.pth_smrtable') - .find('tr') - .slice(1) - .each((i, e) => { - let examInfo = ''; - $(e) - .find('td') - .each((i, e) => { - const titleStr = $(e).text().trim().replace(/\n/g, '').replace(/\t/g, ''); - examInfo += `${title[i]}: ${titleStr} `; - }); - items.push({ title: '近期杭州市普通话测试信息', description: examInfo }); - }); - - if (!(items.count > 0)) { - items.push({ title: '近期杭州市普通话测试信息', description: '近期暂无考试' }); - } - - ctx.state.data = { - title: `近期杭州市普通话测试网报时间及考试地点公布`, - link: rootUrl, - item: items, - }; -}; diff --git a/lib/v2/cscse/maintainer.js b/lib/v2/cscse/maintainer.js deleted file mode 100644 index b6d4a7aba..000000000 --- a/lib/v2/cscse/maintainer.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - '/tzgg': ['nczitzk'], -}; diff --git a/lib/v2/cscse/radar.js b/lib/v2/cscse/radar.js deleted file mode 100644 index 4f1ccc223..000000000 --- a/lib/v2/cscse/radar.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - 'cscse.edu.cn': { - _name: '中国留学网', - '.': [ - { - title: '通知公告', - docs: 'https://docs.rsshub.app/routes/study#zhong-guo-liu-xue-wang-tong-zhi-gong-gao', - source: ['/cscse/index/tzgg', '/'], - target: '/cscse/tzgg', - }, - ], - }, -}; diff --git a/lib/v2/cscse/router.js b/lib/v2/cscse/router.js deleted file mode 100644 index a4b145745..000000000 --- a/lib/v2/cscse/router.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = function (router) { - router.get('/tzgg', require('./tzgg')); -}; diff --git a/lib/v2/cscse/tzgg.js b/lib/v2/cscse/tzgg.js deleted file mode 100644 index 7422c6fee..000000000 --- a/lib/v2/cscse/tzgg.js +++ /dev/null @@ -1,54 +0,0 @@ -const got = require('@/utils/got'); -const cheerio = require('cheerio'); -const { parseDate } = require('@/utils/parse-date'); - -module.exports = async (ctx) => { - const rootUrl = 'https://www.cscse.edu.cn'; - const currentUrl = `${rootUrl}/cscse/index/tzgg/index.html`; - - const response = await got({ - method: 'get', - url: currentUrl, - }); - - const $ = cheerio.load(response.data); - - let items = $('.news_list li a') - .toArray() - .map((item) => { - item = $(item); - - const link = item.attr('href'); - - return { - title: item.text(), - link: `${/^http/.test(link) ? '' : rootUrl}${item.attr('href')}`, - pubDate: parseDate(item.next().text()), - }; - }); - - items = await Promise.all( - items.map((item) => - ctx.cache.tryGet(item.link, async () => { - const detailResponse = await got({ - method: 'get', - url: item.link, - }); - - const content = cheerio.load(detailResponse.data); - - item.description = content('.zoom').html(); - item.author = content('meta[name="Author"]').attr('content'); - item.category = content('meta[name="Keywords"]').attr('content')?.split(','); - - return item; - }) - ) - ); - - ctx.state.data = { - title: '中国留学网 - 通知公告', - link: currentUrl, - item: items, - }; -}; diff --git a/website/docs/routes/study.mdx b/website/docs/routes/study.mdx index bf6e6c880..79dc2ebd2 100644 --- a/website/docs/routes/study.mdx +++ b/website/docs/routes/study.mdx @@ -1,38 +1,5 @@ # 📖 Study -## 51VOA 美国之音 {#51voa-mei-guo-zhi-yin} - -### 频道 {#51voa-mei-guo-zhi-yin-pin-dao} - -