fix: update ACM-ECNU radar doc (#11381)

* update ACM-ECNU radar doc

* only triggle CI

* refactor: migrate to v2
This commit is contained in:
HuangWei 2022-12-06 03:29:08 +08:00 committed by GitHub
parent 5af3f82fb6
commit 5339a7239d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 110 additions and 88 deletions

View File

@ -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

View File

@ -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

View File

@ -524,7 +524,7 @@ type 为 all 时category 参数不支持 cost 和 free
### 考研帮调剂信息
<Route author="sushengmao" example="/kaoyan" path="/kaoyan" />
<Route author="shengmaosu" example="/kaoyan" path="/kaoyan" />
## 空气质量

View File

@ -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 研习社
### 首页

View File

@ -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" />
## 中南财经政法大学

View File

@ -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'));

View File

@ -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(),
};
};

View File

@ -1,3 +0,0 @@
module.exports = {
'/contest/:category?': ['a180285'],
};

View File

@ -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',
},
],
},
};

View File

@ -1,3 +0,0 @@
module.exports = function (router) {
router.get('/contest/:category?', require('./contest'));
};

View File

@ -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');

View File

@ -0,0 +1,4 @@
module.exports = {
'/acm/contest/:category?': ['a180285'],
'/yjs': ['shengmaosu'],
};

30
lib/v2/ecnu/radar.js Normal file
View File

@ -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',
},
],
},
};

4
lib/v2/ecnu/router.js Normal file
View File

@ -0,0 +1,4 @@
module.exports = function (router) {
router.get('/acm/contest/:category?', require('./contest'));
router.get('/yjs', require('./yjs'));
};

37
lib/v2/ecnu/yjs.js Normal file
View File

@ -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,
};
};