rsshub 1.0.0-master.f8b1c8d → 1.0.0-master.f961961

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (495) hide show
  1. package/README.md +14 -5
  2. package/lib/radar-rules.js +0 -87
  3. package/lib/router.js +63 -67
  4. package/lib/routes/cell/cover.js +1 -1
  5. package/lib/routes/v2ex/post.js +3 -0
  6. package/lib/utils/wechat-mp.js +3 -0
  7. package/lib/v2/18comic/utils.js +2 -2
  8. package/lib/v2/36kr/index.js +29 -24
  9. package/lib/v2/8world/index.js +8 -8
  10. package/lib/v2/8world/maintainer.js +1 -0
  11. package/lib/v2/8world/radar.js +6 -0
  12. package/lib/v2/8world/router.js +1 -1
  13. package/lib/v2/agora0/maintainer.js +1 -0
  14. package/lib/v2/agora0/pen0.js +43 -0
  15. package/lib/v2/agora0/radar.js +12 -1
  16. package/lib/v2/agora0/router.js +1 -0
  17. package/lib/v2/aiea/index.js +39 -0
  18. package/lib/v2/aiea/maintainer.js +3 -0
  19. package/lib/v2/aiea/radar.js +13 -0
  20. package/lib/v2/aiea/router.js +3 -0
  21. package/lib/v2/aljazeera/index.js +87 -0
  22. package/lib/v2/aljazeera/maintainer.js +5 -0
  23. package/lib/v2/aljazeera/radar.js +62 -0
  24. package/lib/v2/aljazeera/router.js +3 -0
  25. package/lib/v2/aljazeera/templates/description.art +8 -0
  26. package/lib/v2/anquanke/category.js +21 -7
  27. package/lib/v2/anquanke/maintainer.js +1 -1
  28. package/lib/v2/anquanke/router.js +1 -1
  29. package/lib/v2/baidu/tieba/forum.js +1 -1
  30. package/lib/v2/bangumi/online/online.js +4 -2
  31. package/lib/v2/bangumi/tv/group/reply.js +13 -1
  32. package/lib/v2/bangumi/tv/group/topic.js +22 -9
  33. package/lib/v2/bilibili/cache.js +30 -7
  34. package/lib/v2/bilibili/video-all.js +26 -8
  35. package/lib/v2/bilibili/video.js +9 -3
  36. package/lib/v2/bloomberg/index.js +37 -0
  37. package/lib/v2/bloomberg/maintainer.js +4 -0
  38. package/lib/v2/bloomberg/radar.js +13 -0
  39. package/lib/v2/bloomberg/router.js +4 -0
  40. package/lib/v2/bloomberg/templates/audio_media.art +13 -0
  41. package/lib/v2/bloomberg/templates/image_figure.art +9 -0
  42. package/lib/v2/bloomberg/templates/lede_media.art +14 -0
  43. package/lib/v2/bloomberg/templates/video_media.art +25 -0
  44. package/lib/v2/bloomberg/utils.js +395 -0
  45. package/lib/v2/cdzjryb/maintainer.js +3 -0
  46. package/lib/v2/cdzjryb/projectList.js +49 -0
  47. package/lib/v2/cdzjryb/radar.js +13 -0
  48. package/lib/v2/cdzjryb/router.js +3 -0
  49. package/lib/v2/cdzjryb/templates/projectList.art +23 -0
  50. package/lib/v2/{cbnc → cnbc}/maintainer.js +0 -0
  51. package/lib/v2/{cbnc → cnbc}/radar.js +0 -0
  52. package/lib/v2/{cbnc → cnbc}/router.js +0 -0
  53. package/lib/v2/{cbnc → cnbc}/rss.js +0 -0
  54. package/lib/v2/cngal/entry.js +25 -0
  55. package/lib/v2/cngal/maintainer.js +4 -0
  56. package/lib/v2/cngal/radar.js +19 -0
  57. package/lib/v2/cngal/router.js +4 -0
  58. package/lib/v2/cngal/templates/entry-description.art +4 -0
  59. package/lib/v2/cngal/templates/weekly-description.art +4 -0
  60. package/lib/v2/cngal/weekly.js +20 -0
  61. package/lib/v2/cnki/author.js +45 -0
  62. package/lib/v2/cnki/journals.js +2 -23
  63. package/lib/v2/cnki/maintainer.js +1 -0
  64. package/lib/v2/cnki/radar.js +8 -0
  65. package/lib/v2/cnki/router.js +1 -0
  66. package/lib/v2/cnki/utils.js +26 -0
  67. package/lib/v2/codeforces/templates/contest.art +5 -10
  68. package/lib/{routes → v2}/comicskingdom/index.js +18 -19
  69. package/lib/v2/comicskingdom/maintainer.js +3 -0
  70. package/lib/v2/comicskingdom/radar.js +13 -0
  71. package/lib/v2/comicskingdom/router.js +3 -0
  72. package/lib/v2/comicskingdom/templates/desc.art +1 -0
  73. package/lib/{routes → v2}/coolapk/dyh.js +2 -6
  74. package/lib/{routes → v2}/coolapk/hot.js +1 -3
  75. package/lib/{routes → v2}/coolapk/huati.js +1 -3
  76. package/lib/v2/coolapk/maintainer.js +9 -0
  77. package/lib/v2/coolapk/radar.js +31 -0
  78. package/lib/v2/coolapk/router.js +9 -0
  79. package/lib/{routes → v2}/coolapk/toutiao.js +1 -3
  80. package/lib/{routes → v2}/coolapk/tuwen.js +2 -4
  81. package/lib/{routes → v2}/coolapk/userDynamic.js +1 -3
  82. package/lib/{routes → v2}/coolapk/utils.js +7 -9
  83. package/lib/v2/creative-comic/book.js +60 -0
  84. package/lib/v2/creative-comic/maintainer.js +3 -0
  85. package/lib/v2/creative-comic/radar.js +13 -0
  86. package/lib/v2/creative-comic/router.js +3 -0
  87. package/lib/v2/creative-comic/templates/chapter.art +11 -0
  88. package/lib/v2/creative-comic/utils.js +96 -0
  89. package/lib/v2/curius/links.js +43 -0
  90. package/lib/v2/curius/maintainer.js +3 -0
  91. package/lib/v2/curius/radar.js +13 -0
  92. package/lib/v2/curius/router.js +3 -0
  93. package/lib/v2/curius/templates/description.art +16 -0
  94. package/lib/v2/cw/master.js +4 -1
  95. package/lib/v2/cw/sub.js +4 -1
  96. package/lib/v2/cw/today.js +4 -1
  97. package/lib/v2/cw/utils.js +14 -2
  98. package/lib/{routes → v2}/dedao/index.js +11 -8
  99. package/lib/v2/dedao/knowledge.js +64 -0
  100. package/lib/{routes → v2}/dedao/list.js +16 -10
  101. package/lib/v2/dedao/maintainer.js +8 -0
  102. package/lib/v2/dedao/radar.js +50 -0
  103. package/lib/v2/dedao/router.js +6 -0
  104. package/lib/v2/dedao/templates/knowledge.art +29 -0
  105. package/lib/v2/dedao/templates/user.art +38 -0
  106. package/lib/v2/dedao/user.js +79 -0
  107. package/lib/v2/docschina/jsweekly.js +114 -0
  108. package/lib/v2/docschina/maintainer.js +3 -0
  109. package/lib/v2/docschina/radar.js +13 -0
  110. package/lib/v2/docschina/router.js +3 -0
  111. package/lib/v2/{acm-ecnu → ecnu}/contest.js +1 -4
  112. package/lib/v2/ecnu/maintainer.js +4 -0
  113. package/lib/v2/ecnu/radar.js +30 -0
  114. package/lib/v2/ecnu/router.js +4 -0
  115. package/lib/v2/{acm-ecnu → ecnu}/templates/description.art +0 -0
  116. package/lib/v2/ecnu/yjs.js +37 -0
  117. package/lib/v2/ehentai/ehapi.js +23 -12
  118. package/lib/v2/foresightnews/index.js +8 -11
  119. package/lib/v2/foreverblog/feeds.js +36 -0
  120. package/lib/v2/foreverblog/maintainer.js +3 -0
  121. package/lib/v2/foreverblog/radar.js +13 -0
  122. package/lib/v2/foreverblog/router.js +3 -0
  123. package/lib/v2/freewechat/maintainer.js +3 -0
  124. package/lib/v2/freewechat/profile.js +61 -0
  125. package/lib/v2/freewechat/radar.js +13 -0
  126. package/lib/v2/freewechat/router.js +3 -0
  127. package/lib/v2/ft/maintainer.js +2 -2
  128. package/lib/v2/ft/utils.js +10 -7
  129. package/lib/v2/gcores/category.js +16 -6
  130. package/lib/v2/github/trending.js +68 -36
  131. package/lib/v2/good/index.js +52 -0
  132. package/lib/v2/good/maintainer.js +3 -0
  133. package/lib/v2/good/radar.js +13 -0
  134. package/lib/v2/good/router.js +3 -0
  135. package/lib/v2/gov/beijing/bphc/index.js +54 -0
  136. package/lib/v2/gov/ccdi/utils.js +33 -9
  137. package/lib/v2/gov/customs/list.js +1 -1
  138. package/lib/v2/gov/gz/index.js +38 -0
  139. package/lib/v2/gov/hunan/changsha/major-email.js +52 -0
  140. package/lib/v2/gov/maintainer.js +10 -1
  141. package/lib/v2/gov/nmpa/generic.js +1 -1
  142. package/lib/v2/gov/radar.js +74 -1
  143. package/lib/v2/gov/router.js +9 -1
  144. package/lib/v2/gov/sasac/generic.js +42 -0
  145. package/lib/v2/gov/shanghai/yjj/index.js +3 -1
  146. package/lib/v2/gov/zhengce/govall.js +55 -0
  147. package/lib/v2/gov/zhengce/wenjian.js +47 -0
  148. package/lib/v2/gov/zhengce/zhengceku.js +22 -0
  149. package/lib/v2/gov/zhengce/zuixin.js +39 -0
  150. package/lib/v2/guanhai/index.js +47 -0
  151. package/lib/v2/guanhai/maintainer.js +4 -0
  152. package/lib/v2/guanhai/radar.js +13 -0
  153. package/lib/v2/guanhai/router.js +3 -0
  154. package/lib/v2/hackernews/index.js +16 -7
  155. package/lib/v2/hellogithub/index.js +102 -0
  156. package/lib/v2/hellogithub/maintainer.js +7 -3
  157. package/lib/v2/hellogithub/radar.js +35 -11
  158. package/lib/v2/hellogithub/report.js +56 -0
  159. package/lib/v2/hellogithub/router.js +6 -3
  160. package/lib/v2/hellogithub/templates/description.art +99 -0
  161. package/lib/v2/hellogithub/templates/report.art +118 -0
  162. package/lib/v2/hellogithub/templates/volume.art +36 -0
  163. package/lib/v2/hellogithub/volume.js +49 -0
  164. package/lib/v2/{heu → hrbeu}/gx/card.js +5 -10
  165. package/lib/v2/{heu → hrbeu}/gx/list.js +12 -20
  166. package/lib/v2/hrbeu/job/bigemploy.js +25 -0
  167. package/lib/v2/{heu → hrbeu}/job/calendar.js +8 -16
  168. package/lib/v2/{heu → hrbeu}/job/list.js +11 -16
  169. package/lib/v2/{heu → hrbeu}/maintainer.js +2 -1
  170. package/lib/v2/{heu → hrbeu}/radar.js +18 -10
  171. package/lib/v2/{heu → hrbeu}/router.js +3 -2
  172. package/lib/v2/{heu → hrbeu}/uae/list.js +12 -17
  173. package/lib/v2/hrbeu/ugs/news.js +98 -0
  174. package/lib/v2/{heu → hrbeu}/yjsy/list.js +8 -16
  175. package/lib/v2/hupu/all.js +8 -8
  176. package/lib/v2/hupu/bbs.js +1 -1
  177. package/lib/v2/hupu/templates/description.art +7 -18
  178. package/lib/v2/hupu/templates/match.art +22 -0
  179. package/lib/v2/ifeng/maintainer.js +1 -0
  180. package/lib/v2/ifeng/news.js +54 -0
  181. package/lib/v2/ifeng/radar.js +7 -0
  182. package/lib/v2/ifeng/router.js +1 -0
  183. package/lib/v2/ifeng/templates/description.art +16 -0
  184. package/lib/v2/jandan/index.js +17 -51
  185. package/lib/v2/jandan/maintainer.js +1 -1
  186. package/lib/v2/javbus/index.js +8 -2
  187. package/lib/v2/javbus/templates/description.art +12 -1
  188. package/lib/v2/jike/user.js +1 -0
  189. package/lib/v2/jornada/index.js +59 -0
  190. package/lib/v2/jornada/maintainer.js +3 -0
  191. package/lib/v2/jornada/radar.js +13 -0
  192. package/lib/v2/jornada/router.js +3 -0
  193. package/lib/v2/jseea/maintainer.js +3 -0
  194. package/lib/v2/jseea/news.js +64 -0
  195. package/lib/v2/jseea/radar.js +13 -0
  196. package/lib/v2/jseea/router.js +3 -0
  197. package/lib/v2/kemono/index.js +2 -2
  198. package/lib/{routes → v2}/kuaidi100/index.js +0 -0
  199. package/lib/v2/kuaidi100/maintainer.js +4 -0
  200. package/lib/v2/kuaidi100/radar.js +25 -0
  201. package/lib/v2/kuaidi100/router.js +4 -0
  202. package/lib/{routes → v2}/kuaidi100/supported_company.js +0 -1
  203. package/lib/{routes → v2}/kuaidi100/utils.js +46 -11
  204. package/lib/v2/lang/maintainer.js +3 -0
  205. package/lib/v2/lang/radar.js +13 -0
  206. package/lib/v2/lang/room.js +40 -0
  207. package/lib/v2/lang/router.js +3 -0
  208. package/lib/v2/lang/templates/room.art +1 -0
  209. package/lib/v2/lianxh/index.js +61 -0
  210. package/lib/v2/lianxh/maintainer.js +3 -0
  211. package/lib/v2/lianxh/radar.js +13 -0
  212. package/lib/v2/lianxh/router.js +3 -0
  213. package/lib/{routes → v2}/linkresearcher/index.js +16 -13
  214. package/lib/v2/linkresearcher/maintainer.js +3 -0
  215. package/lib/v2/linkresearcher/radar.js +19 -0
  216. package/lib/v2/linkresearcher/router.js +3 -0
  217. package/lib/v2/liulinblog/utils.js +7 -4
  218. package/lib/v2/lkong/forum.js +3 -2
  219. package/lib/v2/lofter/user.js +6 -1
  220. package/lib/v2/lovelive-anime/maintainer.js +2 -1
  221. package/lib/v2/lovelive-anime/radar.js +9 -0
  222. package/lib/v2/lovelive-anime/router.js +1 -0
  223. package/lib/v2/lovelive-anime/schedules.js +56 -0
  224. package/lib/v2/lovelive-anime/templates/scheduleDesc.art +3 -0
  225. package/lib/v2/luogu/contest.js +72 -0
  226. package/lib/v2/luogu/daily.js +33 -0
  227. package/lib/v2/luogu/maintainer.js +5 -0
  228. package/lib/v2/luogu/radar.js +25 -0
  229. package/lib/v2/luogu/router.js +5 -0
  230. package/lib/v2/luogu/userFeed.js +30 -0
  231. package/lib/v2/mckinsey/cn/categoryMap.js +79 -0
  232. package/lib/v2/mckinsey/cn/index.js +37 -0
  233. package/lib/v2/mckinsey/radar.js +12 -0
  234. package/lib/v2/mckinsey/router.js +3 -0
  235. package/lib/v2/mihoyo/maintainer.js +1 -0
  236. package/lib/v2/mihoyo/radar.js +20 -1
  237. package/lib/v2/mihoyo/router.js +1 -0
  238. package/lib/v2/mihoyo/ys/news.js +81 -0
  239. package/lib/v2/mirror/index.js +15 -8
  240. package/lib/v2/mtime/maintainer.js +1 -1
  241. package/lib/v2/mtime/news.js +28 -24
  242. package/lib/v2/mtime/radar.js +1 -1
  243. package/lib/v2/nature/maintainer.js +5 -5
  244. package/lib/v2/nautil/maintainer.js +3 -0
  245. package/lib/v2/nautil/radar.js +13 -0
  246. package/lib/v2/nautil/router.js +3 -0
  247. package/lib/v2/nautil/templates/description.art +6 -0
  248. package/lib/v2/nautil/topics.js +57 -0
  249. package/lib/v2/nextapple/realtime.js +1 -1
  250. package/lib/v2/nintendo/direct.js +31 -0
  251. package/lib/v2/nintendo/eshop_cn.js +44 -0
  252. package/lib/v2/nintendo/eshop_hk.js +79 -0
  253. package/lib/v2/nintendo/eshop_jp.js +34 -0
  254. package/lib/v2/nintendo/eshop_us.js +32 -0
  255. package/lib/v2/nintendo/maintainer.js +7 -0
  256. package/lib/v2/nintendo/news.js +23 -0
  257. package/lib/v2/nintendo/news_china.js +35 -0
  258. package/lib/v2/nintendo/radar.js +70 -0
  259. package/lib/v2/nintendo/router.js +10 -0
  260. package/lib/{routes → v2}/nintendo/system-update.js +2 -2
  261. package/lib/v2/nintendo/templates/direct.art +6 -0
  262. package/lib/v2/nintendo/templates/eshop_cn.art +21 -0
  263. package/lib/v2/nintendo/templates/eshop_hk.art +61 -0
  264. package/lib/v2/nintendo/templates/eshop_jp.art +3 -0
  265. package/lib/v2/nintendo/templates/eshop_us.art +24 -0
  266. package/lib/{routes → v2}/nintendo/utils.js +34 -50
  267. package/lib/v2/nju/hosptial.js +41 -0
  268. package/lib/v2/nju/itsc.js +46 -0
  269. package/lib/v2/nju/maintainer.js +2 -0
  270. package/lib/v2/nju/radar.js +16 -0
  271. package/lib/v2/nju/router.js +2 -0
  272. package/lib/v2/njxzc/home.js +66 -0
  273. package/lib/v2/njxzc/maintainer.js +3 -0
  274. package/lib/v2/njxzc/radar.js +13 -0
  275. package/lib/v2/njxzc/router.js +4 -0
  276. package/lib/v2/nmtv/column.js +53 -0
  277. package/lib/v2/nmtv/maintainer.js +3 -0
  278. package/lib/v2/nmtv/radar.js +13 -0
  279. package/lib/v2/nmtv/router.js +3 -0
  280. package/lib/v2/nmtv/templates/description.art +9 -0
  281. package/lib/v2/nua/dc.js +14 -4
  282. package/lib/v2/nua/gra.js +1 -1
  283. package/lib/v2/nua/index.js +1 -1
  284. package/lib/v2/nua/lib.js +39 -0
  285. package/lib/v2/nua/maintainer.js +1 -0
  286. package/lib/v2/nua/radar.js +8 -0
  287. package/lib/v2/nua/router.js +1 -0
  288. package/lib/v2/nua/sxw.js +1 -1
  289. package/lib/v2/nua/utils.js +45 -30
  290. package/lib/v2/nyaa/main.js +16 -23
  291. package/lib/v2/nyaa/maintainer.js +7 -4
  292. package/lib/v2/nyaa/radar.js +27 -29
  293. package/lib/v2/nyaa/router.js +4 -2
  294. package/lib/v2/odaily/post.js +15 -20
  295. package/lib/v2/odaily/utils.js +1 -1
  296. package/lib/v2/picuki/profile.js +14 -2
  297. package/lib/v2/picuki/templates/video.art +3 -0
  298. package/lib/v2/pixiv/api/getRanking.js +1 -1
  299. package/lib/v2/pixiv/ranking.js +3 -0
  300. package/lib/v2/producthunt/templates/descImg.art +2 -2
  301. package/lib/v2/pts/index.js +4 -1
  302. package/lib/{routes → v2}/qingting/channel.js +6 -10
  303. package/lib/v2/qingting/maintainer.js +4 -0
  304. package/lib/v2/qingting/podcast.js +77 -0
  305. package/lib/v2/qingting/radar.js +19 -0
  306. package/lib/v2/qingting/router.js +4 -0
  307. package/lib/v2/qipamaijia/index.js +7 -1
  308. package/lib/v2/qipamaijia/maintainer.js +1 -1
  309. package/lib/v2/radio/album.js +106 -0
  310. package/lib/v2/radio/index.js +25 -18
  311. package/lib/v2/radio/maintainer.js +2 -0
  312. package/lib/v2/radio/radar.js +15 -3
  313. package/lib/v2/radio/router.js +2 -0
  314. package/lib/v2/radio/templates/description.art +7 -4
  315. package/lib/v2/radio/zhibo.js +73 -0
  316. package/lib/v2/researchgate/maintainer.js +3 -0
  317. package/lib/v2/researchgate/publications.js +70 -0
  318. package/lib/v2/researchgate/radar.js +13 -0
  319. package/lib/v2/researchgate/router.js +3 -0
  320. package/lib/v2/reuters/common.js +21 -8
  321. package/lib/v2/reuters/investigates.js +1 -1
  322. package/lib/v2/reuters/templates/description.art +44 -0
  323. package/lib/v2/saraba1st/digest.js +79 -0
  324. package/lib/v2/saraba1st/maintainer.js +1 -0
  325. package/lib/v2/saraba1st/radar.js +12 -3
  326. package/lib/v2/saraba1st/router.js +1 -0
  327. package/lib/v2/saraba1st/templates/digest.art +5 -0
  328. package/lib/v2/science/current.js +1 -0
  329. package/lib/v2/science/maintainer.js +3 -3
  330. package/lib/v2/science/utils.js +2 -2
  331. package/lib/{routes → v2}/scmp/index.js +7 -8
  332. package/lib/v2/scmp/maintainer.js +3 -0
  333. package/lib/v2/scmp/radar.js +13 -0
  334. package/lib/v2/scmp/router.js +3 -0
  335. package/lib/v2/sctv/maintainer.js +3 -0
  336. package/lib/v2/sctv/programme.js +80 -0
  337. package/lib/v2/sctv/radar.js +13 -0
  338. package/lib/v2/sctv/router.js +3 -0
  339. package/lib/v2/sctv/templates/description.art +3 -0
  340. package/lib/v2/shmtu/jwc.js +57 -0
  341. package/lib/v2/shmtu/maintainer.js +5 -0
  342. package/lib/v2/shmtu/portal.js +81 -0
  343. package/lib/v2/shmtu/radar.js +29 -0
  344. package/lib/v2/shmtu/router.js +5 -0
  345. package/lib/v2/shmtu/templates/portal.art +30 -0
  346. package/lib/v2/shmtu/www.js +58 -0
  347. package/lib/v2/simpleinfo/index.js +50 -0
  348. package/lib/v2/simpleinfo/maintainer.js +3 -0
  349. package/lib/v2/simpleinfo/radar.js +19 -0
  350. package/lib/v2/simpleinfo/router.js +3 -0
  351. package/lib/v2/simpleinfo/templates/description.art +6 -0
  352. package/lib/v2/smzdm/article.js +43 -0
  353. package/lib/v2/smzdm/baoliao.js +43 -0
  354. package/lib/v2/smzdm/haowen.js +48 -0
  355. package/lib/v2/smzdm/haowen_fenlei.js +50 -0
  356. package/lib/v2/smzdm/keyword.js +42 -0
  357. package/lib/v2/smzdm/maintainer.js +8 -0
  358. package/lib/v2/smzdm/radar.js +48 -0
  359. package/lib/{routes → v2}/smzdm/ranking.js +20 -3
  360. package/lib/v2/smzdm/router.js +8 -0
  361. package/lib/v2/sse/maintainer.js +1 -1
  362. package/lib/v2/swpu/cjxy.js +53 -0
  363. package/lib/v2/swpu/is.js +53 -0
  364. package/lib/v2/swpu/maintainer.js +2 -0
  365. package/lib/v2/swpu/radar.js +12 -0
  366. package/lib/v2/swpu/router.js +2 -0
  367. package/lib/v2/taoguba/blog.js +28 -3
  368. package/lib/v2/taoguba/index.js +29 -14
  369. package/lib/v2/telegram/channel.js +11 -5
  370. package/lib/v2/tesla/{price/maintainer.js → maintainer.js} +0 -0
  371. package/lib/v2/tesla/{price/radar.js → radar.js} +0 -0
  372. package/lib/v2/thecatcity/index.js +48 -0
  373. package/lib/v2/thecatcity/maintainer.js +3 -0
  374. package/lib/v2/thecatcity/radar.js +13 -0
  375. package/lib/v2/thecatcity/router.js +3 -0
  376. package/lib/v2/thecatcity/termsMap.js +30 -0
  377. package/lib/v2/thepaper/utils.js +53 -49
  378. package/lib/v2/theverge/index.js +98 -0
  379. package/lib/v2/theverge/maintainer.js +3 -0
  380. package/lib/v2/theverge/radar.js +13 -0
  381. package/lib/v2/theverge/router.js +3 -0
  382. package/lib/v2/tingshuitz/changsha.js +43 -0
  383. package/lib/v2/tingshuitz/maintainer.js +1 -0
  384. package/lib/v2/tingshuitz/radar.js +10 -0
  385. package/lib/v2/tingshuitz/router.js +1 -0
  386. package/lib/v2/twreporter/category.js +17 -8
  387. package/lib/v2/uber/blog.js +59 -0
  388. package/lib/v2/uber/maintainer.js +3 -0
  389. package/lib/v2/uber/radar.js +13 -0
  390. package/lib/v2/uber/router.js +3 -0
  391. package/lib/v2/udn/global/index.js +67 -0
  392. package/lib/v2/udn/global/tag.js +51 -0
  393. package/lib/v2/udn/maintainer.js +2 -0
  394. package/lib/v2/udn/radar.js +15 -1
  395. package/lib/v2/udn/router.js +2 -0
  396. package/lib/v2/usepanda/index.js +26 -0
  397. package/lib/v2/usepanda/maintainer.js +3 -0
  398. package/lib/v2/usepanda/radar.js +11 -0
  399. package/lib/v2/usepanda/router.js +3 -0
  400. package/lib/v2/uw/gix/news.js +67 -0
  401. package/lib/v2/uw/maintainer.js +3 -0
  402. package/lib/v2/uw/radar.js +13 -0
  403. package/lib/v2/uw/router.js +3 -0
  404. package/lib/v2/wallstreetcn/live.js +7 -1
  405. package/lib/v2/wallstreetcn/templates/description.art +11 -0
  406. package/lib/v2/warthunder/news.js +1 -1
  407. package/lib/{routes → v2}/weibo/keyword.js +2 -2
  408. package/lib/v2/weibo/maintainer.js +8 -0
  409. package/lib/v2/weibo/oasis/user.js +20 -0
  410. package/lib/v2/weibo/radar.js +48 -0
  411. package/lib/v2/weibo/router.js +8 -0
  412. package/lib/{routes → v2}/weibo/search/hot.js +2 -0
  413. package/lib/{routes → v2}/weibo/super_index.js +2 -2
  414. package/lib/{routes → v2}/weibo/timeline.js +2 -2
  415. package/lib/{routes → v2}/weibo/user.js +2 -2
  416. package/lib/{routes → v2}/weibo/utils.js +49 -14
  417. package/lib/v2/wise/maintainer.js +3 -0
  418. package/lib/v2/wise/pair.js +65 -0
  419. package/lib/v2/wise/radar.js +11 -0
  420. package/lib/v2/wise/router.js +3 -0
  421. package/lib/v2/wise/templates/description.art +17 -0
  422. package/lib/v2/xueqiu/maintainer.js +1 -0
  423. package/lib/v2/xueqiu/radar.js +6 -0
  424. package/lib/v2/xueqiu/router.js +1 -0
  425. package/lib/v2/xueqiu/today.js +65 -0
  426. package/lib/v2/ymgal/article.js +61 -0
  427. package/lib/v2/ymgal/game.js +39 -0
  428. package/lib/v2/ymgal/maintainer.js +3 -0
  429. package/lib/v2/ymgal/radar.js +31 -0
  430. package/lib/v2/ymgal/router.js +4 -0
  431. package/lib/v2/ymgal/templates/description.art +3 -0
  432. package/lib/v2/yoasobi-music/info.js +2 -1
  433. package/lib/v2/youtube/custom.js +45 -0
  434. package/lib/v2/youtube/radar.js +6 -0
  435. package/lib/v2/youtube/router.js +1 -0
  436. package/lib/v2/zhihu/activities.js +6 -10
  437. package/lib/v2/zhihu/daily.js +25 -0
  438. package/lib/v2/zhihu/execlib/x-zse-96_v3.js +122 -0
  439. package/lib/v2/zhihu/pin/utils.js +49 -41
  440. package/lib/v2/zhihu/posts.js +21 -16
  441. package/lib/v2/zhihu/question.js +3 -3
  442. package/lib/v2/zhihu/utils.js +1 -1
  443. package/lib/v2/zhitongcaijing/index.js +118 -0
  444. package/lib/v2/zhitongcaijing/maintainer.js +3 -0
  445. package/lib/v2/zhitongcaijing/radar.js +17 -0
  446. package/lib/v2/zhitongcaijing/router.js +3 -0
  447. package/lib/v2/zhitongcaijing/templates/description.art +6 -0
  448. package/package.json +39 -31
  449. package/lib/routes/aljazeera/news.js +0 -38
  450. package/lib/routes/blogs/foreverblog.js +0 -33
  451. package/lib/routes/dedao/knowledge.js +0 -78
  452. package/lib/routes/docschina/jsweekly.js +0 -47
  453. package/lib/routes/gov/jiangsu/eea.js +0 -84
  454. package/lib/routes/gov/zhengce/govall.js +0 -59
  455. package/lib/routes/gov/zhengce/wenjian.js +0 -53
  456. package/lib/routes/gov/zhengce/zuixin.js +0 -42
  457. package/lib/routes/langlive/room.js +0 -33
  458. package/lib/routes/logseq/changelog.js +0 -42
  459. package/lib/routes/luogu/contest.js +0 -28
  460. package/lib/routes/luogu/daily.js +0 -53
  461. package/lib/routes/luogu/userFeed.js +0 -38
  462. package/lib/routes/mckinsey/index.js +0 -49
  463. package/lib/routes/nautilus/topics.js +0 -45
  464. package/lib/routes/nintendo/direct.js +0 -34
  465. package/lib/routes/nintendo/eshop_cn.js +0 -51
  466. package/lib/routes/nintendo/eshop_hk.js +0 -26
  467. package/lib/routes/nintendo/eshop_jp.js +0 -20
  468. package/lib/routes/nintendo/eshop_us.js +0 -36
  469. package/lib/routes/nintendo/news.js +0 -25
  470. package/lib/routes/nintendo/news_china.js +0 -41
  471. package/lib/routes/novel/shuquge.js +0 -63
  472. package/lib/routes/researchgate/publications.js +0 -60
  473. package/lib/routes/smzdm/article.js +0 -57
  474. package/lib/routes/smzdm/baoliao.js +0 -55
  475. package/lib/routes/smzdm/haowen.js +0 -60
  476. package/lib/routes/smzdm/haowen_fenlei.js +0 -63
  477. package/lib/routes/smzdm/keyword.js +0 -39
  478. package/lib/routes/transferwise/pair.js +0 -64
  479. package/lib/routes/udn/global.js +0 -61
  480. package/lib/routes/universities/ecnuyjs/ecnuyjs.js +0 -23
  481. package/lib/routes/universities/shmtu/jwc.js +0 -75
  482. package/lib/routes/universities/shmtu/www.js +0 -61
  483. package/lib/routes/verge/index.js +0 -88
  484. package/lib/routes/weibo/oasis/user.js +0 -17
  485. package/lib/routes/yuanshen/index.js +0 -70
  486. package/lib/v2/acm-ecnu/maintainer.js +0 -3
  487. package/lib/v2/acm-ecnu/radar.js +0 -19
  488. package/lib/v2/acm-ecnu/router.js +0 -3
  489. package/lib/v2/hellogithub/article.js +0 -47
  490. package/lib/v2/hellogithub/month.js +0 -42
  491. package/lib/v2/hellogithub/ranking.js +0 -39
  492. package/lib/v2/heu/job/bigemploy.js +0 -42
  493. package/lib/v2/radio/radio.js +0 -50
  494. package/lib/v2/zhihu/execlib/g_encrypt.js +0 -407
  495. package/lib/v2/zhihu/execlib/jsencrypt.js +0 -379
package/README.md CHANGED
@@ -10,6 +10,7 @@
10
10
  [![docker publish](https://img.shields.io/github/workflow/status/DIYgod/RSSHub/%5Bdocker%5D%20CI%20for%20releases/master?label=docker%20publish&logo=docker&style=flat-square)](https://hub.docker.com/r/diygod/rsshub)
11
11
  [![test](https://img.shields.io/github/workflow/status/DIYgod/RSSHub/test/master?label=test&logo=github&style=flat-square)](https://github.com/DIYgod/RSSHub/actions/workflows/test.yml?query=event%3Apush+branch%3Amaster)
12
12
  [![Test coverage](https://img.shields.io/codecov/c/github/DIYgod/RSSHub.svg?style=flat-square&logo=codecov)](https://app.codecov.io/gh/DIYgod/RSSHub/branch/master)
13
+ [![Foresight Docs](https://api-public.service.runforesight.com/api/v1/badge/success?repoId=5da20e56-cecf-4b05-9bcd-cab097fb2dca)](https://docs.runforesight.com/)
13
14
 
14
15
  ## Introduction
15
16
 
@@ -33,13 +34,21 @@ RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以
33
34
 
34
35
  ### Special Sponsors
35
36
 
36
- <div>
37
- <a href="https://rss3.io/" target="_blank"><img height="60px" src="https://i.imgur.com/v7TF0jp.jpg"></a>
38
- </div>
37
+ <p>
38
+ <a href="https://rss3.io/" target="_blank"><img height="60px" src="https://i.imgur.com/vHtI4bz.png"></a>
39
+ </p>
40
+
41
+ <table width="100%">
42
+ <tr>
43
+ <td><img width="1000" height="0"><a href="https://www.runforesight.com/?utm_source=RSSHub&utm_medium=sponsorship"><img src="https://www.thundra.io/hubfs/RunForesight/GitHub%20Sponsorship%20banners/github-actions-observability.png"
44
+ alt="Foresight" width="260" align="right"></a><h3>Foresight: Increase CI/CD Health & Test Performance</h3><p>
45
+ Foresight provides full visibility and deep insights into the health and performance of your tests and CI pipelines. Assess the risk of code changes, deal with flaky tests, see workflow and test trends over time, and improve the contributing experience with Foresight.</p>
39
46
 
40
- ### Sponsors
47
+ [Sign up now!](https://runforesight.com/?utm_source=RSSHub&utm_medium=sponsorship)
41
48
 
42
- [Sayori Studio](https://t.me/SayoriStudio) . [Sion Kazama](https://blog.sion.moe) . [琚致远](https://wineso.me/) . [Rolly RSS 阅读器](https://www.coolapk.com/apk/239500) . [mokeyjay](https://www.mokeyjay.com/) . [萌开源联盟](https://www.moeunion.com) . [hooke007](https://github.com/hooke007/MPV_lazy) . [feeds.pub](https://feeds.pub) . [KINGX@安全引擎](http://cve.today/)
49
+ </td>
50
+ </tr>
51
+ </table>
43
52
 
44
53
  [![](https://opencollective.com/static/images/become_sponsor.svg)](https://docs.rsshub.app/en/support/)
45
54
 
@@ -1,68 +1,4 @@
1
1
  module.exports = {
2
- 'weibo.com': {
3
- _name: '微博',
4
- '.': [
5
- {
6
- title: '博主',
7
- docs: 'https://docs.rsshub.app/social-media.html#wei-bo',
8
- source: ['/u/:id', '/:id'],
9
- target: (params, url, document) => {
10
- let uid = document?.documentElement.innerHTML.match(/\$CONFIG\['oid']='(\d+)'/)?.[1];
11
- if (!uid && !isNaN(params.id)) {
12
- uid = params.id;
13
- }
14
- return uid ? `/weibo/user/${uid}` : '';
15
- },
16
- },
17
- {
18
- title: '关键词',
19
- docs: 'https://docs.rsshub.app/social-media.html#wei-bo',
20
- },
21
- {
22
- title: '超话',
23
- docs: 'https://docs.rsshub.app/social-media.html#wei-bo',
24
- source: '/p/:id/super_index',
25
- target: '/weibo/super_index/:id',
26
- },
27
- ],
28
- s: [
29
- {
30
- title: '热搜榜',
31
- docs: 'https://docs.rsshub.app/social-media.html#wei-bo',
32
- source: '/top/summary',
33
- target: '/weibo/search/hot',
34
- },
35
- ],
36
- },
37
- 'weibo.cn': {
38
- _name: '微博',
39
- m: [
40
- {
41
- title: '博主',
42
- docs: 'https://docs.rsshub.app/social-media.html#wei-bo',
43
- source: ['/u/:uid', '/profile/:uid'],
44
- target: '/weibo/user/:uid',
45
- },
46
- ],
47
- },
48
- 'smzdm.com': {
49
- _name: '什么值得买',
50
- www: [
51
- {
52
- title: '排行榜',
53
- docs: 'https://docs.rsshub.app/shopping.html#shen-me-zhi-de-mai',
54
- source: '/top',
55
- },
56
- ],
57
- search: [
58
- {
59
- title: '关键词',
60
- docs: 'https://docs.rsshub.app/shopping.html#shen-me-zhi-de-mai',
61
- source: '/',
62
- target: (params, url) => `/smzdm/keyword/${new URL(url).searchParams.get('s')}`,
63
- },
64
- ],
65
- },
66
2
  'ximalaya.com': {
67
3
  _name: '喜马拉雅',
68
4
  '.': [
@@ -752,29 +688,6 @@ module.exports = {
752
688
  },
753
689
  ],
754
690
  },
755
- 'kuaidi100.com': {
756
- _name: '快递100',
757
- '.': [
758
- {
759
- title: '快递追踪',
760
- docs: 'https://docs.rsshub.app/other.html#kuai-di-100',
761
- source: '/',
762
- target: (params, url, document) => {
763
- const postid = document && document.querySelector('#postid').value;
764
- const com = document && document.querySelector('#selectComBtn').childNodes[1].attributes[1].value;
765
- if (com && com !== 'default' && postid) {
766
- return `/kuaidi100/track/${com}/${postid}`;
767
- }
768
- },
769
- },
770
- {
771
- title: '支持的快递公司列表',
772
- docs: 'https://docs.rsshub.app/other.html#kuai-di-100',
773
- source: '/',
774
- target: '/kuaidi100/company',
775
- },
776
- ],
777
- },
778
691
  'hrbeu.edu.cn': {
779
692
  _name: '哈尔滨工程大学',
780
693
  yjsy: [
package/lib/router.js CHANGED
@@ -47,12 +47,12 @@ router.get('/benedictevans', lazyloadRouteHandler('./routes/benedictevans/recent
47
47
  // router.get('/twreporter/photography', lazyloadRouteHandler('./routes/twreporter/photography'));
48
48
  // router.get('/twreporter/category/:cid', lazyloadRouteHandler('./routes/twreporter/category'));
49
49
 
50
- // 微博
51
- router.get('/weibo/user/:uid/:routeParams?', lazyloadRouteHandler('./routes/weibo/user'));
52
- router.get('/weibo/keyword/:keyword/:routeParams?', lazyloadRouteHandler('./routes/weibo/keyword'));
53
- router.get('/weibo/search/hot', lazyloadRouteHandler('./routes/weibo/search/hot'));
54
- router.get('/weibo/super_index/:id/:type?/:routeParams?', lazyloadRouteHandler('./routes/weibo/super_index'));
55
- router.get('/weibo/oasis/user/:userid', lazyloadRouteHandler('./routes/weibo/oasis/user'));
50
+ // 微博 migrated to v2
51
+ // router.get('/weibo/user/:uid/:routeParams?', lazyloadRouteHandler('./routes/weibo/user'));
52
+ // router.get('/weibo/keyword/:keyword/:routeParams?', lazyloadRouteHandler('./routes/weibo/keyword'));
53
+ // router.get('/weibo/search/hot', lazyloadRouteHandler('./routes/weibo/search/hot'));
54
+ // router.get('/weibo/super_index/:id/:type?/:routeParams?', lazyloadRouteHandler('./routes/weibo/super_index'));
55
+ // router.get('/weibo/oasis/user/:userid', lazyloadRouteHandler('./routes/weibo/oasis/user'));
56
56
 
57
57
  // 贴吧 migrated to v2
58
58
  // router.get('/tieba/forum/:kw', lazyloadRouteHandler('./routes/tieba/forum'));
@@ -194,8 +194,8 @@ router.get('/dribbble/keyword/:keyword', lazyloadRouteHandler('./routes/dribbble
194
194
  router.get('/huya/live/:id', lazyloadRouteHandler('./routes/huya/live'));
195
195
 
196
196
  // 浪Play(原kingkong)直播
197
- router.get('/kingkong/room/:id', lazyloadRouteHandler('./routes/langlive/room'));
198
- router.get('/langlive/room/:id', lazyloadRouteHandler('./routes/langlive/room'));
197
+ // router.get('/kingkong/room/:id', lazyloadRouteHandler('./routes/langlive/room'));
198
+ // router.get('/langlive/room/:id', lazyloadRouteHandler('./routes/langlive/room'));
199
199
 
200
200
  // SHOWROOM直播
201
201
  router.get('/showroom/room/:id', lazyloadRouteHandler('./routes/showroom/room'));
@@ -253,12 +253,12 @@ router.get('/ximalaya/:type/:id/:all/:shownote?', lazyloadRouteHandler('./routes
253
253
  router.get('/eztv/torrents/:imdb_id', lazyloadRouteHandler('./routes/eztv/imdb'));
254
254
 
255
255
  // 什么值得买
256
- router.get('/smzdm/keyword/:keyword', lazyloadRouteHandler('./routes/smzdm/keyword'));
257
- router.get('/smzdm/ranking/:rank_type/:rank_id/:hour', lazyloadRouteHandler('./routes/smzdm/ranking'));
258
- router.get('/smzdm/haowen/:day?', lazyloadRouteHandler('./routes/smzdm/haowen'));
259
- router.get('/smzdm/haowen/fenlei/:name/:sort?', lazyloadRouteHandler('./routes/smzdm/haowen_fenlei'));
260
- router.get('/smzdm/article/:uid', lazyloadRouteHandler('./routes/smzdm/article'));
261
- router.get('/smzdm/baoliao/:uid', lazyloadRouteHandler('./routes/smzdm/baoliao'));
256
+ // router.get('/smzdm/keyword/:keyword', lazyloadRouteHandler('./routes/smzdm/keyword'));
257
+ // router.get('/smzdm/ranking/:rank_type/:rank_id/:hour', lazyloadRouteHandler('./routes/smzdm/ranking'));
258
+ // router.get('/smzdm/haowen/:day?', lazyloadRouteHandler('./routes/smzdm/haowen'));
259
+ // router.get('/smzdm/haowen/fenlei/:name/:sort?', lazyloadRouteHandler('./routes/smzdm/haowen_fenlei'));
260
+ // router.get('/smzdm/article/:uid', lazyloadRouteHandler('./routes/smzdm/article'));
261
+ // router.get('/smzdm/baoliao/:uid', lazyloadRouteHandler('./routes/smzdm/baoliao'));
262
262
 
263
263
  // 新京报
264
264
  router.get('/bjnews/:cat', lazyloadRouteHandler('./routes/bjnews/news'));
@@ -465,7 +465,6 @@ router.get('/mafengwo/ziyouxing/:code', lazyloadRouteHandler('./routes/mafengwo/
465
465
  router.get('/novel/uukanshu/:uid', lazyloadRouteHandler('./routes/novel/uukanshu'));
466
466
  router.get('/novel/wenxuemi/:id1/:id2', lazyloadRouteHandler('./routes/novel/wenxuemi'));
467
467
  router.get('/novel/booksky/:id', lazyloadRouteHandler('./routes/novel/booksky'));
468
- router.get('/novel/shuquge/:id', lazyloadRouteHandler('./routes/novel/shuquge'));
469
468
  router.get('/novel/ptwxz/:id1/:id2', lazyloadRouteHandler('./routes/novel/ptwxz'));
470
469
  router.get('/novel/zhaishuyuan/:id', lazyloadRouteHandler('./routes/novel/zhaishuyuan'));
471
470
 
@@ -570,9 +569,9 @@ router.get('/thu/:type', lazyloadRouteHandler('./routes/universities/thu/index')
570
569
  // router.get('/pku/bbs/hot', lazyloadRouteHandler('./routes/universities/pku/bbs/hot'));
571
570
  // router.get('/pku/scc/recruit/:type?', lazyloadRouteHandler('./routes/universities/pku/scc/recruit'));
572
571
 
573
- // 上海海事大学
574
- router.get('/shmtu/www/:type', lazyloadRouteHandler('./routes/universities/shmtu/www'));
575
- router.get('/shmtu/jwc/:type', lazyloadRouteHandler('./routes/universities/shmtu/jwc'));
572
+ // 上海海事大学 migrated to v2
573
+ // router.get('/shmtu/www/:type', lazyloadRouteHandler('./routes/universities/shmtu/www'));
574
+ // router.get('/shmtu/jwc/:type', lazyloadRouteHandler('./routes/universities/shmtu/jwc'));
576
575
 
577
576
  // 上海海洋大学
578
577
  router.get('/shou/www/:type', lazyloadRouteHandler('./routes/universities/shou/www'));
@@ -878,7 +877,7 @@ router.get('/bbc/:site?/:channel?', lazyloadRouteHandler('./routes/bbc/index'));
878
877
  // router.get('/ft/:language/:channel?', lazyloadRouteHandler('./routes/ft/channel'));
879
878
 
880
879
  // The Verge
881
- router.get('/verge', lazyloadRouteHandler('./routes/verge/index'));
880
+ // router.get('/verge', lazyloadRouteHandler('./routes/verge/index'));
882
881
 
883
882
  // 看雪
884
883
  router.get('/pediy/topic/:category?/:type?', lazyloadRouteHandler('./routes/pediy/topic'));
@@ -1035,7 +1034,7 @@ router.get('/anime1/anime/:time/:name', lazyloadRouteHandler('./routes/anime1/an
1035
1034
  router.get('/anime1/search/:keyword', lazyloadRouteHandler('./routes/anime1/search'));
1036
1035
 
1037
1036
  // Global UDN
1038
- router.get('/udn/global/:tid', lazyloadRouteHandler('./routes/udn/global'));
1037
+ // router.get('/udn/global/:tid', lazyloadRouteHandler('./routes/udn/global'));
1039
1038
 
1040
1039
  // gitea
1041
1040
  router.get('/gitea/blog', lazyloadRouteHandler('./routes/gitea/blog'));
@@ -1066,7 +1065,7 @@ router.get('/miniflux/:feeds/:parameters?', lazyloadRouteHandler('./routes/minif
1066
1065
  // router.get('/nga/post/:tid', lazyloadRouteHandler('./routes/nga/post'));
1067
1066
 
1068
1067
  // Nautilus
1069
- router.get('/nautilus/topic/:tid', lazyloadRouteHandler('./routes/nautilus/topics'));
1068
+ // router.get('/nautilus/topic/:tid', lazyloadRouteHandler('./routes/nautilus/topics'));
1070
1069
 
1071
1070
  // JavBus migrated to v2
1072
1071
  // router.get('/javbus/home', lazyloadRouteHandler('./routes/javbus/home'));
@@ -1175,9 +1174,9 @@ router.get('/cyzone/author/:id', lazyloadRouteHandler('./routes/cyzone/author'))
1175
1174
  router.get('/cyzone/label/:name', lazyloadRouteHandler('./routes/cyzone/label'));
1176
1175
 
1177
1176
  // 政府
1178
- router.get('/gov/zhengce/zuixin', lazyloadRouteHandler('./routes/gov/zhengce/zuixin'));
1179
- router.get('/gov/zhengce/wenjian/:pcodeJiguan?', lazyloadRouteHandler('./routes/gov/zhengce/wenjian'));
1180
- router.get('/gov/zhengce/govall/:advance?', lazyloadRouteHandler('./routes/gov/zhengce/govall'));
1177
+ // router.get('/gov/zhengce/zuixin', lazyloadRouteHandler('./routes/gov/zhengce/zuixin'));
1178
+ // router.get('/gov/zhengce/wenjian/:pcodeJiguan?', lazyloadRouteHandler('./routes/gov/zhengce/wenjian'));
1179
+ // router.get('/gov/zhengce/govall/:advance?', lazyloadRouteHandler('./routes/gov/zhengce/govall'));
1181
1180
  router.get('/gov/province/:name/:category', lazyloadRouteHandler('./routes/gov/province'));
1182
1181
  router.get('/gov/city/:name/:category', lazyloadRouteHandler('./routes/gov/city'));
1183
1182
  router.get('/gov/statecouncil/briefing', lazyloadRouteHandler('./routes/gov/statecouncil/briefing'));
@@ -1190,7 +1189,7 @@ router.get('/gov/suzhou/news/:uid', lazyloadRouteHandler('./routes/gov/suzhou/ne
1190
1189
  router.get('/gov/suzhou/doc', lazyloadRouteHandler('./routes/gov/suzhou/doc'));
1191
1190
 
1192
1191
  // 江苏
1193
- router.get('/gov/jiangsu/eea/:type?', lazyloadRouteHandler('./routes/gov/jiangsu/eea'));
1192
+ // router.get('/gov/jiangsu/eea/:type?', lazyloadRouteHandler('./routes/gov/jiangsu/eea'));
1194
1193
 
1195
1194
  // 山西
1196
1195
  router.get('/gov/shanxi/rst/:category', lazyloadRouteHandler('./routes/gov/shanxi/rst'));
@@ -1356,9 +1355,9 @@ router.get('/ui-cn/user/:id', lazyloadRouteHandler('./routes/ui-cn/user'));
1356
1355
  router.get('/bjp/apod', lazyloadRouteHandler('./routes/bjp/apod'));
1357
1356
 
1358
1357
  // 洛谷
1359
- router.get('/luogu/daily/:id?', lazyloadRouteHandler('./routes/luogu/daily'));
1360
- router.get('/luogu/contest', lazyloadRouteHandler('./routes/luogu/contest'));
1361
- router.get('/luogu/user/feed/:uid', lazyloadRouteHandler('./routes/luogu/userFeed'));
1358
+ // router.get('/luogu/daily/:id?', lazyloadRouteHandler('./routes/luogu/daily'));
1359
+ // router.get('/luogu/contest', lazyloadRouteHandler('./routes/luogu/contest'));
1360
+ // router.get('/luogu/user/feed/:uid', lazyloadRouteHandler('./routes/luogu/userFeed'));
1362
1361
 
1363
1362
  // 决胜网
1364
1363
  router.get('/juesheng', lazyloadRouteHandler('./routes/juesheng'));
@@ -1534,15 +1533,15 @@ router.get('/ps/:lang?/product/:gridName', lazyloadRouteHandler('./routes/ps/pro
1534
1533
  // Quanta Magazine
1535
1534
  router.get('/quantamagazine/archive', lazyloadRouteHandler('./routes/quantamagazine/archive'));
1536
1535
 
1537
- // Nintendo
1538
- router.get('/nintendo/eshop/jp', lazyloadRouteHandler('./routes/nintendo/eshop_jp'));
1539
- router.get('/nintendo/eshop/hk', lazyloadRouteHandler('./routes/nintendo/eshop_hk'));
1540
- router.get('/nintendo/eshop/us', lazyloadRouteHandler('./routes/nintendo/eshop_us'));
1541
- router.get('/nintendo/eshop/cn', lazyloadRouteHandler('./routes/nintendo/eshop_cn'));
1542
- router.get('/nintendo/news', lazyloadRouteHandler('./routes/nintendo/news'));
1543
- router.get('/nintendo/news/china', lazyloadRouteHandler('./routes/nintendo/news_china'));
1544
- router.get('/nintendo/direct', lazyloadRouteHandler('./routes/nintendo/direct'));
1545
- router.get('/nintendo/system-update', lazyloadRouteHandler('./routes/nintendo/system-update'));
1536
+ // Nintendo migrated to v2
1537
+ // router.get('/nintendo/eshop/jp', lazyloadRouteHandler('./routes/nintendo/eshop_jp'));
1538
+ // router.get('/nintendo/eshop/hk', lazyloadRouteHandler('./routes/nintendo/eshop_hk'));
1539
+ // router.get('/nintendo/eshop/us', lazyloadRouteHandler('./routes/nintendo/eshop_us'));
1540
+ // router.get('/nintendo/eshop/cn', lazyloadRouteHandler('./routes/nintendo/eshop_cn'));
1541
+ // router.get('/nintendo/news', lazyloadRouteHandler('./routes/nintendo/news'));
1542
+ // router.get('/nintendo/news/china', lazyloadRouteHandler('./routes/nintendo/news_china'));
1543
+ // router.get('/nintendo/direct', lazyloadRouteHandler('./routes/nintendo/direct'));
1544
+ // router.get('/nintendo/system-update', lazyloadRouteHandler('./routes/nintendo/system-update'));
1546
1545
 
1547
1546
  // 世界卫生组织 migrated to v2
1548
1547
  // router.get('/who/news-room/:category?/:language?', lazyloadRouteHandler('./routes/who/news-room'));
@@ -1790,7 +1789,7 @@ router.get('/archdaily', lazyloadRouteHandler('./routes/archdaily/home'));
1790
1789
  router.get('/aptonic/action/:untested?', lazyloadRouteHandler('./routes/aptonic/action'));
1791
1790
 
1792
1791
  // 印记中文周刊
1793
- router.get('/docschina/jsweekly', lazyloadRouteHandler('./routes/docschina/jsweekly'));
1792
+ // router.get('/docschina/jsweekly', lazyloadRouteHandler('./routes/docschina/jsweekly'));
1794
1793
 
1795
1794
  // im2maker
1796
1795
  router.get('/im2maker/:channel?', lazyloadRouteHandler('./routes/im2maker/index'));
@@ -1894,14 +1893,14 @@ router.get('/keyakizaka46/blog', lazyloadRouteHandler('./routes/keyakizaka46/blo
1894
1893
  router.get('/hinatazaka46/blog', lazyloadRouteHandler('./routes/hinatazaka46/blog'));
1895
1894
  // router.get('/sakurazaka46/blog', lazyloadRouteHandler('./routes/sakurazaka46/blog'));
1896
1895
 
1897
- // 酷安
1898
- router.get('/coolapk/tuwen/:type?', lazyloadRouteHandler('./routes/coolapk/tuwen'));
1899
- router.get('/coolapk/tuwen-xinxian', lazyloadRouteHandler('./routes/coolapk/tuwen'));
1900
- router.get('/coolapk/toutiao/:type?', lazyloadRouteHandler('./routes/coolapk/toutiao'));
1901
- router.get('/coolapk/huati/:tag', lazyloadRouteHandler('./routes/coolapk/huati'));
1902
- router.get('/coolapk/user/:uid/dynamic', lazyloadRouteHandler('./routes/coolapk/userDynamic'));
1903
- router.get('/coolapk/dyh/:dyhId', lazyloadRouteHandler('./routes/coolapk/dyh'));
1904
- router.get('/coolapk/hot/:type?/:period?', lazyloadRouteHandler('./routes/coolapk/hot'));
1896
+ // 酷安 migrated to v2
1897
+ // router.get('/coolapk/tuwen/:type?', lazyloadRouteHandler('./routes/coolapk/tuwen'));
1898
+ // router.get('/coolapk/tuwen-xinxian', lazyloadRouteHandler('./routes/coolapk/tuwen'));
1899
+ // router.get('/coolapk/toutiao/:type?', lazyloadRouteHandler('./routes/coolapk/toutiao'));
1900
+ // router.get('/coolapk/huati/:tag', lazyloadRouteHandler('./routes/coolapk/huati'));
1901
+ // router.get('/coolapk/user/:uid/dynamic', lazyloadRouteHandler('./routes/coolapk/userDynamic'));
1902
+ // router.get('/coolapk/dyh/:dyhId', lazyloadRouteHandler('./routes/coolapk/dyh'));
1903
+ // router.get('/coolapk/hot/:type?/:period?', lazyloadRouteHandler('./routes/coolapk/hot'));
1905
1904
 
1906
1905
  // 模型网
1907
1906
  router.get('/moxingnet', lazyloadRouteHandler('./routes/moxingnet'));
@@ -2087,7 +2086,7 @@ router.get('/haimaoba/:id?', lazyloadRouteHandler('./routes/haimaoba/comics'));
2087
2086
  router.get('/pgyer/:app?', lazyloadRouteHandler('./routes/pgyer/app'));
2088
2087
 
2089
2088
  // 微博个人时间线
2090
- router.get('/weibo/timeline/:uid/:feature?/:routeParams?', lazyloadRouteHandler('./routes/weibo/timeline'));
2089
+ // router.get('/weibo/timeline/:uid/:feature?/:routeParams?', lazyloadRouteHandler('./routes/weibo/timeline'));
2091
2090
 
2092
2091
  // TAPTAP migrated to v2
2093
2092
  // router.get('/taptap/topic/:id/:label?', lazyloadRouteHandler('./routes/taptap/topic'));
@@ -2160,7 +2159,7 @@ router.get('/kaggle/user/:user', lazyloadRouteHandler('./routes/kaggle/user'));
2160
2159
  // router.get('/pubmed/trending', lazyloadRouteHandler('./routes/pubmed/trending'));
2161
2160
 
2162
2161
  // 领科 (linkresearcher.com)
2163
- router.get('/linkresearcher/:params', lazyloadRouteHandler('./routes/linkresearcher/index'));
2162
+ // router.get('/linkresearcher/:params', lazyloadRouteHandler('./routes/linkresearcher/index'));
2164
2163
 
2165
2164
  // eLife [Sci Journal]
2166
2165
  router.get('/elife/:tid', lazyloadRouteHandler('./routes/elife/index'));
@@ -2258,7 +2257,7 @@ router.get('/remote-work/:caty?', lazyloadRouteHandler('./routes/remote-work/ind
2258
2257
  router.get('/chinatimes/:caty', lazyloadRouteHandler('./routes/chinatimes/index'));
2259
2258
 
2260
2259
  // TransferWise
2261
- router.get('/transferwise/pair/:source/:target', lazyloadRouteHandler('./routes/transferwise/pair'));
2260
+ // router.get('/transferwise/pair/:source/:target', lazyloadRouteHandler('./routes/transferwise/pair'));
2262
2261
 
2263
2262
  // chocolatey
2264
2263
  router.get('/chocolatey/software/:name?', lazyloadRouteHandler('./routes/chocolatey/software'));
@@ -2474,8 +2473,8 @@ router.get('/haohaozhu/discover/:keyword?', lazyloadRouteHandler('./routes/haoha
2474
2473
  // router.get('/neu/news/:type', lazyloadRouteHandler('./routes/universities/neu/news'));
2475
2474
 
2476
2475
  // 快递100
2477
- router.get('/kuaidi100/track/:number/:id/:phone?', lazyloadRouteHandler('./routes/kuaidi100/index'));
2478
- router.get('/kuaidi100/company', lazyloadRouteHandler('./routes/kuaidi100/supported_company'));
2476
+ // router.get('/kuaidi100/track/:number/:id/:phone?', lazyloadRouteHandler('./routes/kuaidi100/index'));
2477
+ // router.get('/kuaidi100/company', lazyloadRouteHandler('./routes/kuaidi100/supported_company'));
2479
2478
 
2480
2479
  // 稻草人书屋
2481
2480
  router.get('/dcrsw/:name/:count?', lazyloadRouteHandler('./routes/novel/dcrsw'));
@@ -2579,8 +2578,8 @@ router.get('/zkyyjs', lazyloadRouteHandler('./routes/universities/zkyyjs/zkyyjs'
2579
2578
  // 中国海洋大学信电学院
2580
2579
  router.get('/outele', lazyloadRouteHandler('./routes/universities/outele/outele'));
2581
2580
 
2582
- // 华东师范大学研究生院
2583
- router.get('/ecnuyjs', lazyloadRouteHandler('./routes/universities/ecnuyjs/ecnuyjs'));
2581
+ // 华东师范大学研究生院 migrated to v2
2582
+ // router.get('/ecnuyjs', lazyloadRouteHandler('./routes/universities/ecnuyjs/ecnuyjs'));
2584
2583
 
2585
2584
  // 考研帮调剂信息
2586
2585
  router.get('/kaoyan', lazyloadRouteHandler('./routes/kaoyan/kaoyan'));
@@ -2747,7 +2746,7 @@ router.get('/qlwb/news', lazyloadRouteHandler('./routes/qlwb/news'));
2747
2746
  router.get('/qlwb/city/:city', lazyloadRouteHandler('./routes/qlwb/city'));
2748
2747
 
2749
2748
  // 蜻蜓FM
2750
- router.get('/qingting/channel/:id', lazyloadRouteHandler('./routes/qingting/channel'));
2749
+ // router.get('/qingting/channel/:id', lazyloadRouteHandler('./routes/qingting/channel'));
2751
2750
 
2752
2751
  // 金色财经
2753
2752
  router.get('/jinse/lives', lazyloadRouteHandler('./routes/jinse/lives'));
@@ -2807,7 +2806,7 @@ router.get('/manhuadui/manhua/:name/:serial?', lazyloadRouteHandler('./routes/ma
2807
2806
  router.get('/fzdm/manhua/:id', lazyloadRouteHandler('./routes/fzdm/manhua'));
2808
2807
 
2809
2808
  // Aljazeera 半岛网
2810
- router.get('/aljazeera/news', lazyloadRouteHandler('./routes/aljazeera/news'));
2809
+ // router.get('/aljazeera/news', lazyloadRouteHandler('./routes/aljazeera/news'));
2811
2810
 
2812
2811
  // CFD indices dividend adjustment
2813
2812
  router.get('/cfd/gbp_div', lazyloadRouteHandler('./routes/cfd/gbp_div'));
@@ -2919,7 +2918,7 @@ router.get('/changku', lazyloadRouteHandler('./routes/changku/index'));
2919
2918
  router.get('/changku/cate/:postid', lazyloadRouteHandler('./routes/changku/index'));
2920
2919
 
2921
2920
  // SCMP
2922
- router.get('/scmp/:category_id', lazyloadRouteHandler('./routes/scmp/index'));
2921
+ // router.get('/scmp/:category_id', lazyloadRouteHandler('./routes/scmp/index'));
2923
2922
 
2924
2923
  // 上海市生态环境局
2925
2924
  router.get('/gov/shanghai/sthj', lazyloadRouteHandler('./routes/gov/shanghai/sthj'));
@@ -3276,8 +3275,8 @@ router.get('/ofweek/news', lazyloadRouteHandler('./routes/ofweek/news'));
3276
3275
  // 八阕
3277
3276
  router.get('/popyard/:caty?', lazyloadRouteHandler('./routes/popyard/index'));
3278
3277
 
3279
- // 原神
3280
- router.get('/yuanshen/:location?/:category?', lazyloadRouteHandler('./routes/yuanshen/index'));
3278
+ // 原神 migrated to v2
3279
+ // router.get('/yuanshen/:location?/:category?', lazyloadRouteHandler('./routes/yuanshen/index'));
3281
3280
 
3282
3281
  // World Trade Organization
3283
3282
  router.get('/wto/dispute-settlement/:year?', lazyloadRouteHandler('./routes/wto/dispute-settlement'));
@@ -3353,9 +3352,9 @@ router.get('/nwpu/:column', lazyloadRouteHandler('./routes/nwpu/index'));
3353
3352
  router.get('/us/supremecourt/argument_audio/:year?', lazyloadRouteHandler('./routes/us/supremecourt/argument_audio'));
3354
3353
 
3355
3354
  // 得到
3356
- router.get('/dedao/list/:caty?', lazyloadRouteHandler('./routes/dedao/list'));
3357
- router.get('/dedao/knowledge/:topic?/:type?', lazyloadRouteHandler('./routes/dedao/knowledge'));
3358
- router.get('/dedao/:caty?', lazyloadRouteHandler('./routes/dedao/index'));
3355
+ // router.get('/dedao/list/:caty?', lazyloadRouteHandler('./routes/dedao/list'));
3356
+ // router.get('/dedao/knowledge/:topic?/:type?', lazyloadRouteHandler('./routes/dedao/knowledge'));
3357
+ // router.get('/dedao/:caty?', lazyloadRouteHandler('./routes/dedao/index'));
3359
3358
 
3360
3359
  // 未名新闻
3361
3360
  router.get('/mitbbs/:caty?', lazyloadRouteHandler('./routes/mitbbs/index'));
@@ -3397,7 +3396,7 @@ router.get('/clb/commentary/:lang?', lazyloadRouteHandler('./routes/clb/commenta
3397
3396
  router.get('/iie/blog', lazyloadRouteHandler('./routes/iie/blog'));
3398
3397
 
3399
3398
  // McKinsey Greater China
3400
- router.get('/mckinsey/:category?', lazyloadRouteHandler('./routes/mckinsey/index'));
3399
+ // router.get('/mckinsey/:category?', lazyloadRouteHandler('./routes/mckinsey/index'));
3401
3400
 
3402
3401
  // 超理论坛
3403
3402
  router.get('/chaoli/:channel?', lazyloadRouteHandler('./routes/chaoli/index'));
@@ -3682,7 +3681,7 @@ router.get('/mcdonalds/:category', lazyloadRouteHandler('./routes/mcdonalds/news
3682
3681
  router.get('/gocomics/:name', lazyloadRouteHandler('./routes/gocomics/index'));
3683
3682
 
3684
3683
  // Comics Kingdom
3685
- router.get('/comicskingdom/:name', lazyloadRouteHandler('./routes/comicskingdom/index'));
3684
+ // router.get('/comicskingdom/:name', lazyloadRouteHandler('./routes/comicskingdom/index'));
3686
3685
 
3687
3686
  // Media Digest
3688
3687
  router.get('/mediadigest/:range/:category?', lazyloadRouteHandler('./routes/mediadigest/category'));
@@ -3812,9 +3811,6 @@ router.get('/furaffinity/favorites/:username/:nsfw?', lazyloadRouteHandler('./ro
3812
3811
  router.get('/furaffinity/submission_comments/:id', lazyloadRouteHandler('./routes/furaffinity/submission_comments'));
3813
3812
  router.get('/furaffinity/journal_comments/:id', lazyloadRouteHandler('./routes/furaffinity/journal_comments'));
3814
3813
 
3815
- // Logseq
3816
- router.get('/logseq/changelog', lazyloadRouteHandler('./routes/logseq/changelog'));
3817
-
3818
3814
  // 亿欧网
3819
3815
  router.get('/iyiou', lazyloadRouteHandler('./routes/iyiou'));
3820
3816
 
@@ -4032,7 +4028,7 @@ router.get('/sbs/chinese/:category?/:id?/:dialect?/:language?', lazyloadRouteHan
4032
4028
  // router.get('/asiantolick/:category?/:keyword?', lazyloadRouteHandler('./routes/asiantolick'));
4033
4029
 
4034
4030
  // Research Gate
4035
- router.get('/researchgate/publications/:id', lazyloadRouteHandler('./routes/researchgate/publications'));
4031
+ // router.get('/researchgate/publications/:id', lazyloadRouteHandler('./routes/researchgate/publications'));
4036
4032
 
4037
4033
  // QuestMobile
4038
4034
  router.get('/questmobile/report/:category?/:label?', lazyloadRouteHandler('./routes/questmobile/report'));
@@ -87,7 +87,7 @@ module.exports = async (ctx) => {
87
87
 
88
88
  const single = {
89
89
  title: `${pageMeta.issueName} | ${pageMeta.issueNum} (${pageMeta.issueDate})`,
90
- author: '@yech1990',
90
+ author: '@y9c',
91
91
  description: contents,
92
92
  link: address,
93
93
  guid: address,
@@ -1,5 +1,6 @@
1
1
  const got = require('@/utils/got');
2
2
  const cheerio = require('cheerio');
3
+ const { parseDate } = require('@/utils/parse-date');
3
4
 
4
5
  module.exports = async (ctx) => {
5
6
  const postid = ctx.params.postid;
@@ -29,8 +30,10 @@ module.exports = async (ctx) => {
29
30
  guid: post.attr('id'),
30
31
  link: `${pageUrl}#${post.attr('id')}`,
31
32
  author: post.find('.dark').first().text(),
33
+ pubDate: parseDate(post.find('.ago').attr('title')),
32
34
  };
33
35
  })
34
36
  .reverse(),
37
+ allowEmpty: true,
35
38
  };
36
39
  };
@@ -7,6 +7,9 @@
7
7
  * lib/v2/gzh360
8
8
  * lib/v2/pku/nsd/gd
9
9
  * lib/v2/sdu/cs
10
+ * lib/v2/nua/utils
11
+ * lib/v2/hrbeu
12
+ * lib/v2/freewechat
10
13
  *
11
14
  * If your new route is not in the above folders, please add it to the list.
12
15
  *
@@ -24,7 +24,7 @@ module.exports = {
24
24
 
25
25
  return {
26
26
  title: item.text().trim(),
27
- link: `${rootUrl}${item.prev().prev().attr('href')}`,
27
+ link: `${rootUrl}${item.prev().find('a').attr('href')}`,
28
28
  };
29
29
  });
30
30
 
@@ -52,7 +52,7 @@ module.exports = {
52
52
  .join(', ');
53
53
  item.description = `<p>${content('#intro-block .p-t-5').text()}</p><img src="${content('.img_zoom_img img')
54
54
  .toArray()
55
- .map((image) => content(image).attr('src'))
55
+ .map((image) => content(image).attr('data-original'))
56
56
  .join('"><img src="')}">`;
57
57
 
58
58
  return item;
@@ -27,16 +27,19 @@ module.exports = async (ctx) => {
27
27
 
28
28
  const data = JSON.parse(response.data.match(/"itemList":(\[.*?\])/)[1]);
29
29
 
30
- let items = data.slice(0, ctx.query.limit ? parseInt(ctx.query.limit) : 30).map((item) => {
31
- item = item.templateMaterial ?? item;
32
- return {
33
- title: item.widgetTitle.replace(/<\/?em>/g, ''),
34
- author: item.author,
35
- pubDate: parseDate(item.publishTime),
36
- link: `${rootUrl}/${path === '/newsflashes' ? 'newsflashes' : 'p'}/${item.itemId}`,
37
- description: item.widgetContent ?? item.content,
38
- };
39
- });
30
+ let items = data
31
+ .slice(0, ctx.query.limit ? parseInt(ctx.query.limit) : 30)
32
+ .filter((item) => item.itemType !== 0)
33
+ .map((item) => {
34
+ item = item.templateMaterial ?? item;
35
+ return {
36
+ title: item.widgetTitle.replace(/<\/?em>/g, ''),
37
+ author: item.author,
38
+ pubDate: parseDate(item.publishTime),
39
+ link: `${rootUrl}/${path === '/newsflashes' ? 'newsflashes' : 'p'}/${item.itemId}`,
40
+ description: item.widgetContent ?? item.content,
41
+ };
42
+ });
40
43
 
41
44
  if (!/^\/(search|newsflashes)/.test(path)) {
42
45
  items = await Promise.all(
@@ -47,20 +50,22 @@ module.exports = async (ctx) => {
47
50
  url: item.link,
48
51
  });
49
52
 
50
- const key = CryptoJS.enc.Utf8.parse('efabccee-b754-4c');
51
- const cipherText = detailResponse.data.match(/{"state":"(.*)","isEncrypt":true}/)[1];
52
-
53
- const content = JSON.parse(
54
- CryptoJS.AES.decrypt(cipherText, key, {
55
- mode: CryptoJS.mode.ECB,
56
- padding: CryptoJS.pad.Pkcs7,
57
- })
58
- .toString(CryptoJS.enc.Utf8)
59
- .toString()
60
- ).articleDetail.articleDetailData.data;
61
-
62
- item.description = content.widgetContent;
63
-
53
+ const cipherTextList = detailResponse.data.match(/{"state":"(.*)","isEncrypt":true}/) ?? [];
54
+ if (cipherTextList.length !== 0) {
55
+ const key = CryptoJS.enc.Utf8.parse('efabccee-b754-4c');
56
+ const content = JSON.parse(
57
+ CryptoJS.AES.decrypt(cipherTextList[1], key, {
58
+ mode: CryptoJS.mode.ECB,
59
+ padding: CryptoJS.pad.Pkcs7,
60
+ })
61
+ .toString(CryptoJS.enc.Utf8)
62
+ .toString()
63
+ ).articleDetail.articleDetailData.data;
64
+ item.description = content.widgetContent;
65
+ } else {
66
+ const $ = cheerio.load(detailResponse.body);
67
+ item.description = $('div.articleDetailContent').html();
68
+ }
64
69
  return item;
65
70
  })
66
71
  )
@@ -3,10 +3,10 @@ const cheerio = require('cheerio');
3
3
  const { parseDate } = require('@/utils/parse-date');
4
4
 
5
5
  module.exports = async (ctx) => {
6
- const category = ctx.params.category ?? 'realtime';
6
+ const path = ctx.path === '/' ? '/realtime' : ctx.path;
7
7
 
8
8
  const rootUrl = 'https://www.8world.com';
9
- const currentUrl = `${rootUrl}/${category}`;
9
+ const currentUrl = `${rootUrl}${path}`;
10
10
 
11
11
  const response = await got({
12
12
  method: 'get',
@@ -15,19 +15,19 @@ module.exports = async (ctx) => {
15
15
 
16
16
  const $ = cheerio.load(response.data);
17
17
 
18
- const list = $('div[data-column="Two-Third"] .article-title .article-link')
19
- .map((_, item) => {
18
+ let items = $('div[data-column="Two-Third"] .article-title .article-link')
19
+ .toArray()
20
+ .map((item) => {
20
21
  item = $(item);
21
22
 
22
23
  return {
23
24
  title: item.text(),
24
25
  link: `${rootUrl}${item.attr('href')}`,
25
26
  };
26
- })
27
- .get();
27
+ });
28
28
 
29
- const items = await Promise.all(
30
- list.map((item) =>
29
+ items = await Promise.all(
30
+ items.map((item) =>
31
31
  ctx.cache.tryGet(item.link, async () => {
32
32
  const detailResponse = await got({
33
33
  method: 'get',