style: auto format

This commit is contained in:
GitHub Action
2021-02-23 00:10:45 +00:00
parent 0be82b2dd4
commit 3f0f53c48d
20 changed files with 176 additions and 181 deletions

View File

@@ -1187,7 +1187,7 @@
target: (params, url) => {
const id = new URL(url).hash.match(/home\?id=(.*)/)[1];
return id ? `/ncm/user/playlist/${id}` : '';
}
},
},
{
title: '云音乐 - 歌单歌曲',
@@ -1196,7 +1196,7 @@
target: (params, url) => {
const id = new URL(url).hash.match(/playlist\?id=(.*)/)[1];
return id ? `/ncm/playlist/${id}` : '';
}
},
},
{
title: '云音乐 - 歌手专辑',
@@ -1205,7 +1205,7 @@
target: (params, url) => {
const id = new URL(url).hash.match(/album\?id=(.*)/)[1];
return id ? `/ncm/artist/${id}` : '';
}
},
},
{
title: '云音乐 - 电台节目',
@@ -1214,7 +1214,7 @@
target: (params, url) => {
const id = new URL(url).hash.match(/djradio\?id=(.*)/)[1];
return id ? `/ncm/djradio/${id}` : '';
}
},
},
],
},
@@ -2004,9 +2004,9 @@
target: (params) => {
const id = params.id.match('(.*).html')[1];
return id ? `/tencentvideo/playlist/${id}` : '';
}
},
]
},
],
},
'javbus.com': {
_name: 'JavBus',
@@ -2745,7 +2745,6 @@
docs: 'https://docs.rsshub.app/social-media.html#fur-affinity',
source: '/browse/',
target: '/furaffinity/browse',
},
{
title: '站点状态',

View File

@@ -118,12 +118,6 @@ pageClass: routes
<Route author="changlan" example="/blogs/jianning" path="/blogs/jianning" radar="1" rssbud="1"/>
## 敬维博客
### 文章
<Route author="a180285" example="/blogs/jingwei.link" path="/blogs/jingwei.link"/>
## 劍心.回憶
### 分类
@@ -172,6 +166,12 @@ pageClass: routes
</Route>
## 敬维博客
### 文章
<Route author="a180285" example="/blogs/jingwei.link" path="/blogs/jingwei.link"/>
## 每日安全
### 推送

View File

@@ -35,18 +35,18 @@ Compared to the official one, the RSS feed generated by RSSHub not only has more
</RouteEn>
## ASML Holding N.V.
### Press releases & announcements
<RouteEn author="nczitzk" example="/asml/press-releases" path="/asml/press-releases"/>
## American Federation of Labor and Congress of Industrial Organizations
### Blog
<RouteEn author="nczitzk" example="/aflcio/blog" path="/aflcio/blog"/>
## ASML Holding N.V.
### Press releases & announcements
<RouteEn author="nczitzk" example="/asml/press-releases" path="/asml/press-releases"/>
## Bell Labs
### Event and News

View File

@@ -10,6 +10,18 @@ pageClass: routes
<Route author="HenryQW" example="/cfd/div_gbp" path="/cfd/div_gbp" />
## DT 财经
### 数据侠专栏
<Route author="nczitzk" example="/dtcj/datahero" path="/dtcj/datahero/:category?" :paramsDesc="['分类,见下表,默认为全部']">
| 侠创 | 纽约数据科学学院 | RS 实验所 | 阿里云天池 |
| ---- | ---------------- | --------- | ---------- |
| 5 | 6 | 9 | 10 |
</Route>
## finviz
### 美股股票新闻
@@ -127,18 +139,6 @@ pageClass: routes
</Route>
## DT 财经
### 数据侠专栏
<Route author="nczitzk" example="/dtcj/datahero" path="/dtcj/datahero/:category?" :paramsDesc="['分类,见下表,默认为全部']">
| 侠创 | 纽约数据科学学院 | RS 实验所 | 阿里云天池 |
| ---- | ---------------- | --------- | ---------- |
| 5 | 6 | 9 | 10 |
</Route>
## 淘股吧股票论坛
### 论坛总版

View File

@@ -126,6 +126,31 @@ pageClass: routes
见 [#AGE 动漫](/anime.html#age-dong-man)
## AV01av01.tv
### 演员
::: tip 提示
当没有给定排序类型时,默认为按上传时间排序及 mr
:::
<Route author="HXHL" example="/av01/actor/七沢みあ" path="/av01/actor/:name/:type?" :paramsDesc="['女优名,必选-仅限日语,可直接在网站上找到','排序顺序,可选-可以是`mr` `rd` `bw` `tr` `lg`']">
| 按上传时间排序 | 按上市时间排序 | 按观看次数排序 | 按评分排序 | 按时长排序 |
| -------------- | -------------- | -------------- | ---------- | ---------- |
| mr | rd | bw | tr | lg |
</Route>
### 分类
<Route author="HXHL" example="/av01/tag/中出し" path="/av01/tag/:name/:type?" :paramsDesc="['分类名,必选-仅限日语,可直接在网站上找到','排序顺序,可选-可以是`mr` `rd` `bw` `tr` `lg`']">
例如,路由 `/av01/tag/中出し` 应该输出 <https://www.av01.tv/tag/%E4%B8%AD%E5%87%BA%E3%81%97> 的排行榜单
</Route>
## Avgle
### 视频列表
@@ -1023,29 +1048,3 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
例如,路由 `/zimuzu/top/week/movie` 应该输出 <http://www.rrys2019.com/html/top/week_movie_list.html> 的排行榜单
</Route>
## AV01av01.tv
### 演员
::: tip 提示
当没有给定排序类型时,默认为按上传时间排序及mr
:::
<Route author="HXHL" example="/av01/actor/七沢みあ" path="/av01/actor/:name/:type?" :paramsDesc="['女优名,必选-仅限日语,可直接在网站上找到','排序顺序,可选-可以是`mr` `rd` `bw` `tr` `lg`']">
| 按上传时间排序 | 按上市时间排序 | 按观看次数排序| 按评分排序|按时长排序|
| -------- | -------- |-------- |-------- |--------|
| mr | rd | bw | tr | lg |
</Route>
### 分类
<Route author="HXHL" example="/av01/tag/中出し" path="/av01/tag/:name/:type?" :paramsDesc="['分类名,必选-仅限日语,可直接在网站上找到','排序顺序,可选-可以是`mr` `rd` `bw` `tr` `lg`']">
例如,路由 `/av01/tag/中出し` 应该输出 <https://www.av01.tv/tag/%E4%B8%AD%E5%87%BA%E3%81%97> 的排行榜单
</Route>

View File

@@ -2174,6 +2174,12 @@ column 为 third 时可选的 category:
</Route>
## 亿欧网
### 资讯
<Route author="WenryXu" example="/iyiou" path="/iyiou"/>
## 有趣天文奇观
### 首页
@@ -2297,9 +2303,3 @@ QueryString:
### 全文
<Route author="HenryQW" example="/zzz" path="/zzz/index"/>
## 亿欧网
### 资讯
<Route author="WenryXu" example="/iyiou" path="/iyiou"/>

View File

@@ -329,7 +329,7 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
类型 type
| 艺术品 | 手工 | 音乐 | 写作 |
| ---- | ---- | ---- | ---- |
| ------- | ------ | ----- | ------- |
| artwork | crafts | music | writing |
</Route>

View File

@@ -642,7 +642,6 @@ router.get('/hit/today/:category', require('./routes/universities/hit/today'));
// 哈尔滨工业大学(深圳)
router.get('/hitsz/article/:category?', require('./routes/universities/hitsz/article'));
// 哈尔滨工业大学(威海)
router.get('/hitwh/today', require('./routes/universities/hitwh/today'));
@@ -2678,7 +2677,6 @@ router.get('/sustyjs', require('./routes/universities/sustyjs/sustyjs'));
router.get('/sustech/newshub-zh', require('./routes/universities/sustech/newshub-zh'));
router.get('/sustech/bidding', require('./routes/universities/sustech/bidding'));
// 广州大学
router.get('/gzyjs', require('./routes/universities/gzyjs/gzyjs'));
@@ -3970,5 +3968,4 @@ router.get('/iyiou', require('./routes/iyiou'));
// 香港商报
router.get('/hkcd/pdf', require('./routes/hkcd/pdf'));
module.exports = router;

View File

@@ -113,9 +113,10 @@ module.exports = async (ctx) => {
});
}
// 作者信息
let author = "哔哩哔哩番剧";
let author = '哔哩哔哩番剧';
if (item.desc.user_profile) {
author = item.desc.user_profile.info.uname;}
author = item.desc.user_profile.info.uname;
}
return {
title: getTitle(data),
@@ -125,7 +126,6 @@ module.exports = async (ctx) => {
}${getIframe(data)}${getIframe(origin)}${imgHTML ? `<br>${imgHTML}` : ''}${videoHTML ? `<br>${videoHTML}` : ''}`,
pubDate: new Date(item.desc.timestamp * 1000).toUTCString(),
link: link,
};
}),
};

View File

@@ -25,7 +25,7 @@ module.exports = async (ctx) => {
const data = response.data;
const $ = cheerio.load(data, {
xmlMode: true
xmlMode: true,
});
const list = $('item');
@@ -41,13 +41,14 @@ module.exports = async (ctx) => {
// 遍历此前获取的数据
item:
list &&
list.map((index, item) => {
list
.map((index, item) => {
item = $(item);
return {
title: item.find("title").text(),
description: item.find("description").text(),
link: item.find("link").text(),
pubDate: new Date(item.find("pubDate").text()).toUTCString(),
title: item.find('title').text(),
description: item.find('description').text(),
link: item.find('link').text(),
pubDate: new Date(item.find('pubDate').text()).toUTCString(),
};
})
.get(),

View File

@@ -24,7 +24,7 @@ module.exports = async (ctx) => {
const data = response.data;
const $ = cheerio.load(data, {
xmlMode: true
xmlMode: true,
});
const list = $('item');
@@ -40,13 +40,14 @@ module.exports = async (ctx) => {
// 遍历此前获取的数据
item:
list &&
list.map((index, item) => {
list
.map((index, item) => {
item = $(item);
return {
title: item.find("title").text(),
description: item.find("description").text(),
link: item.find("link").text(),
pubDate: new Date(item.find("pubDate").text()).toUTCString(),
title: item.find('title').text(),
description: item.find('description').text(),
link: item.find('link').text(),
pubDate: new Date(item.find('pubDate').text()).toUTCString(),
author: username,
};
})

View File

@@ -25,8 +25,7 @@ module.exports = async (ctx) => {
// 判断传入的参数type分别为artwork、crafts、music、writing
if (type === 'artwork') {
data = data.artwork;
}
else if (type === 'crafts') {
} else if (type === 'crafts') {
data = data.crafts;
} else if (type === 'music') {
data = data.music;

View File

@@ -33,13 +33,14 @@ module.exports = async (ctx) => {
// 遍历此前获取的数据
item:
list &&
list.map((index, item) => {
list
.map((index, item) => {
item = $(item);
return {
title: item.find("title").text(),
description: item.find("description").text(),
link: item.find("link").text(),
pubDate: new Date(item.find("pubDate").text()).toUTCString(),
title: item.find('title').text(),
description: item.find('description').text(),
link: item.find('link').text(),
pubDate: new Date(item.find('pubDate').text()).toUTCString(),
author: username,
};
})

View File

@@ -24,7 +24,7 @@ module.exports = async (ctx) => {
// 使用 cheerio 加载返回的 HTML
const data = response.data;
const $ = cheerio.load(data, {
xmlMode: true
xmlMode: true,
});
const list = $('item');
@@ -40,13 +40,14 @@ module.exports = async (ctx) => {
// 遍历此前获取的数据
item:
list &&
list.map((index, item) => {
list
.map((index, item) => {
item = $(item);
return {
title: item.find("title").text(),
description: item.find("description").text(),
link: item.find("link").text(),
pubDate: new Date(item.find("pubDate").text()).toUTCString(),
title: item.find('title').text(),
description: item.find('description').text(),
link: item.find('link').text(),
pubDate: new Date(item.find('pubDate').text()).toUTCString(),
author: username,
};
})

View File

@@ -24,7 +24,7 @@ module.exports = async (ctx) => {
// 使用 cheerio 加载返回的 HTML
const data = response.data;
const $ = cheerio.load(data, {
xmlMode: true
xmlMode: true,
});
const list = $('item');
@@ -40,13 +40,14 @@ module.exports = async (ctx) => {
// 遍历此前获取的数据
item:
list &&
list.map((index, item) => {
list
.map((index, item) => {
item = $(item);
return {
title: item.find("title").text(),
description: item.find("description").text(),
link: item.find("link").text(),
pubDate: new Date(item.find("pubDate").text()).toUTCString(),
title: item.find('title').text(),
description: item.find('description').text(),
link: item.find('link').text(),
pubDate: new Date(item.find('pubDate').text()).toUTCString(),
// 由于源API未提供作者信息故无author
};
})

View File

@@ -14,10 +14,10 @@ module.exports = async (ctx) => {
const status = data.online;
let description = '';
if (Object.keys(data)[0] === "online") {
if (Object.keys(data)[0] === 'online') {
description = `Status: ${Object.keys(data)[0]} <br> Guests: ${status.guests} <br>Registered: ${status.registered} <br> Other: ${status.other} <br>Total: ${status.total} <br> Fa Server Time: ${data.fa_server_time}`;
} else {
description = "offline";
description = 'offline';
}
const item = [];
item.push({
@@ -26,7 +26,6 @@ module.exports = async (ctx) => {
link: `https://www.furaffinity.net/`,
});
ctx.state.data = {
// 源标题
title: `Fur Affinity Status`,
@@ -37,5 +36,4 @@ module.exports = async (ctx) => {
item: item,
};
};

View File

@@ -48,20 +48,18 @@ module.exports = async (ctx) => {
const favorites_food = artist_information['Favorite Food'];
const contact_information = data.contact_information;
let contact_result = "null";
let contact_result = 'null';
// 对一个或多个用户联系方式进行遍历
if (contact_information !== "null") {
contact_result = "";
if (contact_information !== 'null') {
contact_result = '';
for (let i = 0; i < contact_information.length; i++) {
for (const j in contact_information[i]) {
if (j === "title") {
if (j === 'title') {
contact_result += `Title: ${contact_information[i][j]} <br> `;
}
else if (j === "name") {
} else if (j === 'name') {
contact_result += `Name: ${contact_information[i][j]} <br> `;
}
else if (j === "link") {
} else if (j === 'link') {
contact_result += `Link: ${contact_information[i][j]} <br> `;
}
}
@@ -85,7 +83,6 @@ module.exports = async (ctx) => {
link: `https://www.furaffinity.net/user/${username}/`,
});
ctx.state.data = {
// 源标题
title: `Userpage of ${data.name}`,
@@ -96,5 +93,4 @@ module.exports = async (ctx) => {
item: item,
};
};

View File

@@ -3,23 +3,23 @@ const cheerio = require('cheerio');
const iconv = require('iconv-lite');
const encodeMap = {
"$$$": "7",
"$$$$": "f",
"$$$_": "e",
"$$_": "6",
"$$_$": "d",
"$$__": "c",
"$_$": "5",
"$_$$": "b",
"$_$_": "a",
"$__": "4",
"$__$": "9",
"$___": "8",
"_": "u",
"_$$": "3",
"_$_": "2",
"__$": "1",
"___": "0",
$$$: '7',
$$$$: 'f',
$$$_: 'e',
$$_: '6',
$$_$: 'd',
$$__: 'c',
$_$: '5',
$_$$: 'b',
$_$_: 'a',
$__: '4',
$__$: '9',
$___: '8',
_: 'u',
_$$: '3',
_$_: '2',
__$: '1',
___: '0',
};
const tokenPattern = /[A-Z]\.([$_]+)|(\/?\\+)/g;
const contentPattern = /\\74\\160\\76[0-9a-fu/\\]+?\\74\/\\160\\76/g;
@@ -55,20 +55,22 @@ module.exports = async (ctx) => {
if (encoded) {
// 提取编码后的正文内容进行复原
const rawText = html;
let rawContent = "";
let rawContent = '';
for (const match of rawText.matchAll(tokenPattern)) {
if (match[1] in encodeMap) {
rawContent += encodeMap[match[1]];
}
if (match[2]) {
rawContent += match[2].replace("\\\\\\\\", "\\").replace("\\\\", "\\");
rawContent += match[2].replace('\\\\\\\\', '\\').replace('\\\\', '\\');
}
}
const decodedContentArr = [];
for (const contentPar of rawContent.matchAll(contentPattern)) {
const decodedStr = contentPar[0].replace(regex16, function (match, grp) {
const decodedStr = contentPar[0]
.replace(regex16, function (match, grp) {
return String.fromCharCode(parseInt(grp, 16));
}).replace(regex8, function (match, grp) {
})
.replace(regex8, function (match, grp) {
return String.fromCharCode(parseInt(grp, 8));
});
decodedContentArr.push(decodedStr);

View File

@@ -9,7 +9,7 @@ let token = null;
const authorizationInfo = {
client_id: 'MOBrBDS8blbauoSck0ZfDbtuzpyT',
client_secret: 'lsACyCD94FhDUtGTXi3QzcFE2uU1hqtDaKeqrdwj',
hash_secret: '28c1fdd170a5204386cb1313c7077b34f83e4aaf4aa829ce78c231e05b0bae2c'
hash_secret: '28c1fdd170a5204386cb1313c7077b34f83e4aaf4aa829ce78c231e05b0bae2c',
};
async function refreshToken() {