diff --git a/docs/new-media.md b/docs/new-media.md
index dc300a0b8..e7f646ab2 100644
--- a/docs/new-media.md
+++ b/docs/new-media.md
@@ -481,7 +481,7 @@ pageClass: routes
### Headline
-
+
### News
@@ -904,7 +904,7 @@ Edition
::: tip 提示
-在 Matataki 发表的文章会上传到星际文件系统(IPFS),永久保存。即使站内文章因为各种原因消失,用 RSS 获取过带 IPFS 连接的 Feed Item 的话,还是可以从 RSS 阅读器找回文章的。
+在 Matataki 发表的文章会上传到星际文件系统(IPFS),永久保存。即使站内文章因为各种原因消失,用 RSS 获取过带 IPFS 连接的 Feed Item 的话,还是可以从 RSS 阅读器找回文章的。
IPFS 网关有可能失效,那时候换成其他网关。
:::
@@ -3113,50 +3113,50 @@ column 为 third 时可选的 category:
- 人工智能
- | 学术 | 开发者 |
- | -------- | -------- |
+ | 学术 | 开发者 |
+ | -------- | -------- |
| academic | yanxishe |
- 数智化
- | 零售数智化 | 金融数智化 | 工业数智化 | 医疗数智化 | 城市数智化 |
- | ---------- | ---------- | ---------- | ---------- | ----------- |
+ | 零售数智化 | 金融数智化 | 工业数智化 | 医疗数智化 | 城市数智化 |
+ | ---------- | ---------- | ---------- | ---------- | ----------- |
| redigital | findigital | mandigital | medigital | citydigital |
- 金融科技
- | 科技巨头 | 银行 AI | 金融云 | 风控与安全 |
- | -------- | ------- | ------------ | ------------ |
+ | 科技巨头 | 银行 AI | 金融云 | 风控与安全 |
+ | -------- | ------- | ------------ | ------------ |
| BigTech | bank | FinanceCloud | DataSecurity |
- 医疗科技
- | 医疗 AI | 投融资 | 医疗器械 | 互联网医疗 | 生物医药 | 健康险 |
- | -------- | ------ | -------- | ---------------- | ------------ | ------------ |
+ | 医疗 AI | 投融资 | 医疗器械 | 互联网医疗 | 生物医药 | 健康险 |
+ | -------- | ------ | -------- | ---------------- | ------------ | ------------ |
| healthai | touzi | qixie | hulianwangyiliao | shengwuyiyao | jiankangxian |
- 芯片
- | 材料设备 | 芯片设计 | 晶圆代工 | 封装测试 |
- | --------- | ---------- | ------------- | --------- |
+ | 材料设备 | 芯片设计 | 晶圆代工 | 封装测试 |
+ | --------- | ---------- | ------------- | --------- |
| materials | chipdesign | manufacturing | packaging |
- 智慧城市
- | 智慧安防 | 智慧教育 | 智慧交通 | 智慧社区 | 智慧零售 | 智慧政务 | 智慧地产 |
- | ------------- | -------------- | ------------------- | -------------- | -------------- | --------------- | -------- |
+ | 智慧安防 | 智慧教育 | 智慧交通 | 智慧社区 | 智慧零售 | 智慧政务 | 智慧地产 |
+ | ------------- | -------------- | ------------------- | -------------- | -------------- | --------------- | -------- |
| smartsecurity | smarteducation | smarttransportation | smartcommunity | smartretailing | smartgovernment | proptech |
- 工业互联网
- | 工业软件 | 工业安全 | 5G 工业互联网 | 工业转型实践 |
- | ---------- | -------- | ------------- | ------------ |
+ | 工业软件 | 工业安全 | 5G 工业互联网 | 工业转型实践 |
+ | ---------- | -------- | ------------- | ------------ |
| gysoftware | gysafety | 5ggy | gypratice |
- AIoT
- | 物联网 | 智能硬件 | 机器人 | 智能家居 |
- | ------ | -------- | ------ | --------- |
+ | 物联网 | 智能硬件 | 机器人 | 智能家居 |
+ | ------ | -------- | ------ | --------- |
| 5G | arvr | robot | smarthome |
@@ -3574,6 +3574,12 @@ column 为 third 时可选的 category:
+## 跑野大爆炸
+
+### 最新文章
+
+
+
## 品途商业评论
### 文章
@@ -3608,8 +3614,8 @@ column 为 third 时可选的 category:
- `fulltext`,全文输出,例如:`/pingwest/tag/ChinaJoy/1/fulltext`
-::: tip 提示
-该路由一次最多显示 30 条文章
+::: tip 提示
+该路由一次最多显示 30 条文章
:::
@@ -4200,7 +4206,7 @@ column 为 third 时可选的 category:
-优先使用方法一,若是网易号搜索页面搜不到的小众网易号(文章页面不含`data-wemediaid`)则可使用此法。
+优先使用方法一,若是网易号搜索页面搜不到的小众网易号(文章页面不含`data-wemediaid`)则可使用此法。
触发反爬会只抓取到标题,建议自建。
## 网易新闻
@@ -4948,7 +4954,7 @@ column 为 third 时可选的 category:
### 军事 - 军事新闻
-
+
### 时事新闻
diff --git a/lib/v2/runtrail/maintainer.js b/lib/v2/runtrail/maintainer.js
new file mode 100644
index 000000000..13972819d
--- /dev/null
+++ b/lib/v2/runtrail/maintainer.js
@@ -0,0 +1,4 @@
+module.exports = {
+ '': ['TonyRL'],
+ '/': ['TonyRL'],
+};
diff --git a/lib/v2/runtrail/posts.js b/lib/v2/runtrail/posts.js
new file mode 100644
index 000000000..a5486e866
--- /dev/null
+++ b/lib/v2/runtrail/posts.js
@@ -0,0 +1,34 @@
+const got = require('@/utils/got');
+const { parseDate } = require('@/utils/parse-date');
+
+module.exports = async (ctx) => {
+ const baseUrl = 'https://runtrail.cn';
+ const { data: response } = await got(`${baseUrl}/wp-json/wp/v2/posts`, {
+ searchParams: {
+ _embed: true,
+ per_page: ctx.query.limit ? parseInt(ctx.query.limit) : 30,
+ },
+ });
+
+ let data = response;
+ if (typeof response !== 'object') {
+ // remove php warnings before JSON
+ data = JSON.parse(response.match(/\[(.*)\]/)[0]);
+ }
+
+ const items = data.map((item) => ({
+ title: item.title.rendered,
+ description: item.content.rendered,
+ pubDate: parseDate(item.date_gmt),
+ updated: parseDate(item.modified_gmt),
+ author: item._embedded.author.map((a) => a.name).join(', '),
+ category: item._embedded['wp:term'][0].map((c) => c.name),
+ link: item.link,
+ }));
+
+ ctx.state.data = {
+ title: '最新文章 - 跑野大爆炸',
+ link: baseUrl,
+ item: items,
+ };
+};
diff --git a/lib/v2/runtrail/radar.js b/lib/v2/runtrail/radar.js
new file mode 100644
index 000000000..20c644525
--- /dev/null
+++ b/lib/v2/runtrail/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ 'runtrail.cn': {
+ _name: '跑野大爆炸',
+ '.': [
+ {
+ title: '最新文章',
+ docs: 'https://docs.rsshub.app/new-media.html#pao-ye',
+ source: ['/'],
+ target: '/runtrail',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/runtrail/router.js b/lib/v2/runtrail/router.js
new file mode 100644
index 000000000..f0f3bc19c
--- /dev/null
+++ b/lib/v2/runtrail/router.js
@@ -0,0 +1,3 @@
+module.exports = (router) => {
+ router.get('/', require('./posts'));
+};