fix: update ACM-ECNU radar doc (#11381)
* update ACM-ECNU radar doc * only triggle CI * refactor: migrate to v2
This commit is contained in:
parent
5af3f82fb6
commit
5339a7239d
|
|
@ -10,12 +10,6 @@ pageClass: routes
|
|||
|
||||
<RouteEn author="nczitzk" example="/acm/amturingaward" path="/acm/amturingaward"/>
|
||||
|
||||
## ACM-ECNU
|
||||
|
||||
### ECNU ACM Online-Judge contests list
|
||||
|
||||
<RouteEn author="a180285" example="/acm-ecnu/contest/public" path="/acm-ecnu/contest/:category?" radar="1" rssbud="1" :paramsDesc="['category is optional, default is all, use `public` for public only contests']" />
|
||||
|
||||
## AtCoder
|
||||
|
||||
### Present Contests
|
||||
|
|
|
|||
|
|
@ -18,6 +18,12 @@ pageClass: routes
|
|||
|
||||
Note: [Source website](https://gs.bjtu.edu.cn/) only provides articles in Chinese.
|
||||
|
||||
## East China Normal University
|
||||
|
||||
### ACM Online-Judge contests list
|
||||
|
||||
<RouteEn author="a180285" example="/ecnu/acm/contest/public" path="/ecnu/acm/contest/:category?" radar="1" rssbud="1" :paramsDesc="['category is optional, default is all, use `public` for public only contests']" />
|
||||
|
||||
## MIT
|
||||
|
||||
### MIT OCW Most popular courses of the month
|
||||
|
|
|
|||
|
|
@ -524,7 +524,7 @@ type 为 all 时,category 参数不支持 cost 和 free
|
|||
|
||||
### 考研帮调剂信息
|
||||
|
||||
<Route author="sushengmao" example="/kaoyan" path="/kaoyan" />
|
||||
<Route author="shengmaosu" example="/kaoyan" path="/kaoyan" />
|
||||
|
||||
## 空气质量
|
||||
|
||||
|
|
|
|||
|
|
@ -10,12 +10,6 @@ pageClass: routes
|
|||
|
||||
<Route author="nczitzk" example="/acm/amturingaward" path="/acm/amturingaward"/>
|
||||
|
||||
## ACM-ECNU 比赛
|
||||
|
||||
### 华东师范大学 ACM OJ 比赛列表
|
||||
|
||||
<Route author="a180285" example="/acm-ecnu/contest/public" path="/acm-ecnu/contest/:category?" radar="1" rssbud="1" :paramsDesc="['分类可选,不写代表全部,`public` 代表仅订阅公开比赛']" />
|
||||
|
||||
## AI 研习社
|
||||
|
||||
### 首页
|
||||
|
|
|
|||
|
|
@ -1069,7 +1069,7 @@ xskb1 对应 <http://www.auto.uestc.edu.cn/index/xskb1.htm>
|
|||
|
||||
## 广州大学研招网通知公告
|
||||
|
||||
<Route author="sushengmao" example="/gzyjs" path="/gzyjs" />
|
||||
<Route author="shengmaosu" example="/gzyjs" path="/gzyjs" />
|
||||
|
||||
## 广州航海学院
|
||||
|
||||
|
|
@ -1422,7 +1422,7 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
### 华东理工大学研究生院通知公告
|
||||
|
||||
<Route author="sushengmao" example="/ecustyjs" path="/ecustyjs" />
|
||||
<Route author="shengmaosu" example="/ecustyjs" path="/ecustyjs" />
|
||||
|
||||
### 华东理工继续教育学院新闻公告
|
||||
|
||||
|
|
@ -1430,15 +1430,19 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
## 华东师范大学
|
||||
|
||||
### 华东师范大学研究生院
|
||||
### ACM OJ 比赛列表
|
||||
|
||||
<Route author="sushengmao" example="/ecnuyjs" path="/ecnuyjs" />
|
||||
<Route author="a180285" example="/ecnu/acm/contest/public" path="/ecnu/acm/contest/:category?" radar="1" rssbud="1" :paramsDesc="['分类可选,不写代表全部,`public` 代表仅订阅公开比赛']" />
|
||||
|
||||
### 研究生院
|
||||
|
||||
<Route author="shengmaosu" example="/ecnuyjs" path="/ecnuyjs" />
|
||||
|
||||
## 华南理工大学
|
||||
|
||||
### 研究生院通知公告
|
||||
|
||||
<Route author="sushengmao" example="/scutyjs" path="/scutyjs" />
|
||||
<Route author="shengmaosu" example="/scutyjs" path="/scutyjs" />
|
||||
|
||||
### 教务处通知公告
|
||||
|
||||
|
|
@ -1480,11 +1484,11 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
### 软件学院通知公告
|
||||
|
||||
<Route author="sushengmao" example="/scnucs" path="/scnucs" />
|
||||
<Route author="shengmaosu" example="/scnucs" path="/scnucs" />
|
||||
|
||||
### 研究生院通知公告
|
||||
|
||||
<Route author="sushengmao" example="/scnuyjs" path="/scnuyjs" />
|
||||
<Route author="shengmaosu" example="/scnuyjs" path="/scnuyjs" />
|
||||
|
||||
### 教务处通知
|
||||
|
||||
|
|
@ -1502,7 +1506,7 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
### 华中科技大学研究生院通知公告
|
||||
|
||||
<Route author="sushengmao" example="/hustyjs" path="/hustyjs" />
|
||||
<Route author="shengmaosu" example="/hustyjs" path="/hustyjs" />
|
||||
|
||||
### 人工智能和自动化学院通知
|
||||
|
||||
|
|
@ -1522,15 +1526,15 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
### 华中师范大学研究生通知公告
|
||||
|
||||
<Route author="sushengmao" example="/ccnuyjs" path="/ccnuyjs" />
|
||||
<Route author="shengmaosu" example="/ccnuyjs" path="/ccnuyjs" />
|
||||
|
||||
### 华中师范大学计算机学院
|
||||
|
||||
<Route author="sushengmao" example="/ccnucs" path="/ccnucs" />
|
||||
<Route author="shengmaosu" example="/ccnucs" path="/ccnucs" />
|
||||
|
||||
### 华中师范大学伍论贡学院
|
||||
|
||||
<Route author="sushengmao" example="/ccnuwu" path="/ccnuwu" />
|
||||
<Route author="shengmaosu" example="/ccnuwu" path="/ccnuwu" />
|
||||
|
||||
### 就业信息
|
||||
|
||||
|
|
@ -1731,7 +1735,7 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
### 南方科技大学研究生网通知公告
|
||||
|
||||
<Route author="sushengmao" example="/sustyjs" path="/sustyjs" />
|
||||
<Route author="shengmaosu" example="/sustyjs" path="/sustyjs" />
|
||||
|
||||
### 南方科技大学新闻网(中文)
|
||||
|
||||
|
|
@ -2482,7 +2486,7 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
### 深圳大学研究生招生网通知公告
|
||||
|
||||
<Route author="sushengmao" example="/szuyjs" path="/szuyjs" />
|
||||
<Route author="shengmaosu" example="/szuyjs" path="/szuyjs" />
|
||||
|
||||
### 深圳大学研究生招生网
|
||||
|
||||
|
|
@ -2630,7 +2634,7 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
### 同济大学研究生院通知公告
|
||||
|
||||
<Route author="sushengmao" example="/tjuyjs" path="/tjuyjs" />
|
||||
<Route author="shengmaosu" example="/tjuyjs" path="/tjuyjs" />
|
||||
|
||||
### 同济大学软件学院通知
|
||||
|
||||
|
|
@ -3319,11 +3323,11 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
### 中国海洋大学研究生院
|
||||
|
||||
<Route author="sushengmao" example="/outyjs" path="/outyjs" />
|
||||
<Route author="shengmaosu" example="/outyjs" path="/outyjs" />
|
||||
|
||||
### 中国海洋大学信电学院通知公告
|
||||
|
||||
<Route author="sushengmao" example="/outele" path="/outele" />
|
||||
<Route author="shengmaosu" example="/outele" path="/outele" />
|
||||
|
||||
## 中国科学技术大学
|
||||
|
||||
|
|
@ -3427,11 +3431,11 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
### 中国农业大学研招网通知公告
|
||||
|
||||
<Route author="sushengmao" example="/cauyjs" path="/cauyjs" />
|
||||
<Route author="shengmaosu" example="/cauyjs" path="/cauyjs" />
|
||||
|
||||
#### 中国农业大学信电学院
|
||||
|
||||
<Route author="sushengmao" example="/cauele" path="/cauele" />
|
||||
<Route author="shengmaosu" example="/cauele" path="/cauele" />
|
||||
|
||||
## 中国人民大学
|
||||
|
||||
|
|
@ -3453,7 +3457,7 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
### 中国石油大学研究生院通知公告
|
||||
|
||||
<Route author="sushengmao" example="/upcyjs" path="/upcyjs" />
|
||||
<Route author="shengmaosu" example="/upcyjs" path="/upcyjs" />
|
||||
|
||||
### 主页
|
||||
|
||||
|
|
@ -3491,11 +3495,11 @@ jsjxy.hbut.edu.cn 证书链不全,自建 RSSHub 可设置环境变量 NODE_TLS
|
|||
|
||||
### 中科院自动化所
|
||||
|
||||
<Route author="sushengmao" example="/zkyyjs" path="/zkyyjs" />
|
||||
<Route author="shengmaosu" example="/zkyyjs" path="/zkyyjs" />
|
||||
|
||||
### 中科院人工智能所
|
||||
|
||||
<Route author="sushengmao" example="/zkyai" path="/zkyai" />
|
||||
<Route author="shengmaosu" example="/zkyai" path="/zkyai" />
|
||||
|
||||
## 中南财经政法大学
|
||||
|
||||
|
|
|
|||
|
|
@ -2578,8 +2578,8 @@ router.get('/zkyyjs', lazyloadRouteHandler('./routes/universities/zkyyjs/zkyyjs'
|
|||
// 中国海洋大学信电学院
|
||||
router.get('/outele', lazyloadRouteHandler('./routes/universities/outele/outele'));
|
||||
|
||||
// 华东师范大学研究生院
|
||||
router.get('/ecnuyjs', lazyloadRouteHandler('./routes/universities/ecnuyjs/ecnuyjs'));
|
||||
// 华东师范大学研究生院 migrated to v2
|
||||
// router.get('/ecnuyjs', lazyloadRouteHandler('./routes/universities/ecnuyjs/ecnuyjs'));
|
||||
|
||||
// 考研帮调剂信息
|
||||
router.get('/kaoyan', lazyloadRouteHandler('./routes/kaoyan/kaoyan'));
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const link = 'http://yz.kaoyan.com/ecnu/tiaoji/';
|
||||
const response = await got.get(link);
|
||||
const $ = cheerio.load(response.data);
|
||||
const list = $('.subList li').slice(0, 10);
|
||||
|
||||
ctx.state.data = {
|
||||
title: '华东师范大学研究生院',
|
||||
link,
|
||||
description: '华东师范大学研究生调剂信息',
|
||||
item:
|
||||
list &&
|
||||
list
|
||||
.map((index, item) => {
|
||||
item = $(item);
|
||||
return { title: item.find('li a').text(), description: item.find('li a').text(), link: item.find('li a').attr('href') };
|
||||
})
|
||||
.get(),
|
||||
};
|
||||
};
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
module.exports = {
|
||||
'/contest/:category?': ['a180285'],
|
||||
};
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
module.exports = {
|
||||
'ecnu.edu.cn': {
|
||||
_name: 'ACM-ECNU',
|
||||
acm: [
|
||||
{
|
||||
title: '所有比赛列表',
|
||||
docs: 'https://docs.rsshub.app/programming.html#ACM-ECNU',
|
||||
source: ['/contest/'],
|
||||
target: '/acm-ecnu/contest/',
|
||||
},
|
||||
{
|
||||
title: '仅公开比赛列表',
|
||||
docs: 'https://docs.rsshub.app/programming.html#ACM-ECNU',
|
||||
source: ['/contest/'],
|
||||
target: '/acm-ecnu/contest/public',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
module.exports = function (router) {
|
||||
router.get('/contest/:category?', require('./contest'));
|
||||
};
|
||||
|
|
@ -9,10 +9,7 @@ module.exports = async (ctx) => {
|
|||
const rootUrl = 'https://acm.ecnu.edu.cn';
|
||||
const currentUrl = `${rootUrl}/contest/`;
|
||||
|
||||
const response = await got({
|
||||
method: 'get',
|
||||
url: currentUrl,
|
||||
});
|
||||
const response = await got(currentUrl);
|
||||
|
||||
const $ = cheerio.load(response.data);
|
||||
const $trList = $('div > div > table > tbody > tr');
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
module.exports = {
|
||||
'/acm/contest/:category?': ['a180285'],
|
||||
'/yjs': ['shengmaosu'],
|
||||
};
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
module.exports = {
|
||||
'ecnu.edu.cn': {
|
||||
_name: '华东师范大学',
|
||||
acm: [
|
||||
{
|
||||
title: '所有比赛列表',
|
||||
docs: 'https://docs.rsshub.app/university.html#hua-dong-shi-fan-da-xue',
|
||||
source: ['/contest/', '/'],
|
||||
target: '/ecnu/acm/contest/',
|
||||
},
|
||||
{
|
||||
title: '仅公开比赛列表',
|
||||
docs: 'https://docs.rsshub.app/university.html#hua-dong-shi-fan-da-xue',
|
||||
source: ['/contest/', '/'],
|
||||
target: '/ecnu/acm/contest/public',
|
||||
},
|
||||
],
|
||||
},
|
||||
'kaoyan.com': {
|
||||
_name: '华东师范大学',
|
||||
yz: [
|
||||
{
|
||||
title: '研究生院',
|
||||
docs: 'https://docs.rsshub.app/university.html#hua-dong-shi-fan-da-xue',
|
||||
source: ['/ecnu/tiaoji', '/'],
|
||||
target: '/ecnu/yjs',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
module.exports = function (router) {
|
||||
router.get('/acm/contest/:category?', require('./contest'));
|
||||
router.get('/yjs', require('./yjs'));
|
||||
};
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
const got = require('@/utils/got');
|
||||
const cheerio = require('cheerio');
|
||||
const { parseDate } = require('@/utils/parse-date');
|
||||
|
||||
module.exports = async (ctx) => {
|
||||
const link = 'https://yz.kaoyan.com/ecnu/tiaoji/';
|
||||
const response = await got(link);
|
||||
const $ = cheerio.load(response.data);
|
||||
const list = $('.subList li')
|
||||
.toArray()
|
||||
.map((item) => {
|
||||
item = $(item);
|
||||
return {
|
||||
title: item.find('li a').text(),
|
||||
link: item.find('li a').attr('href').replace('http:', 'https:'),
|
||||
};
|
||||
});
|
||||
|
||||
const items = await Promise.all(
|
||||
list.map((item) =>
|
||||
ctx.cache.tryGet(item.link, async () => {
|
||||
const { data: response } = await got(item.link);
|
||||
const $ = cheerio.load(response);
|
||||
item.description = $('.articleCon').html();
|
||||
item.pubDate = parseDate($('.outer_utime').text());
|
||||
return item;
|
||||
})
|
||||
)
|
||||
);
|
||||
|
||||
ctx.state.data = {
|
||||
title: '华东师范大学研究生院',
|
||||
link,
|
||||
description: '华东师范大学研究生调剂信息',
|
||||
item: items,
|
||||
};
|
||||
};
|
||||
Loading…
Reference in New Issue