diff --git a/assets/radar-rules.js b/assets/radar-rules.js
index 48b5292ecb..fa7db4e66b 100644
--- a/assets/radar-rules.js
+++ b/assets/radar-rules.js
@@ -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: '站点状态',
diff --git a/docs/blog.md b/docs/blog.md
index bf44861002..0886f67be6 100644
--- a/docs/blog.md
+++ b/docs/blog.md
@@ -118,12 +118,6 @@ pageClass: routes
-## 敬维博客
-
-### 文章
-
-
-
## 劍心.回憶
### 分类
@@ -172,6 +166,12 @@ pageClass: routes
+## 敬维博客
+
+### 文章
+
+
+
## 每日安全
### 推送
diff --git a/docs/en/new-media.md b/docs/en/new-media.md
index 79f5347040..9aa969c501 100644
--- a/docs/en/new-media.md
+++ b/docs/en/new-media.md
@@ -35,18 +35,18 @@ Compared to the official one, the RSS feed generated by RSSHub not only has more
-## ASML Holding N.V.
-
-### Press releases & announcements
-
-
-
## American Federation of Labor and Congress of Industrial Organizations
### Blog
+## ASML Holding N.V.
+
+### Press releases & announcements
+
+
+
## Bell Labs
### Event and News
diff --git a/docs/finance.md b/docs/finance.md
index 0a046d2e82..589b939c09 100644
--- a/docs/finance.md
+++ b/docs/finance.md
@@ -10,6 +10,18 @@ pageClass: routes
+## DT 财经
+
+### 数据侠专栏
+
+
+
+| 侠创 | 纽约数据科学学院 | RS 实验所 | 阿里云天池 |
+| ---- | ---------------- | --------- | ---------- |
+| 5 | 6 | 9 | 10 |
+
+
+
## finviz
### 美股股票新闻
@@ -127,18 +139,6 @@ pageClass: routes
-## DT 财经
-
-### 数据侠专栏
-
-
-
-| 侠创 | 纽约数据科学学院 | RS 实验所 | 阿里云天池 |
-| ---- | ---------------- | --------- | ---------- |
-| 5 | 6 | 9 | 10 |
-
-
-
## 淘股吧股票论坛
### 论坛总版
diff --git a/docs/multimedia.md b/docs/multimedia.md
index bcf9144b76..cf16ff51af 100644
--- a/docs/multimedia.md
+++ b/docs/multimedia.md
@@ -126,6 +126,31 @@ pageClass: routes
见 [#AGE 动漫](/anime.html#age-dong-man)
+## AV01(av01.tv)
+
+### 演员
+
+::: tip 提示
+当没有给定排序类型时,默认为按上传时间排序及 mr
+
+:::
+
+
+
+| 按上传时间排序 | 按上市时间排序 | 按观看次数排序 | 按评分排序 | 按时长排序 |
+| -------------- | -------------- | -------------- | ---------- | ---------- |
+| mr | rd | bw | tr | lg |
+
+
+
+### 分类
+
+
+
+例如,路由 `/av01/tag/中出し` 应该输出 的排行榜单
+
+
+
## Avgle
### 视频列表
@@ -1023,29 +1048,3 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
例如,路由 `/zimuzu/top/week/movie` 应该输出 的排行榜单
-
-## AV01(av01.tv)
-
-### 演员
-
-::: tip 提示
-当没有给定排序类型时,默认为按上传时间排序及mr
-
-:::
-
-
-
-
-| 按上传时间排序 | 按上市时间排序 | 按观看次数排序| 按评分排序|按时长排序|
-| -------- | -------- |-------- |-------- |--------|
-| mr | rd | bw | tr | lg |
-
-
-
-### 分类
-
-
-
-例如,路由 `/av01/tag/中出し` 应该输出 的排行榜单
-
-
diff --git a/docs/new-media.md b/docs/new-media.md
index e8049c8dfa..8c302c8370 100644
--- a/docs/new-media.md
+++ b/docs/new-media.md
@@ -2174,6 +2174,12 @@ column 为 third 时可选的 category:
+## 亿欧网
+
+### 资讯
+
+
+
## 有趣天文奇观
### 首页
@@ -2297,9 +2303,3 @@ QueryString:
### 全文
-
-## 亿欧网
-
-### 资讯
-
-
diff --git a/docs/social-media.md b/docs/social-media.md
index 84c66be6a6..63cc80d944 100644
--- a/docs/social-media.md
+++ b/docs/social-media.md
@@ -328,8 +328,8 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
类型 type
-| 艺术品 | 手工 | 音乐 | 写作 |
-| ---- | ---- | ---- | ---- |
+| 艺术品 | 手工 | 音乐 | 写作 |
+| ------- | ------ | ----- | ------- |
| artwork | crafts | music | writing |
@@ -362,7 +362,7 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
-### 用户的Shouts留言
+### 用户的 Shouts 留言
@@ -374,7 +374,7 @@ Tiny Tiny RSS 会给所有 iframe 元素添加 `sandbox="allow-scripts"` 属性
-### 用户的零碎(非正式)作品
+### 用户的零碎 (非正式) 作品
diff --git a/lib/router.js b/lib/router.js
index 40b5adefe3..9b22df7c39 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -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;
diff --git a/lib/routes/bilibili/followings_dynamic.js b/lib/routes/bilibili/followings_dynamic.js
index 5ada6c0b1a..f20153f7b1 100644
--- a/lib/routes/bilibili/followings_dynamic.js
+++ b/lib/routes/bilibili/followings_dynamic.js
@@ -109,24 +109,24 @@ module.exports = async (ctx) => {
data_content = data_content.replace(
new RegExp(`\\${item.text}`, 'g'),
`
`
- );
- });
- }
+ );
+ });
+ }
// 作者信息
- let author = "哔哩哔哩番剧";
- if (item.desc.user_profile) {
- author = item.desc.user_profile.info.uname;}
+ let author = '哔哩哔哩番剧';
+ if (item.desc.user_profile) {
+ author = item.desc.user_profile.info.uname;
+ }
return {
title: getTitle(data),
- author : author,
+ author: author,
description: `${parsed.new_desc || data_content || getDes(data)}${
origin && getOriginName(origin) ? `
//转发自: @${getOriginName(origin)}: ${getOriginTitle(origin.item || origin)}${getDes(origin.item || origin)}` : `${getOriginDes(origin)}`
}${getIframe(data)}${getIframe(origin)}${imgHTML ? `
${imgHTML}` : ''}${videoHTML ? `
${videoHTML}` : ''}`,
pubDate: new Date(item.desc.timestamp * 1000).toUTCString(),
link: link,
-
};
}),
};
-};
\ No newline at end of file
+};
diff --git a/lib/routes/furaffinity/favorites.js b/lib/routes/furaffinity/favorites.js
index 98aad063ea..08d3810d58 100644
--- a/lib/routes/furaffinity/favorites.js
+++ b/lib/routes/furaffinity/favorites.js
@@ -25,7 +25,7 @@ module.exports = async (ctx) => {
const data = response.data;
const $ = cheerio.load(data, {
- xmlMode: true
+ xmlMode: true,
});
const list = $('item');
@@ -41,15 +41,16 @@ module.exports = async (ctx) => {
// 遍历此前获取的数据
item:
list &&
- 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(),
- };
- })
- .get(),
+ 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(),
+ };
+ })
+ .get(),
};
};
diff --git a/lib/routes/furaffinity/gallery.js b/lib/routes/furaffinity/gallery.js
index c924bab54f..c3ff94d2b8 100644
--- a/lib/routes/furaffinity/gallery.js
+++ b/lib/routes/furaffinity/gallery.js
@@ -24,7 +24,7 @@ module.exports = async (ctx) => {
const data = response.data;
const $ = cheerio.load(data, {
- xmlMode: true
+ xmlMode: true,
});
const list = $('item');
@@ -40,16 +40,17 @@ module.exports = async (ctx) => {
// 遍历此前获取的数据
item:
list &&
- 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(),
- author: username,
- };
- })
- .get(),
+ 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(),
+ author: username,
+ };
+ })
+ .get(),
};
};
diff --git a/lib/routes/furaffinity/home.js b/lib/routes/furaffinity/home.js
index af439384a3..a12d3223c0 100644
--- a/lib/routes/furaffinity/home.js
+++ b/lib/routes/furaffinity/home.js
@@ -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;
diff --git a/lib/routes/furaffinity/journals.js b/lib/routes/furaffinity/journals.js
index d62b961042..74862de0f8 100644
--- a/lib/routes/furaffinity/journals.js
+++ b/lib/routes/furaffinity/journals.js
@@ -32,17 +32,18 @@ module.exports = async (ctx) => {
// 遍历此前获取的数据
item:
- list &&
- 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(),
- author: username,
- };
- })
- .get(),
+ list &&
+ 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(),
+ author: username,
+ };
+ })
+ .get(),
};
};
diff --git a/lib/routes/furaffinity/scraps.js b/lib/routes/furaffinity/scraps.js
index f3581f4d04..6c8f687360 100644
--- a/lib/routes/furaffinity/scraps.js
+++ b/lib/routes/furaffinity/scraps.js
@@ -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,16 +40,17 @@ module.exports = async (ctx) => {
// 遍历此前获取的数据
item:
list &&
- 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(),
- author: username,
- };
- })
- .get(),
+ 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(),
+ author: username,
+ };
+ })
+ .get(),
};
};
diff --git a/lib/routes/furaffinity/search.js b/lib/routes/furaffinity/search.js
index 536799709b..d295dd7e68 100644
--- a/lib/routes/furaffinity/search.js
+++ b/lib/routes/furaffinity/search.js
@@ -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');
@@ -39,17 +39,18 @@ module.exports = async (ctx) => {
// 遍历此前获取的数据
item:
- list &&
- 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(),
- // 由于源API未提供作者信息,故无author
- };
- })
- .get(),
+ list &&
+ 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(),
+ // 由于源API未提供作者信息,故无author
+ };
+ })
+ .get(),
};
};
diff --git a/lib/routes/furaffinity/shouts.js b/lib/routes/furaffinity/shouts.js
index 01651aeba9..ca3685c029 100644
--- a/lib/routes/furaffinity/shouts.js
+++ b/lib/routes/furaffinity/shouts.js
@@ -3,7 +3,7 @@ const got = require('@/utils/got');
module.exports = async (ctx) => {
// 传入参数
const username = String(ctx.params.username);
-
+
// 发起 HTTP GET 请求
const response = await got({
method: 'get',
diff --git a/lib/routes/furaffinity/status.js b/lib/routes/furaffinity/status.js
index 2ec4566a6f..9d8ec598aa 100644
--- a/lib/routes/furaffinity/status.js
+++ b/lib/routes/furaffinity/status.js
@@ -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]}
Guests: ${status.guests}
Registered: ${status.registered}
Other: ${status.other}
Total: ${status.total}
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,
};
-
};
diff --git a/lib/routes/furaffinity/user.js b/lib/routes/furaffinity/user.js
index 9d0b731ef1..e1a5f0833e 100644
--- a/lib/routes/furaffinity/user.js
+++ b/lib/routes/furaffinity/user.js
@@ -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]}
`;
- }
- else if (j === "name") {
+ } else if (j === 'name') {
contact_result += `Name: ${contact_information[i][j]}
`;
- }
- else if (j === "link") {
+ } else if (j === 'link') {
contact_result += `Link: ${contact_information[i][j]}
`;
}
}
@@ -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,
};
-
};
diff --git a/lib/routes/novel/zhaishuyuan.js b/lib/routes/novel/zhaishuyuan.js
index 819bc414c9..6a21578594 100644
--- a/lib/routes/novel/zhaishuyuan.js
+++ b/lib/routes/novel/zhaishuyuan.js
@@ -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,22 +55,24 @@ 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) {
- return String.fromCharCode(parseInt(grp, 16));
- }).replace(regex8, function (match, grp) {
- return String.fromCharCode(parseInt(grp, 8));
- });
+ const decodedStr = contentPar[0]
+ .replace(regex16, function (match, grp) {
+ return String.fromCharCode(parseInt(grp, 16));
+ })
+ .replace(regex8, function (match, grp) {
+ return String.fromCharCode(parseInt(grp, 8));
+ });
decodedContentArr.push(decodedStr);
}
encoded.before(decodedContentArr);
diff --git a/lib/routes/pixiv/token.js b/lib/routes/pixiv/token.js
index e51700a2ff..b3907738e5 100644
--- a/lib/routes/pixiv/token.js
+++ b/lib/routes/pixiv/token.js
@@ -9,7 +9,7 @@ let token = null;
const authorizationInfo = {
client_id: 'MOBrBDS8blbauoSck0ZfDbtuzpyT',
client_secret: 'lsACyCD94FhDUtGTXi3QzcFE2uU1hqtDaKeqrdwj',
- hash_secret: '28c1fdd170a5204386cb1313c7077b34f83e4aaf4aa829ce78c231e05b0bae2c'
+ hash_secret: '28c1fdd170a5204386cb1313c7077b34f83e4aaf4aa829ce78c231e05b0bae2c',
};
async function refreshToken() {