Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
0e59334
fix(route): fix wrong title of /ecnu/bksy
ChiyoYuki Nov 20, 2025
ba2d16a
feat(route): add ECNU Software Engineering Insitute notices route
ChiyoYuki Nov 20, 2025
c614e01
fix(route): modify wrong radar target
FrozenStarrrr Nov 20, 2025
66a755f
Merge branch 'DIYgod:master' into master
ChiyoYuki Nov 20, 2025
17fb8ba
add School of Computer Science and Technology ECNU notices route
ChiyoYuki Nov 20, 2025
ad916ee
add School of data science and engineering notices route
ChiyoYuki Nov 20, 2025
240fd8a
add School of Comm. & Elec. Engineering notices route
ChiyoYuki Nov 20, 2025
377a79b
add School of Geospace A.I. Engineering ECNU notices route
ChiyoYuki Nov 20, 2025
52b3034
Merge branch 'master' of github.com:ECNU-minus/RSSHub
ChiyoYuki Nov 20, 2025
1adba0d
add ECNU faculty of Edu. notices route
ChiyoYuki Nov 20, 2025
af2447c
add ECNU faculty of Earth Sci. notices route
ChiyoYuki Nov 20, 2025
8e0706a
add ECNU Meng Xiancheng notices route
ChiyoYuki Nov 20, 2025
c2a876d
add ECNU Guanghua notices route
ChiyoYuki Nov 20, 2025
058b56f
fix(route): add empty line at the end of files.
ChiyoYuki Nov 20, 2025
1a4eb16
add department of history ECNU notices route
ChiyoYuki Nov 20, 2025
93d6cb4
add department of Philo. ECNU notices route
ChiyoYuki Nov 20, 2025
4b87490
fix(route): add maintainer of /ecnu/bksy
ChiyoYuki Nov 20, 2025
ad88c90
fix(route): delete unnecessary try-catch statment, modified incorrect…
FrozenStarrrr Nov 22, 2025
72e910c
fix(route): fix unnecessary try-catch, description, condition and wro…
ChiyoYuki Nov 22, 2025
156621d
Merge branch 'master' of github.com:ECNU-minus/RSSHub
FrozenStarrrr Nov 22, 2025
7602d07
fix(route): fix image display
FrozenStarrrr Nov 22, 2025
10411fe
fix(route): fix problems in bksy.ts
FrozenStarrrr Nov 22, 2025
d456522
feat(route): add ecnu/pharm
ChiyoYuki Nov 26, 2025
b734fe1
feat(route): add art insititute of ECNU
ChiyoYuki Nov 26, 2025
f9e5e25
feat(route): add route of school of Stat. ECNU
ChiyoYuki Nov 26, 2025
27bca12
feat(route): add route of school of Phy. & Elec., ECNU
ChiyoYuki Nov 26, 2025
b2f7430
feat(route): add route of school of Chem. & Mol., ECNU
ChiyoYuki Nov 26, 2025
88d35f3
feat(route): add route of school of Eco. & Envir., ECNU
ChiyoYuki Nov 26, 2025
be44f9e
feat(route): add route of school of Comm., ECNU
ChiyoYuki Nov 26, 2025
f90b55b
feat(route): add route of school of International Chinese Studies, ECNU
ChiyoYuki Nov 26, 2025
c534115
feat(route): add route of school of Psy. & cognitive Sci., ECNU
ChiyoYuki Nov 26, 2025
507c0d5
feat(route): add route of college of Phy. Edu. & health , ECNU
ChiyoYuki Nov 26, 2025
1cce650
feat(route): add route of college of public management, ECNU
ChiyoYuki Nov 26, 2025
5d2fb70
feat(route): add route of college of Marxismus, ECNU
ChiyoYuki Nov 26, 2025
7b515b2
Merge branch 'master' of github.com:ECNU-minus/RSSHub
FrozenStarrrr Dec 2, 2025
f2b04bf
fix(routes): fix incorrect time display and remove unnecessary codes
FrozenStarrrr Dec 2, 2025
6fadd63
Merge branch 'DIYgod:master' into master
FrozenStarrrr Dec 3, 2025
cc41ac5
fix(foute): format the code
FrozenStarrrr Dec 3, 2025
7ca98d2
Merge branch 'master' of github.com:ECNU-minus/RSSHub
FrozenStarrrr Dec 12, 2025
fce57fc
add cxcy
FrozenStarrrr Dec 12, 2025
17620a6
feat(routes): add ecnu/jiaoliu
ChiyoYuki Dec 12, 2025
5b584ac
feat(route): add two new routes of ECNU
FrozenStarrrr Dec 12, 2025
458b767
feat(route): add info of /ecnu/cxcy
ChiyoYuki Dec 12, 2025
4f7bade
Merge branch 'DIYgod:master' into master
ChiyoYuki Dec 12, 2025
5047ebb
fix(route): replace links with baseUrl and update the method to query…
FrozenStarrrr Dec 12, 2025
0fae97c
Merge branch 'master' of github.com:ECNU-minus/RSSHub
FrozenStarrrr Dec 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 91 additions & 0 deletions lib/routes/ecnu/cxcy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
import { load } from 'cheerio';

import type { Route } from '@/types';
import cache from '@/utils/cache';
import got from '@/utils/got';
import { parseDate } from '@/utils/parse-date';
import timezone from '@/utils/timezone';

export const route: Route = {
path: '/cxcy/:type?',
categories: ['university'],
example: '/ecnu/cxcy',
parameters: { type: '默认为 announcement' },
radar: [
{
source: ['cxcy.ecnu.edu.cn'],
target: '/cxcy',
},
],
name: '本科创新创业教育网',
maintainers: ['FrozenStarrrr', 'ChiyoYuki', 'ECNU-minus'],
description: `| 通知公告 | 新闻动态 | 学科竞赛 | 常用资源 |
| ------------ | ------------ | ------------ | ------------ |
| announcement | news | contest | resources |`,
handler: async (ctx) => {
const fragList = {
announcement: {
session: '通知公告',
frag: '窗口121',
},
news: {
session: '新闻动态',
frag: '窗口123',
},
contest: {
session: '学科竞赛',
frag: '窗口124',
},
resources: {
session: '常用资源',
frag: '窗口125',
},
};
const type = ctx.req.param('type') ?? 'announcement';
const baseUrl = 'http://www.cxcy.ecnu.edu.cn/';

const response = await got(baseUrl);
const $ = load(response.data);

const filteredEls = $('div.limit_style1')
.filter((_, el) => $(el).attr('frag') === fragList[type].frag)
.find('table > tbody > tr > td')
.toArray();
const links = filteredEls.map((el) => ({
pubDate: timezone(parseDate($(el).find('.data').text()), +8),
link: new URL($(el).find('a').attr('href'), baseUrl).toString(),
title: $(el).find('.news_title').text(),
}));
const items = await Promise.all(
links.map((item) =>
cache.tryGet(item.link, async () => {
if (item.link.split('.').pop() === 'htm') {
const { data } = await got(item.link);
const $ = load(data);
const $read = $('div.wp_articlecontent').length > 0 ? $('div.wp_articlecontent') : $('div.m3nEditor');
$read.find('img[src], a[href]').each((_, el) => {
const $el = $(el);
const attr = el.tagName === 'img' ? 'src' : 'href';
const val = $el.attr(attr);
if (val) {
$el.attr(attr, new URL(val, baseUrl).toString());
}
});
item.description = $read.html()?.trim();
return item;
} else {
// file to download
item.description = '请到原网页访问';
return item;
}
})
)
);

return {
title: fragList[type].session,
link: baseUrl,
item: items,
};
},
};
59 changes: 59 additions & 0 deletions lib/routes/ecnu/jiaoliu.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
import { load } from 'cheerio';

import type { Route } from '@/types';
import cache from '@/utils/cache';
import got from '@/utils/got';
import { parseDate } from '@/utils/parse-date';
import timezone from '@/utils/timezone';

export const route: Route = {
path: '/jiaoliu',
categories: ['university'],
example: '/ecnu/jiaoliu',
radar: [
{
source: ['www.jiaoliu.ecnu.edu.cn'],
target: '/jiaoliu',
},
],
name: '本科生交流通知',
maintainers: ['FrozenStarrrr', 'ChiyoYuki', 'ECNU-minus'],
handler: async () => {
const baseUrl = 'http://www.jiaoliu.ecnu.edu.cn/';

const response = await got(`${baseUrl}11184/list.htm`);
const $ = load(response.data);
const links = $('#wp_news_w3 > table > tbody > tr')
.toArray()
.map((el) => ({
pubDate: timezone(parseDate($(el).find('div[style="white-space:nowrap"]').text()), +8),
link: new URL($(el).find('a').attr('href'), baseUrl).toString(),
title: $(el).find('a').text(),
}));
const items = await Promise.all(
links.map((item) =>
cache.tryGet(item.link, async () => {
const { data } = await got(item.link);
const $ = load(data);
const $read = $('div.wp_articlecontent');
$read.find('img[src], a[href]').each((i, el) => {
const $el = $(el);
const attr = el.tagName === 'img' ? 'src' : 'href';
const val = $el.attr(attr);
if (val) {
$el.attr(attr, new URL(val, baseUrl).toString());
}
});
item.description = $read.html()?.trim();
return item;
})
)
);

return {
title: '本科生交流通知',
link: baseUrl,
item: items,
};
},
};