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
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import ofetch from '@/utils/ofetch';
|
|
2
|
+
import { Data } from '@/types';
|
|
3
|
+
import { Article, Language, SUPPORTED_LANGUAGES } from './constants';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Parse a number or a number as string.\
|
|
7
|
+
* **NOTE:** this may return `NaN` if the string is not a number or the value is `undefined` and no {@link fallback} is provided.
|
|
8
|
+
*/
|
|
9
|
+
export const parseInteger = (value?: string | number, fallback?: number): number => {
|
|
10
|
+
if (typeof value === 'number') {
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (value === undefined) {
|
|
15
|
+
return fallback === undefined ? Number.NaN : fallback;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const parsed = Number.parseInt(value, 10);
|
|
19
|
+
|
|
20
|
+
if (fallback !== undefined && Number.isNaN(parsed)) {
|
|
21
|
+
return fallback;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return parsed;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/** Type-guard to ensure {@link language} is a valid value of {@link SUPPORTED_LANGUAGES}. */
|
|
28
|
+
export const isValidLanguage = (language: string): language is Language => SUPPORTED_LANGUAGES.includes(language as Language);
|
|
29
|
+
|
|
30
|
+
/** Fetch the articles for a given language in a given category. */
|
|
31
|
+
export const fetchArticles = (language: Language): Promise<Article[]> => {
|
|
32
|
+
if (language === Language.Chinese) {
|
|
33
|
+
return ofetch<Article[]>('https://media-cdn-mingchao.kurogame.com/akiwebsite/website2.0/json/G152/zh/ArticleMenu.json', { query: { t: Date.now() } });
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return ofetch<{ article: Article[] }>(`https://hw-media-cdn-mingchao.kurogame.com/akiwebsite/website2.0/json/G152/${language}/MainMenu.json`).then((data) => data.article);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/** Get the link to the article content. */
|
|
40
|
+
export const getArticleContentLink = (language: Language, articleId: number): string => {
|
|
41
|
+
if (language === Language.Chinese) {
|
|
42
|
+
return `https://media-cdn-mingchao.kurogame.com/akiwebsite/website2.0/json/G152/zh/article/${articleId}.json`;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return `https://hw-media-cdn-mingchao.kurogame.com/akiwebsite/website2.0/json/G152/${language}/article/${articleId}.json`;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
/** Get the link to an article from its ID. */
|
|
49
|
+
export const getArticleLink = (language: Language, articleId: number): string => {
|
|
50
|
+
if (language === Language.Chinese) {
|
|
51
|
+
return `https://mc.kurogames.com/main/news/detail/${articleId}`;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return `https://wutheringwaves.kurogames.com/${language}/main/news/detail/${articleId}`;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/** Resolve the handler language from the {@link Language}. */
|
|
58
|
+
export const getHandlerLanguage = (language: Language): Exclude<Data['language'], undefined> => {
|
|
59
|
+
switch (language) {
|
|
60
|
+
case Language.English:
|
|
61
|
+
return 'en';
|
|
62
|
+
case Language.Chinese:
|
|
63
|
+
return 'zh-CN';
|
|
64
|
+
case Language.ChineseTaiwan:
|
|
65
|
+
return 'zh-TW';
|
|
66
|
+
case Language.French:
|
|
67
|
+
return 'fr';
|
|
68
|
+
case Language.German:
|
|
69
|
+
return 'de';
|
|
70
|
+
case Language.Japanese:
|
|
71
|
+
return 'ja';
|
|
72
|
+
case Language.Korean:
|
|
73
|
+
return 'ko';
|
|
74
|
+
case Language.Spanish:
|
|
75
|
+
return 'es';
|
|
76
|
+
default:
|
|
77
|
+
throw new Error(`Could not resolve handler language from "${language}"`);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Data, DataItem, Route, ViewType } from '@/types';
|
|
2
|
+
import { fetchNewsItems, fetchCategory } from './utils';
|
|
3
|
+
|
|
4
|
+
export const handler = async (ctx): Promise<Data> => {
|
|
5
|
+
const slug = ctx.req.param('slug');
|
|
6
|
+
|
|
7
|
+
const { id, name } = await fetchCategory(slug);
|
|
8
|
+
|
|
9
|
+
const rootUrl = 'https://www.landiannews.com/';
|
|
10
|
+
const postApiUrl = `${rootUrl}wp-json/wp/v2/posts?_embed&categories=${id}`;
|
|
11
|
+
|
|
12
|
+
const items: DataItem[] = await fetchNewsItems(postApiUrl);
|
|
13
|
+
|
|
14
|
+
return {
|
|
15
|
+
title: `${name} - 蓝点网`,
|
|
16
|
+
description: '给你感兴趣的内容!',
|
|
17
|
+
link: `${rootUrl}${slug}`,
|
|
18
|
+
item: items,
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const route: Route = {
|
|
23
|
+
path: '/category/:slug',
|
|
24
|
+
name: '分类',
|
|
25
|
+
url: 'www.landiannews.com',
|
|
26
|
+
maintainers: ['cscnk52'],
|
|
27
|
+
handler,
|
|
28
|
+
example: '/landiannews/category/sells',
|
|
29
|
+
parameters: { slug: '分类名称' },
|
|
30
|
+
description: undefined,
|
|
31
|
+
categories: ['new-media'],
|
|
32
|
+
features: {
|
|
33
|
+
requireConfig: false,
|
|
34
|
+
requirePuppeteer: false,
|
|
35
|
+
antiCrawler: false,
|
|
36
|
+
supportRadar: true,
|
|
37
|
+
supportBT: false,
|
|
38
|
+
supportPodcast: false,
|
|
39
|
+
supportScihub: false,
|
|
40
|
+
},
|
|
41
|
+
radar: [
|
|
42
|
+
{
|
|
43
|
+
source: ['www.landiannews.com/:slug'],
|
|
44
|
+
target: '/category/:slug',
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
view: ViewType.Articles,
|
|
48
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Data, DataItem, Route, ViewType } from '@/types';
|
|
2
|
+
import { fetchNewsItems } from './utils';
|
|
3
|
+
|
|
4
|
+
export const handler = async (): Promise<Data> => {
|
|
5
|
+
const rootUrl = 'https://www.landiannews.com/';
|
|
6
|
+
const postApiUrl = `${rootUrl}wp-json/wp/v2/posts?_embed`;
|
|
7
|
+
|
|
8
|
+
const items: DataItem[] = await fetchNewsItems(postApiUrl);
|
|
9
|
+
|
|
10
|
+
return {
|
|
11
|
+
title: '蓝点网',
|
|
12
|
+
description: '给你感兴趣的内容!',
|
|
13
|
+
link: rootUrl,
|
|
14
|
+
item: items,
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const route: Route = {
|
|
19
|
+
path: '/',
|
|
20
|
+
name: '首页',
|
|
21
|
+
url: 'www.landiannews.com',
|
|
22
|
+
maintainers: ['nczitzk', 'cscnk52'],
|
|
23
|
+
handler,
|
|
24
|
+
example: '/landiannews',
|
|
25
|
+
parameters: undefined,
|
|
26
|
+
description: undefined,
|
|
27
|
+
categories: ['new-media'],
|
|
28
|
+
features: {
|
|
29
|
+
requireConfig: false,
|
|
30
|
+
requirePuppeteer: false,
|
|
31
|
+
antiCrawler: false,
|
|
32
|
+
supportRadar: true,
|
|
33
|
+
supportBT: false,
|
|
34
|
+
supportPodcast: false,
|
|
35
|
+
supportScihub: false,
|
|
36
|
+
},
|
|
37
|
+
radar: [
|
|
38
|
+
{
|
|
39
|
+
source: ['www.landiannews.com'],
|
|
40
|
+
target: '/',
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
view: ViewType.Articles,
|
|
44
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Data, DataItem, Route, ViewType } from '@/types';
|
|
2
|
+
import { fetchNewsItems, fetchTag } from './utils';
|
|
3
|
+
|
|
4
|
+
export const handler = async (ctx): Promise<Data> => {
|
|
5
|
+
const slug = ctx.req.param('slug');
|
|
6
|
+
|
|
7
|
+
const { id, name } = await fetchTag(slug);
|
|
8
|
+
|
|
9
|
+
const rootUrl = 'https://www.landiannews.com/';
|
|
10
|
+
const postApiUrl = `${rootUrl}wp-json/wp/v2/posts?_embed&tags=${id}`;
|
|
11
|
+
|
|
12
|
+
const items: DataItem[] = await fetchNewsItems(postApiUrl);
|
|
13
|
+
|
|
14
|
+
return {
|
|
15
|
+
title: `${name} - 蓝点网`,
|
|
16
|
+
description: '给你感兴趣的内容!',
|
|
17
|
+
link: `${rootUrl}archives/tag/${slug}`,
|
|
18
|
+
item: items,
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const route: Route = {
|
|
23
|
+
path: '/tag/:slug',
|
|
24
|
+
name: '标签',
|
|
25
|
+
url: 'www.landiannews.com',
|
|
26
|
+
maintainers: ['cscnk52'],
|
|
27
|
+
handler,
|
|
28
|
+
example: '/landiannews/tag/linux-kernel',
|
|
29
|
+
parameters: { slug: '标签名称' },
|
|
30
|
+
description: undefined,
|
|
31
|
+
categories: ['new-media'],
|
|
32
|
+
features: {
|
|
33
|
+
requireConfig: false,
|
|
34
|
+
requirePuppeteer: false,
|
|
35
|
+
antiCrawler: false,
|
|
36
|
+
supportRadar: true,
|
|
37
|
+
supportBT: false,
|
|
38
|
+
supportPodcast: false,
|
|
39
|
+
supportScihub: false,
|
|
40
|
+
},
|
|
41
|
+
radar: [
|
|
42
|
+
{
|
|
43
|
+
source: ['www.landiannews.com/archives/tag/:slug'],
|
|
44
|
+
target: '/tag/:slug',
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
view: ViewType.Articles,
|
|
48
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import ofetch from '@/utils/ofetch';
|
|
2
|
+
import cache from '@/utils/cache';
|
|
3
|
+
|
|
4
|
+
const rootUrl = 'https://www.landiannews.com/';
|
|
5
|
+
|
|
6
|
+
const fetchTaxonomy = async (slug: string, type: 'categories' | 'tags') => {
|
|
7
|
+
const taxonomyUrl = `${rootUrl}wp-json/wp/v2/${type}?slug=${slug}`;
|
|
8
|
+
const cachedTaxonomy = await cache.tryGet(taxonomyUrl, async () => {
|
|
9
|
+
const taxonomyData = await ofetch(taxonomyUrl);
|
|
10
|
+
if (!taxonomyData[0] || !taxonomyData[0].id || !taxonomyData[0].name) {
|
|
11
|
+
throw new Error(`${type} ${slug} not found`);
|
|
12
|
+
}
|
|
13
|
+
return { id: taxonomyData[0].id, name: taxonomyData[0].name };
|
|
14
|
+
});
|
|
15
|
+
return cachedTaxonomy;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const fetchCategory = async (categorySlug: string) => await fetchTaxonomy(categorySlug, 'categories');
|
|
19
|
+
const fetchTag = async (tagSlug: string) => await fetchTaxonomy(tagSlug, 'tags');
|
|
20
|
+
|
|
21
|
+
async function fetchNewsItems(apiUrl: string) {
|
|
22
|
+
const data = await ofetch(apiUrl);
|
|
23
|
+
|
|
24
|
+
return data.map((item) => ({
|
|
25
|
+
title: item.title.rendered,
|
|
26
|
+
description: item.content.rendered,
|
|
27
|
+
link: item.link,
|
|
28
|
+
pubDate: new Date(item.date).toUTCString(),
|
|
29
|
+
author: item._embedded.author[0].name,
|
|
30
|
+
category: item._embedded['wp:term'].flat().map((term) => term.name),
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { fetchCategory, fetchTag, fetchNewsItems };
|
|
@@ -39,8 +39,8 @@ export const route: Route = {
|
|
|
39
39
|
maintainers: ['nczitzk'],
|
|
40
40
|
handler,
|
|
41
41
|
description: `| 最新报道 | 晚点独家 | 人物访谈 | 晚点早知道 | 长报道 |
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
| -------- | -------- | -------- | ---------- | ------ |
|
|
43
|
+
| | 1 | 2 | 3 | 4 |`,
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
async function handler(ctx) {
|
|
@@ -101,7 +101,7 @@ async function handler(ctx) {
|
|
|
101
101
|
const pubDate = content('div.article-header-date').text();
|
|
102
102
|
|
|
103
103
|
if (pubDate) {
|
|
104
|
-
item.pubDate = /\d+月\d+日/.test(pubDate) ? parseDate(pubDate, ['MM月DD日 HH:mm', '
|
|
104
|
+
item.pubDate = /\d+月\d+日/.test(pubDate) ? parseDate(pubDate, ['YYYY年MM月DD日 HH:mm', 'MM月DD日 HH:mm']) : parseRelativeDate(pubDate);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
item.pubDate = timezone(item.pubDate, +8);
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { DataItem, Route } from '@/types';
|
|
2
|
+
import got from '@/utils/got';
|
|
3
|
+
import { load } from 'cheerio';
|
|
4
|
+
import { parseDate } from '@/utils/parse-date';
|
|
5
|
+
|
|
6
|
+
export const route: Route = {
|
|
7
|
+
path: '/patch-notes',
|
|
8
|
+
categories: ['game'],
|
|
9
|
+
example: '/leagueoflegends/patch-notes',
|
|
10
|
+
radar: [
|
|
11
|
+
{
|
|
12
|
+
source: ['www.leagueoflegends.com/en-us/news/tags/patch-notes/', 'www.leagueoflegends.com/en-us/news/game-updates/:postSlug'],
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
name: 'Patch Notes',
|
|
16
|
+
maintainers: ['noahm'],
|
|
17
|
+
async handler() {
|
|
18
|
+
const url = 'https://www.leagueoflegends.com/en-us/news/tags/patch-notes/';
|
|
19
|
+
const response = await got({
|
|
20
|
+
method: 'get',
|
|
21
|
+
url,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const data = response.data;
|
|
25
|
+
|
|
26
|
+
const $ = load(data);
|
|
27
|
+
const nextData = $('script[id="__NEXT_DATA__"]').text();
|
|
28
|
+
if (!nextData) {
|
|
29
|
+
throw new Error('missing next data');
|
|
30
|
+
}
|
|
31
|
+
const list: PatchNotesItem[] = JSON.parse(nextData).props.pageProps.page.blades[2].items;
|
|
32
|
+
|
|
33
|
+
return {
|
|
34
|
+
title: 'League of Legends Patch Notes',
|
|
35
|
+
link: url,
|
|
36
|
+
item: list.map(
|
|
37
|
+
(item): DataItem => ({
|
|
38
|
+
title: item.title,
|
|
39
|
+
description: item.description.body,
|
|
40
|
+
pubDate: parseDate(item.publishedAt),
|
|
41
|
+
link: item.action.payload.url,
|
|
42
|
+
guid: item.analytics.contentId,
|
|
43
|
+
image: item.media.url,
|
|
44
|
+
itunes_item_image: item.media.url,
|
|
45
|
+
})
|
|
46
|
+
),
|
|
47
|
+
};
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// partial type definition of JSON data pre-filled on the page
|
|
52
|
+
interface PatchNotesItem {
|
|
53
|
+
title: string;
|
|
54
|
+
publishedAt: string;
|
|
55
|
+
description: {
|
|
56
|
+
type: 'html';
|
|
57
|
+
body: string;
|
|
58
|
+
};
|
|
59
|
+
media: {
|
|
60
|
+
dimensions: {
|
|
61
|
+
height: number;
|
|
62
|
+
width: number;
|
|
63
|
+
};
|
|
64
|
+
mimeType: string;
|
|
65
|
+
url: string;
|
|
66
|
+
};
|
|
67
|
+
action: {
|
|
68
|
+
payload: {
|
|
69
|
+
url: string;
|
|
70
|
+
};
|
|
71
|
+
type: 'weblink';
|
|
72
|
+
};
|
|
73
|
+
analytics: {
|
|
74
|
+
contentId: string;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
@@ -20,24 +20,24 @@ export const route: Route = {
|
|
|
20
20
|
maintainers: ['running-grass'],
|
|
21
21
|
handler,
|
|
22
22
|
description: `| id | 分类 |
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
23
|
+
| -------- | ------------ |
|
|
24
|
+
| all | 全部 |
|
|
25
|
+
| DApp | 去中心化应用 |
|
|
26
|
+
| chains | 公链 |
|
|
27
|
+
| 联盟链 | 联盟链 |
|
|
28
|
+
| scaling | Layer2 |
|
|
29
|
+
| langs | 编程语言 |
|
|
30
|
+
| security | 安全 |
|
|
31
|
+
| dst | 存储 |
|
|
32
|
+
| basic | 理论研究 |
|
|
33
|
+
| other | 其他 |
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
| id | 排序方式 |
|
|
36
|
+
| -------- | ----------- |
|
|
37
|
+
| newest | 最新 |
|
|
38
|
+
| featured | 精选 (默认) |
|
|
39
|
+
| featured | 最赞 |
|
|
40
|
+
| hottest | 最热 |`,
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
async function handler(ctx) {
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Route } from '@/types';
|
|
2
|
+
import got from '@/utils/got';
|
|
3
|
+
|
|
4
|
+
export const route: Route = {
|
|
5
|
+
path: '/profile/:handle',
|
|
6
|
+
categories: ['social-media'],
|
|
7
|
+
example: '/lens/profile/stani',
|
|
8
|
+
parameters: { handle: 'Lens handle' },
|
|
9
|
+
features: {
|
|
10
|
+
requireConfig: false,
|
|
11
|
+
requirePuppeteer: false,
|
|
12
|
+
antiCrawler: false,
|
|
13
|
+
supportBT: false,
|
|
14
|
+
supportPodcast: false,
|
|
15
|
+
supportScihub: false,
|
|
16
|
+
},
|
|
17
|
+
radar: [
|
|
18
|
+
{
|
|
19
|
+
source: ['hey.xyz/u/:handle'],
|
|
20
|
+
target: '/profile/:handle',
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
name: 'Lens Profile',
|
|
24
|
+
maintainers: ['DIYgod'],
|
|
25
|
+
handler,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
async function handler(ctx) {
|
|
29
|
+
const handle = ctx.req.param('handle');
|
|
30
|
+
|
|
31
|
+
const profile = (
|
|
32
|
+
await got(`https://api-v2.lens.dev/`, {
|
|
33
|
+
method: 'POST',
|
|
34
|
+
json: {
|
|
35
|
+
operationName: 'Profile',
|
|
36
|
+
variables: {
|
|
37
|
+
request: {
|
|
38
|
+
forHandle: `lens/${handle}`,
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
query: 'query Profile($request: ProfileRequest!) {\n profile(request: $request) {\n ...ProfileFields\n __typename\n }\n}\n\nfragment AmountFields on Amount {\n asFiat(request: {for: USD}) {\n value\n __typename\n }\n asset {\n ...Erc20Fields\n __typename\n }\n value\n __typename\n}\n\nfragment Erc20Fields on Asset {\n ... on Erc20 {\n name\n symbol\n decimals\n contract {\n ...NetworkAddressFields\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment FollowModuleFields on FollowModule {\n ... on FeeFollowModuleSettings {\n type\n amount {\n ...AmountFields\n __typename\n }\n recipient\n __typename\n }\n ... on RevertFollowModuleSettings {\n type\n __typename\n }\n ... on UnknownFollowModuleSettings {\n type\n __typename\n }\n __typename\n}\n\nfragment HandleInfoFields on HandleInfo {\n fullHandle\n localName\n linkedTo {\n nftTokenId\n __typename\n }\n __typename\n}\n\nfragment ImageSetFields on ImageSet {\n optimized {\n uri\n __typename\n }\n raw {\n uri\n __typename\n }\n __typename\n}\n\nfragment MetadataAttributeFields on MetadataAttribute {\n type\n key\n value\n __typename\n}\n\nfragment NetworkAddressFields on NetworkAddress {\n address\n chainId\n __typename\n}\n\nfragment ProfileFields on Profile {\n id\n handle {\n ...HandleInfoFields\n __typename\n }\n ownedBy {\n ...NetworkAddressFields\n __typename\n }\n signless\n sponsor\n createdAt\n stats {\n ...ProfileStatsFields\n __typename\n }\n operations {\n ...ProfileOperationsFields\n __typename\n }\n interests\n followNftAddress {\n ...NetworkAddressFields\n __typename\n }\n followModule {\n ...FollowModuleFields\n __typename\n }\n metadata {\n ...ProfileMetadataFields\n __typename\n }\n __typename\n}\n\nfragment ProfileMetadataFields on ProfileMetadata {\n displayName\n bio\n picture {\n ... on ImageSet {\n ...ImageSetFields\n __typename\n }\n __typename\n }\n coverPicture {\n ...ImageSetFields\n __typename\n }\n attributes {\n ...MetadataAttributeFields\n __typename\n }\n __typename\n}\n\nfragment ProfileOperationsFields on ProfileOperations {\n id\n isBlockedByMe {\n value\n __typename\n }\n isFollowedByMe {\n value\n __typename\n }\n isFollowingMe {\n value\n __typename\n }\n __typename\n}\n\nfragment ProfileStatsFields on ProfileStats {\n id\n followers\n following\n publications\n comments\n posts\n mirrors\n quotes\n lensClassifierScore\n __typename\n}',
|
|
42
|
+
},
|
|
43
|
+
})
|
|
44
|
+
).data.data.profile;
|
|
45
|
+
|
|
46
|
+
const publications = (
|
|
47
|
+
await got(`https://api-v2.lens.dev/`, {
|
|
48
|
+
method: 'POST',
|
|
49
|
+
json: {
|
|
50
|
+
operationName: 'Publications',
|
|
51
|
+
variables: {
|
|
52
|
+
request: {
|
|
53
|
+
limit: 'TwentyFive',
|
|
54
|
+
where: {
|
|
55
|
+
metadata: null,
|
|
56
|
+
publicationTypes: ['POST', 'MIRROR', 'QUOTE'],
|
|
57
|
+
from: [profile.id],
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
query: 'query Publications($request: PublicationsRequest!) {\n publications(request: $request) {\n items {\n ... on Post {\n ...PostFields\n __typename\n }\n ... on Comment {\n ...CommentFields\n __typename\n }\n ... on Mirror {\n ...MirrorFields\n __typename\n }\n ... on Quote {\n ...QuoteFields\n __typename\n }\n __typename\n }\n pageInfo {\n next\n __typename\n }\n __typename\n }\n}\n\nfragment AmountFields on Amount {\n asFiat(request: {for: USD}) {\n value\n __typename\n }\n asset {\n ...Erc20Fields\n __typename\n }\n value\n __typename\n}\n\nfragment AnyPublicationMetadataFields on PublicationMetadata {\n ... on VideoMetadataV3 {\n ...VideoMetadataV3Fields\n __typename\n }\n ... on ArticleMetadataV3 {\n ...ArticleMetadataV3Fields\n __typename\n }\n ... on AudioMetadataV3 {\n ...AudioMetadataV3Fields\n __typename\n }\n ... on ImageMetadataV3 {\n ...ImageMetadataV3Fields\n __typename\n }\n ... on LinkMetadataV3 {\n ...LinkMetadataV3Fields\n __typename\n }\n ... on LiveStreamMetadataV3 {\n ...LiveStreamMetadataV3Fields\n __typename\n }\n ... on MintMetadataV3 {\n ...MintMetadataV3Fields\n __typename\n }\n ... on TextOnlyMetadataV3 {\n ...TextOnlyMetadataV3Fields\n __typename\n }\n ... on CheckingInMetadataV3 {\n ...CheckingInMetadataV3Fields\n __typename\n }\n __typename\n}\n\nfragment CommentBaseFields on Comment {\n id\n publishedOn {\n id\n __typename\n }\n isHidden\n isEncrypted\n momoka {\n proof\n __typename\n }\n createdAt\n by {\n ...PublicationProfileFields\n __typename\n }\n stats {\n ...PublicationStatsFields\n __typename\n }\n operations {\n ...PublicationOperationFields\n __typename\n }\n metadata {\n ...AnyPublicationMetadataFields\n __typename\n }\n openActionModules {\n ...OpenActionModulesFields\n __typename\n }\n root {\n ... on Post {\n ...PostFields\n __typename\n }\n ... on Quote {\n ...QuoteBaseFields\n __typename\n }\n __typename\n }\n profilesMentioned {\n snapshotHandleMentioned {\n ...HandleInfoFields\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment CommentFields on Comment {\n ...CommentBaseFields\n commentOn {\n ...CommentOnFields\n ... on Comment {\n ...CommentBaseFields\n commentOn {\n ...CommentOnFields\n ... on Comment {\n ...CommentBaseFields\n commentOn {\n ...CommentOnFields\n ... on Comment {\n ...CommentBaseFields\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment CommentOnFields on PrimaryPublication {\n ... on Post {\n ...PostFields\n __typename\n }\n ... on Quote {\n ...QuoteBaseFields\n __typename\n }\n __typename\n}\n\nfragment EncryptableImageSetFields on EncryptableImageSet {\n optimized {\n uri\n __typename\n }\n __typename\n}\n\nfragment Erc20Fields on Asset {\n ... on Erc20 {\n name\n symbol\n decimals\n contract {\n ...NetworkAddressFields\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment HandleInfoFields on HandleInfo {\n fullHandle\n localName\n linkedTo {\n nftTokenId\n __typename\n }\n __typename\n}\n\nfragment ImageSetFields on ImageSet {\n optimized {\n uri\n __typename\n }\n raw {\n uri\n __typename\n }\n __typename\n}\n\nfragment MetadataAttributeFields on MetadataAttribute {\n type\n key\n value\n __typename\n}\n\nfragment MirrorFields on Mirror {\n id\n publishedOn {\n id\n __typename\n }\n isHidden\n momoka {\n proof\n __typename\n }\n createdAt\n by {\n ...PublicationProfileFields\n __typename\n }\n mirrorOn {\n ... on Post {\n ...PostFields\n __typename\n }\n ... on Comment {\n ...CommentFields\n __typename\n }\n ... on Quote {\n ...QuoteFields\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment NetworkAddressFields on NetworkAddress {\n address\n chainId\n __typename\n}\n\nfragment OpenActionModulesFields on OpenActionModule {\n ... on SimpleCollectOpenActionSettings {\n type\n contract {\n ...NetworkAddressFields\n __typename\n }\n amount {\n ...AmountFields\n __typename\n }\n collectNft\n collectLimit\n followerOnly\n recipient\n referralFee\n endsAt\n __typename\n }\n ... on MultirecipientFeeCollectOpenActionSettings {\n type\n contract {\n ...NetworkAddressFields\n __typename\n }\n amount {\n ...AmountFields\n __typename\n }\n collectNft\n collectLimit\n referralFee\n followerOnly\n endsAt\n recipients {\n recipient\n split\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment PostFields on Post {\n id\n publishedOn {\n id\n __typename\n }\n isHidden\n isEncrypted\n momoka {\n proof\n __typename\n }\n createdAt\n by {\n ...PublicationProfileFields\n __typename\n }\n stats {\n ...PublicationStatsFields\n __typename\n }\n operations {\n ...PublicationOperationFields\n __typename\n }\n metadata {\n ...AnyPublicationMetadataFields\n __typename\n }\n openActionModules {\n ...OpenActionModulesFields\n __typename\n }\n profilesMentioned {\n snapshotHandleMentioned {\n ...HandleInfoFields\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment ProfileMetadataFields on ProfileMetadata {\n displayName\n bio\n picture {\n ... on ImageSet {\n ...ImageSetFields\n __typename\n }\n __typename\n }\n coverPicture {\n ...ImageSetFields\n __typename\n }\n attributes {\n ...MetadataAttributeFields\n __typename\n }\n __typename\n}\n\nfragment ProfileOperationsFields on ProfileOperations {\n id\n isBlockedByMe {\n value\n __typename\n }\n isFollowedByMe {\n value\n __typename\n }\n isFollowingMe {\n value\n __typename\n }\n __typename\n}\n\nfragment PublicationOperationFields on PublicationOperations {\n isNotInterested\n hasBookmarked\n hasActed {\n value\n __typename\n }\n hasReacted(request: {type: UPVOTE})\n canMirror\n hasMirrored\n hasQuoted\n __typename\n}\n\nfragment PublicationProfileFields on Profile {\n id\n handle {\n ...HandleInfoFields\n __typename\n }\n operations {\n ...ProfileOperationsFields\n __typename\n }\n ownedBy {\n ...NetworkAddressFields\n __typename\n }\n metadata {\n ...ProfileMetadataFields\n __typename\n }\n __typename\n}\n\nfragment PublicationStatsFields on PublicationStats {\n id\n comments\n mirrors\n quotes\n reactions(request: {type: UPVOTE})\n countOpenActions(request: {anyOf: [{category: COLLECT}]})\n bookmarks\n __typename\n}\n\nfragment QuoteBaseFields on Quote {\n id\n publishedOn {\n id\n __typename\n }\n isHidden\n isEncrypted\n momoka {\n proof\n __typename\n }\n createdAt\n by {\n ...PublicationProfileFields\n __typename\n }\n stats {\n ...PublicationStatsFields\n __typename\n }\n operations {\n ...PublicationOperationFields\n __typename\n }\n metadata {\n ...AnyPublicationMetadataFields\n __typename\n }\n openActionModules {\n ...OpenActionModulesFields\n __typename\n }\n profilesMentioned {\n snapshotHandleMentioned {\n ...HandleInfoFields\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment QuoteFields on Quote {\n ...QuoteBaseFields\n quoteOn {\n ... on Post {\n ...PostFields\n __typename\n }\n ... on Comment {\n ...CommentBaseFields\n __typename\n }\n ... on Quote {\n ...QuoteBaseFields\n __typename\n }\n __typename\n }\n __typename\n}\n\nfragment ArticleMetadataV3Fields on ArticleMetadataV3 {\n id\n content\n tags\n attributes {\n ...MetadataAttributeFields\n __typename\n }\n attachments {\n ...PublicationMetadataMediaFields\n __typename\n }\n __typename\n}\n\nfragment AudioMetadataV3Fields on AudioMetadataV3 {\n id\n title\n content\n tags\n attributes {\n ...MetadataAttributeFields\n __typename\n }\n asset {\n ...PublicationMetadataMediaAudioFields\n __typename\n }\n attachments {\n ...PublicationMetadataMediaFields\n __typename\n }\n __typename\n}\n\nfragment CheckingInMetadataV3Fields on CheckingInMetadataV3 {\n id\n content\n tags\n location\n geographic {\n latitude\n longitude\n __typename\n }\n address {\n country\n locality\n postalCode\n __typename\n }\n attributes {\n ...MetadataAttributeFields\n __typename\n }\n attachments {\n ...PublicationMetadataMediaFields\n __typename\n }\n __typename\n}\n\nfragment ImageMetadataV3Fields on ImageMetadataV3 {\n id\n content\n tags\n attributes {\n ...MetadataAttributeFields\n __typename\n }\n attachments {\n ...PublicationMetadataMediaFields\n __typename\n }\n asset {\n ...PublicationMetadataMediaImageFields\n __typename\n }\n __typename\n}\n\nfragment LinkMetadataV3Fields on LinkMetadataV3 {\n id\n content\n sharingLink\n tags\n attributes {\n ...MetadataAttributeFields\n __typename\n }\n attachments {\n ...PublicationMetadataMediaFields\n __typename\n }\n __typename\n}\n\nfragment LiveStreamMetadataV3Fields on LiveStreamMetadataV3 {\n id\n playbackURL\n liveURL\n content\n tags\n attributes {\n ...MetadataAttributeFields\n __typename\n }\n attachments {\n ...PublicationMetadataMediaFields\n __typename\n }\n __typename\n}\n\nfragment MintMetadataV3Fields on MintMetadataV3 {\n id\n content\n tags\n attributes {\n ...MetadataAttributeFields\n __typename\n }\n attachments {\n ...PublicationMetadataMediaFields\n __typename\n }\n __typename\n}\n\nfragment TextOnlyMetadataV3Fields on TextOnlyMetadataV3 {\n id\n content\n tags\n attributes {\n ...MetadataAttributeFields\n __typename\n }\n __typename\n}\n\nfragment VideoMetadataV3Fields on VideoMetadataV3 {\n id\n content\n tags\n attributes {\n ...MetadataAttributeFields\n __typename\n }\n asset {\n ...PublicationMetadataMediaVideoFields\n __typename\n }\n attachments {\n ...PublicationMetadataMediaFields\n __typename\n }\n __typename\n}\n\nfragment PublicationMetadataMediaAudioFields on PublicationMetadataMediaAudio {\n artist\n audio {\n optimized {\n uri\n __typename\n }\n __typename\n }\n cover {\n ...EncryptableImageSetFields\n __typename\n }\n license\n __typename\n}\n\nfragment PublicationMetadataMediaFields on PublicationMetadataMedia {\n ... on PublicationMetadataMediaVideo {\n ...PublicationMetadataMediaVideoFields\n __typename\n }\n ... on PublicationMetadataMediaImage {\n ...PublicationMetadataMediaImageFields\n __typename\n }\n ... on PublicationMetadataMediaAudio {\n ...PublicationMetadataMediaAudioFields\n __typename\n }\n __typename\n}\n\nfragment PublicationMetadataMediaImageFields on PublicationMetadataMediaImage {\n image {\n ...EncryptableImageSetFields\n __typename\n }\n __typename\n}\n\nfragment PublicationMetadataMediaVideoFields on PublicationMetadataMediaVideo {\n video {\n optimized {\n uri\n __typename\n }\n __typename\n }\n cover {\n ...EncryptableImageSetFields\n __typename\n }\n license\n __typename\n}',
|
|
62
|
+
},
|
|
63
|
+
})
|
|
64
|
+
).data.data.publications.items;
|
|
65
|
+
|
|
66
|
+
return {
|
|
67
|
+
title: `${profile.metadata.displayName} on Lens`,
|
|
68
|
+
link: `https://hey.xyz/u/${handle}`,
|
|
69
|
+
item: publications.map((item) => {
|
|
70
|
+
const itemWithMirror = item.mirrorOn || item;
|
|
71
|
+
return {
|
|
72
|
+
title: itemWithMirror.metadata?.content || 'No content',
|
|
73
|
+
description: `${item.mirrorOn ? 'Mirrored: ' : ''}${itemWithMirror.metadata?.content || ''} ${itemWithMirror.metadata?.asset?.image?.optimized?.uri ? `<img src="${itemWithMirror.metadata?.asset?.image?.optimized?.uri}" />` : ''}`,
|
|
74
|
+
link: `https://hey.xyz/posts/${item.id}`,
|
|
75
|
+
pubDate: new Date(item.createdAt).toUTCString(),
|
|
76
|
+
guid: item.id,
|
|
77
|
+
};
|
|
78
|
+
}),
|
|
79
|
+
};
|
|
80
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Route } from '@/types';
|
|
2
|
+
import ofetch from '@/utils/ofetch';
|
|
3
|
+
|
|
4
|
+
export const route: Route = {
|
|
5
|
+
path: '/:site',
|
|
6
|
+
categories: ['social-media'],
|
|
7
|
+
example: '/likeshop/bloombergpursuits',
|
|
8
|
+
parameters: { site: 'the site attached to likeshop.me/' },
|
|
9
|
+
radar: [
|
|
10
|
+
{
|
|
11
|
+
source: ['likeshop.me/'],
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
features: {
|
|
15
|
+
requireConfig: false,
|
|
16
|
+
requirePuppeteer: false,
|
|
17
|
+
antiCrawler: false,
|
|
18
|
+
supportBT: false,
|
|
19
|
+
supportPodcast: false,
|
|
20
|
+
supportScihub: false,
|
|
21
|
+
},
|
|
22
|
+
name: 'Posts',
|
|
23
|
+
maintainers: ['nickyfoto'],
|
|
24
|
+
handler,
|
|
25
|
+
description: 'LikeShop link in bio takes your audience from Instagram and TikTok to your website in one easy step.',
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
async function handler(ctx) {
|
|
29
|
+
const site = ctx.req.param('site');
|
|
30
|
+
const link = `https://api.likeshop.me/api/accounts/${site}/galleries/likeshop`;
|
|
31
|
+
const data = await ofetch(link);
|
|
32
|
+
const items = data.data.media.map((item) => ({
|
|
33
|
+
title: item.comment,
|
|
34
|
+
link: item.product_url.split('?')[0],
|
|
35
|
+
description: `<p><img src="${item.image_url.split('?')[0]}"></p>`,
|
|
36
|
+
guid: item.id,
|
|
37
|
+
}));
|
|
38
|
+
return {
|
|
39
|
+
title: `@${site} Likeshop`,
|
|
40
|
+
link: `https://likeshop.me/${site}`,
|
|
41
|
+
item: items,
|
|
42
|
+
};
|
|
43
|
+
}
|
package/lib/routes/line/today.ts
CHANGED
|
@@ -18,9 +18,9 @@ export const route: Route = {
|
|
|
18
18
|
url: 'today.line.me/',
|
|
19
19
|
description: `Edition
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
| Taiwan | Thailand | Hong Kong |
|
|
22
|
+
| ------ | -------- | --------- |
|
|
23
|
+
| tw | th | hk |`,
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
async function handler(ctx) {
|
|
@@ -21,13 +21,13 @@ export const route: Route = {
|
|
|
21
21
|
handler,
|
|
22
22
|
description: `另外,可以通过添加额外的以下 query 参数来输出满足特定要求的工作职位:
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
| 参数 | 描述 | 举例 | 默认值 |
|
|
25
|
+
| ---------- | ------------------------------------------------- | ------------------------------------------------------- | ------- |
|
|
26
|
+
| \`geo\` | geo 编码 | 102890883(中国)、102772228(上海)、103873152(北京) | 空 |
|
|
27
|
+
| \`remote\` | 是否只显示远程工作 | \`true/false\` | \`false\` |
|
|
28
|
+
| \`location\` | 工作地点 | \`china/shanghai/beijing\` | 空 |
|
|
29
|
+
| \`relevant\` | 排序方式 (true: 按相关性排序,false: 按日期排序) | \`true/false\` | \`false\` |
|
|
30
|
+
| \`period\` | 发布时间 | \`1/7/30\` | 空 |
|
|
31
31
|
|
|
32
32
|
例如:
|
|
33
33
|
[\`/linkedin/cn/jobs/Software?location=shanghai&period=1\`](https://rsshub.app/linkedin/cn/jobs/Software?location=shanghai\&period=1): 查找所有在上海的今日发布的所有 Software 工作
|