rsshub 1.0.0-master.fdb1381 → 1.0.0-master.fdb4325
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.
- package/lib/api/index.ts +2 -7
- package/lib/config.ts +14 -1
- package/lib/registry.ts +41 -5
- package/lib/router.js +0 -12
- package/lib/routes/005/index.ts +3 -3
- package/lib/routes/0818tuan/index.ts +2 -2
- package/lib/routes/10jqka/realtimenews.ts +2 -2
- package/lib/routes/12306/zxdt.ts +15 -33
- package/lib/routes/12371/zxfb.ts +2 -2
- package/lib/routes/163/exclusive.ts +17 -17
- package/lib/routes/163/news/rank.ts +4 -4
- package/lib/routes/163/news/special.ts +2 -2
- package/lib/routes/163/renjian.ts +2 -2
- package/lib/routes/163/utils.ts +2 -2
- package/lib/routes/18comic/blogs.ts +3 -3
- package/lib/routes/18comic/index.ts +11 -11
- package/lib/routes/199it/index.ts +334 -0
- package/lib/routes/199it/templates/description.art +20 -0
- package/lib/routes/19lou/index.ts +11 -11
- package/lib/routes/1point3acres/blog.ts +2 -2
- package/lib/routes/1point3acres/category.ts +6 -6
- package/lib/routes/1point3acres/section.ts +16 -16
- package/lib/routes/1point3acres/thread.ts +6 -6
- package/lib/routes/2023game/index.ts +3 -3
- package/lib/routes/2048/index.ts +65 -55
- package/lib/routes/21caijing/channel.ts +1 -1
- package/lib/routes/36kr/hot-list.ts +2 -2
- package/lib/routes/36kr/index.ts +2 -2
- package/lib/routes/3dmgame/news-center.ts +2 -2
- package/lib/routes/3kns/index.ts +15 -15
- package/lib/routes/423down/index.ts +18 -18
- package/lib/routes/4khd/article.ts +28 -0
- package/lib/routes/4khd/category.ts +48 -0
- package/lib/routes/4khd/const.ts +4 -0
- package/lib/routes/4khd/latest.ts +41 -0
- package/lib/routes/4khd/namespace.ts +8 -0
- package/lib/routes/4khd/types.ts +12 -0
- package/lib/routes/4kup/article.ts +29 -0
- package/lib/routes/4kup/category.ts +47 -0
- package/lib/routes/4kup/const.ts +4 -0
- package/lib/routes/4kup/latest.ts +41 -0
- package/lib/routes/4kup/namespace.ts +8 -0
- package/lib/routes/4kup/popular.ts +81 -0
- package/lib/routes/4kup/tag.ts +47 -0
- package/lib/routes/4kup/types.ts +12 -0
- package/lib/routes/56kog/class.ts +5 -5
- package/lib/routes/56kog/top.ts +2 -2
- package/lib/routes/5music/index.ts +87 -0
- package/lib/routes/5music/namespace.ts +9 -0
- package/lib/routes/6park/index.ts +10 -5
- package/lib/routes/6park/news.ts +11 -2
- package/lib/routes/78dm/index.ts +65 -65
- package/lib/routes/7mmtv/index.ts +12 -12
- package/lib/routes/8264/list.ts +37 -37
- package/lib/routes/91porn/index.ts +2 -2
- package/lib/routes/95mm/category.ts +2 -2
- package/lib/routes/95mm/tab.ts +1 -1
- package/lib/routes/a9vg/index.ts +11 -11
- package/lib/routes/aamacau/index.ts +2 -2
- package/lib/routes/academia/topics.ts +10 -20
- package/lib/routes/accessbriefing/index.ts +19 -19
- package/lib/routes/acfun/article.ts +8 -8
- package/lib/routes/adquan/index.ts +146 -0
- package/lib/routes/adquan/namespace.ts +9 -0
- package/lib/routes/adquan/templates/description.art +7 -0
- package/lib/routes/afdian/explore.ts +6 -6
- package/lib/routes/agirls/z-index.ts +2 -2
- package/lib/routes/agora0/index.ts +2 -2
- package/lib/routes/agri/index.ts +52 -52
- package/lib/routes/aibase/discover.ts +74 -74
- package/lib/routes/aibase/topic.ts +24 -24
- package/lib/routes/aiea/index.ts +4 -4
- package/lib/routes/aijishu/index.ts +4 -4
- package/lib/routes/aip/journal-pupp.ts +1 -1
- package/lib/routes/aisixiang/thinktank.ts +1 -1
- package/lib/routes/aisixiang/toplist.ts +2 -2
- package/lib/routes/aliresearch/information.ts +1 -1
- package/lib/routes/alistapart/topic.ts +40 -40
- package/lib/routes/aliyun/notice.ts +6 -6
- package/lib/routes/alternativeto/utils.ts +1 -1
- package/lib/routes/anquanke/category.ts +2 -2
- package/lib/routes/anthropic/news.ts +28 -13
- package/lib/routes/apkpure/versions.ts +1 -1
- package/lib/routes/apnews/mobile-api.ts +93 -0
- package/lib/routes/apnews/utils.ts +2 -2
- package/lib/routes/apple/podcast.ts +2 -1
- package/lib/routes/appleinsider/index.ts +2 -2
- package/lib/routes/appstore/price.ts +0 -1
- package/lib/routes/aqara/post.ts +1 -1
- package/lib/routes/aqicn/aqi.ts +1 -0
- package/lib/routes/arcteryx/new-arrivals.ts +6 -6
- package/lib/routes/arcteryx/outlet.ts +6 -6
- package/lib/routes/asiafruitchina/categories.ts +685 -0
- package/lib/routes/asiafruitchina/namespace.ts +9 -0
- package/lib/routes/asiafruitchina/news.ts +184 -0
- package/lib/routes/asiafruitchina/templates/description.art +17 -0
- package/lib/routes/asianfanfics/namespace.ts +7 -0
- package/lib/routes/asianfanfics/tag.ts +91 -0
- package/lib/routes/asianfanfics/text-search.ts +70 -0
- package/lib/routes/asus/bios.ts +1 -3
- package/lib/routes/atcoder/contest.ts +12 -12
- package/lib/routes/auto-stats/index.ts +2 -2
- package/lib/routes/baidu/tieba/search.ts +5 -5
- package/lib/routes/baidu/top.ts +2 -2
- package/lib/routes/baobua/article.ts +51 -0
- package/lib/routes/baobua/category.ts +60 -0
- package/lib/routes/baobua/const.ts +4 -0
- package/lib/routes/baobua/latest.ts +57 -0
- package/lib/routes/baobua/namespace.ts +8 -0
- package/lib/routes/baobua/search.ts +60 -0
- package/lib/routes/bdys/index.ts +41 -41
- package/lib/routes/beijingprice/index.ts +8 -8
- package/lib/routes/bendibao/news.ts +5 -5
- package/lib/routes/bilibili/cache.ts +4 -4
- package/lib/routes/bilibili/danmaku.ts +1 -1
- package/lib/routes/bilibili/live-room.ts +14 -12
- package/lib/routes/bilibili/mall-new.ts +2 -2
- package/lib/routes/bilibili/manga-update.ts +37 -4
- package/lib/routes/bilibili/partion.ts +57 -57
- package/lib/routes/bilibili/user-collection.ts +2 -1
- package/lib/routes/bilibili/vsearch.ts +3 -3
- package/lib/routes/bilibili/wasm-exec.ts +649 -0
- package/lib/routes/bjfu/it/index.ts +2 -2
- package/lib/routes/bjfu/jwc/index.ts +2 -2
- package/lib/routes/bjfu/news/index.ts +2 -2
- package/lib/routes/bjsk/keti.ts +2 -2
- package/lib/routes/bjtu/gs.ts +18 -18
- package/lib/routes/bjwxdxh/index.ts +2 -2
- package/lib/routes/bjx/fd.ts +1 -1
- package/lib/routes/bjx/types.ts +3 -3
- package/lib/routes/blizzard/news.ts +34 -34
- package/lib/routes/blockworks/index.ts +128 -0
- package/lib/routes/blockworks/namespace.ts +7 -0
- package/lib/routes/bloomberg/index.ts +14 -14
- package/lib/routes/bnu/bs.ts +2 -2
- package/lib/routes/bnu/fe.ts +1 -0
- package/lib/routes/bnu/jwb.ts +1 -0
- package/lib/routes/bnu/mba.ts +20 -20
- package/lib/routes/boc/whpj.ts +2 -2
- package/lib/routes/bookfere/category.ts +2 -2
- package/lib/routes/bossdesign/index.ts +2 -2
- package/lib/routes/bse/index.ts +14 -14
- package/lib/routes/bsky/feeds.ts +72 -0
- package/lib/routes/bsky/utils.ts +34 -1
- package/lib/routes/btzj/index.ts +12 -12
- package/lib/routes/buaa/news/index.ts +2 -2
- package/lib/routes/buct/cist.ts +58 -0
- package/lib/routes/buct/gr.ts +93 -0
- package/lib/routes/buct/jwc.ts +64 -0
- package/lib/routes/buct/namespace.ts +7 -0
- package/lib/routes/bullionvault/gold-news.ts +231 -0
- package/lib/routes/bullionvault/namespace.ts +9 -0
- package/lib/routes/byau/xinwen/index.ts +2 -2
- package/lib/routes/cahkms/index.ts +5 -5
- package/lib/routes/caixin/category.ts +9 -9
- package/lib/routes/camchina/index.ts +2 -2
- package/lib/routes/cankaoxiaoxi/index.ts +20 -20
- package/lib/routes/cas/cg/index.ts +2 -2
- package/lib/routes/casssp/news.ts +2 -2
- package/lib/routes/cast/index.ts +9 -9
- package/lib/routes/catti/news.ts +2 -2
- package/lib/routes/caus/index.ts +2 -2
- package/lib/routes/cbpanet/index.ts +34 -34
- package/lib/routes/ccac/news.ts +3 -3
- package/lib/routes/cccmc/index.ts +21 -21
- package/lib/routes/ccf/ccfcv/index.ts +2 -2
- package/lib/routes/ccf/news.ts +2 -2
- package/lib/routes/ccfa/index.ts +18 -18
- package/lib/routes/cctv/category.ts +2 -2
- package/lib/routes/cctv/lm.ts +5 -5
- package/lib/routes/cde/index.ts +9 -9
- package/lib/routes/cde/xxgk.ts +2 -2
- package/lib/routes/cde/zdyz.ts +2 -2
- package/lib/routes/cdi/index.ts +2 -2
- package/lib/routes/cdu/cdrw.ts +80 -0
- package/lib/routes/cdu/tzggcdunews.ts +80 -0
- package/lib/routes/cebbank/history.ts +3 -3
- package/lib/routes/cfachina/analygarden.ts +2 -2
- package/lib/routes/chaping/news.ts +9 -9
- package/lib/routes/cherrytimes/market.ts +35 -0
- package/lib/routes/cherrytimes/namespace.ts +6 -0
- package/lib/routes/chiculture/topic.ts +2 -2
- package/lib/routes/chikubi/navigation.ts +2 -2
- package/lib/routes/china/finance/finance.ts +2 -2
- package/lib/routes/china/news/highlights/news.ts +3 -3
- package/lib/routes/chinacdc/index.ts +1 -1
- package/lib/routes/chinadegrees/province.ts +33 -33
- package/lib/routes/chinaisa/index.ts +134 -134
- package/lib/routes/chinamoney/notice.ts +17 -17
- package/lib/routes/chinania/index.ts +31 -31
- package/lib/routes/chinathinktanks/viewpoint.ts +46 -46
- package/lib/routes/chinaventure/index.ts +2 -2
- package/lib/routes/chsi/kyzx.ts +6 -6
- package/lib/routes/chuapp/chuapp.ts +147 -0
- package/lib/routes/chuapp/namespace.ts +7 -0
- package/lib/routes/cib/whpj.ts +2 -2
- package/lib/routes/ciidbnu/index.ts +2 -2
- package/lib/routes/cisia/index.ts +31 -31
- package/lib/routes/cjlu/yjsy/index.ts +2 -2
- package/lib/routes/cls/depth.ts +2 -2
- package/lib/routes/cls/telegraph.ts +2 -2
- package/lib/routes/cma/channel.ts +20 -20
- package/lib/routes/cmu/andypavlo/blog.ts +55 -0
- package/lib/routes/cmu/namespace.ts +7 -0
- package/lib/routes/cna/index.ts +2 -2
- package/lib/routes/cnbeta/category.ts +2 -2
- package/lib/routes/cnblogs/common.ts +0 -1
- package/lib/routes/cncf/index.ts +2 -2
- package/lib/routes/cneb/yjxw.ts +2 -2
- package/lib/routes/cngal/weekly.ts +1 -2
- package/lib/routes/cngold/index.ts +22 -22
- package/lib/routes/cntv/column.ts +3 -3
- package/lib/routes/coindesk/{index.ts → consensus-magazine.ts} +17 -21
- package/lib/routes/coindesk/namespace.ts +2 -1
- package/lib/routes/coindesk/news.ts +47 -0
- package/lib/routes/coindesk/utils.ts +26 -0
- package/lib/routes/cointelegraph/index.ts +106 -0
- package/lib/routes/cointelegraph/namespace.ts +7 -0
- package/lib/routes/colamanga/manga.ts +1 -1
- package/lib/routes/collabo-cafe/category.ts +37 -0
- package/lib/routes/collabo-cafe/index.ts +35 -0
- package/lib/routes/collabo-cafe/namespace.ts +9 -0
- package/lib/routes/collabo-cafe/parser.ts +29 -0
- package/lib/routes/collabo-cafe/tag.ts +37 -0
- package/lib/routes/consumer/index.ts +6 -6
- package/lib/routes/consumer/shopping-guide.ts +2 -2
- package/lib/routes/coolapk/hot.ts +5 -5
- package/lib/routes/coolapk/toutiao.ts +2 -2
- package/lib/routes/coolapk/tuwen.ts +2 -2
- package/lib/routes/coomer/index.ts +157 -0
- package/lib/routes/coomer/templates/source.art +24 -0
- package/lib/routes/copymanga/comic.ts +3 -3
- package/lib/routes/cosplaytele/article.ts +13 -0
- package/lib/routes/cosplaytele/category.ts +47 -0
- package/lib/routes/cosplaytele/const.ts +4 -0
- package/lib/routes/cosplaytele/latest.ts +41 -0
- package/lib/routes/cosplaytele/namespace.ts +8 -0
- package/lib/routes/cosplaytele/popular.ts +75 -0
- package/lib/routes/cosplaytele/tag.ts +47 -0
- package/lib/routes/cosplaytele/types.ts +12 -0
- package/lib/routes/counter-strike/news.ts +3 -3
- package/lib/routes/cpcaauto/index.ts +23 -23
- package/lib/routes/cpcey/index.ts +2 -2
- package/lib/routes/cpta/handler.ts +2 -2
- package/lib/routes/cqwu/index.ts +2 -2
- package/lib/routes/crac/index.ts +2 -2
- package/lib/routes/cryptoslate/index.ts +98 -0
- package/lib/routes/cryptoslate/namespace.ts +7 -0
- package/lib/routes/cs/index.ts +30 -30
- package/lib/routes/cs/video.ts +1 -1
- package/lib/routes/cste/index.ts +2 -2
- package/lib/routes/csu/cse.ts +2 -2
- package/lib/routes/csu/mail.ts +2 -2
- package/lib/routes/cts/news.ts +2 -2
- package/lib/routes/cuilingmag/index.ts +8 -9
- package/lib/routes/cupl/jwc.ts +69 -0
- package/lib/routes/cupl/namespace.ts +20 -0
- package/lib/routes/cursor/changelog.ts +94 -51
- package/lib/routes/cw/master.ts +14 -14
- package/lib/routes/cw/utils.ts +2 -0
- package/lib/routes/cyzone/index.ts +8 -8
- package/lib/routes/dahecube/index.ts +2 -2
- package/lib/routes/dangdang/notice.ts +4 -4
- package/lib/routes/dataguidance/index.ts +2 -2
- package/lib/routes/dayanzai/index.ts +2 -2
- package/lib/routes/dcfever/news.ts +2 -2
- package/lib/routes/dcfever/reviews.ts +2 -2
- package/lib/routes/dcfever/trading.ts +3 -3
- package/lib/routes/dealstreetasia/home.ts +1 -1
- package/lib/routes/decrypt/index.ts +115 -0
- package/lib/routes/decrypt/namespace.ts +7 -0
- package/lib/routes/dedao/index.ts +5 -5
- package/lib/routes/dedao/user.ts +2 -2
- package/lib/routes/deeplearning/the-batch.ts +24 -24
- package/lib/routes/deepseek/news.ts +2 -2
- package/lib/routes/dehenglaw/index.ts +3 -3
- package/lib/routes/dewu/declaration.ts +5 -5
- package/lib/routes/dhu/jiaowu/news.ts +2 -2
- package/lib/routes/dhu/yjs/news.ts +2 -2
- package/lib/routes/dhu/yjs/zs.ts +2 -2
- package/lib/routes/diandong/news.ts +3 -3
- package/lib/routes/diariofruticola/filtro.ts +129 -0
- package/lib/routes/diariofruticola/namespace.ts +9 -0
- package/lib/routes/discuz/discuz.ts +7 -9
- package/lib/routes/dlsite/new.ts +2 -2
- package/lib/routes/dmzj/news.ts +2 -2
- package/lib/routes/dn/news.ts +12 -12
- package/lib/routes/docschina/weekly.ts +2 -2
- package/lib/routes/dongqiudi/special.ts +2 -2
- package/lib/routes/dongqiudi/top-news.ts +2 -2
- package/lib/routes/douban/book/latest.ts +2 -2
- package/lib/routes/douban/book/rank.ts +2 -2
- package/lib/routes/douban/channel/subject.ts +2 -2
- package/lib/routes/douban/channel/topic.ts +2 -2
- package/lib/routes/douban/other/jobs.ts +2 -2
- package/lib/routes/douban/other/latest-music.ts +2 -2
- package/lib/routes/douban/other/list.ts +24 -24
- package/lib/routes/douban/other/recommended.ts +3 -3
- package/lib/routes/douban/other/weekly-best.ts +2 -2
- package/lib/routes/douban/people/status.ts +15 -15
- package/lib/routes/douban/people/wish.ts +3 -3
- package/lib/routes/douyin/live.ts +1 -1
- package/lib/routes/douyin/types.ts +1 -5
- package/lib/routes/douyin/user.ts +1 -1
- package/lib/routes/douyu/group.ts +2 -2
- package/lib/routes/dtcj/datahero.ts +2 -2
- package/lib/routes/dtcj/datainsight.ts +2 -2
- package/lib/routes/dx2025/index.ts +17 -17
- package/lib/routes/dytt/index.ts +299 -56
- package/lib/routes/dytt/namespace.ts +1 -1
- package/lib/routes/e-hentai/index.ts +1 -1
- package/lib/routes/eagle/changelog.ts +3 -3
- package/lib/routes/earthquake/ceic.ts +8 -8
- package/lib/routes/eastday/24.ts +5 -5
- package/lib/routes/eastmoney/report/index.ts +2 -2
- package/lib/routes/ecust/jwc/notice.ts +2 -2
- package/lib/routes/ehentai/favorites.ts +7 -2
- package/lib/routes/ehentai/search.ts +2 -2
- package/lib/routes/ehentai/tag.ts +2 -2
- package/lib/routes/ekantipur/issue.ts +3 -3
- package/lib/routes/eleduck/posts.ts +17 -17
- package/lib/routes/epicgames/index.ts +2 -2
- package/lib/routes/eprice/rss.ts +3 -3
- package/lib/routes/espn/news.ts +1 -1
- package/lib/routes/famitsu/category.ts +2 -2
- package/lib/routes/fanbox/types.ts +0 -4
- package/lib/routes/fangchan/list.ts +224 -0
- package/lib/routes/fangchan/namespace.ts +9 -0
- package/lib/routes/fangchan/templates/description.art +7 -0
- package/lib/routes/fantia/search.ts +36 -36
- package/lib/routes/farcaster/namespace.ts +7 -0
- package/lib/routes/farcaster/user.ts +46 -0
- package/lib/routes/fashionnetwork/index.ts +10 -10
- package/lib/routes/feng/forum.ts +2 -2
- package/lib/routes/ff14/ff14-global.ts +5 -5
- package/lib/routes/ff14/ff14-zh.ts +2 -2
- package/lib/routes/finology/category.ts +17 -17
- package/lib/routes/finology/tag.ts +30 -30
- package/lib/routes/finviz/news.ts +2 -2
- package/lib/routes/fjksbm/index.ts +2 -2
- package/lib/routes/flyert/creditcard.ts +20 -20
- package/lib/routes/focustaiwan/index.ts +5 -5
- package/lib/routes/follow/profile.ts +1 -1
- package/lib/routes/followin/index.ts +6 -6
- package/lib/routes/followin/news.ts +1 -1
- package/lib/routes/foreignaffairs/namespace.ts +7 -0
- package/lib/routes/foreignaffairs/rss.ts +55 -0
- package/lib/routes/foresightnews/util.ts +1 -1
- package/lib/routes/forklog/index.ts +72 -0
- package/lib/routes/forklog/namespace.ts +7 -0
- package/lib/routes/fortnite/news.ts +4 -4
- package/lib/routes/fortunechina/index.ts +2 -2
- package/lib/routes/fx-markets/channel.ts +2 -2
- package/lib/routes/fxiaoke/crm.ts +2 -2
- package/lib/routes/gameapps/index.ts +1 -1
- package/lib/routes/gamekee/namespace.ts +6 -0
- package/lib/routes/gamekee/news.ts +64 -0
- package/lib/routes/gamer520/index.ts +3 -3
- package/lib/routes/gamersecret/index.ts +14 -14
- package/lib/routes/gcores/articles.ts +53 -0
- package/lib/routes/gcores/categories.ts +129 -0
- package/lib/routes/gcores/collections.ts +129 -0
- package/lib/routes/gcores/namespace.ts +1 -0
- package/lib/routes/gcores/news.ts +53 -0
- package/lib/routes/gcores/parser.ts +284 -0
- package/lib/routes/gcores/program-previews.ts +50 -0
- package/lib/routes/gcores/tags.ts +129 -0
- package/lib/routes/gcores/templates/description.art +67 -0
- package/lib/routes/gcores/topics.ts +63 -0
- package/lib/routes/gcores/util.ts +176 -0
- package/lib/routes/gcores/videos.ts +52 -0
- package/lib/routes/gdsrx/index.ts +8 -8
- package/lib/routes/geekpark/index.ts +10 -10
- package/lib/routes/gelbooru/namespace.ts +7 -0
- package/lib/routes/gelbooru/post.ts +113 -0
- package/lib/routes/gelbooru/templates/description.art +19 -0
- package/lib/routes/gelbooru/utils.ts +43 -0
- package/lib/routes/gelonghui/home.ts +2 -2
- package/lib/routes/gf-cn/news.ts +2 -2
- package/lib/routes/gitcode/namespace.ts +7 -0
- package/lib/routes/gitcode/repos/commits.ts +67 -0
- package/lib/routes/github/search.ts +5 -5
- package/lib/routes/github/topic.ts +4 -4
- package/lib/routes/google/fonts.ts +2 -2
- package/lib/routes/gov/ah/kjt.ts +18 -18
- package/lib/routes/gov/beijing/bphc/index.ts +1 -1
- package/lib/routes/gov/caac/cjwt.ts +1 -1
- package/lib/routes/gov/cbirc/index.ts +54 -53
- package/lib/routes/gov/ccdi/index.ts +1 -1
- package/lib/routes/gov/chongqing/gzw.ts +2 -2
- package/lib/routes/gov/csrc/csrc.ts +101 -101
- package/lib/routes/gov/customs/list.ts +1 -1
- package/lib/routes/gov/forestry/gjlckjdjt.ts +7 -7
- package/lib/routes/gov/general/general.ts +1 -1
- package/lib/routes/gov/hangzhou/namespace.ts +9 -0
- package/lib/routes/gov/hangzhou/templates/jbxx.art +173 -0
- package/lib/routes/gov/hangzhou/zjzwfw.ts +89 -0
- package/lib/routes/gov/hangzhou/zwfw.ts +112 -0
- package/lib/routes/gov/hebei/czt.ts +2 -2
- package/lib/routes/gov/lswz/index.ts +32 -32
- package/lib/routes/gov/maonan/maonan.ts +2 -2
- package/lib/routes/gov/mem/sgcc.ts +2 -2
- package/lib/routes/gov/mfa/wjdt.ts +10 -10
- package/lib/routes/gov/moa/gjs.ts +210 -0
- package/lib/routes/gov/moa/zdscxx.ts +2 -2
- package/lib/routes/gov/moe/moe.ts +2 -2
- package/lib/routes/gov/mof/bond.ts +3 -3
- package/lib/routes/gov/mof/gss.ts +82 -0
- package/lib/routes/gov/moj/aac/news.ts +2 -2
- package/lib/routes/gov/npc/index.ts +2 -2
- package/lib/routes/gov/nrta/dsj.ts +2 -2
- package/lib/routes/gov/nrta/news.ts +2 -2
- package/lib/routes/gov/pbc/goutongjiaoliu.ts +1 -1
- package/lib/routes/gov/pbc/namespace.ts +28 -28
- package/lib/routes/gov/pbc/trade-announcement.ts +1 -1
- package/lib/routes/gov/samr/xgzlyhd.ts +91 -91
- package/lib/routes/gov/sh/fgw/index.ts +3 -3
- package/lib/routes/gov/shaanxi/kjt.ts +2 -2
- package/lib/routes/gov/shenzhen/hrss/szksy/index.ts +2 -2
- package/lib/routes/gov/shenzhen/xxgk/zfxxgj.ts +2 -2
- package/lib/routes/gov/shenzhen/zjj/index.ts +2 -2
- package/lib/routes/gov/shenzhen/zzb/index.ts +2 -2
- package/lib/routes/gov/sichuan/deyang/govpublicinfo.ts +2 -2
- package/lib/routes/gov/sichuan/deyang/mztoday.ts +2 -2
- package/lib/routes/gov/stats/index.ts +4 -8
- package/lib/routes/gov/suzhou/news.ts +15 -15
- package/lib/routes/gov/taiyuan/rsj.ts +2 -2
- package/lib/routes/gov/tianjin/tjftz.ts +53 -0
- package/lib/routes/gov/tianjin/tjrcgzw.ts +51 -0
- package/lib/routes/gov/xuzhou/hrss.ts +2 -2
- package/lib/routes/gov/zhejiang/gwy.ts +22 -22
- package/lib/routes/gov/zhengce/govall.ts +9 -9
- package/lib/routes/grainoil/category.ts +207 -0
- package/lib/routes/grainoil/namespace.ts +9 -0
- package/lib/routes/grist/topic.ts +43 -43
- package/lib/routes/guancha/index.ts +2 -2
- package/lib/routes/guancha/member.ts +2 -2
- package/lib/routes/guokr/channel.ts +2 -2
- package/lib/routes/gzdaily/app.ts +7 -7
- package/lib/routes/hacking8/index.ts +2 -2
- package/lib/routes/hafu/news.ts +2 -2
- package/lib/routes/hafu/utils.ts +3 -3
- package/lib/routes/hakkatv/type.ts +2 -2
- package/lib/routes/hanime1/namespace.ts +7 -0
- package/lib/routes/hanime1/previews.ts +89 -0
- package/lib/routes/hbr/topic.ts +2 -2
- package/lib/routes/hellobtc/kepu.ts +2 -2
- package/lib/routes/hellogithub/article.ts +2 -2
- package/lib/routes/hellogithub/index.ts +2 -2
- package/lib/routes/hellogithub/report.ts +3 -3
- package/lib/routes/hfut/hf/notice.ts +2 -2
- package/lib/routes/hfut/xc/notice.ts +2 -2
- package/lib/routes/hinatazaka46/blog.ts +35 -35
- package/lib/routes/hitcon/zeroday.ts +3 -3
- package/lib/routes/hitsz/article.ts +2 -2
- package/lib/routes/hizu/index.ts +25 -25
- package/lib/routes/hkej/index.ts +2 -2
- package/lib/routes/hkepc/index.ts +2 -2
- package/lib/routes/hket/index.ts +3 -3
- package/lib/routes/hkushop/namespace.ts +9 -0
- package/lib/routes/hkushop/vinyl-or-picture-lp.ts +87 -0
- package/lib/routes/hljucm/yjsy.ts +2 -2
- package/lib/routes/hnrb/index.ts +11 -11
- package/lib/routes/hongkong/dh.ts +3 -3
- package/lib/routes/hostmonit/cloudflareyes.ts +3 -3
- package/lib/routes/hottoys/index.ts +2 -2
- package/lib/routes/hoyolab/news.ts +21 -21
- package/lib/routes/hrbeu/cec/list.ts +82 -0
- package/lib/routes/hrbeu/job/calendar.ts +2 -2
- package/lib/routes/hrbeu/job/list.ts +2 -2
- package/lib/routes/hrbeu/uae/news.ts +2 -2
- package/lib/routes/hrbeu/ugs/news.ts +21 -21
- package/lib/routes/hrbeu/yjsy/list.ts +2 -2
- package/lib/routes/hrbust/cs.ts +100 -0
- package/lib/routes/hrbust/gzc.ts +97 -0
- package/lib/routes/hrbust/jwzx.ts +8 -8
- package/lib/routes/hrbust/lib.ts +97 -0
- package/lib/routes/hrbust/news.ts +9 -10
- package/lib/routes/hrbust/nic.ts +5 -8
- package/lib/routes/huanqiu/index.ts +2 -2
- package/lib/routes/hubu/index.ts +3 -3
- package/lib/routes/hubu/zhxy.ts +19 -19
- package/lib/routes/hunau/gfxy/index.ts +2 -2
- package/lib/routes/hunau/ied.ts +3 -3
- package/lib/routes/hunau/jwc.ts +2 -2
- package/lib/routes/hunau/xky/index.ts +2 -2
- package/lib/routes/hupu/index.ts +2 -2
- package/lib/routes/hust/aia/notice.ts +2 -2
- package/lib/routes/hust/gs.ts +31 -31
- package/lib/routes/hust/mse.ts +66 -66
- package/lib/routes/huxiu/channel.ts +8 -8
- package/lib/routes/huxiu/member.ts +2 -2
- package/lib/routes/huxiu/util.ts +11 -9
- package/lib/routes/hypergryph/arknights/announce.ts +7 -7
- package/lib/routes/hypergryph/arknights/news.ts +3 -3
- package/lib/routes/ianspriggs/index.ts +2 -2
- package/lib/routes/icbc/whpj.ts +2 -2
- package/lib/routes/idaily/index.ts +3 -3
- package/lib/routes/iehou/index.ts +3 -3
- package/lib/routes/ielts/index.ts +1 -1
- package/lib/routes/ifanr/category.ts +7 -2
- package/lib/routes/ifanr/digest.ts +1 -1
- package/lib/routes/ifanr/index.ts +1 -1
- package/lib/routes/ifeng/feng.ts +2 -2
- package/lib/routes/imdb/chart.ts +2 -2
- package/lib/routes/indienova/column.ts +20 -20
- package/lib/routes/inewsweek/index.ts +3 -3
- package/lib/routes/infzm/index.ts +3 -3
- package/lib/routes/instructables/projects.ts +22 -17
- package/lib/routes/investor/index.ts +16 -16
- package/lib/routes/iplaysoft/category.ts +49 -0
- package/lib/routes/iplaysoft/index.ts +48 -41
- package/lib/routes/iplaysoft/namespace.ts +1 -0
- package/lib/routes/iplaysoft/tag.ts +49 -0
- package/lib/routes/iplaysoft/utils.ts +34 -0
- package/lib/routes/iqiyi/video.ts +1 -1
- package/lib/routes/iresearch/weekly.ts +1 -1
- package/lib/routes/ithome/index.ts +2 -2
- package/lib/routes/ithome/ranking.ts +2 -2
- package/lib/routes/ithome/tw/feeds.ts +2 -2
- package/lib/routes/japanpost/utils.ts +2 -2
- package/lib/routes/javdb/actors.ts +2 -2
- package/lib/routes/javdb/index.ts +9 -9
- package/lib/routes/javdb/makers.ts +2 -2
- package/lib/routes/javdb/rankings.ts +6 -6
- package/lib/routes/javdb/search.ts +6 -6
- package/lib/routes/javdb/series.ts +2 -2
- package/lib/routes/javdb/tags.ts +3 -3
- package/lib/routes/javdb/videocodes.ts +2 -2
- package/lib/routes/javlibrary/bestrated.ts +2 -2
- package/lib/routes/javlibrary/bestreviews.ts +2 -2
- package/lib/routes/javlibrary/genre.ts +2 -2
- package/lib/routes/javlibrary/maker.ts +2 -2
- package/lib/routes/javlibrary/mostwanted.ts +2 -2
- package/lib/routes/javlibrary/newrelease.ts +2 -2
- package/lib/routes/javlibrary/star.ts +2 -2
- package/lib/routes/javlibrary/user.ts +2 -2
- package/lib/routes/jin10/category.ts +223 -0
- package/lib/routes/jinritemai/docs.ts +6 -6
- package/lib/routes/jinse/catalogue.ts +5 -5
- package/lib/routes/jinse/lives.ts +2 -2
- package/lib/routes/jinse/timeline.ts +3 -3
- package/lib/routes/joins/chinese.ts +15 -15
- package/lib/routes/jornada/index.ts +13 -13
- package/lib/routes/joshwcomeau/latest.ts +59 -0
- package/lib/routes/joshwcomeau/namespace.ts +8 -0
- package/lib/routes/joshwcomeau/popular.ts +38 -0
- package/lib/routes/joshwcomeau/utils.ts +61 -0
- package/lib/routes/jsu/jwc.ts +2 -2
- package/lib/routes/juejin/collections.ts +1 -1
- package/lib/routes/juejin/dynamic.ts +11 -1
- package/lib/routes/juejin/pins.ts +2 -2
- package/lib/routes/juejin/trending.ts +17 -17
- package/lib/routes/jump/discount.ts +14 -14
- package/lib/routes/kamen-rider-official/news.ts +31 -31
- package/lib/routes/kanxue/topic.ts +21 -21
- package/lib/routes/kaopu/news.ts +2 -2
- package/lib/routes/kbs/news.ts +2 -2
- package/lib/routes/kbs/today.ts +2 -2
- package/lib/routes/kcna/news.ts +13 -13
- package/lib/routes/kemono/index.ts +6 -5
- package/lib/routes/komiic/comic.ts +88 -0
- package/lib/routes/komiic/namespace.ts +7 -0
- package/lib/routes/konachan/post.ts +2 -2
- package/lib/routes/kpopping/kpics.ts +218 -0
- package/lib/routes/kpopping/namespace.ts +9 -0
- package/lib/routes/kpopping/news.ts +197 -0
- package/lib/routes/kpopping/templates/description.art +17 -0
- package/lib/routes/kurogames/namespace.ts +1 -1
- package/lib/routes/kurogames/wutheringwaves/constants.ts +34 -0
- package/lib/routes/kurogames/wutheringwaves/news.ts +60 -33
- package/lib/routes/kurogames/wutheringwaves/utils.ts +79 -0
- package/lib/routes/landiannews/category.ts +48 -0
- package/lib/routes/landiannews/index.ts +44 -0
- package/lib/routes/landiannews/namespace.ts +9 -0
- package/lib/routes/landiannews/tag.ts +48 -0
- package/lib/routes/landiannews/utils.ts +34 -0
- package/lib/routes/latepost/index.ts +3 -3
- package/lib/routes/leagueoflegends/namespace.ts +8 -0
- package/lib/routes/leagueoflegends/patch-notes.ts +76 -0
- package/lib/routes/learnblockchain/posts.ts +17 -17
- package/lib/routes/lens/namespace.ts +7 -0
- package/lib/routes/lens/profile.ts +80 -0
- package/lib/routes/likeshop/index.ts +43 -0
- package/lib/routes/likeshop/namespace.ts +7 -0
- package/lib/routes/line/today.ts +3 -3
- package/lib/routes/linkedin/cn/index.ts +7 -7
- package/lib/routes/linkedin/jobs.ts +14 -14
- package/lib/routes/linkedin/posts.ts +64 -0
- package/lib/routes/linkedin/utils.ts +75 -1
- package/lib/routes/lofter/tag.ts +2 -2
- package/lib/routes/logclub/report.ts +2 -2
- package/lib/routes/loltw/news.ts +2 -2
- package/lib/routes/loongarch/post.ts +1 -0
- package/lib/routes/lovelive-anime/news.ts +5 -5
- package/lib/routes/lovelive-anime/topics.ts +5 -5
- package/lib/routes/lrepacks/index.ts +11 -11
- package/lib/routes/lsnu/jiaowc/tzgg.ts +2 -2
- package/lib/routes/ltaaa/article.ts +180 -0
- package/lib/routes/ltaaa/namespace.ts +9 -0
- package/lib/routes/ltaaa/templates/description.art +7 -0
- package/lib/routes/lvv2/news.ts +5 -5
- package/lib/routes/lvv2/top.ts +5 -5
- package/lib/routes/malaysiakini/index.ts +8 -8
- package/lib/routes/mashiro/index.ts +62 -0
- package/lib/routes/mashiro/namespace.ts +11 -0
- package/lib/routes/mastodon/timeline-local.ts +1 -1
- package/lib/routes/mastodon/timeline-remote.ts +1 -1
- package/lib/routes/matters/latest.ts +2 -2
- package/lib/routes/mckinsey/cn/index.ts +19 -19
- package/lib/routes/medsci/index.ts +27 -27
- package/lib/routes/meishichina/index.ts +189 -189
- package/lib/routes/meituan/tech.ts +31 -37
- package/lib/routes/melonbooks/namespace.ts +9 -0
- package/lib/routes/melonbooks/parser.ts +39 -0
- package/lib/routes/melonbooks/search.ts +44 -0
- package/lib/routes/mercari/keyword.ts +67 -0
- package/lib/routes/mercari/namespace.ts +9 -0
- package/lib/routes/mercari/templates/item.art +46 -0
- package/lib/routes/mercari/templates/shopItem.art +46 -0
- package/lib/routes/mercari/types.ts +278 -0
- package/lib/routes/mercari/util.ts +308 -0
- package/lib/routes/meteor/index.ts +1 -1
- package/lib/routes/mihoyo/bbs/img-ranking.ts +20 -20
- package/lib/routes/mihoyo/bbs/official.ts +6 -6
- package/lib/routes/mihoyo/sr/news.ts +3 -3
- package/lib/routes/mihoyo/ys/news.ts +3 -3
- package/lib/routes/mindmeister/example.ts +27 -27
- package/lib/routes/misskey/home-timeline.ts +99 -0
- package/lib/routes/misskey/user-timeline.ts +11 -9
- package/lib/routes/misskey/utils.ts +6 -6
- package/lib/routes/mittrchina/index.ts +5 -5
- package/lib/routes/miui/firmware/index.ts +6 -6
- package/lib/routes/mixcloud/index.ts +2 -2
- package/lib/routes/modian/zhongchou.ts +18 -18
- package/lib/routes/mrm/index.ts +2 -2
- package/lib/routes/mwm/index.ts +2 -2
- package/lib/routes/mycard520/namespace.ts +9 -0
- package/lib/routes/mycard520/news.ts +252 -0
- package/lib/routes/mydrivers/rank.ts +2 -2
- package/lib/routes/myfigurecollection/activity.ts +19 -19
- package/lib/routes/myfigurecollection/index.ts +2 -2
- package/lib/routes/mygopen/index.ts +1 -1
- package/lib/routes/mysql/release.ts +1 -1
- package/lib/routes/nature/research.ts +10 -10
- package/lib/routes/nautiljon/manga-releases.ts +72 -0
- package/lib/routes/nautiljon/namespace.ts +7 -0
- package/lib/routes/nbd/index.ts +2 -2
- package/lib/routes/ncc-cma/cmdp.ts +27 -27
- package/lib/routes/ncepu/master/masterinfo.ts +2 -2
- package/lib/routes/neea/jlpt.ts +91 -53
- package/lib/routes/neea/namespace.ts +1 -1
- package/lib/routes/neu/bmie.ts +16 -16
- package/lib/routes/neu/news.ts +16 -16
- package/lib/routes/newsmarket/index.ts +5 -5
- package/lib/routes/nextapple/realtime.ts +5 -5
- package/lib/routes/ngocn2/index.ts +2 -2
- package/lib/routes/nhentai/util.ts +7 -2
- package/lib/routes/nhk/news.ts +2 -2
- package/lib/routes/nikkei/news.ts +2 -2
- package/lib/routes/nippon/index.ts +2 -2
- package/lib/routes/njnu/ceai/ceai.ts +2 -2
- package/lib/routes/njnu/jwc/jwc.ts +2 -2
- package/lib/routes/nju/exchangesys.ts +2 -2
- package/lib/routes/nju/jw.ts +2 -2
- package/lib/routes/nju/rczp.ts +2 -2
- package/lib/routes/nju/scit.ts +2 -2
- package/lib/routes/nju/zbb.ts +2 -2
- package/lib/routes/njupt/jwc.ts +2 -2
- package/lib/routes/njust/cwc.ts +2 -2
- package/lib/routes/njust/dgxg.ts +2 -2
- package/lib/routes/njust/eo.ts +6 -6
- package/lib/routes/njust/eoe.ts +2 -2
- package/lib/routes/njust/gs.ts +2 -2
- package/lib/routes/njust/jwc.ts +2 -2
- package/lib/routes/njust/utils.ts +1 -1
- package/lib/routes/nlc/read.ts +3 -3
- package/lib/routes/nltimes/news.ts +2 -2
- package/lib/routes/nodejs/blog.ts +12 -12
- package/lib/routes/nogizaka46/blog.ts +42 -42
- package/lib/routes/nosec/index.ts +8 -8
- package/lib/routes/notefolio/search.ts +14 -14
- package/lib/routes/now/news.ts +9 -9
- package/lib/routes/nowcoder/discuss.ts +2 -2
- package/lib/routes/nowcoder/jobcenter.ts +6 -6
- package/lib/routes/nua/dc.ts +7 -7
- package/lib/routes/nua/gra.ts +4 -4
- package/lib/routes/nua/index.ts +3 -3
- package/lib/routes/nua/lib.ts +5 -5
- package/lib/routes/nua/sxw.ts +6 -6
- package/lib/routes/nuaa/college/cs.ts +2 -2
- package/lib/routes/nuaa/jwc/jwc.ts +2 -2
- package/lib/routes/nuaa/yjsy/yjsy.ts +2 -2
- package/lib/routes/nudt/yjszs.ts +2 -2
- package/lib/routes/nuist/bulletin.ts +5 -5
- package/lib/routes/nuist/cas.ts +2 -2
- package/lib/routes/nuist/jwc.ts +2 -2
- package/lib/routes/nuist/scs.ts +2 -2
- package/lib/routes/nuist/sese.ts +2 -2
- package/lib/routes/nwafu/all.ts +3 -3
- package/lib/routes/nwnu/namespace.ts +7 -0
- package/lib/routes/nwnu/routes/college/csse.ts +133 -0
- package/lib/routes/nwnu/routes/department/academic-affairs.ts +115 -0
- package/lib/routes/nwnu/routes/department/postgraduate.ts +139 -0
- package/lib/routes/nwnu/routes/lib/embed-resource.ts +14 -0
- package/lib/routes/nytimes/index.ts +1 -1
- package/lib/routes/oceanengine/arithmetic-index.ts +1 -1
- package/lib/routes/odaily/post.ts +2 -2
- package/lib/routes/oilchem/index.ts +1 -1
- package/lib/routes/okx/index.ts +125 -0
- package/lib/routes/okx/namespace.ts +7 -0
- package/lib/routes/oncc/money18.ts +3 -3
- package/lib/routes/oo-software/changelog.ts +5 -5
- package/lib/routes/openai/blog.ts +2 -2
- package/lib/routes/openrice/chart.ts +6 -6
- package/lib/routes/openrice/offers.ts +3 -3
- package/lib/routes/openrice/promos.ts +3 -3
- package/lib/routes/openrice/voting.ts +6 -6
- package/lib/routes/oreno3d/main.ts +2 -2
- package/lib/routes/oschina/column.ts +1 -1
- package/lib/routes/oschina/news.ts +2 -2
- package/lib/routes/ouc/it-tx.ts +2 -2
- package/lib/routes/ouc/it.ts +2 -2
- package/lib/routes/panewslab/profundity.ts +1 -1
- package/lib/routes/papers/category.ts +1222 -0
- package/lib/routes/papers/query.ts +4 -4
- package/lib/routes/papers/templates/description.art +9 -6
- package/lib/routes/parliament/section77.ts +3 -3
- package/lib/routes/parliament.uk/commonslibrary.ts +1 -1
- package/lib/routes/parliament.uk/lordslibrary.ts +1 -1
- package/lib/routes/parliament.uk/petitions.ts +1 -1
- package/lib/routes/patagonia/new-arrivals.ts +2 -2
- package/lib/routes/patreon/feed.ts +2 -2
- package/lib/routes/patreon/templates/description.art +2 -0
- package/lib/routes/patreon/types.ts +8 -12
- package/lib/routes/people/index.ts +2 -2
- package/lib/routes/people/liuyan.ts +2 -2
- package/lib/routes/peopo/topic.ts +18 -18
- package/lib/routes/picnob/user.ts +153 -106
- package/lib/routes/pincong/utils.ts +1 -1
- package/lib/routes/pingwest/tag.ts +3 -3
- package/lib/routes/pingwest/user.ts +3 -3
- package/lib/routes/pinterest/user.ts +9 -0
- package/lib/routes/pixiv/api/get-ranking.ts +1 -1
- package/lib/routes/pixiv/novel-api/content/utils.ts +1 -0
- package/lib/routes/pku/scc/recruit.ts +2 -2
- package/lib/routes/playno1/av.ts +3 -3
- package/lib/routes/playno1/st.ts +2 -2
- package/lib/routes/plurk/top.ts +5 -5
- package/lib/routes/pnas/index.ts +1 -1
- package/lib/routes/priconne-redive/news.ts +3 -3
- package/lib/routes/producthunt/templates/description.art +19 -0
- package/lib/routes/producthunt/today.ts +49 -22
- package/lib/routes/psnine/game.ts +42 -0
- package/lib/routes/psnine/index.ts +58 -0
- package/lib/routes/psnine/namespace.ts +8 -0
- package/lib/routes/psnine/node.ts +80 -0
- package/lib/routes/psnine/shuzhe.ts +43 -0
- package/lib/routes/psnine/trade.ts +58 -0
- package/lib/routes/publico/ciencias.ts +55 -0
- package/lib/routes/publico/culturas.ts +55 -0
- package/lib/routes/publico/economia.ts +55 -0
- package/lib/routes/publico/internacional.ts +55 -0
- package/lib/routes/publico/items-processor.ts +20 -0
- package/lib/routes/publico/mujer.ts +55 -0
- package/lib/routes/publico/namespace.ts +6 -0
- package/lib/routes/publico/opinion.ts +55 -0
- package/lib/routes/publico/politica.ts +56 -0
- package/lib/routes/publico/public.ts +48 -0
- package/lib/routes/publico/sociedad.ts +55 -0
- package/lib/routes/publico/tremending.ts +48 -0
- package/lib/routes/qianzhan/column.ts +2 -2
- package/lib/routes/qianzhan/rank.ts +2 -2
- package/lib/routes/qiche365/recall.ts +2 -2
- package/lib/routes/qm120/news.ts +8 -8
- package/lib/routes/qoo-app/apps/comment.ts +2 -2
- package/lib/routes/qoo-app/news.ts +2 -2
- package/lib/routes/qq/ac/rank.ts +2 -2
- package/lib/routes/qq/cfhd/index.ts +7 -7
- package/lib/routes/qq88/index.ts +2 -2
- package/lib/routes/qqorw/index.ts +2 -2
- package/lib/routes/questmobile/report.ts +75 -75
- package/lib/routes/quicker/qa.ts +12 -12
- package/lib/routes/quicker/share.ts +5 -5
- package/lib/routes/quicker/user.ts +2 -2
- package/lib/routes/radio-canada/latest.ts +2 -2
- package/lib/routes/raspberrypi/magazine.ts +174 -0
- package/lib/routes/raspberrypi/namespace.ts +9 -0
- package/lib/routes/raspberrypi/templates/description.art +21 -0
- package/lib/routes/readhub/daily.ts +2 -2
- package/lib/routes/readhub/index.ts +2 -2
- package/lib/routes/reuters/common.ts +17 -2
- package/lib/routes/rodong/news.ts +2 -2
- package/lib/routes/rsc/journal.ts +3 -3
- package/lib/routes/rsshub/transform/html.ts +7 -7
- package/lib/routes/rsshub/transform/json.ts +10 -10
- package/lib/routes/ruankao/news.ts +1 -1
- package/lib/routes/sakurazaka46/blog.ts +36 -36
- package/lib/routes/sara/index.ts +2 -2
- package/lib/routes/sass/gs/index.ts +2 -2
- package/lib/routes/science/blogs.ts +2 -2
- package/lib/routes/science/current.ts +7 -7
- package/lib/routes/sciencedirect/current-issue.ts +93 -0
- package/lib/routes/sciencenet/blog.ts +9 -9
- package/lib/routes/sctv/programme.ts +47 -47
- package/lib/routes/scut/gzic/notice.ts +2 -2
- package/lib/routes/scut/jwc/notice.ts +2 -2
- package/lib/routes/scut/jwc/school.ts +2 -2
- package/lib/routes/scut/smae/notice.ts +2 -2
- package/lib/routes/sdu/cmse.ts +2 -2
- package/lib/routes/sdu/epe.ts +2 -2
- package/lib/routes/sdu/gjsw.ts +2 -2
- package/lib/routes/sdu/mech.ts +2 -2
- package/lib/routes/sdu/qd/xszxqd.ts +2 -2
- package/lib/routes/sdu/qd/xyb.ts +2 -2
- package/lib/routes/sdu/sc.ts +2 -2
- package/lib/routes/sdu/wh/jwc.ts +2 -2
- package/lib/routes/sdu/wh/news.ts +2 -2
- package/lib/routes/sdu/ygb.ts +2 -2
- package/lib/routes/sdust/yjsy/zhaosheng.ts +6 -6
- package/lib/routes/seekingalpha/index.ts +3 -3
- package/lib/routes/sehuatang/index.ts +7 -7
- package/lib/routes/sensortower/blog.ts +2 -2
- package/lib/routes/setn/index.ts +7 -7
- package/lib/routes/seu/cse/index.ts +2 -2
- package/lib/routes/seu/yzb/index.ts +2 -2
- package/lib/routes/shiep/index.ts +16 -16
- package/lib/routes/shisu/news.ts +2 -2
- package/lib/routes/shopify/apps/[handle].reviews.ts +1 -1
- package/lib/routes/shopify/apps/search.ts +6 -3
- package/lib/routes/shu/global.ts +2 -2
- package/lib/routes/shu/gs.ts +2 -2
- package/lib/routes/shu/index.ts +2 -2
- package/lib/routes/shu/jwb.ts +2 -2
- package/lib/routes/shu/xykd.ts +2 -2
- package/lib/routes/sicau/dky.ts +2 -2
- package/lib/routes/sicau/yan.ts +2 -2
- package/lib/routes/sicau/zsjy.ts +2 -2
- package/lib/routes/simpleinfo/index.ts +8 -8
- package/lib/routes/sina/discovery.ts +2 -2
- package/lib/routes/sina/finance/china.ts +2 -2
- package/lib/routes/sina/finance/stock/usstock.ts +2 -2
- package/lib/routes/sina/rollnews.ts +2 -2
- package/lib/routes/sjtu/gs.ts +8 -8
- package/lib/routes/sjtu/jwc.ts +2 -2
- package/lib/routes/sjtu/tongqu/activity.ts +2 -2
- package/lib/routes/sjtu/yzb/zkxx.ts +2 -2
- package/lib/routes/sketis/isabelle-dev/blog/index.ts +1 -1
- package/lib/routes/slowmist/slowmist.ts +2 -2
- package/lib/routes/smashingmagazine/category.ts +34 -34
- package/lib/routes/smzdm/haowen-fenlei.ts +2 -2
- package/lib/routes/sobooks/index.ts +9 -9
- package/lib/routes/sobooks/tag.ts +7 -7
- package/lib/routes/sohu/mp.ts +3 -2
- package/lib/routes/spankbang/new-videos.ts +1 -1
- package/lib/routes/spotify/playlist.ts +3 -0
- package/lib/routes/spotify/show.ts +1 -1
- package/lib/routes/sputniknews/index.ts +38 -38
- package/lib/routes/sqmc/www.ts +2 -2
- package/lib/routes/sse/sselawsrules.ts +27 -27
- package/lib/routes/startuplatte/index.ts +2 -2
- package/lib/routes/stcn/index.ts +241 -136
- package/lib/routes/stcn/kx.ts +144 -0
- package/lib/routes/stcn/rank.ts +249 -0
- package/lib/routes/steam/search.ts +1 -2
- package/lib/routes/storm/index.ts +2 -2
- package/lib/routes/swjtu/namespace.ts +1 -1
- package/lib/routes/swjtu/scai.ts +117 -0
- package/lib/routes/swjtu/{scai/bks.ts → sports.ts} +16 -15
- package/lib/routes/swjtu/xg.ts +3 -3
- package/lib/routes/swpu/bgw.ts +2 -2
- package/lib/routes/swpu/cjxy.ts +2 -2
- package/lib/routes/swpu/dean.ts +2 -2
- package/lib/routes/swpu/dxy.ts +2 -2
- package/lib/routes/swpu/is.ts +2 -2
- package/lib/routes/swpu/scs.ts +2 -2
- package/lib/routes/sysu/ygafz.ts +6 -6
- package/lib/routes/szse/disclosure/listed-notice.ts +111 -0
- package/lib/routes/szse/inquire.ts +5 -5
- package/lib/routes/szse/projectdynamic.ts +21 -21
- package/lib/routes/szse/rule.ts +70 -70
- package/lib/routes/szse/templates/inquire.art +1 -1
- package/lib/routes/szu/yz/index.ts +2 -2
- package/lib/routes/t66y/index.ts +12 -12
- package/lib/routes/tangshufang/index.ts +8 -8
- package/lib/routes/taobao/zhongchou.ts +2 -2
- package/lib/routes/taoguba/index.ts +2 -2
- package/lib/routes/taptap/changelog-intl.ts +3 -3
- package/lib/routes/tass/news.ts +2 -2
- package/lib/routes/telecompaper/news.ts +3 -3
- package/lib/routes/telecompaper/search.ts +6 -6
- package/lib/routes/telegram/channel.ts +2 -2
- package/lib/routes/telegram/stickerpack.ts +19 -10
- package/lib/routes/telegram/tglib/client.ts +18 -18
- package/lib/routes/tencent/news/author.ts +40 -37
- package/lib/routes/tencent/pvp/newsindex.ts +2 -2
- package/lib/routes/tesla/cx.ts +47 -47
- package/lib/routes/test/index.ts +1 -1
- package/lib/routes/tgbus/list.ts +2 -2
- package/lib/routes/the/index.ts +13 -13
- package/lib/routes/theatlantic/news.ts +2 -2
- package/lib/routes/theblock/index.ts +142 -0
- package/lib/routes/theblock/namespace.ts +7 -0
- package/lib/routes/theblockbeats/index.ts +5 -5
- package/lib/routes/thecover/channel.ts +2 -2
- package/lib/routes/theinitium/app.ts +82 -53
- package/lib/routes/theinitium/channel.ts +3 -3
- package/lib/routes/themoviedb/sheet.ts +6 -6
- package/lib/routes/thepaper/channel.ts +14 -14
- package/lib/routes/thepaper/list.ts +98 -98
- package/lib/routes/thepetcity/index.ts +6 -6
- package/lib/routes/theverge/index.ts +86 -75
- package/lib/routes/theverge/templates/header.art +19 -0
- package/lib/routes/thoughtco/index.ts +293 -293
- package/lib/routes/threads/index.ts +73 -54
- package/lib/routes/threads/utils.ts +60 -78
- package/lib/routes/tiktok/user.ts +1 -1
- package/lib/routes/timednews/news.ts +3 -3
- package/lib/routes/tingshuitz/changsha.ts +4 -4
- package/lib/routes/tju/cic/index.ts +2 -2
- package/lib/routes/tju/news/index.ts +2 -2
- package/lib/routes/tju/oaa/index.ts +2 -2
- package/lib/routes/tju/yzb/index.ts +2 -2
- package/lib/routes/tmtpost/column.ts +298 -0
- package/lib/routes/tmtpost/new.ts +42 -0
- package/lib/routes/tmtpost/templates/description.art +7 -0
- package/lib/routes/tmtpost/util.ts +207 -0
- package/lib/routes/tokeninsight/report.ts +3 -3
- package/lib/routes/tongji/sse/notice.ts +2 -2
- package/lib/routes/topys/index.ts +1 -1
- package/lib/routes/toranoana/namespace.ts +7 -0
- package/lib/routes/toranoana/news.ts +110 -0
- package/lib/routes/toutiao/a-bogus.ts +15 -15
- package/lib/routes/transformer-circuits/index.ts +124 -0
- package/lib/routes/transformer-circuits/namespace.ts +7 -0
- package/lib/routes/transformer-circuits/templates/article.art +62 -0
- package/lib/routes/tsinghua/lib/zydt.ts +3 -3
- package/lib/routes/tvb/news.ts +6 -6
- package/lib/routes/tvtropes/featured.ts +2 -2
- package/lib/routes/twitter/api/developer-api/user.ts +2 -2
- package/lib/routes/twitter/namespace.ts +1 -1
- package/lib/routes/twitter/user.ts +3 -4
- package/lib/routes/twitter/utils.ts +13 -13
- package/lib/routes/txks/news.ts +1 -1
- package/lib/routes/txrjy/fornumtopic.ts +2 -2
- package/lib/routes/ucas/index.ts +2 -2
- package/lib/routes/uchicago/current.ts +3 -3
- package/lib/routes/udn/breaking-news.ts +2 -2
- package/lib/routes/udn/global/index.ts +2 -2
- package/lib/routes/udn/global/tag.ts +1 -1
- package/lib/routes/uestc/cqe.ts +2 -2
- package/lib/routes/uestc/gr.ts +3 -3
- package/lib/routes/uestc/jwc.ts +3 -3
- package/lib/routes/uestc/news.ts +2 -2
- package/lib/routes/uestc/sise.ts +2 -2
- package/lib/routes/ulapia/index.ts +2 -2
- package/lib/routes/unipd/ilbolive/news.ts +104 -0
- package/lib/routes/unipd/namespace.ts +7 -0
- package/lib/routes/upc/jsj.ts +2 -2
- package/lib/routes/upc/jwc.ts +2 -2
- package/lib/routes/upc/main.ts +2 -2
- package/lib/routes/uptimerobot/rss.ts +2 -2
- package/lib/routes/uraaka-joshi/uraaka-joshi-user.ts +2 -2
- package/lib/routes/uraaka-joshi/uraaka-joshi.ts +42 -46
- package/lib/routes/usepanda/index.ts +2 -2
- package/lib/routes/ustb/tj/news.ts +2 -2
- package/lib/routes/ustb/yjsy/news.ts +2 -2
- package/lib/routes/ustc/eeis.ts +2 -2
- package/lib/routes/ustc/gs.ts +2 -2
- package/lib/routes/ustc/index.ts +2 -2
- package/lib/routes/ustc/job.ts +2 -2
- package/lib/routes/ustc/jwc.ts +2 -2
- package/lib/routes/ustc/math.ts +2 -2
- package/lib/routes/ustc/scms.ts +2 -2
- package/lib/routes/ustc/sist.ts +2 -2
- package/lib/routes/usts/jwch.ts +2 -2
- package/lib/routes/utgd/category.ts +2 -2
- package/lib/routes/utgd/topic.ts +1 -1
- package/lib/routes/utgd/utils.ts +1 -1
- package/lib/routes/uw/gix/news.ts +2 -2
- package/lib/routes/vcb-s/category.ts +2 -2
- package/lib/routes/vom/featured.ts +2 -2
- package/lib/routes/wainao/namespace.ts +8 -0
- package/lib/routes/wainao/templates/description.art +9 -0
- package/lib/routes/wainao/topics.ts +214 -0
- package/lib/routes/wainao/wainao-reads.ts +49 -0
- package/lib/routes/wallstreetcn/live.ts +2 -2
- package/lib/routes/wallstreetcn/news.ts +12 -12
- package/lib/routes/wechat/tgchannel.ts +4 -4
- package/lib/routes/weibo/friends.ts +1 -1
- package/lib/routes/weibo/group.ts +1 -1
- package/lib/routes/weibo/namespace.ts +1 -0
- package/lib/routes/weibo/timeline.ts +3 -1
- package/lib/routes/weibo/user-bookmarks.ts +1 -1
- package/lib/routes/weibo/user.ts +11 -3
- package/lib/routes/weibo/utils.ts +11 -3
- package/lib/routes/wfu/news.ts +4 -4
- package/lib/routes/whitehouse/news.ts +2 -2
- package/lib/routes/who/news-room.ts +6 -6
- package/lib/routes/who/news.ts +3 -3
- package/lib/routes/who/speeches.ts +3 -3
- package/lib/routes/whu/cs.ts +2 -2
- package/lib/routes/whu/gs/index.ts +2 -2
- package/lib/routes/whu/swrh.ts +3 -3
- package/lib/routes/wmpvp/index.ts +2 -2
- package/lib/routes/wohnnet/index.ts +129 -0
- package/lib/routes/wohnnet/namespace.ts +8 -0
- package/lib/routes/wordpress/util.ts +1 -1
- package/lib/routes/woshipm/popular.ts +2 -2
- package/lib/routes/wsj/news.ts +6 -6
- package/lib/routes/wsyu/news.ts +2 -2
- package/lib/routes/wtu/index.ts +2 -2
- package/lib/routes/wtu/job.ts +2 -2
- package/lib/routes/wyzxwk/article.ts +21 -21
- package/lib/routes/x6d/index.ts +17 -17
- package/lib/routes/xaufe/jiaowu.ts +2 -2
- package/lib/routes/xaut/index.ts +2 -2
- package/lib/routes/xaut/jwc.ts +3 -3
- package/lib/routes/xaut/rsc.ts +3 -3
- package/lib/routes/xiaoheihe/discount.ts +2 -2
- package/lib/routes/xiaoheihe/util.ts +1 -1
- package/lib/routes/xiaohongshu/util.ts +2 -2
- package/lib/routes/xiaoyuzhou/pickup.ts +1 -1
- package/lib/routes/xiaoyuzhou/podcast.ts +27 -27
- package/lib/routes/xidian/jwc.ts +2 -2
- package/lib/routes/xinpianchang/rank.ts +7 -7
- package/lib/routes/xjtu/2yuan/news.ts +11 -11
- package/lib/routes/xjtu/job.ts +3 -3
- package/lib/routes/xjtu/std.ts +2 -2
- package/lib/routes/xjtu/yz.ts +74 -0
- package/lib/routes/xjtu/zs.ts +170 -0
- package/lib/routes/xkb/index.ts +8 -8
- package/lib/routes/xmnn/epaper.ts +2 -2
- package/lib/routes/xsijishe/rank.ts +49 -17
- package/lib/routes/xsijishe/utils.ts +25 -0
- package/lib/routes/xueqiu/stock-info.ts +2 -2
- package/lib/routes/xueqiu/timeline.ts +3 -3
- package/lib/routes/xueqiu/user.ts +2 -2
- package/lib/routes/yande/post.ts +2 -2
- package/lib/routes/ycwb/index.ts +6 -6
- package/lib/routes/yicai/dt.ts +39 -39
- package/lib/routes/yicai/news.ts +26 -26
- package/lib/routes/yicai/video.ts +36 -36
- package/lib/routes/ymgal/article.ts +2 -2
- package/lib/routes/yomiuri/news.ts +18 -18
- package/lib/routes/youmemark/index.ts +88 -0
- package/lib/routes/youmemark/namespace.ts +7 -0
- package/lib/routes/youtube/channel.ts +40 -16
- package/lib/routes/youtube/charts.ts +30 -30
- package/lib/routes/youtube/community.ts +1 -1
- package/lib/routes/youtube/user.ts +38 -9
- package/lib/routes/youtube/utils.ts +17 -0
- package/lib/routes/youzhiyouxing/materials.ts +2 -2
- package/lib/routes/yuque/book.ts +2 -2
- package/lib/routes/yuque/utils.ts +1 -0
- package/lib/routes/yxdown/news.ts +2 -2
- package/lib/routes/yxdzqb/index.ts +2 -2
- package/lib/routes/yxrb/home.ts +2 -2
- package/lib/routes/yyets/article.ts +2 -2
- package/lib/routes/yystv/category.ts +49 -51
- package/lib/routes/yystv/docs.ts +7 -9
- package/lib/routes/yystv/fetcher.ts +10 -0
- package/lib/routes/zaobao/realtime.ts +2 -2
- package/lib/routes/zaobao/util.ts +12 -3
- package/lib/routes/zaobao/znews.ts +2 -2
- package/lib/routes/zaozao/article.ts +2 -2
- package/lib/routes/zcmu/jwc/index.ts +2 -2
- package/lib/routes/zcmu/yxy/index.ts +2 -2
- package/lib/routes/zcool/discover.ts +51 -51
- package/lib/routes/zhihu/answers.ts +26 -54
- package/lib/routes/zhihu/timeline.ts +1 -2
- package/lib/routes/zhihu/utils.ts +5 -5
- package/lib/routes/zhihu/zhuanlan.ts +1 -2
- package/lib/routes/zhitongcaijing/index.ts +15 -15
- package/lib/routes/zhonglun/index.ts +3 -3
- package/lib/routes/zimuxia/index.ts +2 -2
- package/lib/routes/zjol/paper.ts +2 -2
- package/lib/routes/zju/career/index.ts +2 -2
- package/lib/routes/zju/cst/custom.ts +2 -2
- package/lib/routes/zju/cst/index.ts +2 -2
- package/lib/routes/zju/grs/index.ts +2 -2
- package/lib/routes/zju/physics/index.ts +2 -2
- package/lib/routes/zsxq/group.ts +2 -2
- package/lib/routes/zsxq/utils.ts +1 -1
- package/lib/routes/zyw/hot.ts +2 -2
- package/lib/utils/otel/metric.ts +3 -3
- package/lib/utils/otel/trace.ts +16 -16
- package/lib/utils/puppeteer-utils.test.ts +2 -2
- package/lib/utils/puppeteer.test.ts +2 -2
- package/lib/utils/puppeteer.ts +2 -2
- package/lib/utils/timezone.ts +1 -1
- package/package.json +70 -69
- package/lib/routes/apnews/api.ts +0 -77
- package/lib/routes/coomer/artist.ts +0 -33
- package/lib/routes/coomer/posts.ts +0 -32
- package/lib/routes/coomer/utils.ts +0 -57
- package/lib/routes/gcores/category.ts +0 -171
- package/lib/routes/gcores/collection.ts +0 -161
- package/lib/routes/gcores/tag.ts +0 -158
- package/lib/routes/papers/index.ts +0 -136
- package/lib/routes/producthunt/templates/descImg.art +0 -5
- package/lib/routes-deprecated/chuapp/index.js +0 -54
- package/lib/routes-deprecated/ltaaa/index.js +0 -69
- package/lib/routes-deprecated/psnine/game.js +0 -32
- package/lib/routes-deprecated/psnine/index.js +0 -33
- package/lib/routes-deprecated/psnine/news.js +0 -53
- package/lib/routes-deprecated/psnine/node.js +0 -54
- package/lib/routes-deprecated/psnine/shuzhe.js +0 -33
- package/lib/routes-deprecated/psnine/trade.js +0 -39
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import cache from '@/utils/cache';
|
|
2
|
-
import got from '@/utils/got';
|
|
3
|
-
import { load } from 'cheerio';
|
|
4
|
-
import { parseDate } from '@/utils/parse-date';
|
|
5
|
-
|
|
6
|
-
const fetchItems = async (ctx, currentUrl) => {
|
|
7
|
-
const rootUrl = 'https://coomer.su';
|
|
8
|
-
currentUrl = `${rootUrl}/${currentUrl}`;
|
|
9
|
-
|
|
10
|
-
const response = await got({
|
|
11
|
-
method: 'get',
|
|
12
|
-
url: currentUrl,
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const $ = load(response.data);
|
|
16
|
-
|
|
17
|
-
let items = $('.card-list__items')
|
|
18
|
-
.find('a')
|
|
19
|
-
.slice(0, ctx.req.query('limit') ? Number.parseInt(ctx.req.query('limit')) : 25)
|
|
20
|
-
.toArray()
|
|
21
|
-
.map((item) => {
|
|
22
|
-
item = $(item);
|
|
23
|
-
|
|
24
|
-
return {
|
|
25
|
-
link: `${rootUrl}${item.attr('href')}`,
|
|
26
|
-
};
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
items = await Promise.all(
|
|
30
|
-
items.map((item) =>
|
|
31
|
-
cache.tryGet(item.link, async () => {
|
|
32
|
-
const detailResponse = await got({
|
|
33
|
-
method: 'get',
|
|
34
|
-
url: item.link,
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
const content = load(detailResponse.data);
|
|
38
|
-
|
|
39
|
-
content('.ad-container').remove();
|
|
40
|
-
|
|
41
|
-
item.author = content('.post__user-name').text();
|
|
42
|
-
item.title = content('.post__title span').first().text();
|
|
43
|
-
item.pubDate = parseDate(content('.timestamp').attr('datetime'));
|
|
44
|
-
item.description = content('.post__body').html();
|
|
45
|
-
|
|
46
|
-
return item;
|
|
47
|
-
})
|
|
48
|
-
)
|
|
49
|
-
);
|
|
50
|
-
|
|
51
|
-
return {
|
|
52
|
-
title: $('title').text(),
|
|
53
|
-
link: currentUrl,
|
|
54
|
-
item: items,
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
export default fetchItems;
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import InvalidParameterError from '@/errors/types/invalid-parameter';
|
|
2
|
-
import { Route } from '@/types';
|
|
3
|
-
import cache from '@/utils/cache';
|
|
4
|
-
import got from '@/utils/got';
|
|
5
|
-
import { load } from 'cheerio';
|
|
6
|
-
|
|
7
|
-
export const route: Route = {
|
|
8
|
-
path: '/category/:category',
|
|
9
|
-
categories: ['new-media', 'popular'],
|
|
10
|
-
example: '/gcores/category/news',
|
|
11
|
-
parameters: { category: '分类名' },
|
|
12
|
-
features: {
|
|
13
|
-
requireConfig: false,
|
|
14
|
-
requirePuppeteer: false,
|
|
15
|
-
antiCrawler: false,
|
|
16
|
-
supportBT: false,
|
|
17
|
-
supportPodcast: false,
|
|
18
|
-
supportScihub: false,
|
|
19
|
-
},
|
|
20
|
-
radar: [
|
|
21
|
-
{
|
|
22
|
-
source: ['gcores.com/:category'],
|
|
23
|
-
},
|
|
24
|
-
],
|
|
25
|
-
name: '分类',
|
|
26
|
-
maintainers: ['MoguCloud', 'StevenRCE0'],
|
|
27
|
-
handler,
|
|
28
|
-
description: `| 资讯 | 视频 | 电台 | 文章 |
|
|
29
|
-
| ---- | ------ | ------ | -------- |
|
|
30
|
-
| news | videos | radios | articles |`,
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
async function handler(ctx) {
|
|
34
|
-
const category = ctx.req.param('category');
|
|
35
|
-
const url = `https://www.gcores.com/${category}`;
|
|
36
|
-
const res = await got({
|
|
37
|
-
method: 'get',
|
|
38
|
-
url,
|
|
39
|
-
});
|
|
40
|
-
const data = res.data;
|
|
41
|
-
const $ = load(data);
|
|
42
|
-
const feedTitle = $('title').text();
|
|
43
|
-
|
|
44
|
-
let list =
|
|
45
|
-
category === 'news'
|
|
46
|
-
? $('a.news').map(function () {
|
|
47
|
-
const item = {
|
|
48
|
-
url: $(this).attr('href'),
|
|
49
|
-
title: $(this).find('.news_content>h3').text(),
|
|
50
|
-
};
|
|
51
|
-
return item;
|
|
52
|
-
})
|
|
53
|
-
: $('.original.am_card.original-normal').map(function () {
|
|
54
|
-
const item = {
|
|
55
|
-
url: $(this).find('.am_card_inner>a').attr('href'),
|
|
56
|
-
title: $(this).find('h3.am_card_title').text(),
|
|
57
|
-
category: $(this).find('span.original_category>a').text(),
|
|
58
|
-
};
|
|
59
|
-
return item;
|
|
60
|
-
});
|
|
61
|
-
list = list.get();
|
|
62
|
-
|
|
63
|
-
if (list.length > 0 && list.every((item) => item.url === undefined)) {
|
|
64
|
-
throw new InvalidParameterError('Article URL not found! Please submit an issue on GitHub.');
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
const out = await Promise.all(
|
|
68
|
-
list.map((item) => {
|
|
69
|
-
const articleUrl = `https://www.gcores.com${item.url}`;
|
|
70
|
-
|
|
71
|
-
return cache.tryGet(articleUrl, async () => {
|
|
72
|
-
const itemRes = await got({
|
|
73
|
-
method: 'get',
|
|
74
|
-
url: articleUrl,
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
const itemPage = itemRes.data;
|
|
78
|
-
const $ = load(itemPage);
|
|
79
|
-
|
|
80
|
-
const articleRaw = await got(`https://www.gcores.com/gapi/v1${item.url}?include=media,category,user`);
|
|
81
|
-
const articleData = articleRaw.data.data;
|
|
82
|
-
const articleMeta = articleRaw.data.included.find((i) => i.type === 'users' && i.id === articleData.relationships.user.data.id);
|
|
83
|
-
const author = articleMeta.attributes.nickname;
|
|
84
|
-
|
|
85
|
-
let cover;
|
|
86
|
-
if (articleData.attributes.cover) {
|
|
87
|
-
cover = `<img src="https://image.gcores.com/${articleData.attributes.cover}" />`;
|
|
88
|
-
} else if (articleData.attributes.thumb) {
|
|
89
|
-
cover = `<img src="https://image.gcores.com/${articleData.attributes.thumb}" />`;
|
|
90
|
-
} else {
|
|
91
|
-
cover = '';
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// replace figure with img
|
|
95
|
-
const articleContent = JSON.parse(articleData.attributes.content);
|
|
96
|
-
const entityRangeMap = {};
|
|
97
|
-
for (const block of articleContent.blocks || []) {
|
|
98
|
-
if (block.entityRanges.length) {
|
|
99
|
-
entityRangeMap[block.key] = block.entityRanges;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
$('figure').each((i, elem) => {
|
|
104
|
-
const keyAttr = elem.attribs['data-offset-key'];
|
|
105
|
-
const keyMatch = /^(\w+)-(\d+)-(\d)$/.exec(keyAttr);
|
|
106
|
-
let actualContent = '';
|
|
107
|
-
if (keyMatch) {
|
|
108
|
-
const [, key, index] = keyMatch;
|
|
109
|
-
if (entityRangeMap[key] && entityRangeMap[key][index]) {
|
|
110
|
-
const entityKey = entityRangeMap[key] && entityRangeMap[key][index].key;
|
|
111
|
-
const entity = articleContent.entityMap[entityKey];
|
|
112
|
-
actualContent = convertEntityToContent(entity);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
if (actualContent) {
|
|
117
|
-
$(elem).replaceWith(actualContent);
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
// remove editor toolbar img
|
|
122
|
-
$('.md-editor-toolbar').replaceWith('');
|
|
123
|
-
// remove hidden tip block
|
|
124
|
-
$('.story_hidden').replaceWith('');
|
|
125
|
-
|
|
126
|
-
const content = $('.story.story-show').html();
|
|
127
|
-
const basicItem = {
|
|
128
|
-
title: item.title,
|
|
129
|
-
description: cover + content,
|
|
130
|
-
link: articleUrl,
|
|
131
|
-
guid: articleUrl,
|
|
132
|
-
author,
|
|
133
|
-
pubDate: new Date(articleData.attributes['published-at']),
|
|
134
|
-
};
|
|
135
|
-
return category === 'news' ? basicItem : { ...basicItem, category: item.category };
|
|
136
|
-
});
|
|
137
|
-
})
|
|
138
|
-
);
|
|
139
|
-
return {
|
|
140
|
-
title: feedTitle,
|
|
141
|
-
link: url,
|
|
142
|
-
item: out,
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
function convertEntityToContent(entity) {
|
|
147
|
-
const { type, data } = entity;
|
|
148
|
-
switch (type) {
|
|
149
|
-
case 'IMAGE':
|
|
150
|
-
return `
|
|
151
|
-
<figure>
|
|
152
|
-
<img src="https://image.gcores.com/${data.path}" alt="${data.caption || ''}">
|
|
153
|
-
${data.caption ? `<figcaption>${data.caption}</figcaption>` : ''}
|
|
154
|
-
</figure>`;
|
|
155
|
-
|
|
156
|
-
case 'GALLERY':
|
|
157
|
-
return data.images
|
|
158
|
-
.map(
|
|
159
|
-
(image, i, arr) => `
|
|
160
|
-
<figure>
|
|
161
|
-
<img src="https://image.gcores.com/${image.path}" alt="${image.caption || ''}">
|
|
162
|
-
<figcaption>${data.caption || ''} (${i + 1}/${arr.length}) ${image.caption || ''}</figcaption>
|
|
163
|
-
</figure>
|
|
164
|
-
`
|
|
165
|
-
)
|
|
166
|
-
.join('');
|
|
167
|
-
|
|
168
|
-
default:
|
|
169
|
-
return '';
|
|
170
|
-
}
|
|
171
|
-
}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { Route } from '@/types';
|
|
2
|
-
import cache from '@/utils/cache';
|
|
3
|
-
/* refer to: ./tag.js (author: @StevenREC0) */
|
|
4
|
-
import got from '@/utils/got';
|
|
5
|
-
|
|
6
|
-
export const route: Route = {
|
|
7
|
-
path: '/collections/:collection',
|
|
8
|
-
categories: ['new-media', 'popular'],
|
|
9
|
-
example: '/gcores/collections/64',
|
|
10
|
-
parameters: { collection: '专题id,可在专题页面的 URL 中找到,如 游戏开发设计心得分享 -- 64' },
|
|
11
|
-
features: {
|
|
12
|
-
requireConfig: false,
|
|
13
|
-
requirePuppeteer: false,
|
|
14
|
-
antiCrawler: true,
|
|
15
|
-
supportBT: false,
|
|
16
|
-
supportPodcast: false,
|
|
17
|
-
supportScihub: false,
|
|
18
|
-
},
|
|
19
|
-
radar: [
|
|
20
|
-
{
|
|
21
|
-
source: ['gcores.com/collections/:collection'],
|
|
22
|
-
},
|
|
23
|
-
],
|
|
24
|
-
name: '专题文章',
|
|
25
|
-
maintainers: ['kudryavka1013'],
|
|
26
|
-
handler,
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
async function handler(ctx) {
|
|
30
|
-
// get params
|
|
31
|
-
const collection = ctx.req.param('collection');
|
|
32
|
-
|
|
33
|
-
// feed info
|
|
34
|
-
const baseUrl = `https://www.gcores.com/gapi/v1/collections/${collection}`;
|
|
35
|
-
const baseRes = await got(baseUrl);
|
|
36
|
-
const feedTitle = baseRes.data.data.attributes.title;
|
|
37
|
-
const feedUrl = `https://www.gcores.com/collections/${collection}`;
|
|
38
|
-
|
|
39
|
-
// resolve articles
|
|
40
|
-
const dataUrl = `${baseUrl}/articles?sort=-published-at`;
|
|
41
|
-
const res = await got(dataUrl);
|
|
42
|
-
const list = res.data.data;
|
|
43
|
-
|
|
44
|
-
function wrapInlineTag(strArr, startIdx, endIdx, preString, sufString) {
|
|
45
|
-
if (startIdx === endIdx - 1) {
|
|
46
|
-
strArr[startIdx] = `${preString}${strArr[startIdx]}${sufString}`;
|
|
47
|
-
} else {
|
|
48
|
-
strArr[startIdx] = `${preString}${strArr[startIdx]}`;
|
|
49
|
-
strArr[endIdx - 1] = `${strArr[endIdx - 1]}${sufString}`;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const items = list.map((item) => {
|
|
54
|
-
const articleUrl = `https://www.gcores.com/${item.type}/${item.id}`;
|
|
55
|
-
return cache.tryGet(articleUrl, () => {
|
|
56
|
-
let cover = '';
|
|
57
|
-
if (item.attributes.cover) {
|
|
58
|
-
cover = `<img src="https://image.gcores.com/${item.attributes.cover}" />`;
|
|
59
|
-
} else if (item.attributes.thumb) {
|
|
60
|
-
cover = `<img src="https://image.gcores.com/${item.attributes.thumb}" />`;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const contentBlocks = JSON.parse(item.attributes.content);
|
|
64
|
-
const { blocks, entityMap } = contentBlocks;
|
|
65
|
-
|
|
66
|
-
function convertBlockToContent(block) {
|
|
67
|
-
const { type, text, entityRanges, inlineStyleRanges } = block;
|
|
68
|
-
let formattedText = text;
|
|
69
|
-
if (entityRanges.length || inlineStyleRanges.length) {
|
|
70
|
-
// split string and insert HTML tag
|
|
71
|
-
const strArr = [...text];
|
|
72
|
-
let isMedia = false;
|
|
73
|
-
if (entityRanges.length) {
|
|
74
|
-
for (const entityRange of entityRanges) {
|
|
75
|
-
const { key, offset, length } = entityRange;
|
|
76
|
-
const startIdx = offset,
|
|
77
|
-
endIdx = offset + length;
|
|
78
|
-
const { data, type } = entityMap[key];
|
|
79
|
-
switch (type) {
|
|
80
|
-
case 'LINK':
|
|
81
|
-
wrapInlineTag(strArr, startIdx, endIdx, `<a href="${data.url || data.href}" target="${data.target || '_blank'}">`, `</a>`);
|
|
82
|
-
break;
|
|
83
|
-
case 'IMAGE':
|
|
84
|
-
formattedText = `<figure><img src="https://image.gcores.com/${data.path}" width="${data.width}" height="${data.height}"/>${data.caption ? `<figcaption>${data.caption}</figcaption>` : ''}</figure>`;
|
|
85
|
-
isMedia = true;
|
|
86
|
-
break;
|
|
87
|
-
case 'EMBED':
|
|
88
|
-
formattedText = `<figure>${data.content}${data.caption ? `<figcaption>${data.caption}</figcaption>` : ''}</figure>`;
|
|
89
|
-
isMedia = true;
|
|
90
|
-
break;
|
|
91
|
-
case 'GALLERY':
|
|
92
|
-
formattedText = `<figure>${data.images.map((image) => `<div><img src="https://image.gcores.com/${image.path}" width="${image.width}" height="${image.height}"/></div>`).join('')}</figure>`;
|
|
93
|
-
isMedia = true;
|
|
94
|
-
break;
|
|
95
|
-
default:
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
if (inlineStyleRanges.length) {
|
|
101
|
-
for (const inlineStyleRange of inlineStyleRanges) {
|
|
102
|
-
const { style, offset, length } = inlineStyleRange;
|
|
103
|
-
const startIdx = offset,
|
|
104
|
-
endIdx = offset + length;
|
|
105
|
-
switch (style) {
|
|
106
|
-
case 'BOLD':
|
|
107
|
-
wrapInlineTag(strArr, startIdx, endIdx, `<b>`, `</b>`);
|
|
108
|
-
break;
|
|
109
|
-
case 'UNDERLINE':
|
|
110
|
-
wrapInlineTag(strArr, startIdx, endIdx, `<span style="text-decoration:underline">`, `</span>`);
|
|
111
|
-
break;
|
|
112
|
-
case 'ITALIC':
|
|
113
|
-
wrapInlineTag(strArr, startIdx, endIdx, `<i>`, `</i>`);
|
|
114
|
-
break;
|
|
115
|
-
default:
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
formattedText = isMedia ? formattedText : strArr.join('');
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/* 未兼容列表,仅展示为段落,有兴趣可以补全:unordered-list-item、ordered-list-item */
|
|
124
|
-
switch (type) {
|
|
125
|
-
case 'unstyled':
|
|
126
|
-
return `<p>${formattedText}</p>`;
|
|
127
|
-
case 'header-one':
|
|
128
|
-
return `<h1>${formattedText}</h1>`;
|
|
129
|
-
case 'header-two':
|
|
130
|
-
return `<h2>${formattedText}</h2>`;
|
|
131
|
-
case 'header-three':
|
|
132
|
-
return `<h3>${formattedText}</h3>`;
|
|
133
|
-
case 'header-four':
|
|
134
|
-
return `<h4>${formattedText}</h4>`;
|
|
135
|
-
case 'header-five':
|
|
136
|
-
return `<h5>${formattedText}</h5>`;
|
|
137
|
-
case 'header-six':
|
|
138
|
-
return `<h6>${formattedText}</h6>`;
|
|
139
|
-
case 'atomic':
|
|
140
|
-
return formattedText;
|
|
141
|
-
default:
|
|
142
|
-
return `<p>${formattedText}</p>`;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
const content = blocks.map((block) => convertBlockToContent(block));
|
|
146
|
-
|
|
147
|
-
return {
|
|
148
|
-
title: item.attributes.title,
|
|
149
|
-
description: cover + content.join(''),
|
|
150
|
-
link: articleUrl,
|
|
151
|
-
};
|
|
152
|
-
});
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
// return data
|
|
156
|
-
return {
|
|
157
|
-
title: feedTitle,
|
|
158
|
-
link: feedUrl,
|
|
159
|
-
item: items,
|
|
160
|
-
};
|
|
161
|
-
}
|
package/lib/routes/gcores/tag.ts
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import InvalidParameterError from '@/errors/types/invalid-parameter';
|
|
2
|
-
import { Route } from '@/types';
|
|
3
|
-
import cache from '@/utils/cache';
|
|
4
|
-
import got from '@/utils/got';
|
|
5
|
-
import { load } from 'cheerio';
|
|
6
|
-
|
|
7
|
-
export const route: Route = {
|
|
8
|
-
path: '/tag/:tag/:category?',
|
|
9
|
-
categories: ['new-media', 'popular'],
|
|
10
|
-
example: '/gcores/tag/42/articles',
|
|
11
|
-
parameters: { tag: '标签名,可在选定标签分类页面的 URL 中找到,如视觉动物——42', category: '分类名' },
|
|
12
|
-
features: {
|
|
13
|
-
requireConfig: false,
|
|
14
|
-
requirePuppeteer: false,
|
|
15
|
-
antiCrawler: false,
|
|
16
|
-
supportBT: false,
|
|
17
|
-
supportPodcast: false,
|
|
18
|
-
supportScihub: false,
|
|
19
|
-
},
|
|
20
|
-
radar: [
|
|
21
|
-
{
|
|
22
|
-
source: ['gcores.com/categories/:tag', 'gcores.com/'],
|
|
23
|
-
target: '/tag/:tag',
|
|
24
|
-
},
|
|
25
|
-
],
|
|
26
|
-
name: '标签',
|
|
27
|
-
maintainers: ['StevenRCE0'],
|
|
28
|
-
handler,
|
|
29
|
-
description: `分类名同上。`,
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
async function handler(ctx) {
|
|
33
|
-
const tag = ctx.req.param('tag');
|
|
34
|
-
const category = ctx.req.param('category');
|
|
35
|
-
const url = `https://www.gcores.com/categories/${tag + (category ? `?tab=${category}` : '')}`;
|
|
36
|
-
const res = await got({
|
|
37
|
-
method: 'get',
|
|
38
|
-
url,
|
|
39
|
-
});
|
|
40
|
-
const data = res.data;
|
|
41
|
-
const $ = load(data);
|
|
42
|
-
const feedTitle = $('title').text();
|
|
43
|
-
|
|
44
|
-
const list = $('.original.am_card.original-normal')
|
|
45
|
-
.map(function () {
|
|
46
|
-
const item = {
|
|
47
|
-
url: $(this).find('.am_card_inner>a').attr('href'),
|
|
48
|
-
title: $(this).find('h3.am_card_title').text(),
|
|
49
|
-
category: $(this).find('span.original_category>a').text(),
|
|
50
|
-
};
|
|
51
|
-
return item;
|
|
52
|
-
})
|
|
53
|
-
.get();
|
|
54
|
-
|
|
55
|
-
if (list.length > 0 && list.every((item) => item.url === undefined)) {
|
|
56
|
-
throw new InvalidParameterError('Article URL not found! Please submit an issue on GitHub.');
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const out = await Promise.all(
|
|
60
|
-
list.map((item) => {
|
|
61
|
-
const articleUrl = `https://www.gcores.com${item.url}`;
|
|
62
|
-
|
|
63
|
-
return cache.tryGet(articleUrl, async () => {
|
|
64
|
-
const itemRes = await got({
|
|
65
|
-
method: 'get',
|
|
66
|
-
url: articleUrl,
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
const itemPage = itemRes.data;
|
|
70
|
-
const $ = load(itemPage);
|
|
71
|
-
|
|
72
|
-
let articleData = await got(`https://www.gcores.com/gapi/v1${item.url}?include=media`);
|
|
73
|
-
|
|
74
|
-
articleData = articleData.data.data;
|
|
75
|
-
let cover;
|
|
76
|
-
if (articleData.attributes.cover) {
|
|
77
|
-
cover = `<img src="https://image.gcores.com/${articleData.attributes.cover}" />`;
|
|
78
|
-
} else if (articleData.attributes.thumb) {
|
|
79
|
-
cover = `<img src="https://image.gcores.com/${articleData.attributes.thumb}" />`;
|
|
80
|
-
} else {
|
|
81
|
-
cover = '';
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// replace figure with img
|
|
85
|
-
const articleContent = JSON.parse(articleData.attributes.content);
|
|
86
|
-
const entityRangeMap = {};
|
|
87
|
-
for (const block of articleContent.blocks || []) {
|
|
88
|
-
if (block.entityRanges.length) {
|
|
89
|
-
entityRangeMap[block.key] = block.entityRanges;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
$('figure').each((i, elem) => {
|
|
94
|
-
const keyAttr = elem.attribs['data-offset-key'];
|
|
95
|
-
const keyMatch = /^(\w+)-(\d+)-(\d)$/.exec(keyAttr);
|
|
96
|
-
let actualContent = '';
|
|
97
|
-
if (keyMatch) {
|
|
98
|
-
const [, key, index] = keyMatch;
|
|
99
|
-
if (entityRangeMap[key] && entityRangeMap[key][index]) {
|
|
100
|
-
const entityKey = entityRangeMap[key] && entityRangeMap[key][index].key;
|
|
101
|
-
const entity = articleContent.entityMap[entityKey];
|
|
102
|
-
actualContent = convertEntityToContent(entity);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
if (actualContent) {
|
|
107
|
-
$(elem).replaceWith(actualContent);
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
// remove editor toolbar img
|
|
112
|
-
$('.md-editor-toolbar').replaceWith('');
|
|
113
|
-
// remove hidden tip block
|
|
114
|
-
$('.story_hidden').replaceWith('');
|
|
115
|
-
|
|
116
|
-
const content = $('.story.story-show').html();
|
|
117
|
-
return {
|
|
118
|
-
title: item.title,
|
|
119
|
-
description: cover + content,
|
|
120
|
-
link: articleUrl,
|
|
121
|
-
guid: articleUrl,
|
|
122
|
-
};
|
|
123
|
-
});
|
|
124
|
-
})
|
|
125
|
-
);
|
|
126
|
-
return {
|
|
127
|
-
title: feedTitle,
|
|
128
|
-
link: url,
|
|
129
|
-
item: out,
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
function convertEntityToContent(entity) {
|
|
134
|
-
const { type, data } = entity;
|
|
135
|
-
switch (type) {
|
|
136
|
-
case 'IMAGE':
|
|
137
|
-
return `
|
|
138
|
-
<figure>
|
|
139
|
-
<img src="https://image.gcores.com/${data.path}" alt="${data.caption || ''}">
|
|
140
|
-
${data.caption ? `<figcaption>${data.caption}</figcaption>` : ''}
|
|
141
|
-
</figure>`;
|
|
142
|
-
|
|
143
|
-
case 'GALLERY':
|
|
144
|
-
return data.images
|
|
145
|
-
.map(
|
|
146
|
-
(image, i, arr) => `
|
|
147
|
-
<figure>
|
|
148
|
-
<img src="https://image.gcores.com/${image.path}" alt="${image.caption || ''}">
|
|
149
|
-
<figcaption>${data.caption || ''} (${i + 1}/${arr.length}) ${image.caption || ''}</figcaption>
|
|
150
|
-
</figure>
|
|
151
|
-
`
|
|
152
|
-
)
|
|
153
|
-
.join('');
|
|
154
|
-
|
|
155
|
-
default:
|
|
156
|
-
return '';
|
|
157
|
-
}
|
|
158
|
-
}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { Route } from '@/types';
|
|
2
|
-
import { getCurrentPath } from '@/utils/helpers';
|
|
3
|
-
const __dirname = getCurrentPath(import.meta.url);
|
|
4
|
-
|
|
5
|
-
import { parseDate } from '@/utils/parse-date';
|
|
6
|
-
import { art } from '@/utils/render';
|
|
7
|
-
import path from 'node:path';
|
|
8
|
-
import parser from '@/utils/rss-parser';
|
|
9
|
-
|
|
10
|
-
const pdfUrlGenerators = {
|
|
11
|
-
arxiv: (id: string) => `https://arxiv.org/pdf/${id}.pdf`,
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export const handler = async (ctx) => {
|
|
15
|
-
const { category = 'arxiv/cs.AI' } = ctx.req.param();
|
|
16
|
-
const limit = ctx.req.query('limit') ? Number.parseInt(ctx.req.query('limit'), 10) : 150;
|
|
17
|
-
|
|
18
|
-
const rootUrl = 'https://papers.cool';
|
|
19
|
-
const currentUrl = new URL(category, rootUrl).href;
|
|
20
|
-
const feedUrl = new URL(`arxiv/${category}/feed`, rootUrl).href;
|
|
21
|
-
|
|
22
|
-
const site = category.split(/\//)[0];
|
|
23
|
-
const apiKimiUrl = new URL(`${site}/kimi?paper=`, rootUrl).href;
|
|
24
|
-
|
|
25
|
-
const feed = await parser.parseURL(feedUrl);
|
|
26
|
-
|
|
27
|
-
const language = 'en';
|
|
28
|
-
|
|
29
|
-
const items = feed.items.slice(0, limit).map((item) => {
|
|
30
|
-
const title = item.title;
|
|
31
|
-
const guid = item.guid;
|
|
32
|
-
|
|
33
|
-
const id = item.link?.split(/\//).pop() ?? '';
|
|
34
|
-
const kimiUrl = new URL(id, apiKimiUrl).href;
|
|
35
|
-
const pdfUrl = Object.hasOwn(pdfUrlGenerators, site) ? pdfUrlGenerators[site](id) : undefined;
|
|
36
|
-
|
|
37
|
-
const authorString = item.author;
|
|
38
|
-
const description = art(path.join(__dirname, 'templates/description.art'), {
|
|
39
|
-
pdfUrl,
|
|
40
|
-
siteUrl: item.link,
|
|
41
|
-
kimiUrl,
|
|
42
|
-
authorString,
|
|
43
|
-
summary: item.summary,
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
return {
|
|
47
|
-
title,
|
|
48
|
-
description,
|
|
49
|
-
pubDate: parseDate(item.pubDate ?? ''),
|
|
50
|
-
link: item.link,
|
|
51
|
-
category: item.categories,
|
|
52
|
-
author: authorString,
|
|
53
|
-
doi: `${site}${id}`,
|
|
54
|
-
guid,
|
|
55
|
-
id: guid,
|
|
56
|
-
content: {
|
|
57
|
-
html: description,
|
|
58
|
-
text: item.content,
|
|
59
|
-
},
|
|
60
|
-
language,
|
|
61
|
-
enclosure_url: pdfUrl,
|
|
62
|
-
enclosure_type: 'application/pdf',
|
|
63
|
-
enclosure_title: title,
|
|
64
|
-
};
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
return {
|
|
68
|
-
title: feed.title,
|
|
69
|
-
description: feed.description,
|
|
70
|
-
link: currentUrl,
|
|
71
|
-
item: items,
|
|
72
|
-
allowEmpty: true,
|
|
73
|
-
image: feed.image?.url,
|
|
74
|
-
language: feed.language,
|
|
75
|
-
};
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export const route: Route = {
|
|
79
|
-
path: '/arxiv/:category{.+}?',
|
|
80
|
-
name: 'Topic',
|
|
81
|
-
url: 'papers.cool',
|
|
82
|
-
maintainers: ['nczitzk', 'Muyun99'],
|
|
83
|
-
handler,
|
|
84
|
-
example: '/papers/arxiv/cs.AI',
|
|
85
|
-
parameters: { category: 'Category, arXiv Artificial Intelligence (cs.AI) by default' },
|
|
86
|
-
description: `::: tip
|
|
87
|
-
If you subscribe to [arXiv Artificial Intelligence (cs.AI)](https://papers.cool/arxiv/cs.AI), where the URL is \`https://papers.cool/arxiv/cs.AI\`, extract the part \`https://papers.cool/\` to the end, and use it as the parameter to fill in. Therefore, the route will be [\`/papers/arxiv/cs.AI\`](https://rsshub.app/papers/arxiv/cs.AI).
|
|
88
|
-
:::
|
|
89
|
-
|
|
90
|
-
| Category | id |
|
|
91
|
-
| ----------------------------------------------------- | ----------- |
|
|
92
|
-
| arXiv Artificial Intelligence (cs.AI) | arxiv/cs.AI |
|
|
93
|
-
| arXiv Computation and Language (cs.CL) | arxiv/cs.CL |
|
|
94
|
-
| arXiv Computer Vision and Pattern Recognition (cs.CV) | arxiv/cs.CV |
|
|
95
|
-
| arXiv Machine Learning (cs.LG) | arxiv/cs.LG |
|
|
96
|
-
| arXiv Robotics (cs.RO) | arxiv/cs.RO |
|
|
97
|
-
`,
|
|
98
|
-
categories: ['journal'],
|
|
99
|
-
|
|
100
|
-
features: {
|
|
101
|
-
requireConfig: false,
|
|
102
|
-
requirePuppeteer: false,
|
|
103
|
-
antiCrawler: false,
|
|
104
|
-
supportRadar: true,
|
|
105
|
-
supportBT: false,
|
|
106
|
-
supportPodcast: false,
|
|
107
|
-
supportScihub: true,
|
|
108
|
-
},
|
|
109
|
-
radar: [
|
|
110
|
-
{
|
|
111
|
-
title: 'arXiv Artificial Intelligence (cs.AI)',
|
|
112
|
-
source: ['papers.cool/arxiv/cs.AI'],
|
|
113
|
-
target: '/arxiv/cs.AI',
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
title: 'arXiv Computation and Language (cs.CL)',
|
|
117
|
-
source: ['papers.cool/arxiv/cs.CL'],
|
|
118
|
-
target: '/arxiv/cs.CL',
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
title: 'arXiv Computer Vision and Pattern Recognition (cs.CV)',
|
|
122
|
-
source: ['papers.cool/arxiv/cs.CV'],
|
|
123
|
-
target: '/arxiv/cs.CV',
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
title: 'arXiv Machine Learning (cs.LG)',
|
|
127
|
-
source: ['papers.cool/arxiv/cs.LG'],
|
|
128
|
-
target: '/arxiv/cs.LG',
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
title: 'arXiv Robotics (cs.RO)',
|
|
132
|
-
source: ['papers.cool/arxiv/cs.RO'],
|
|
133
|
-
target: '/arxiv/cs.RO',
|
|
134
|
-
},
|
|
135
|
-
],
|
|
136
|
-
};
|