rsshub 1.0.0-master.f7f8b7a → 1.0.0-master.f812e91

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 (419) hide show
  1. package/README.md +6 -4
  2. package/lib/radar-rules.js +0 -93
  3. package/lib/router.js +5 -297
  4. package/lib/routes/199it/category.js +1 -1
  5. package/lib/routes/199it/tag.js +1 -1
  6. package/lib/routes/199it/utils.js +1 -1
  7. package/lib/v2/9to5/utils.js +1 -1
  8. package/lib/v2/aeon/utils.js +1 -1
  9. package/lib/v2/agirls/maintainer.js +0 -1
  10. package/lib/v2/agirls/radar.js +0 -6
  11. package/lib/v2/agirls/router.js +0 -1
  12. package/lib/v2/artstation/maintainer.js +3 -0
  13. package/lib/v2/artstation/radar.js +13 -0
  14. package/lib/v2/artstation/router.js +3 -0
  15. package/lib/v2/artstation/templates/description.art +17 -0
  16. package/lib/v2/artstation/user.js +98 -0
  17. package/lib/v2/bilibili/maintainer.js +0 -5
  18. package/lib/v2/bilibili/radar.js +0 -6
  19. package/lib/v2/bilibili/router.js +0 -5
  20. package/lib/v2/cctv/maintainer.js +0 -1
  21. package/lib/v2/cctv/radar.js +0 -6
  22. package/lib/v2/cctv/router.js +0 -1
  23. package/lib/v2/curius/templates/description.art +1 -1
  24. package/lib/v2/dahecube/index.js +1 -1
  25. package/lib/v2/deeplearning/maintainer.js +3 -0
  26. package/lib/v2/deeplearning/radar.js +13 -0
  27. package/lib/v2/deeplearning/router.js +3 -0
  28. package/lib/v2/deeplearning/thebatch.js +36 -0
  29. package/lib/v2/diandong/maintainer.js +0 -1
  30. package/lib/v2/diandong/radar.js +0 -6
  31. package/lib/v2/diandong/router.js +0 -1
  32. package/lib/v2/dx2025/radar.js +0 -6
  33. package/lib/v2/eastday/maintainer.js +0 -1
  34. package/lib/v2/eastday/radar.js +0 -6
  35. package/lib/v2/eastday/router.js +0 -1
  36. package/lib/v2/economist/maintainer.js +0 -2
  37. package/lib/v2/economist/radar.js +0 -8
  38. package/lib/v2/economist/router.js +0 -2
  39. package/lib/v2/ft/maintainer.js +0 -1
  40. package/lib/v2/ft/radar.js +0 -13
  41. package/lib/v2/ft/router.js +0 -1
  42. package/lib/v2/github/radar.js +12 -12
  43. package/lib/v2/gov/chinamine-safety/util.js +77 -0
  44. package/lib/v2/gov/chinamine-safety/xw.js +37 -0
  45. package/lib/v2/gov/chinamine-safety/zfxxgk.js +36 -0
  46. package/lib/v2/gov/maintainer.js +2 -0
  47. package/lib/v2/gov/radar.js +191 -0
  48. package/lib/v2/gov/router.js +2 -0
  49. package/lib/v2/hellobtc/maintainer.js +0 -1
  50. package/lib/v2/hellobtc/radar.js +0 -6
  51. package/lib/v2/hellobtc/router.js +0 -1
  52. package/lib/v2/instagram/radar.js +2 -2
  53. package/lib/v2/jianshu/maintainer.js +5 -0
  54. package/lib/v2/jianshu/radar.js +25 -0
  55. package/lib/v2/jianshu/router.js +5 -0
  56. package/lib/{routes → v2}/jianshu/utils.js +18 -26
  57. package/lib/v2/nhk/news.js +1 -1
  58. package/lib/v2/nytimes/radar.js +0 -6
  59. package/lib/v2/nytimes/router.js +0 -1
  60. package/lib/v2/qweather/3days.js +1 -1
  61. package/lib/v2/reuters/common.js +55 -48
  62. package/lib/v2/sehuatang/index.js +10 -12
  63. package/lib/v2/sehuatang/user.js +11 -12
  64. package/lib/v2/thenewslens/radar.js +0 -6
  65. package/lib/v2/thoughtco/index.js +1 -1
  66. package/lib/v2/threads/index.js +1 -1
  67. package/lib/v2/tophub/list.js +40 -0
  68. package/lib/v2/tophub/maintainer.js +1 -0
  69. package/lib/v2/tophub/radar.js +6 -0
  70. package/lib/v2/tophub/router.js +1 -0
  71. package/lib/v2/tophub/templates/rank.art +22 -0
  72. package/lib/v2/twreporter/maintainer.js +0 -2
  73. package/lib/v2/twreporter/radar.js +0 -12
  74. package/lib/v2/twreporter/router.js +0 -2
  75. package/lib/v2/worldjournal/index.js +1 -1
  76. package/lib/v2/woshipm/maintainer.js +0 -2
  77. package/lib/v2/woshipm/radar.js +0 -12
  78. package/lib/v2/woshipm/router.js +0 -2
  79. package/lib/v2/zhihu/maintainer.js +2 -0
  80. package/lib/v2/zhihu/radar.js +18 -0
  81. package/lib/v2/zhihu/router.js +2 -0
  82. package/lib/v2/zhihu/xhu/activities.js +112 -0
  83. package/lib/v2/zhihu/xhu/answers.js +31 -0
  84. package/lib/views/rss3-ums.js +1 -1
  85. package/package.json +3 -3
  86. package/lib/routes/8btc/author.js +0 -49
  87. package/lib/routes/8btc/news/flash.js +0 -41
  88. package/lib/routes/91ddcc/stage.js +0 -48
  89. package/lib/routes/91ddcc/user.js +0 -45
  90. package/lib/routes/93/index.js +0 -50
  91. package/lib/routes/allnow/column.js +0 -7
  92. package/lib/routes/allnow/index.js +0 -5
  93. package/lib/routes/allnow/tag.js +0 -7
  94. package/lib/routes/allnow/user.js +0 -7
  95. package/lib/routes/allnow/utils.js +0 -67
  96. package/lib/routes/andyt/index.js +0 -36
  97. package/lib/routes/asahi/area.js +0 -57
  98. package/lib/routes/baidu/daily.js +0 -55
  99. package/lib/routes/bell-labs/events-news.js +0 -70
  100. package/lib/routes/bihu/activaties.js +0 -76
  101. package/lib/routes/bioon/latest.js +0 -51
  102. package/lib/routes/bishijie/kuaixun.js +0 -21
  103. package/lib/routes/bjnews/epaper.js +0 -80
  104. package/lib/routes/bof/home.js +0 -42
  105. package/lib/routes/boston/index.js +0 -73
  106. package/lib/routes/buaq/index.js +0 -31
  107. package/lib/routes/cgtn/pick.js +0 -45
  108. package/lib/routes/cgtn/top.js +0 -45
  109. package/lib/routes/chinadialogue/column.js +0 -58
  110. package/lib/routes/chinadialogue/topics.js +0 -55
  111. package/lib/routes/chinalaborwatch/reports.js +0 -53
  112. package/lib/routes/chinatimes/index.js +0 -115
  113. package/lib/routes/cmes/news.js +0 -64
  114. package/lib/routes/commonapp/blog.js +0 -42
  115. package/lib/routes/cria/news.js +0 -57
  116. package/lib/routes/dayone/blog.js +0 -56
  117. package/lib/routes/deeplearningai/thebatch.js +0 -29
  118. package/lib/routes/dianping/user.js +0 -98
  119. package/lib/routes/donews/index.js +0 -59
  120. package/lib/routes/donews/utils.js +0 -19
  121. package/lib/routes/dsb/area.js +0 -33
  122. package/lib/routes/dxy/vaccine.js +0 -109
  123. package/lib/routes/esquirehk/tag.js +0 -71
  124. package/lib/routes/facebook/page.js +0 -128
  125. package/lib/routes/feixuew/index.js +0 -63
  126. package/lib/routes/fjnews/fznews.js +0 -55
  127. package/lib/routes/fjnews/jjnews.js +0 -43
  128. package/lib/routes/fulinian/index.js +0 -50
  129. package/lib/routes/gab/explore.js +0 -31
  130. package/lib/routes/gamegrape/index.js +0 -73
  131. package/lib/routes/gvm/index.js +0 -94
  132. package/lib/routes/hkcd/pdf.js +0 -30
  133. package/lib/routes/hkcnews/news.js +0 -63
  134. package/lib/routes/hkgolden/index.js +0 -110
  135. package/lib/routes/huawei/xinsheng/index.js +0 -61
  136. package/lib/routes/iea/index.js +0 -53
  137. package/lib/routes/iie/blog.js +0 -47
  138. package/lib/routes/imaijia/category.js +0 -63
  139. package/lib/routes/itjuzi/invest.js +0 -32
  140. package/lib/routes/itjuzi/merge.js +0 -32
  141. package/lib/routes/iyiou/index.js +0 -41
  142. package/lib/routes/jianshu/trending.js +0 -28
  143. package/lib/routes/jiazhen108/index.js +0 -47
  144. package/lib/routes/jinritoutiao/keyword.js +0 -27
  145. package/lib/routes/juesheng/index.js +0 -49
  146. package/lib/routes/krankenkassen/index.js +0 -54
  147. package/lib/routes/kzfeed/topic.js +0 -122
  148. package/lib/routes/lingyi/index.js +0 -64
  149. package/lib/routes/lowendtalk/discussion.js +0 -43
  150. package/lib/routes/makeuseof/index.js +0 -59
  151. package/lib/routes/matataki/site/posts/author.js +0 -17
  152. package/lib/routes/matataki/site/posts/favorite.js +0 -42
  153. package/lib/routes/matataki/site/posts/scoreranking.js +0 -15
  154. package/lib/routes/matataki/site/posts/tag.js +0 -16
  155. package/lib/routes/matataki/site/posts/timeranking.js +0 -15
  156. package/lib/routes/matataki/site/posts/token.js +0 -18
  157. package/lib/routes/matataki/utils/matataki-utils.js +0 -125
  158. package/lib/routes/mi/board.js +0 -36
  159. package/lib/routes/mitbbs/index.js +0 -54
  160. package/lib/routes/nba/app_news.js +0 -40
  161. package/lib/routes/newsmth/account.js +0 -39
  162. package/lib/routes/newsmth/section.js +0 -99
  163. package/lib/routes/northhouse/index.js +0 -54
  164. package/lib/routes/or/index.js +0 -54
  165. package/lib/routes/partnershiponai/resources.js +0 -49
  166. package/lib/routes/pintu360/index.js +0 -54
  167. package/lib/routes/plainlaw/archives.js +0 -42
  168. package/lib/routes/pmcaff/user.js +0 -56
  169. package/lib/routes/polar/blog.js +0 -47
  170. package/lib/routes/popiask/questions.js +0 -41
  171. package/lib/routes/popiask/tapechat_questions.js +0 -43
  172. package/lib/routes/popyard/index.js +0 -93
  173. package/lib/routes/qlwb/city.js +0 -54
  174. package/lib/routes/qlwb/news.js +0 -37
  175. package/lib/routes/sbs/chinese.js +0 -70
  176. package/lib/routes/sixthtone/news.js +0 -52
  177. package/lib/routes/socialbeta/hunt.js +0 -29
  178. package/lib/routes/soomal/topics.js +0 -130
  179. package/lib/routes/tam/forecast.js +0 -53
  180. package/lib/routes/tanwu/products.js +0 -27
  181. package/lib/routes/tencent/guyu/channel.js +0 -64
  182. package/lib/routes/thrillist/index.js +0 -67
  183. package/lib/routes/tianya/comments.js +0 -41
  184. package/lib/routes/tianya/index.js +0 -32
  185. package/lib/routes/tianya/user.js +0 -34
  186. package/lib/routes/tuicool/mags.js +0 -41
  187. package/lib/routes/voa/day-photos.js +0 -54
  188. package/lib/routes/vuevideo/user.js +0 -60
  189. package/lib/routes/weseepro/circle.js +0 -38
  190. package/lib/routes/weseepro/newest-direct.js +0 -69
  191. package/lib/routes/weseepro/newest.js +0 -69
  192. package/lib/routes/whalegogo/home.js +0 -43
  193. package/lib/routes/whalegogo/portal.js +0 -57
  194. package/lib/routes/wired/tag.js +0 -31
  195. package/lib/routes/wukong/user.js +0 -93
  196. package/lib/routes/xici/index.js +0 -33
  197. package/lib/routes/yicas/blog.js +0 -52
  198. package/lib/routes/yidoutang/index.js +0 -33
  199. package/lib/routes/zfrontier/board_postlist.js +0 -36
  200. package/lib/routes/zfrontier/postlist.js +0 -33
  201. package/lib/routes/zzz/index.js +0 -59
  202. package/lib/v2/2047/index.js +0 -55
  203. package/lib/v2/2047/maintainer.js +0 -3
  204. package/lib/v2/2047/radar.js +0 -13
  205. package/lib/v2/2047/router.js +0 -3
  206. package/lib/v2/agirls/topic.js +0 -44
  207. package/lib/v2/allrecode/index.js +0 -65
  208. package/lib/v2/allrecode/maintainer.js +0 -5
  209. package/lib/v2/allrecode/news.js +0 -35
  210. package/lib/v2/allrecode/radar.js +0 -25
  211. package/lib/v2/allrecode/router.js +0 -4
  212. package/lib/v2/appledaily/index.js +0 -65
  213. package/lib/v2/appledaily/maintainer.js +0 -3
  214. package/lib/v2/appledaily/radar.js +0 -157
  215. package/lib/v2/appledaily/router.js +0 -3
  216. package/lib/v2/audiobar/latest.js +0 -53
  217. package/lib/v2/audiobar/maintainer.js +0 -3
  218. package/lib/v2/audiobar/radar.js +0 -13
  219. package/lib/v2/audiobar/router.js +0 -3
  220. package/lib/v2/baijing/index.js +0 -54
  221. package/lib/v2/baijing/maintainer.js +0 -3
  222. package/lib/v2/baijing/radar.js +0 -22
  223. package/lib/v2/baijing/router.js +0 -3
  224. package/lib/v2/bilibili/blackboard.js +0 -31
  225. package/lib/v2/bilibili/channel.js +0 -31
  226. package/lib/v2/bilibili/online.js +0 -25
  227. package/lib/v2/bilibili/topic.js +0 -50
  228. package/lib/v2/bilibili/video-all.js +0 -74
  229. package/lib/v2/cctv/special.js +0 -110
  230. package/lib/v2/cntheory/maintainer.js +0 -3
  231. package/lib/v2/cntheory/paper.js +0 -89
  232. package/lib/v2/cntheory/radar.js +0 -13
  233. package/lib/v2/cntheory/router.js +0 -3
  234. package/lib/v2/cntheory/templates/description.art +0 -2
  235. package/lib/v2/diandong/ddh.js +0 -51
  236. package/lib/v2/disinformationindex/blog.js +0 -48
  237. package/lib/v2/disinformationindex/maintainer.js +0 -4
  238. package/lib/v2/disinformationindex/radar.js +0 -19
  239. package/lib/v2/disinformationindex/research.js +0 -45
  240. package/lib/v2/disinformationindex/router.js +0 -4
  241. package/lib/v2/disinformationindex/templates/description.art +0 -7
  242. package/lib/v2/eastday/find.js +0 -49
  243. package/lib/v2/economist/download.js +0 -30
  244. package/lib/v2/economist/gre-vocabulary.js +0 -19
  245. package/lib/v2/eet-china/maintainer.js +0 -4
  246. package/lib/v2/eet-china/mp/index.js +0 -10
  247. package/lib/v2/eet-china/mp/tags.js +0 -10
  248. package/lib/v2/eet-china/mp/util.js +0 -67
  249. package/lib/v2/eet-china/radar.js +0 -24
  250. package/lib/v2/eet-china/router.js +0 -4
  251. package/lib/v2/ezone/index.js +0 -70
  252. package/lib/v2/ezone/maintainer.js +0 -3
  253. package/lib/v2/ezone/radar.js +0 -13
  254. package/lib/v2/ezone/router.js +0 -3
  255. package/lib/v2/filmdeepfocus/index.js +0 -58
  256. package/lib/v2/filmdeepfocus/maintainer.js +0 -3
  257. package/lib/v2/filmdeepfocus/radar.js +0 -13
  258. package/lib/v2/filmdeepfocus/router.js +0 -3
  259. package/lib/v2/ft/myft.js +0 -51
  260. package/lib/v2/good/index.js +0 -53
  261. package/lib/v2/good/maintainer.js +0 -3
  262. package/lib/v2/good/radar.js +0 -13
  263. package/lib/v2/good/router.js +0 -3
  264. package/lib/v2/gq/maintainer.js +0 -3
  265. package/lib/v2/gq/radar.js +0 -13
  266. package/lib/v2/gq/router.js +0 -3
  267. package/lib/v2/gq/templates/embed-article.art +0 -1
  268. package/lib/v2/gq/templates/embed-product.art +0 -4
  269. package/lib/v2/gq/templates/img.art +0 -6
  270. package/lib/v2/gq/templates/tw.art +0 -3
  271. package/lib/v2/gq/templates/videoObject.art +0 -6
  272. package/lib/v2/gq/templates/youtube.art +0 -3
  273. package/lib/v2/gq/tw/index.js +0 -165
  274. package/lib/v2/guandian/index.js +0 -37
  275. package/lib/v2/guandian/maintainer.js +0 -3
  276. package/lib/v2/guandian/radar.js +0 -13
  277. package/lib/v2/guandian/router.js +0 -3
  278. package/lib/v2/gz-cmc/index.js +0 -137
  279. package/lib/v2/gz-cmc/maintainer.js +0 -3
  280. package/lib/v2/gz-cmc/radar.js +0 -12
  281. package/lib/v2/gz-cmc/router.js +0 -3
  282. package/lib/v2/gz-cmc/templates/description.art +0 -3
  283. package/lib/v2/gzh360/_README +0 -1
  284. package/lib/v2/gzh360/category.js +0 -8
  285. package/lib/v2/gzh360/gzh.js +0 -18
  286. package/lib/v2/gzh360/maintainer.js +0 -4
  287. package/lib/v2/gzh360/radar.js +0 -19
  288. package/lib/v2/gzh360/router.js +0 -4
  289. package/lib/v2/gzh360/universal.js +0 -53
  290. package/lib/v2/gzh360/utils.js +0 -62
  291. package/lib/v2/hellobtc/topic.js +0 -43
  292. package/lib/v2/hjedd/article.js +0 -27
  293. package/lib/v2/hjedd/hot.js +0 -14
  294. package/lib/v2/hjedd/latest.js +0 -14
  295. package/lib/v2/hjedd/maintainer.js +0 -10
  296. package/lib/v2/hjedd/news.js +0 -14
  297. package/lib/v2/hjedd/notice.js +0 -14
  298. package/lib/v2/hjedd/original.js +0 -14
  299. package/lib/v2/hjedd/radar.js +0 -55
  300. package/lib/v2/hjedd/router.js +0 -10
  301. package/lib/v2/hjedd/templates/attachment.art +0 -7
  302. package/lib/v2/hjedd/top.js +0 -14
  303. package/lib/v2/hjedd/utils.js +0 -111
  304. package/lib/v2/hket/index.js +0 -122
  305. package/lib/v2/hket/maintainer.js +0 -3
  306. package/lib/v2/hket/radar.js +0 -45
  307. package/lib/v2/hket/router.js +0 -3
  308. package/lib/v2/hket/templates/description.art +0 -1
  309. package/lib/v2/hket/templates/image.art +0 -1
  310. package/lib/v2/hotchina/index.js +0 -55
  311. package/lib/v2/hotchina/maintainer.js +0 -5
  312. package/lib/v2/hotchina/radar.js +0 -25
  313. package/lib/v2/hotchina/router.js +0 -3
  314. package/lib/v2/hyqss/index.js +0 -89
  315. package/lib/v2/hyqss/maintainer.js +0 -4
  316. package/lib/v2/hyqss/radar.js +0 -22
  317. package/lib/v2/hyqss/router.js +0 -3
  318. package/lib/v2/i-cable/category.js +0 -74
  319. package/lib/v2/i-cable/maintainer.js +0 -3
  320. package/lib/v2/i-cable/radar.js +0 -13
  321. package/lib/v2/i-cable/router.js +0 -3
  322. package/lib/v2/i-cable/templates/desc.art +0 -8
  323. package/lib/v2/islander/maintainer.js +0 -4
  324. package/lib/v2/islander/radar.js +0 -19
  325. package/lib/v2/islander/router.js +0 -4
  326. package/lib/v2/islander/search.js +0 -33
  327. package/lib/v2/islander/top30event.js +0 -28
  328. package/lib/v2/knowmedia/index.js +0 -38
  329. package/lib/v2/knowmedia/maintainer.js +0 -3
  330. package/lib/v2/knowmedia/radar.js +0 -31
  331. package/lib/v2/knowmedia/router.js +0 -3
  332. package/lib/v2/knowmedia/templates/desc.art +0 -3
  333. package/lib/v2/kuwaitlocal/index.js +0 -47
  334. package/lib/v2/kuwaitlocal/maintainer.js +0 -4
  335. package/lib/v2/kuwaitlocal/radar.js +0 -19
  336. package/lib/v2/kuwaitlocal/router.js +0 -3
  337. package/lib/v2/mclaren/index.js +0 -96
  338. package/lib/v2/mclaren/maintainer.js +0 -3
  339. package/lib/v2/mclaren/radar.js +0 -29
  340. package/lib/v2/mclaren/router.js +0 -3
  341. package/lib/v2/mclaren/templates/desc.art +0 -6
  342. package/lib/v2/mobilism/forums.js +0 -75
  343. package/lib/v2/mobilism/maintainer.js +0 -4
  344. package/lib/v2/mobilism/portal.js +0 -54
  345. package/lib/v2/mobilism/radar.js +0 -23
  346. package/lib/v2/mobilism/router.js +0 -4
  347. package/lib/v2/nmbxd1/forum.js +0 -58
  348. package/lib/v2/nmbxd1/maintainer.js +0 -3
  349. package/lib/v2/nmbxd1/radar.js +0 -13
  350. package/lib/v2/nmbxd1/router.js +0 -3
  351. package/lib/v2/nmbxd1/templates/description.art +0 -65
  352. package/lib/v2/nytimes/author.js +0 -43
  353. package/lib/v2/pmthinking/index.js +0 -61
  354. package/lib/v2/pmthinking/maintainer.js +0 -3
  355. package/lib/v2/pmthinking/radar.js +0 -13
  356. package/lib/v2/pmthinking/router.js +0 -3
  357. package/lib/v2/pmthinking/templates/description.art +0 -4
  358. package/lib/v2/qdaily/index.js +0 -87
  359. package/lib/v2/qdaily/maintainer.js +0 -3
  360. package/lib/v2/qdaily/radar.js +0 -25
  361. package/lib/v2/qdaily/router.js +0 -3
  362. package/lib/v2/qdaily/templates/article.art +0 -5
  363. package/lib/v2/qianp/maintainer.js +0 -3
  364. package/lib/v2/qianp/news.js +0 -48
  365. package/lib/v2/qianp/radar.js +0 -13
  366. package/lib/v2/qianp/router.js +0 -3
  367. package/lib/v2/radiofrance/geopolitique.js +0 -33
  368. package/lib/v2/radiofrance/maintainer.js +0 -3
  369. package/lib/v2/radiofrance/radar.js +0 -13
  370. package/lib/v2/radiofrance/router.js +0 -3
  371. package/lib/v2/radiofrance/templates/article.art +0 -6
  372. package/lib/v2/shuiguopai/index.js +0 -80
  373. package/lib/v2/shuiguopai/maintainer.js +0 -3
  374. package/lib/v2/shuiguopai/radar.js +0 -13
  375. package/lib/v2/shuiguopai/router.js +0 -3
  376. package/lib/v2/shuiguopai/templates/description.art +0 -8
  377. package/lib/v2/taiwannews/hot.js +0 -52
  378. package/lib/v2/taiwannews/maintainer.js +0 -3
  379. package/lib/v2/taiwannews/radar.js +0 -13
  380. package/lib/v2/taiwannews/router.js +0 -3
  381. package/lib/v2/twreporter/category.js +0 -40
  382. package/lib/v2/twreporter/photography.js +0 -46
  383. package/lib/v2/verse/articles.js +0 -42
  384. package/lib/v2/verse/maintainer.js +0 -3
  385. package/lib/v2/verse/radar.js +0 -13
  386. package/lib/v2/verse/router.js +0 -3
  387. package/lib/v2/watchout/index.js +0 -51
  388. package/lib/v2/watchout/maintainer.js +0 -3
  389. package/lib/v2/watchout/radar.js +0 -13
  390. package/lib/v2/watchout/router.js +0 -3
  391. package/lib/v2/woshipm/bookmarks.js +0 -34
  392. package/lib/v2/woshipm/latest.js +0 -27
  393. package/lib/v2/wp-china/maintainer.js +0 -3
  394. package/lib/v2/wp-china/news.js +0 -56
  395. package/lib/v2/wp-china/radar.js +0 -13
  396. package/lib/v2/wp-china/router.js +0 -3
  397. package/lib/v2/wxkol/maintainer.js +0 -3
  398. package/lib/v2/wxkol/radar.js +0 -13
  399. package/lib/v2/wxkol/router.js +0 -3
  400. package/lib/v2/wxkol/show.js +0 -81
  401. package/lib/v2/xwlb/index.js +0 -40
  402. package/lib/v2/xwlb/maintainer.js +0 -4
  403. package/lib/v2/xwlb/radar.js +0 -13
  404. package/lib/v2/xwlb/router.js +0 -4
  405. package/lib/v2/yaohuo/index.js +0 -30
  406. package/lib/v2/yaohuo/maintainer.js +0 -3
  407. package/lib/v2/yaohuo/radar.js +0 -13
  408. package/lib/v2/yaohuo/router.js +0 -3
  409. package/lib/v2/yunspe/maintainer.js +0 -3
  410. package/lib/v2/yunspe/newsflash.js +0 -42
  411. package/lib/v2/yunspe/radar.js +0 -13
  412. package/lib/v2/yunspe/router.js +0 -3
  413. package/lib/v2/zuzhirenshi/index.js +0 -87
  414. package/lib/v2/zuzhirenshi/maintainer.js +0 -3
  415. package/lib/v2/zuzhirenshi/radar.js +0 -13
  416. package/lib/v2/zuzhirenshi/router.js +0 -3
  417. /package/lib/{routes → v2}/jianshu/collection.js +0 -0
  418. /package/lib/{routes → v2}/jianshu/home.js +0 -0
  419. /package/lib/{routes → v2}/jianshu/user.js +0 -0
@@ -1,5 +1,4 @@
1
1
  module.exports = (router) => {
2
- router.get('/author/:byline', require('./author.js'));
3
2
  router.get('/book/:category?', require('./book.js'));
4
3
  router.get('/daily_briefing_chinese', require('./daily_briefing_chinese'));
5
4
  router.get('/:lang?', require('./index'));
@@ -28,7 +28,7 @@ module.exports = async (ctx) => {
28
28
  data.push(responseData.daily[i]);
29
29
  }
30
30
  const items = data.map((item) => ({
31
- title: '预报日期:' + item.fxDate,
31
+ title: `${item.fxDate}: ${item.textDay === item.textNight ? item.textDay : item.textDay + '' + item.textNight}`,
32
32
  description: art(path.join(__dirname, 'templates/3days.art'), {
33
33
  item,
34
34
  }),
@@ -68,60 +68,67 @@ module.exports = async (ctx) => {
68
68
  title: e.title,
69
69
  link: new URL(e.canonical_url, rootUrl).href,
70
70
  guid: e.id,
71
+ pubDate: parseDate(e.published_time),
72
+ updated: parseDate(e.updated_time),
73
+ author: e.authors.map((e) => e.name).join(', '),
74
+ category: e.kicker.names,
75
+ description: e.description,
71
76
  }));
72
77
 
73
78
  items = items.filter((e, i) => items.findIndex((f) => e.guid === f.guid) === i);
74
79
 
75
80
  const results = await Promise.allSettled(
76
81
  items.map((item) =>
77
- ctx.cache.tryGet(item.link, async () => {
78
- const detailResponse = await got(item.link);
79
- const content = cheerio.load(detailResponse.data);
80
-
81
- if (detailResponse.url.startsWith('https://www.reuters.com/investigates/')) {
82
- const ldJson = JSON.parse(content('script[type="application/ld+json"]').text());
83
- content('.special-report-article-container .container, #slide-dek, #slide-end, .share-in-article-container').remove();
84
-
85
- item.title = ldJson.headline;
86
- item.pubDate = parseDate(ldJson.dateCreated);
87
- item.author = ldJson.creator;
88
- item.category = ldJson.keywords;
89
- item.description = content('.special-report-article-container').html();
90
-
91
- return item;
92
- }
93
-
94
- const matches = content('script#fusion-metadata')
95
- .text()
96
- .match(/Fusion.globalContent=(\{[\s\S]*?});/);
97
-
98
- if (matches) {
99
- const data = JSON.parse(matches[1]);
100
-
101
- item.title = data.result.title || item.title;
102
- item.description = art(path.join(__dirname, 'templates/description.art'), {
103
- result: data.result,
104
- });
105
- item.pubDate = parseDate(data.result.display_time);
106
- item.author = data.result.authors.map((author) => author.name).join(', ');
107
- item.category = data.result.taxonomy.keywords;
108
-
109
- return item;
110
- }
111
-
112
- content('.title').remove();
113
- content('.article-metadata').remove();
114
-
115
- item.title = content('meta[property="og:title"]').attr('content');
116
- item.pubDate = parseDate(detailResponse.data.match(/"datePublished":"(.*?)","dateModified/)[1]);
117
- item.author = detailResponse.data
118
- .match(/{"@type":"Person","name":"(.*?)"}/g)
119
- .map((p) => p.match(/"name":"(.*?)"/)[1])
120
- .join(', ');
121
- item.description = content('article').html();
122
-
123
- return item;
124
- })
82
+ ctx.query.mode !== 'fulltext'
83
+ ? item
84
+ : ctx.cache.tryGet(item.link, async () => {
85
+ const detailResponse = await got(item.link);
86
+ const content = cheerio.load(detailResponse.data);
87
+
88
+ if (detailResponse.url.startsWith('https://www.reuters.com/investigates/')) {
89
+ const ldJson = JSON.parse(content('script[type="application/ld+json"]').text());
90
+ content('.special-report-article-container .container, #slide-dek, #slide-end, .share-in-article-container').remove();
91
+
92
+ item.title = ldJson.headline;
93
+ item.pubDate = parseDate(ldJson.dateCreated);
94
+ item.author = ldJson.creator;
95
+ item.category = ldJson.keywords;
96
+ item.description = content('.special-report-article-container').html();
97
+
98
+ return item;
99
+ }
100
+
101
+ const matches = content('script#fusion-metadata')
102
+ .text()
103
+ .match(/Fusion.globalContent=(\{[\s\S]*?});/);
104
+
105
+ if (matches) {
106
+ const data = JSON.parse(matches[1]);
107
+
108
+ item.title = data.result.title || item.title;
109
+ item.description = art(path.join(__dirname, 'templates/description.art'), {
110
+ result: data.result,
111
+ });
112
+ item.pubDate = parseDate(data.result.display_time);
113
+ item.author = data.result.authors.map((author) => author.name).join(', ');
114
+ item.category = data.result.taxonomy.keywords;
115
+
116
+ return item;
117
+ }
118
+
119
+ content('.title').remove();
120
+ content('.article-metadata').remove();
121
+
122
+ item.title = content('meta[property="og:title"]').attr('content');
123
+ item.pubDate = parseDate(detailResponse.data.match(/"datePublished":"(.*?)","dateModified/)[1]);
124
+ item.author = detailResponse.data
125
+ .match(/{"@type":"Person","name":"(.*?)"}/g)
126
+ .map((p) => p.match(/"name":"(.*?)"/)[1])
127
+ .join(', ');
128
+ item.description = content('article').html();
129
+
130
+ return item;
131
+ })
125
132
  )
126
133
  );
127
134
  items = results.filter((r) => r.status === 'fulfilled').map((r) => r.value);
@@ -88,20 +88,18 @@ module.exports = async (ctx) => {
88
88
  $(image).replaceWith($(`<img src="${file}">`));
89
89
  }
90
90
  }
91
- // if postMessage does not have any images, try to parse image url from `.pattl`
92
- if (images.length === 0) {
93
- const pattl = $('.pattl');
94
- const pattlImages = $(pattl).find('img');
95
- for (const pattlImage of pattlImages) {
96
- const file = $(pattlImage).attr('file');
97
- if (!file || file === 'undefined') {
98
- $(pattlImage).replaceWith('');
99
- } else {
100
- $(pattlImage).replaceWith($(`<img src="${file}" />`));
101
- }
91
+ // also parse image url from `.pattl`
92
+ const pattl = $('.pattl');
93
+ const pattlImages = $(pattl).find('img');
94
+ for (const pattlImage of pattlImages) {
95
+ const file = $(pattlImage).attr('file');
96
+ if (!file || file === 'undefined') {
97
+ $(pattlImage).replaceWith('');
98
+ } else {
99
+ $(pattlImage).replaceWith($(`<img src="${file}" />`));
102
100
  }
103
- postMessage.append($(pattl));
104
101
  }
102
+ postMessage.append($(pattl));
105
103
  $('em[onclick]').remove();
106
104
 
107
105
  info.description = (postMessage.html() || '抓取原帖失败').replace(/ignore_js_op/g, 'div');
@@ -62,20 +62,19 @@ module.exports = async (ctx) => {
62
62
  $(image).replaceWith($(`<img src="${file}">`));
63
63
  }
64
64
  }
65
- // if postMessage does not have any images, try to parse image url from `.pattl`
66
- if (images.length === 0) {
67
- const pattl = $('.pattl');
68
- const pattlImages = $(pattl).find('img');
69
- for (const pattlImage of pattlImages) {
70
- const file = $(pattlImage).attr('file');
71
- if (!file || file === 'undefined') {
72
- $(pattlImage).replaceWith('');
73
- } else {
74
- $(pattlImage).replaceWith($(`<img src="${file}" />`));
75
- }
65
+ // also parse image url from `.pattl`
66
+ const pattl = $('.pattl');
67
+ const pattlImages = $(pattl).find('img');
68
+ for (const pattlImage of pattlImages) {
69
+ const file = $(pattlImage).attr('file');
70
+ if (!file || file === 'undefined') {
71
+ $(pattlImage).replaceWith('');
72
+ } else {
73
+ $(pattlImage).replaceWith($(`<img src="${file}" />`));
76
74
  }
77
- postMessage.append($(pattl));
78
75
  }
76
+ postMessage.append($(pattl));
77
+
79
78
  $('em[onclick]').remove();
80
79
 
81
80
  info.description = (postMessage.html() || '抓取原帖失败').replace(/ignore_js_op/g, 'div');
@@ -44,12 +44,6 @@ module.exports = {
44
44
  source: ['/review/:sort?', '/'],
45
45
  target: '/thenewslens/review/:sort?',
46
46
  },
47
- {
48
- title: '影音',
49
- docs: 'https://docs.rsshub.app/routes/new-media#the-news-lens-guan-jian-ping-lun',
50
- source: ['/videos/Projects/:sort?', '/'],
51
- target: '/thenewslens/videos/Projects/:sort?',
52
- },
53
47
  ],
54
48
  },
55
49
  };
@@ -64,7 +64,7 @@ module.exports = async (ctx) => {
64
64
  new Set(
65
65
  content('meta[name="parsely-tags"]')
66
66
  .prop('content')
67
- .split(/,/)
67
+ ?.split(/,/)
68
68
  .map((c) => c.trim())
69
69
  )
70
70
  );
@@ -66,7 +66,7 @@ module.exports = async (ctx) => {
66
66
  ctx.state.data = {
67
67
  title: `${userData.full_name} (@${userData.username}) on Threads`,
68
68
  link: profileUrl(user),
69
- image: userData.hd_profile_pic_versions.sort((a, b) => b.width - a.width)[0].url,
69
+ image: userData.hd_profile_pic_versions?.sort((a, b) => b.width - a.width)[0].url ?? userData.profile_pic_url,
70
70
  description: userData.biography,
71
71
  item: items,
72
72
  };
@@ -0,0 +1,40 @@
1
+ const got = require('@/utils/got');
2
+ const cheerio = require('cheerio');
3
+ const config = require('@/config').value;
4
+ const path = require('path');
5
+ const { art } = require('@/utils/render');
6
+
7
+ module.exports = async (ctx) => {
8
+ const id = ctx.params.id;
9
+ const link = `https://tophub.today/n/${id}`;
10
+ const response = await got.get(link, {
11
+ headers: {
12
+ Referer: 'https://tophub.today',
13
+ Cookie: config.tophub.cookie,
14
+ },
15
+ });
16
+ const $ = cheerio.load(response.data);
17
+ const title = $('div.Xc-ec-L.b-L').text().trim();
18
+ const items = $('div.Zd-p-Sc > div:nth-child(1) tr')
19
+ .toArray()
20
+ .map((e) => ({
21
+ title: $(e).find('td.al a').text().trim(),
22
+ link: $(e).find('td.al a').attr('href'),
23
+ heatRate: $(e).find('td:nth-child(3)').text().trim(),
24
+ }));
25
+ const combinedTitles = items.map((item) => item.title).join('');
26
+ const renderRank = art(path.join(__dirname, 'templates/rank.art'), { items });
27
+
28
+ ctx.state.data = {
29
+ title,
30
+ link,
31
+ item: [
32
+ {
33
+ title,
34
+ link,
35
+ description: renderRank,
36
+ guid: combinedTitles,
37
+ },
38
+ ],
39
+ };
40
+ };
@@ -1,3 +1,4 @@
1
1
  module.exports = {
2
2
  '/:id': ['LogicJake'],
3
+ '/list/:id': ['akynazh'],
3
4
  };
@@ -8,6 +8,12 @@ module.exports = {
8
8
  source: ['/n/:id'],
9
9
  target: '/tophub/:id',
10
10
  },
11
+ {
12
+ title: '榜单列表',
13
+ docs: 'https://docs.rsshub.app/routes/new-media#jin-ri-re-bang-bang-dan-lie-biao',
14
+ source: ['/n/:id'],
15
+ target: '/tophub/list/:id',
16
+ },
11
17
  ],
12
18
  },
13
19
  };
@@ -1,3 +1,4 @@
1
1
  module.exports = (router) => {
2
2
  router.get('/:id', require('./'));
3
+ router.get('/list/:id', require('./list'));
3
4
  };
@@ -0,0 +1,22 @@
1
+ <table>
2
+ <thead>
3
+ <tr>
4
+ <th>排名</th>
5
+ <th>标题</th>
6
+ <th>热度</th>
7
+ </tr>
8
+ </thead>
9
+ <tbody>
10
+ {{each items}}
11
+ <tr>
12
+ <td>{{ $index + 1 }}</td>
13
+ <td>
14
+ <a href="{{ $value.link }}">
15
+ {{ $value.title }}
16
+ </a>
17
+ </td>
18
+ <td>{{ $value.heatRate }}</td>
19
+ </tr>
20
+ {{/each}}
21
+ </tbody>
22
+ </table>
@@ -1,5 +1,3 @@
1
1
  module.exports = {
2
- '/category/:cid': ['emdoe'],
3
2
  '/newest': ['emdoe'],
4
- '/photography': ['emdoe'],
5
3
  };
@@ -8,18 +8,6 @@ module.exports = {
8
8
  source: ['/'],
9
9
  target: '/twreporter/newest',
10
10
  },
11
- {
12
- title: '摄影',
13
- docs: 'https://docs.rsshub.app/routes/new-media#bao-dao-zhe',
14
- source: ['/photography'],
15
- target: '/twreporter',
16
- },
17
- {
18
- title: '分类',
19
- docs: 'https://docs.rsshub.app/routes/new-media#bao-dao-zhe',
20
- source: ['/categories/:tid'],
21
- target: '/twreporter/category/:tid',
22
- },
23
11
  ],
24
12
  },
25
13
  };
@@ -1,5 +1,3 @@
1
1
  module.exports = (router) => {
2
- router.get('/category/:cid', require('./category'));
3
2
  router.get('/newest', require('./newest'));
4
- router.get('/photography', require('./photography'));
5
3
  };
@@ -43,7 +43,7 @@ module.exports = async (ctx) => {
43
43
  });
44
44
 
45
45
  item.description = $('.article-content__paragraph').html();
46
- item.categories = $('meta[name=news_keywords]').attr('content').split(',');
46
+ item.categories = $('meta[name=news_keywords]').attr('content')?.split(',');
47
47
 
48
48
  return item;
49
49
  })
@@ -1,6 +1,4 @@
1
1
  module.exports = {
2
- '/bookmarks/:id': ['LogicJake'],
3
- '/latest': ['Director-0428'],
4
2
  '/popular/:range?': ['WenryXu'],
5
3
  '/user_article/:id': ['LogicJake'],
6
4
  '/wen': ['WenryXu'],
@@ -8,24 +8,12 @@ module.exports = {
8
8
  source: ['/'],
9
9
  target: '/woshipm/popular',
10
10
  },
11
- {
12
- title: '用户收藏',
13
- docs: 'https://docs.rsshub.app/routes/new-media#ren-ren-dui-shi-chan-pin-jing-li',
14
- source: ['/u/:id'],
15
- target: '/woshipm/bookmarks/:id',
16
- },
17
11
  {
18
12
  title: '用户文章',
19
13
  docs: 'https://docs.rsshub.app/routes/new-media#ren-ren-dui-shi-chan-pin-jing-li',
20
14
  source: ['/u/:id'],
21
15
  target: '/woshipm/user_article/:id',
22
16
  },
23
- {
24
- title: '最新文章',
25
- docs: 'https://docs.rsshub.app/routes/new-media#ren-ren-dui-shi-chan-pin-jing-li',
26
- source: ['/'],
27
- target: '/woshipm/latest',
28
- },
29
17
  ],
30
18
  wen: [
31
19
  {
@@ -1,6 +1,4 @@
1
1
  module.exports = (router) => {
2
- router.get('/bookmarks/:id', require('./bookmarks'));
3
- router.get('/latest', require('./latest'));
4
2
  router.get('/popular/:range?', require('./popular'));
5
3
  router.get('/user_article/:id', require('./user_article'));
6
4
  router.get('/wen', require('./wen'));
@@ -16,6 +16,8 @@ module.exports = {
16
16
  '/topic/:topicId': ['xyqfer'],
17
17
  '/weekly': ['LogicJake'],
18
18
  '/xhu/collection/:id': ['JimenezLi'],
19
+ '/xhu/people/activities/:hexId': ['JimenezLi'],
20
+ '/xhu/people/answers/:hexId': ['JimenezLi'],
19
21
  '/xhu/question/:questionId/:sortBy?': ['JimenezLi'],
20
22
  '/xhu/topic/:topicId': ['JimenezLi'],
21
23
  '/xhu/zhuanlan/:id': ['JimenezLi'],
@@ -80,6 +80,24 @@ module.exports = {
80
80
  source: '/column/:id',
81
81
  target: '/zhihu/zhuanlan/:id',
82
82
  },
83
+ {
84
+ title: 'xhu - 用户动态',
85
+ docs: 'https://docs.rsshub.app/routes/social-media#zhi-hu',
86
+ source: '/people/:id',
87
+ target: (params, url, document) => {
88
+ const hexId = /"id":"([0-9a-f]*?)","urlToken"/.exec(document.getElementById('js-initialData').innerHTML)[1];
89
+ return `/zhihu/xhu/people/activities/${hexId}`;
90
+ },
91
+ },
92
+ {
93
+ title: 'xhu - 用户回答',
94
+ docs: 'https://docs.rsshub.app/routes/social-media#zhi-hu',
95
+ source: '/people/:id/answers',
96
+ target: (params, url, document) => {
97
+ const hexId = /"id":"([0-9a-f]*?)","urlToken"/.exec(document.getElementById('js-initialData').innerHTML)[1];
98
+ return `/zhihu/xhu/people/answers/${hexId}`;
99
+ },
100
+ },
83
101
  {
84
102
  title: 'xhu - 收藏夹',
85
103
  docs: 'https://docs.rsshub.app/routes/social-media#zhi-hu',
@@ -16,6 +16,8 @@ module.exports = (router) => {
16
16
  router.get('/topic/:topicId', require('./topic'));
17
17
  router.get('/weekly', require('./weekly'));
18
18
  router.get('/xhu/collection/:id', require('./xhu/collection'));
19
+ router.get('/xhu/people/activities/:hexId', require('./xhu/activities'));
20
+ router.get('/xhu/people/answers/:hexId', require('./xhu/answers'));
19
21
  router.get('/xhu/question/:questionId/:sortBy?', require('./xhu/question'));
20
22
  router.get('/xhu/topic/:topicId', require('./xhu/topic'));
21
23
  router.get('/xhu/zhuanlan/:id', require('./xhu/zhuanlan'));
@@ -0,0 +1,112 @@
1
+ const got = require('@/utils/got');
2
+ const auth = require('./auth');
3
+ const utils = require('../utils');
4
+ const { parseDate } = require('@/utils/parse-date');
5
+
6
+ module.exports = async (ctx) => {
7
+ const xhuCookie = await auth.getCookie(ctx);
8
+ const { hexId } = ctx.params;
9
+ const link = `https://www.zhihu.com/people/${hexId}`;
10
+ const url = `https://api.zhihuvvv.workers.dev/people/${hexId}/activities?before_id=0&limit=20`;
11
+
12
+ const response = await got({
13
+ method: 'get',
14
+ url,
15
+ headers: {
16
+ Referer: 'https://api.zhihuvvv.workers.dev',
17
+ Cookie: xhuCookie,
18
+ },
19
+ });
20
+ const data = response.data.data;
21
+
22
+ ctx.state.data = {
23
+ title: `${data[0].actor.name}的知乎动态`,
24
+ link,
25
+ image: data[0].actor.avatar_url,
26
+ description: data[0].actor.headline || data[0].actor.description,
27
+ item: data.map((item) => {
28
+ const detail = item.target;
29
+ let title;
30
+ let description;
31
+ let url;
32
+ const images = [];
33
+ let text = '';
34
+ let link = '';
35
+ let author = '';
36
+
37
+ switch (item.target.type) {
38
+ case 'answer':
39
+ title = detail.question.title;
40
+ author = detail.author.name;
41
+ description = utils.ProcessImage(detail.content);
42
+ url = `https://www.zhihu.com/question/${detail.question.id}/answer/${detail.id}`;
43
+ break;
44
+ case 'article':
45
+ title = detail.title;
46
+ author = detail.author.name;
47
+ description = utils.ProcessImage(detail.content);
48
+ url = `https://zhuanlan.zhihu.com/p/${detail.id}`;
49
+ break;
50
+ case 'pin':
51
+ title = detail.excerpt_title;
52
+ author = detail.author.name;
53
+ detail.content.forEach((contentItem) => {
54
+ if (contentItem.type === 'text') {
55
+ text = `<p>${contentItem.own_text}</p>`;
56
+ } else if (contentItem.type === 'image') {
57
+ images.push(`<p><img src="${contentItem.url.replace('xl', 'r')}"/></p>`);
58
+ } else if (contentItem.type === 'link') {
59
+ link = `<p><a href="${contentItem.url}" target="_blank">${contentItem.title}</a></p>`;
60
+ } else if (contentItem.type === 'video') {
61
+ link = `<p><video
62
+ controls="controls"
63
+ width="${contentItem.playlist[1].width}"
64
+ height="${contentItem.playlist[1].height}"
65
+ src="${contentItem.playlist[1].url}"></video></p>`;
66
+ }
67
+ });
68
+ description = `${text}${link}${images.join('')}`;
69
+ url = `https://www.zhihu.com/pin/${detail.id}`;
70
+ break;
71
+ case 'question':
72
+ title = detail.title;
73
+ author = detail.author.name;
74
+ description = utils.ProcessImage(detail.detail);
75
+ url = `https://www.zhihu.com/question/${detail.id}`;
76
+ break;
77
+ case 'collection':
78
+ title = detail.title;
79
+ url = `https://www.zhihu.com/collection/${detail.id}`;
80
+ break;
81
+ case 'column':
82
+ title = detail.title;
83
+ description = `<p>${detail.intro}</p><p><img src="${detail.image_url}"/></p>`;
84
+ url = `https://zhuanlan.zhihu.com/${detail.id}`;
85
+ break;
86
+ case 'topic':
87
+ title = detail.name;
88
+ description = `<p>${detail.introduction}</p><p>话题关注者人数:${detail.followers_count}</p>`;
89
+ url = `https://www.zhihu.com/topic/${detail.id}`;
90
+ break;
91
+ case 'live':
92
+ title = detail.subject;
93
+ description = detail.description.replace(/\n|\r/g, '<br>');
94
+ url = `https://www.zhihu.com/lives/${detail.id}`;
95
+ break;
96
+ case 'roundtable':
97
+ title = detail.name;
98
+ description = detail.description;
99
+ url = `https://www.zhihu.com/roundtable/${detail.id}`;
100
+ break;
101
+ }
102
+
103
+ return {
104
+ title: `${data[0].actor.name}${item.action_text}: ${title}`,
105
+ author,
106
+ description,
107
+ pubDate: parseDate(item.created_time * 1000),
108
+ link: url,
109
+ };
110
+ }),
111
+ };
112
+ };
@@ -0,0 +1,31 @@
1
+ const got = require('@/utils/got');
2
+ const auth = require('./auth');
3
+ const { parseDate } = require('@/utils/parse-date');
4
+
5
+ module.exports = async (ctx) => {
6
+ const xhuCookie = await auth.getCookie(ctx);
7
+ const { hexId } = ctx.params;
8
+ const link = `https://www.zhihu.com/people/${hexId}/answers`;
9
+ const url = `https://api.zhihuvvv.workers.dev/people/${hexId}/answers?limit=20&offset=0`;
10
+
11
+ const response = await got({
12
+ method: 'get',
13
+ url,
14
+ headers: {
15
+ Referer: 'https://api.zhihuvvv.workers.dev',
16
+ Cookie: xhuCookie,
17
+ },
18
+ });
19
+ const data = response.data.data;
20
+
21
+ ctx.state.data = {
22
+ title: `${data[0].author.name}的知乎回答`,
23
+ link,
24
+ item: data.map((item) => ({
25
+ title: item.question.title,
26
+ description: item.excerpt,
27
+ pubDate: parseDate(item.created_time * 1000),
28
+ link: `https://www.zhihu.com/question/${item.question.id}/answer/${item.id}`,
29
+ })),
30
+ };
31
+ };
@@ -35,7 +35,7 @@ const rss3Ums = (data) => {
35
35
  metadata: {
36
36
  authors: typeof item.author === 'string' ? [{ name: item.author }] : item.author,
37
37
  description: item.description,
38
- pubDate: item.pubDate,
38
+ pub_date: item.pubDate,
39
39
  tags: typeof item.category === 'string' ? [item.category] : item.category,
40
40
  title: item.title,
41
41
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rsshub",
3
- "version": "1.0.0-master.f7f8b7a",
3
+ "version": "1.0.0-master.f812e91",
4
4
  "description": "Make RSS Great Again!",
5
5
  "keywords": [
6
6
  "RSS"
@@ -153,7 +153,7 @@
153
153
  "@types/koa-mount": "4.0.5",
154
154
  "@types/koa-static": "4.0.4",
155
155
  "@types/koa__router": "12.0.4",
156
- "@types/lint-staged": "13.2.2",
156
+ "@types/lint-staged": "13.3.0",
157
157
  "@types/mailparser": "3.4.4",
158
158
  "@types/markdown-it": "13.0.7",
159
159
  "@types/module-alias": "2.0.4",
@@ -166,7 +166,7 @@
166
166
  "@types/tough-cookie": "4.0.5",
167
167
  "@vercel/nft": "0.26.0",
168
168
  "cross-env": "7.0.3",
169
- "eslint": "8.55.0",
169
+ "eslint": "8.56.0",
170
170
  "eslint-config-prettier": "9.1.0",
171
171
  "eslint-plugin-n": "16.4.0",
172
172
  "eslint-plugin-prettier": "5.0.1",