feedscout 1.8.1 → 1.9.0
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/README.md +1 -1
- package/dist/blogrolls/defaults.cjs +16 -10
- package/dist/blogrolls/defaults.d.cts +1 -2
- package/dist/blogrolls/defaults.d.ts +1 -2
- package/dist/blogrolls/defaults.js +17 -10
- package/dist/blogrolls.cjs +0 -1
- package/dist/blogrolls.d.cts +2 -2
- package/dist/blogrolls.d.ts +2 -2
- package/dist/blogrolls.js +2 -2
- package/dist/common/locales.cjs +214 -10
- package/dist/common/locales.js +214 -10
- package/dist/common/types.d.cts +2 -1
- package/dist/common/types.d.ts +2 -1
- package/dist/common/uris/html/handlers.cjs +14 -0
- package/dist/common/uris/html/handlers.js +14 -0
- package/dist/common/uris/html/index.cjs +17 -1
- package/dist/common/uris/html/index.js +17 -1
- package/dist/common/uris/html/types.d.cts +5 -4
- package/dist/common/uris/html/types.d.ts +5 -4
- package/dist/common/utils.cjs +12 -3
- package/dist/common/utils.d.cts +6 -4
- package/dist/common/utils.d.ts +6 -4
- package/dist/common/utils.js +12 -3
- package/dist/feeds/defaults.cjs +121 -9
- package/dist/feeds/defaults.d.cts +4 -3
- package/dist/feeds/defaults.d.ts +4 -3
- package/dist/feeds/defaults.js +121 -10
- package/dist/feeds/platform/handlers/acast.cjs +26 -0
- package/dist/feeds/platform/handlers/acast.js +26 -0
- package/dist/feeds/platform/handlers/ameblo.cjs +36 -0
- package/dist/feeds/platform/handlers/ameblo.js +36 -0
- package/dist/feeds/platform/handlers/applePodcasts.cjs +1 -1
- package/dist/feeds/platform/handlers/applePodcasts.js +1 -1
- package/dist/feeds/platform/handlers/arena.cjs +42 -0
- package/dist/feeds/platform/handlers/arena.js +42 -0
- package/dist/feeds/platform/handlers/artstation.cjs +52 -0
- package/dist/feeds/platform/handlers/artstation.js +52 -0
- package/dist/feeds/platform/handlers/audioboom.cjs +23 -0
- package/dist/feeds/platform/handlers/audioboom.js +23 -0
- package/dist/feeds/platform/handlers/bearblog.cjs +45 -0
- package/dist/feeds/platform/handlers/bearblog.js +45 -0
- package/dist/feeds/platform/handlers/behance.cjs +7 -0
- package/dist/feeds/platform/handlers/behance.js +7 -0
- package/dist/feeds/platform/handlers/blogspot.cjs +38 -2
- package/dist/feeds/platform/handlers/blogspot.js +38 -2
- package/dist/feeds/platform/handlers/bookwyrm.cjs +48 -0
- package/dist/feeds/platform/handlers/bookwyrm.js +48 -0
- package/dist/feeds/platform/handlers/buttondown.cjs +43 -0
- package/dist/feeds/platform/handlers/buttondown.js +43 -0
- package/dist/feeds/platform/handlers/buzzsprout.cjs +22 -0
- package/dist/feeds/platform/handlers/buzzsprout.js +22 -0
- package/dist/feeds/platform/handlers/codeberg.cjs +5 -5
- package/dist/feeds/platform/handlers/codeberg.js +5 -5
- package/dist/feeds/platform/handlers/dailymotion.cjs +16 -0
- package/dist/feeds/platform/handlers/dailymotion.js +16 -0
- package/dist/feeds/platform/handlers/deviantart.cjs +25 -6
- package/dist/feeds/platform/handlers/deviantart.js +25 -6
- package/dist/feeds/platform/handlers/devto.cjs +8 -0
- package/dist/feeds/platform/handlers/devto.js +8 -0
- package/dist/feeds/platform/handlers/discourse.cjs +70 -0
- package/dist/feeds/platform/handlers/discourse.js +70 -0
- package/dist/feeds/platform/handlers/dreamwidth.cjs +48 -0
- package/dist/feeds/platform/handlers/dreamwidth.js +48 -0
- package/dist/feeds/platform/handlers/exblog.cjs +35 -0
- package/dist/feeds/platform/handlers/exblog.js +35 -0
- package/dist/feeds/platform/handlers/fireside.cjs +24 -0
- package/dist/feeds/platform/handlers/fireside.js +24 -0
- package/dist/feeds/platform/handlers/friendica.cjs +44 -0
- package/dist/feeds/platform/handlers/friendica.js +44 -0
- package/dist/feeds/platform/handlers/ghost.cjs +30 -0
- package/dist/feeds/platform/handlers/ghost.js +30 -0
- package/dist/feeds/platform/handlers/github.cjs +6 -0
- package/dist/feeds/platform/handlers/github.js +6 -0
- package/dist/feeds/platform/handlers/githubGist.cjs +16 -5
- package/dist/feeds/platform/handlers/githubGist.js +16 -5
- package/dist/feeds/platform/handlers/gitlab.cjs +31 -13
- package/dist/feeds/platform/handlers/gitlab.js +31 -13
- package/dist/feeds/platform/handlers/goodreads.cjs +18 -8
- package/dist/feeds/platform/handlers/goodreads.js +18 -8
- package/dist/feeds/platform/handlers/hackernews.cjs +21 -0
- package/dist/feeds/platform/handlers/hackernews.js +21 -0
- package/dist/feeds/platform/handlers/hashnode.cjs +1 -1
- package/dist/feeds/platform/handlers/hashnode.js +1 -1
- package/dist/feeds/platform/handlers/hatenablog.cjs +4 -1
- package/dist/feeds/platform/handlers/hatenablog.js +4 -1
- package/dist/feeds/platform/handlers/hearthis.cjs +32 -0
- package/dist/feeds/platform/handlers/hearthis.js +32 -0
- package/dist/feeds/platform/handlers/heyWorld.cjs +18 -0
- package/dist/feeds/platform/handlers/heyWorld.js +18 -0
- package/dist/feeds/platform/handlers/insanejournal.cjs +69 -0
- package/dist/feeds/platform/handlers/insanejournal.js +69 -0
- package/dist/feeds/platform/handlers/itchio.cjs +24 -1
- package/dist/feeds/platform/handlers/itchio.js +24 -1
- package/dist/feeds/platform/handlers/lemmy.cjs +46 -4
- package/dist/feeds/platform/handlers/lemmy.js +46 -4
- package/dist/feeds/platform/handlers/letterboxd.cjs +4 -0
- package/dist/feeds/platform/handlers/letterboxd.js +4 -0
- package/dist/feeds/platform/handlers/libsyn.cjs +25 -0
- package/dist/feeds/platform/handlers/libsyn.js +25 -0
- package/dist/feeds/platform/handlers/listed.cjs +20 -0
- package/dist/feeds/platform/handlers/listed.js +20 -0
- package/dist/feeds/platform/handlers/livejournal.cjs +68 -0
- package/dist/feeds/platform/handlers/livejournal.js +68 -0
- package/dist/feeds/platform/handlers/mastodon.cjs +32 -0
- package/dist/feeds/platform/handlers/mastodon.js +32 -0
- package/dist/feeds/platform/handlers/mataroa.cjs +16 -0
- package/dist/feeds/platform/handlers/mataroa.js +16 -0
- package/dist/feeds/platform/handlers/medium.cjs +2 -2
- package/dist/feeds/platform/handlers/medium.js +2 -2
- package/dist/feeds/platform/handlers/microblog.cjs +55 -0
- package/dist/feeds/platform/handlers/microblog.js +55 -0
- package/dist/feeds/platform/handlers/misskey.cjs +40 -0
- package/dist/feeds/platform/handlers/misskey.js +40 -0
- package/dist/feeds/platform/handlers/myanimelist.cjs +43 -0
- package/dist/feeds/platform/handlers/myanimelist.js +43 -0
- package/dist/feeds/platform/handlers/naverBlog.cjs +21 -0
- package/dist/feeds/platform/handlers/naverBlog.js +21 -0
- package/dist/feeds/platform/handlers/nebula.cjs +68 -0
- package/dist/feeds/platform/handlers/nebula.js +68 -0
- package/dist/feeds/platform/handlers/note.cjs +53 -0
- package/dist/feeds/platform/handlers/note.js +53 -0
- package/dist/feeds/platform/handlers/observable.cjs +34 -0
- package/dist/feeds/platform/handlers/observable.js +34 -0
- package/dist/feeds/platform/handlers/odysee.cjs +20 -0
- package/dist/feeds/platform/handlers/odysee.js +20 -0
- package/dist/feeds/platform/handlers/pagecord.cjs +16 -0
- package/dist/feeds/platform/handlers/pagecord.js +16 -0
- package/dist/feeds/platform/handlers/paragraph.cjs +1 -2
- package/dist/feeds/platform/handlers/paragraph.js +1 -2
- package/dist/feeds/platform/handlers/pika.cjs +35 -0
- package/dist/feeds/platform/handlers/pika.js +35 -0
- package/dist/feeds/platform/handlers/pinterest.cjs +13 -0
- package/dist/feeds/platform/handlers/pinterest.js +13 -0
- package/dist/feeds/platform/handlers/pixelfed.cjs +46 -0
- package/dist/feeds/platform/handlers/pixelfed.js +46 -0
- package/dist/feeds/platform/handlers/pleroma.cjs +34 -0
- package/dist/feeds/platform/handlers/pleroma.js +34 -0
- package/dist/feeds/platform/handlers/podbean.cjs +29 -0
- package/dist/feeds/platform/handlers/podbean.js +29 -0
- package/dist/feeds/platform/handlers/podigee.cjs +29 -0
- package/dist/feeds/platform/handlers/podigee.js +29 -0
- package/dist/feeds/platform/handlers/posthaven.cjs +24 -0
- package/dist/feeds/platform/handlers/posthaven.js +24 -0
- package/dist/feeds/platform/handlers/prose.cjs +26 -0
- package/dist/feeds/platform/handlers/prose.js +26 -0
- package/dist/feeds/platform/handlers/qiita.cjs +58 -0
- package/dist/feeds/platform/handlers/qiita.js +58 -0
- package/dist/feeds/platform/handlers/reddit.cjs +83 -9
- package/dist/feeds/platform/handlers/reddit.js +83 -9
- package/dist/feeds/platform/handlers/rssCom.cjs +20 -0
- package/dist/feeds/platform/handlers/rssCom.js +20 -0
- package/dist/feeds/platform/handlers/seesaa.cjs +22 -0
- package/dist/feeds/platform/handlers/seesaa.js +22 -0
- package/dist/feeds/platform/handlers/sourceforge.cjs +37 -4
- package/dist/feeds/platform/handlers/sourceforge.js +37 -4
- package/dist/feeds/platform/handlers/spreaker.cjs +21 -0
- package/dist/feeds/platform/handlers/spreaker.js +21 -0
- package/dist/feeds/platform/handlers/stackExchange.cjs +26 -2
- package/dist/feeds/platform/handlers/stackExchange.js +26 -2
- package/dist/feeds/platform/handlers/steam.cjs +7 -0
- package/dist/feeds/platform/handlers/steam.js +7 -0
- package/dist/feeds/platform/handlers/tildes.cjs +41 -0
- package/dist/feeds/platform/handlers/tildes.js +41 -0
- package/dist/feeds/platform/handlers/tistory.cjs +16 -0
- package/dist/feeds/platform/handlers/tistory.js +16 -0
- package/dist/feeds/platform/handlers/transistor.cjs +29 -0
- package/dist/feeds/platform/handlers/transistor.js +29 -0
- package/dist/feeds/platform/handlers/velog.cjs +24 -0
- package/dist/feeds/platform/handlers/velog.js +24 -0
- package/dist/feeds/platform/handlers/vimeo.cjs +6 -0
- package/dist/feeds/platform/handlers/vimeo.js +6 -0
- package/dist/feeds/platform/handlers/weblogLol.cjs +26 -0
- package/dist/feeds/platform/handlers/weblogLol.js +26 -0
- package/dist/feeds/platform/handlers/weebly.cjs +25 -0
- package/dist/feeds/platform/handlers/weebly.js +25 -0
- package/dist/feeds/platform/handlers/wordpress.cjs +173 -28
- package/dist/feeds/platform/handlers/wordpress.js +173 -28
- package/dist/feeds/platform/handlers/writeas.cjs +51 -0
- package/dist/feeds/platform/handlers/writeas.js +51 -0
- package/dist/feeds/platform/handlers/ximalaya.cjs +1 -1
- package/dist/feeds/platform/handlers/ximalaya.js +1 -1
- package/dist/feeds/platform/handlers/youtube.cjs +4 -1
- package/dist/feeds/platform/handlers/youtube.js +4 -1
- package/dist/feeds/platform/handlers/zenn.cjs +54 -0
- package/dist/feeds/platform/handlers/zenn.js +54 -0
- package/dist/feeds.cjs +1 -0
- package/dist/feeds.d.cts +2 -2
- package/dist/feeds.d.ts +2 -2
- package/dist/feeds.js +2 -2
- package/dist/utils.d.cts +2 -1
- package/dist/utils.d.ts +2 -1
- package/package.json +6 -7
package/dist/feeds/defaults.cjs
CHANGED
|
@@ -8,35 +8,86 @@ const require_lobsters = require("./platform/handlers/lobsters.cjs");
|
|
|
8
8
|
const require_reddit = require("./platform/handlers/reddit.cjs");
|
|
9
9
|
const require_sourceforge = require("./platform/handlers/sourceforge.cjs");
|
|
10
10
|
const require_tumblr = require("./platform/handlers/tumblr.cjs");
|
|
11
|
+
const require_acast = require("./platform/handlers/acast.cjs");
|
|
12
|
+
const require_ameblo = require("./platform/handlers/ameblo.cjs");
|
|
11
13
|
const require_applePodcasts = require("./platform/handlers/applePodcasts.cjs");
|
|
14
|
+
const require_arena = require("./platform/handlers/arena.cjs");
|
|
15
|
+
const require_artstation = require("./platform/handlers/artstation.cjs");
|
|
16
|
+
const require_audioboom = require("./platform/handlers/audioboom.cjs");
|
|
17
|
+
const require_bearblog = require("./platform/handlers/bearblog.cjs");
|
|
12
18
|
const require_behance = require("./platform/handlers/behance.cjs");
|
|
13
19
|
const require_blogspot = require("./platform/handlers/blogspot.cjs");
|
|
14
20
|
const require_bluesky = require("./platform/handlers/bluesky.cjs");
|
|
21
|
+
const require_bookwyrm = require("./platform/handlers/bookwyrm.cjs");
|
|
22
|
+
const require_buttondown = require("./platform/handlers/buttondown.cjs");
|
|
23
|
+
const require_buzzsprout = require("./platform/handlers/buzzsprout.cjs");
|
|
15
24
|
const require_csdn = require("./platform/handlers/csdn.cjs");
|
|
16
25
|
const require_dailymotion = require("./platform/handlers/dailymotion.cjs");
|
|
26
|
+
const require_discourse = require("./platform/handlers/discourse.cjs");
|
|
17
27
|
const require_douban = require("./platform/handlers/douban.cjs");
|
|
28
|
+
const require_dreamwidth = require("./platform/handlers/dreamwidth.cjs");
|
|
29
|
+
const require_exblog = require("./platform/handlers/exblog.cjs");
|
|
30
|
+
const require_fireside = require("./platform/handlers/fireside.cjs");
|
|
31
|
+
const require_friendica = require("./platform/handlers/friendica.cjs");
|
|
32
|
+
const require_ghost = require("./platform/handlers/ghost.cjs");
|
|
18
33
|
const require_goodreads = require("./platform/handlers/goodreads.cjs");
|
|
34
|
+
const require_hackernews = require("./platform/handlers/hackernews.cjs");
|
|
19
35
|
const require_hashnode = require("./platform/handlers/hashnode.cjs");
|
|
20
36
|
const require_hatenablog = require("./platform/handlers/hatenablog.cjs");
|
|
37
|
+
const require_hearthis = require("./platform/handlers/hearthis.cjs");
|
|
38
|
+
const require_heyWorld = require("./platform/handlers/heyWorld.cjs");
|
|
39
|
+
const require_insanejournal = require("./platform/handlers/insanejournal.cjs");
|
|
21
40
|
const require_itchio = require("./platform/handlers/itchio.cjs");
|
|
22
41
|
const require_kickstarter = require("./platform/handlers/kickstarter.cjs");
|
|
23
42
|
const require_lemmy = require("./platform/handlers/lemmy.cjs");
|
|
24
43
|
const require_letterboxd = require("./platform/handlers/letterboxd.cjs");
|
|
44
|
+
const require_libsyn = require("./platform/handlers/libsyn.cjs");
|
|
45
|
+
const require_listed = require("./platform/handlers/listed.cjs");
|
|
46
|
+
const require_livejournal = require("./platform/handlers/livejournal.cjs");
|
|
25
47
|
const require_mastodon = require("./platform/handlers/mastodon.cjs");
|
|
48
|
+
const require_mataroa = require("./platform/handlers/mataroa.cjs");
|
|
26
49
|
const require_medium = require("./platform/handlers/medium.cjs");
|
|
50
|
+
const require_microblog = require("./platform/handlers/microblog.cjs");
|
|
51
|
+
const require_misskey = require("./platform/handlers/misskey.cjs");
|
|
52
|
+
const require_myanimelist = require("./platform/handlers/myanimelist.cjs");
|
|
53
|
+
const require_naverBlog = require("./platform/handlers/naverBlog.cjs");
|
|
54
|
+
const require_nebula = require("./platform/handlers/nebula.cjs");
|
|
55
|
+
const require_note = require("./platform/handlers/note.cjs");
|
|
56
|
+
const require_observable = require("./platform/handlers/observable.cjs");
|
|
57
|
+
const require_odysee = require("./platform/handlers/odysee.cjs");
|
|
58
|
+
const require_pagecord = require("./platform/handlers/pagecord.cjs");
|
|
27
59
|
const require_paragraph = require("./platform/handlers/paragraph.cjs");
|
|
60
|
+
const require_pika = require("./platform/handlers/pika.cjs");
|
|
28
61
|
const require_pinterest = require("./platform/handlers/pinterest.cjs");
|
|
62
|
+
const require_pixelfed = require("./platform/handlers/pixelfed.cjs");
|
|
63
|
+
const require_pleroma = require("./platform/handlers/pleroma.cjs");
|
|
64
|
+
const require_podbean = require("./platform/handlers/podbean.cjs");
|
|
65
|
+
const require_podigee = require("./platform/handlers/podigee.cjs");
|
|
66
|
+
const require_posthaven = require("./platform/handlers/posthaven.cjs");
|
|
29
67
|
const require_producthunt = require("./platform/handlers/producthunt.cjs");
|
|
68
|
+
const require_prose = require("./platform/handlers/prose.cjs");
|
|
69
|
+
const require_qiita = require("./platform/handlers/qiita.cjs");
|
|
70
|
+
const require_rssCom = require("./platform/handlers/rssCom.cjs");
|
|
71
|
+
const require_seesaa = require("./platform/handlers/seesaa.cjs");
|
|
30
72
|
const require_soundcloud = require("./platform/handlers/soundcloud.cjs");
|
|
73
|
+
const require_spreaker = require("./platform/handlers/spreaker.cjs");
|
|
31
74
|
const require_stackExchange = require("./platform/handlers/stackExchange.cjs");
|
|
32
75
|
const require_steam = require("./platform/handlers/steam.cjs");
|
|
33
76
|
const require_substack = require("./platform/handlers/substack.cjs");
|
|
77
|
+
const require_tildes = require("./platform/handlers/tildes.cjs");
|
|
78
|
+
const require_tistory = require("./platform/handlers/tistory.cjs");
|
|
79
|
+
const require_transistor = require("./platform/handlers/transistor.cjs");
|
|
34
80
|
const require_v2ex = require("./platform/handlers/v2ex.cjs");
|
|
81
|
+
const require_velog = require("./platform/handlers/velog.cjs");
|
|
35
82
|
const require_vimeo = require("./platform/handlers/vimeo.cjs");
|
|
83
|
+
const require_weblogLol = require("./platform/handlers/weblogLol.cjs");
|
|
84
|
+
const require_weebly = require("./platform/handlers/weebly.cjs");
|
|
36
85
|
const require_wordpress = require("./platform/handlers/wordpress.cjs");
|
|
37
86
|
const require_wpengine = require("./platform/handlers/wpengine.cjs");
|
|
87
|
+
const require_writeas = require("./platform/handlers/writeas.cjs");
|
|
38
88
|
const require_ximalaya = require("./platform/handlers/ximalaya.cjs");
|
|
39
89
|
const require_youtube = require("./platform/handlers/youtube.cjs");
|
|
90
|
+
const require_zenn = require("./platform/handlers/zenn.cjs");
|
|
40
91
|
//#region src/feeds/defaults.ts
|
|
41
92
|
const mimeTypes = [
|
|
42
93
|
"application/rss+xml",
|
|
@@ -101,12 +152,15 @@ const urisComprehensive = [
|
|
|
101
152
|
"/feeds/posts/default?alt=rss",
|
|
102
153
|
"/feeds/comments/default"
|
|
103
154
|
];
|
|
104
|
-
const ignoredUris = [
|
|
155
|
+
const ignoredUris = [
|
|
156
|
+
"wp-json/oembed/",
|
|
157
|
+
"wp-json/wp/",
|
|
158
|
+
/[?&][^=&]*=(https?:|https?%3a|aHR0c)/i
|
|
159
|
+
];
|
|
105
160
|
const anchorLabels = [
|
|
106
161
|
"rss",
|
|
107
162
|
"feed",
|
|
108
163
|
"atom",
|
|
109
|
-
"subscribe",
|
|
110
164
|
"syndicate",
|
|
111
165
|
"syndication",
|
|
112
166
|
"json feed"
|
|
@@ -115,57 +169,115 @@ const linkSelectors = [{
|
|
|
115
169
|
rel: "alternate",
|
|
116
170
|
types: mimeTypes
|
|
117
171
|
}, { rel: "feed" }];
|
|
172
|
+
const anchorPathSegments = [
|
|
173
|
+
/\/rss\//,
|
|
174
|
+
/\/atom\//,
|
|
175
|
+
/\/feed\//
|
|
176
|
+
];
|
|
118
177
|
const defaultHtmlOptions = {
|
|
119
178
|
linkSelectors,
|
|
120
179
|
anchorUris: urisComprehensive.flat(),
|
|
180
|
+
anchorPathSegments,
|
|
121
181
|
anchorIgnoredUris: ignoredUris,
|
|
122
182
|
anchorLabels
|
|
123
183
|
};
|
|
124
184
|
const defaultHeadersOptions = { linkSelectors };
|
|
125
185
|
const defaultGuessOptions = { uris: urisBalanced };
|
|
126
186
|
const defaultPlatformOptions = { handlers: [
|
|
187
|
+
require_acast.acastHandler,
|
|
188
|
+
require_ameblo.amebloHandler,
|
|
127
189
|
require_applePodcasts.applePodcastsHandler,
|
|
190
|
+
require_arena.arenaHandler,
|
|
191
|
+
require_artstation.artstationHandler,
|
|
192
|
+
require_audioboom.audioboomHandler,
|
|
193
|
+
require_bearblog.bearblogHandler,
|
|
128
194
|
require_behance.behanceHandler,
|
|
129
195
|
require_blogspot.blogspotHandler,
|
|
130
196
|
require_bluesky.blueskyHandler,
|
|
131
|
-
|
|
197
|
+
require_bookwyrm.bookwyrmHandler,
|
|
198
|
+
require_buttondown.buttondownHandler,
|
|
199
|
+
require_buzzsprout.buzzsproutHandler,
|
|
132
200
|
require_codeberg.codebergHandler,
|
|
133
|
-
|
|
134
|
-
require_deviantart.deviantartHandler,
|
|
201
|
+
require_csdn.csdnHandler,
|
|
135
202
|
require_dailymotion.dailymotionHandler,
|
|
203
|
+
require_deviantart.deviantartHandler,
|
|
136
204
|
require_devto.devtoHandler,
|
|
137
|
-
|
|
205
|
+
require_discourse.discourseHandler,
|
|
206
|
+
require_douban.doubanHandler,
|
|
207
|
+
require_dreamwidth.dreamwidthHandler,
|
|
208
|
+
require_exblog.exblogHandler,
|
|
209
|
+
require_fireside.firesideHandler,
|
|
210
|
+
require_friendica.friendicaHandler,
|
|
211
|
+
require_ghost.ghostHandler,
|
|
138
212
|
require_github.githubHandler,
|
|
139
|
-
require_hashnode.hashnodeHandler,
|
|
140
|
-
require_hatenablog.hatenablogHandler,
|
|
141
213
|
require_githubGist.githubGistHandler,
|
|
142
214
|
require_gitlab.gitlabHandler,
|
|
215
|
+
require_goodreads.goodreadsHandler,
|
|
216
|
+
require_hackernews.hackernewsHandler,
|
|
217
|
+
require_hashnode.hashnodeHandler,
|
|
218
|
+
require_hatenablog.hatenablogHandler,
|
|
219
|
+
require_hearthis.hearthisHandler,
|
|
220
|
+
require_heyWorld.heyWorldHandler,
|
|
221
|
+
require_insanejournal.insanejournalHandler,
|
|
143
222
|
require_itchio.itchioHandler,
|
|
144
223
|
require_kickstarter.kickstarterHandler,
|
|
145
224
|
require_lemmy.lemmyHandler,
|
|
146
225
|
require_letterboxd.letterboxdHandler,
|
|
226
|
+
require_libsyn.libsynHandler,
|
|
227
|
+
require_listed.listedHandler,
|
|
228
|
+
require_livejournal.livejournalHandler,
|
|
147
229
|
require_lobsters.lobstersHandler,
|
|
148
230
|
require_mastodon.mastodonHandler,
|
|
231
|
+
require_mataroa.mataroaHandler,
|
|
149
232
|
require_medium.mediumHandler,
|
|
233
|
+
require_microblog.microblogHandler,
|
|
234
|
+
require_misskey.misskeyHandler,
|
|
235
|
+
require_myanimelist.myanimelistHandler,
|
|
236
|
+
require_naverBlog.naverBlogHandler,
|
|
237
|
+
require_nebula.nebulaHandler,
|
|
238
|
+
require_note.noteHandler,
|
|
239
|
+
require_observable.observableHandler,
|
|
240
|
+
require_odysee.odyseeHandler,
|
|
241
|
+
require_pagecord.pagecordHandler,
|
|
150
242
|
require_paragraph.paragraphHandler,
|
|
243
|
+
require_pika.pikaHandler,
|
|
151
244
|
require_pinterest.pinterestHandler,
|
|
245
|
+
require_pixelfed.pixelfedHandler,
|
|
246
|
+
require_pleroma.pleromaHandler,
|
|
247
|
+
require_podbean.podbeanHandler,
|
|
248
|
+
require_podigee.podigeeHandler,
|
|
249
|
+
require_posthaven.posthavenHandler,
|
|
152
250
|
require_producthunt.producthuntHandler,
|
|
251
|
+
require_prose.proseHandler,
|
|
252
|
+
require_qiita.qiitaHandler,
|
|
153
253
|
require_reddit.redditHandler,
|
|
254
|
+
require_rssCom.rssComHandler,
|
|
255
|
+
require_seesaa.seesaaHandler,
|
|
154
256
|
require_soundcloud.soundcloudHandler,
|
|
155
257
|
require_sourceforge.sourceforgeHandler,
|
|
258
|
+
require_spreaker.spreakerHandler,
|
|
156
259
|
require_stackExchange.stackExchangeHandler,
|
|
157
260
|
require_steam.steamHandler,
|
|
158
261
|
require_substack.substackHandler,
|
|
262
|
+
require_tildes.tildesHandler,
|
|
263
|
+
require_tistory.tistoryHandler,
|
|
264
|
+
require_transistor.transistorHandler,
|
|
159
265
|
require_tumblr.tumblrHandler,
|
|
160
266
|
require_v2ex.v2exHandler,
|
|
267
|
+
require_velog.velogHandler,
|
|
161
268
|
require_vimeo.vimeoHandler,
|
|
269
|
+
require_weblogLol.weblogLolHandler,
|
|
270
|
+
require_weebly.weeblyHandler,
|
|
162
271
|
require_wordpress.wordpressHandler,
|
|
163
272
|
require_wpengine.wpengineHandler,
|
|
273
|
+
require_writeas.writeasHandler,
|
|
164
274
|
require_ximalaya.ximalayaHandler,
|
|
165
|
-
require_youtube.youtubeHandler
|
|
275
|
+
require_youtube.youtubeHandler,
|
|
276
|
+
require_zenn.zennHandler
|
|
166
277
|
] };
|
|
167
278
|
//#endregion
|
|
168
279
|
exports.anchorLabels = anchorLabels;
|
|
280
|
+
exports.anchorPathSegments = anchorPathSegments;
|
|
169
281
|
exports.defaultGuessOptions = defaultGuessOptions;
|
|
170
282
|
exports.defaultHeadersOptions = defaultHeadersOptions;
|
|
171
283
|
exports.defaultHtmlOptions = defaultHtmlOptions;
|
|
@@ -2,19 +2,20 @@ import { GuessMethodOptions } from "../common/uris/guess/types.cjs";
|
|
|
2
2
|
import { HeadersMethodOptions } from "../common/uris/headers/types.cjs";
|
|
3
3
|
import { HtmlMethodOptions } from "../common/uris/html/types.cjs";
|
|
4
4
|
import { PlatformMethodOptions } from "../common/uris/platform/types.cjs";
|
|
5
|
-
import { LinkSelector, UriEntry } from "../common/types.cjs";
|
|
5
|
+
import { LinkSelector, Pattern, UriEntry } from "../common/types.cjs";
|
|
6
6
|
|
|
7
7
|
//#region src/feeds/defaults.d.ts
|
|
8
8
|
declare const mimeTypes: string[];
|
|
9
9
|
declare const urisMinimal: string[];
|
|
10
10
|
declare const urisBalanced: string[];
|
|
11
11
|
declare const urisComprehensive: Array<UriEntry>;
|
|
12
|
-
declare const ignoredUris:
|
|
12
|
+
declare const ignoredUris: Array<Pattern>;
|
|
13
13
|
declare const anchorLabels: string[];
|
|
14
14
|
declare const linkSelectors: Array<LinkSelector>;
|
|
15
|
+
declare const anchorPathSegments: RegExp[];
|
|
15
16
|
declare const defaultHtmlOptions: Omit<HtmlMethodOptions, 'baseUrl'>;
|
|
16
17
|
declare const defaultHeadersOptions: Omit<HeadersMethodOptions, 'baseUrl'>;
|
|
17
18
|
declare const defaultGuessOptions: Omit<GuessMethodOptions, 'baseUrl'>;
|
|
18
19
|
declare const defaultPlatformOptions: Omit<PlatformMethodOptions, 'baseUrl'>;
|
|
19
20
|
//#endregion
|
|
20
|
-
export { anchorLabels, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
|
|
21
|
+
export { anchorLabels, anchorPathSegments, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
|
package/dist/feeds/defaults.d.ts
CHANGED
|
@@ -2,19 +2,20 @@ import { GuessMethodOptions } from "../common/uris/guess/types.js";
|
|
|
2
2
|
import { HeadersMethodOptions } from "../common/uris/headers/types.js";
|
|
3
3
|
import { HtmlMethodOptions } from "../common/uris/html/types.js";
|
|
4
4
|
import { PlatformMethodOptions } from "../common/uris/platform/types.js";
|
|
5
|
-
import { LinkSelector, UriEntry } from "../common/types.js";
|
|
5
|
+
import { LinkSelector, Pattern, UriEntry } from "../common/types.js";
|
|
6
6
|
|
|
7
7
|
//#region src/feeds/defaults.d.ts
|
|
8
8
|
declare const mimeTypes: string[];
|
|
9
9
|
declare const urisMinimal: string[];
|
|
10
10
|
declare const urisBalanced: string[];
|
|
11
11
|
declare const urisComprehensive: Array<UriEntry>;
|
|
12
|
-
declare const ignoredUris:
|
|
12
|
+
declare const ignoredUris: Array<Pattern>;
|
|
13
13
|
declare const anchorLabels: string[];
|
|
14
14
|
declare const linkSelectors: Array<LinkSelector>;
|
|
15
|
+
declare const anchorPathSegments: RegExp[];
|
|
15
16
|
declare const defaultHtmlOptions: Omit<HtmlMethodOptions, 'baseUrl'>;
|
|
16
17
|
declare const defaultHeadersOptions: Omit<HeadersMethodOptions, 'baseUrl'>;
|
|
17
18
|
declare const defaultGuessOptions: Omit<GuessMethodOptions, 'baseUrl'>;
|
|
18
19
|
declare const defaultPlatformOptions: Omit<PlatformMethodOptions, 'baseUrl'>;
|
|
19
20
|
//#endregion
|
|
20
|
-
export { anchorLabels, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
|
|
21
|
+
export { anchorLabels, anchorPathSegments, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
|
package/dist/feeds/defaults.js
CHANGED
|
@@ -8,35 +8,86 @@ import { lobstersHandler } from "./platform/handlers/lobsters.js";
|
|
|
8
8
|
import { redditHandler } from "./platform/handlers/reddit.js";
|
|
9
9
|
import { sourceforgeHandler } from "./platform/handlers/sourceforge.js";
|
|
10
10
|
import { tumblrHandler } from "./platform/handlers/tumblr.js";
|
|
11
|
+
import { acastHandler } from "./platform/handlers/acast.js";
|
|
12
|
+
import { amebloHandler } from "./platform/handlers/ameblo.js";
|
|
11
13
|
import { applePodcastsHandler } from "./platform/handlers/applePodcasts.js";
|
|
14
|
+
import { arenaHandler } from "./platform/handlers/arena.js";
|
|
15
|
+
import { artstationHandler } from "./platform/handlers/artstation.js";
|
|
16
|
+
import { audioboomHandler } from "./platform/handlers/audioboom.js";
|
|
17
|
+
import { bearblogHandler } from "./platform/handlers/bearblog.js";
|
|
12
18
|
import { behanceHandler } from "./platform/handlers/behance.js";
|
|
13
19
|
import { blogspotHandler } from "./platform/handlers/blogspot.js";
|
|
14
20
|
import { blueskyHandler } from "./platform/handlers/bluesky.js";
|
|
21
|
+
import { bookwyrmHandler } from "./platform/handlers/bookwyrm.js";
|
|
22
|
+
import { buttondownHandler } from "./platform/handlers/buttondown.js";
|
|
23
|
+
import { buzzsproutHandler } from "./platform/handlers/buzzsprout.js";
|
|
15
24
|
import { csdnHandler } from "./platform/handlers/csdn.js";
|
|
16
25
|
import { dailymotionHandler } from "./platform/handlers/dailymotion.js";
|
|
26
|
+
import { discourseHandler } from "./platform/handlers/discourse.js";
|
|
17
27
|
import { doubanHandler } from "./platform/handlers/douban.js";
|
|
28
|
+
import { dreamwidthHandler } from "./platform/handlers/dreamwidth.js";
|
|
29
|
+
import { exblogHandler } from "./platform/handlers/exblog.js";
|
|
30
|
+
import { firesideHandler } from "./platform/handlers/fireside.js";
|
|
31
|
+
import { friendicaHandler } from "./platform/handlers/friendica.js";
|
|
32
|
+
import { ghostHandler } from "./platform/handlers/ghost.js";
|
|
18
33
|
import { goodreadsHandler } from "./platform/handlers/goodreads.js";
|
|
34
|
+
import { hackernewsHandler } from "./platform/handlers/hackernews.js";
|
|
19
35
|
import { hashnodeHandler } from "./platform/handlers/hashnode.js";
|
|
20
36
|
import { hatenablogHandler } from "./platform/handlers/hatenablog.js";
|
|
37
|
+
import { hearthisHandler } from "./platform/handlers/hearthis.js";
|
|
38
|
+
import { heyWorldHandler } from "./platform/handlers/heyWorld.js";
|
|
39
|
+
import { insanejournalHandler } from "./platform/handlers/insanejournal.js";
|
|
21
40
|
import { itchioHandler } from "./platform/handlers/itchio.js";
|
|
22
41
|
import { kickstarterHandler } from "./platform/handlers/kickstarter.js";
|
|
23
42
|
import { lemmyHandler } from "./platform/handlers/lemmy.js";
|
|
24
43
|
import { letterboxdHandler } from "./platform/handlers/letterboxd.js";
|
|
44
|
+
import { libsynHandler } from "./platform/handlers/libsyn.js";
|
|
45
|
+
import { listedHandler } from "./platform/handlers/listed.js";
|
|
46
|
+
import { livejournalHandler } from "./platform/handlers/livejournal.js";
|
|
25
47
|
import { mastodonHandler } from "./platform/handlers/mastodon.js";
|
|
48
|
+
import { mataroaHandler } from "./platform/handlers/mataroa.js";
|
|
26
49
|
import { mediumHandler } from "./platform/handlers/medium.js";
|
|
50
|
+
import { microblogHandler } from "./platform/handlers/microblog.js";
|
|
51
|
+
import { misskeyHandler } from "./platform/handlers/misskey.js";
|
|
52
|
+
import { myanimelistHandler } from "./platform/handlers/myanimelist.js";
|
|
53
|
+
import { naverBlogHandler } from "./platform/handlers/naverBlog.js";
|
|
54
|
+
import { nebulaHandler } from "./platform/handlers/nebula.js";
|
|
55
|
+
import { noteHandler } from "./platform/handlers/note.js";
|
|
56
|
+
import { observableHandler } from "./platform/handlers/observable.js";
|
|
57
|
+
import { odyseeHandler } from "./platform/handlers/odysee.js";
|
|
58
|
+
import { pagecordHandler } from "./platform/handlers/pagecord.js";
|
|
27
59
|
import { paragraphHandler } from "./platform/handlers/paragraph.js";
|
|
60
|
+
import { pikaHandler } from "./platform/handlers/pika.js";
|
|
28
61
|
import { pinterestHandler } from "./platform/handlers/pinterest.js";
|
|
62
|
+
import { pixelfedHandler } from "./platform/handlers/pixelfed.js";
|
|
63
|
+
import { pleromaHandler } from "./platform/handlers/pleroma.js";
|
|
64
|
+
import { podbeanHandler } from "./platform/handlers/podbean.js";
|
|
65
|
+
import { podigeeHandler } from "./platform/handlers/podigee.js";
|
|
66
|
+
import { posthavenHandler } from "./platform/handlers/posthaven.js";
|
|
29
67
|
import { producthuntHandler } from "./platform/handlers/producthunt.js";
|
|
68
|
+
import { proseHandler } from "./platform/handlers/prose.js";
|
|
69
|
+
import { qiitaHandler } from "./platform/handlers/qiita.js";
|
|
70
|
+
import { rssComHandler } from "./platform/handlers/rssCom.js";
|
|
71
|
+
import { seesaaHandler } from "./platform/handlers/seesaa.js";
|
|
30
72
|
import { soundcloudHandler } from "./platform/handlers/soundcloud.js";
|
|
73
|
+
import { spreakerHandler } from "./platform/handlers/spreaker.js";
|
|
31
74
|
import { stackExchangeHandler } from "./platform/handlers/stackExchange.js";
|
|
32
75
|
import { steamHandler } from "./platform/handlers/steam.js";
|
|
33
76
|
import { substackHandler } from "./platform/handlers/substack.js";
|
|
77
|
+
import { tildesHandler } from "./platform/handlers/tildes.js";
|
|
78
|
+
import { tistoryHandler } from "./platform/handlers/tistory.js";
|
|
79
|
+
import { transistorHandler } from "./platform/handlers/transistor.js";
|
|
34
80
|
import { v2exHandler } from "./platform/handlers/v2ex.js";
|
|
81
|
+
import { velogHandler } from "./platform/handlers/velog.js";
|
|
35
82
|
import { vimeoHandler } from "./platform/handlers/vimeo.js";
|
|
83
|
+
import { weblogLolHandler } from "./platform/handlers/weblogLol.js";
|
|
84
|
+
import { weeblyHandler } from "./platform/handlers/weebly.js";
|
|
36
85
|
import { wordpressHandler } from "./platform/handlers/wordpress.js";
|
|
37
86
|
import { wpengineHandler } from "./platform/handlers/wpengine.js";
|
|
87
|
+
import { writeasHandler } from "./platform/handlers/writeas.js";
|
|
38
88
|
import { ximalayaHandler } from "./platform/handlers/ximalaya.js";
|
|
39
89
|
import { youtubeHandler } from "./platform/handlers/youtube.js";
|
|
90
|
+
import { zennHandler } from "./platform/handlers/zenn.js";
|
|
40
91
|
//#region src/feeds/defaults.ts
|
|
41
92
|
const mimeTypes = [
|
|
42
93
|
"application/rss+xml",
|
|
@@ -101,12 +152,15 @@ const urisComprehensive = [
|
|
|
101
152
|
"/feeds/posts/default?alt=rss",
|
|
102
153
|
"/feeds/comments/default"
|
|
103
154
|
];
|
|
104
|
-
const ignoredUris = [
|
|
155
|
+
const ignoredUris = [
|
|
156
|
+
"wp-json/oembed/",
|
|
157
|
+
"wp-json/wp/",
|
|
158
|
+
/[?&][^=&]*=(https?:|https?%3a|aHR0c)/i
|
|
159
|
+
];
|
|
105
160
|
const anchorLabels = [
|
|
106
161
|
"rss",
|
|
107
162
|
"feed",
|
|
108
163
|
"atom",
|
|
109
|
-
"subscribe",
|
|
110
164
|
"syndicate",
|
|
111
165
|
"syndication",
|
|
112
166
|
"json feed"
|
|
@@ -115,54 +169,111 @@ const linkSelectors = [{
|
|
|
115
169
|
rel: "alternate",
|
|
116
170
|
types: mimeTypes
|
|
117
171
|
}, { rel: "feed" }];
|
|
172
|
+
const anchorPathSegments = [
|
|
173
|
+
/\/rss\//,
|
|
174
|
+
/\/atom\//,
|
|
175
|
+
/\/feed\//
|
|
176
|
+
];
|
|
118
177
|
const defaultHtmlOptions = {
|
|
119
178
|
linkSelectors,
|
|
120
179
|
anchorUris: urisComprehensive.flat(),
|
|
180
|
+
anchorPathSegments,
|
|
121
181
|
anchorIgnoredUris: ignoredUris,
|
|
122
182
|
anchorLabels
|
|
123
183
|
};
|
|
124
184
|
const defaultHeadersOptions = { linkSelectors };
|
|
125
185
|
const defaultGuessOptions = { uris: urisBalanced };
|
|
126
186
|
const defaultPlatformOptions = { handlers: [
|
|
187
|
+
acastHandler,
|
|
188
|
+
amebloHandler,
|
|
127
189
|
applePodcastsHandler,
|
|
190
|
+
arenaHandler,
|
|
191
|
+
artstationHandler,
|
|
192
|
+
audioboomHandler,
|
|
193
|
+
bearblogHandler,
|
|
128
194
|
behanceHandler,
|
|
129
195
|
blogspotHandler,
|
|
130
196
|
blueskyHandler,
|
|
131
|
-
|
|
197
|
+
bookwyrmHandler,
|
|
198
|
+
buttondownHandler,
|
|
199
|
+
buzzsproutHandler,
|
|
132
200
|
codebergHandler,
|
|
133
|
-
|
|
134
|
-
deviantartHandler,
|
|
201
|
+
csdnHandler,
|
|
135
202
|
dailymotionHandler,
|
|
203
|
+
deviantartHandler,
|
|
136
204
|
devtoHandler,
|
|
137
|
-
|
|
205
|
+
discourseHandler,
|
|
206
|
+
doubanHandler,
|
|
207
|
+
dreamwidthHandler,
|
|
208
|
+
exblogHandler,
|
|
209
|
+
firesideHandler,
|
|
210
|
+
friendicaHandler,
|
|
211
|
+
ghostHandler,
|
|
138
212
|
githubHandler,
|
|
139
|
-
hashnodeHandler,
|
|
140
|
-
hatenablogHandler,
|
|
141
213
|
githubGistHandler,
|
|
142
214
|
gitlabHandler,
|
|
215
|
+
goodreadsHandler,
|
|
216
|
+
hackernewsHandler,
|
|
217
|
+
hashnodeHandler,
|
|
218
|
+
hatenablogHandler,
|
|
219
|
+
hearthisHandler,
|
|
220
|
+
heyWorldHandler,
|
|
221
|
+
insanejournalHandler,
|
|
143
222
|
itchioHandler,
|
|
144
223
|
kickstarterHandler,
|
|
145
224
|
lemmyHandler,
|
|
146
225
|
letterboxdHandler,
|
|
226
|
+
libsynHandler,
|
|
227
|
+
listedHandler,
|
|
228
|
+
livejournalHandler,
|
|
147
229
|
lobstersHandler,
|
|
148
230
|
mastodonHandler,
|
|
231
|
+
mataroaHandler,
|
|
149
232
|
mediumHandler,
|
|
233
|
+
microblogHandler,
|
|
234
|
+
misskeyHandler,
|
|
235
|
+
myanimelistHandler,
|
|
236
|
+
naverBlogHandler,
|
|
237
|
+
nebulaHandler,
|
|
238
|
+
noteHandler,
|
|
239
|
+
observableHandler,
|
|
240
|
+
odyseeHandler,
|
|
241
|
+
pagecordHandler,
|
|
150
242
|
paragraphHandler,
|
|
243
|
+
pikaHandler,
|
|
151
244
|
pinterestHandler,
|
|
245
|
+
pixelfedHandler,
|
|
246
|
+
pleromaHandler,
|
|
247
|
+
podbeanHandler,
|
|
248
|
+
podigeeHandler,
|
|
249
|
+
posthavenHandler,
|
|
152
250
|
producthuntHandler,
|
|
251
|
+
proseHandler,
|
|
252
|
+
qiitaHandler,
|
|
153
253
|
redditHandler,
|
|
254
|
+
rssComHandler,
|
|
255
|
+
seesaaHandler,
|
|
154
256
|
soundcloudHandler,
|
|
155
257
|
sourceforgeHandler,
|
|
258
|
+
spreakerHandler,
|
|
156
259
|
stackExchangeHandler,
|
|
157
260
|
steamHandler,
|
|
158
261
|
substackHandler,
|
|
262
|
+
tildesHandler,
|
|
263
|
+
tistoryHandler,
|
|
264
|
+
transistorHandler,
|
|
159
265
|
tumblrHandler,
|
|
160
266
|
v2exHandler,
|
|
267
|
+
velogHandler,
|
|
161
268
|
vimeoHandler,
|
|
269
|
+
weblogLolHandler,
|
|
270
|
+
weeblyHandler,
|
|
162
271
|
wordpressHandler,
|
|
163
272
|
wpengineHandler,
|
|
273
|
+
writeasHandler,
|
|
164
274
|
ximalayaHandler,
|
|
165
|
-
youtubeHandler
|
|
275
|
+
youtubeHandler,
|
|
276
|
+
zennHandler
|
|
166
277
|
] };
|
|
167
278
|
//#endregion
|
|
168
|
-
export { anchorLabels, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
|
|
279
|
+
export { anchorLabels, anchorPathSegments, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const require_utils = require("../../../common/utils.cjs");
|
|
2
|
+
//#region src/feeds/platform/handlers/acast.ts
|
|
3
|
+
const hosts = [
|
|
4
|
+
"shows.acast.com",
|
|
5
|
+
"play.acast.com",
|
|
6
|
+
"embed.acast.com"
|
|
7
|
+
];
|
|
8
|
+
const excludedPaths = ["discover"];
|
|
9
|
+
const acastHandler = {
|
|
10
|
+
match: (url) => {
|
|
11
|
+
return require_utils.isHostOf(url, hosts);
|
|
12
|
+
},
|
|
13
|
+
resolve: (url) => {
|
|
14
|
+
const { hostname, pathname } = new URL(url);
|
|
15
|
+
const pathSegments = pathname.split("/").filter(Boolean);
|
|
16
|
+
if (pathSegments.length === 0) return [];
|
|
17
|
+
const slug = pathSegments[hostname.toLowerCase() === "play.acast.com" ? 1 : 0];
|
|
18
|
+
if (!slug || require_utils.isAnyOf(slug, excludedPaths)) return [];
|
|
19
|
+
return [{
|
|
20
|
+
uri: `https://feeds.acast.com/public/shows/${slug}`,
|
|
21
|
+
hint: require_utils.composeHint("acast:podcast")
|
|
22
|
+
}];
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
//#endregion
|
|
26
|
+
exports.acastHandler = acastHandler;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { composeHint, isAnyOf, isHostOf } from "../../../common/utils.js";
|
|
2
|
+
//#region src/feeds/platform/handlers/acast.ts
|
|
3
|
+
const hosts = [
|
|
4
|
+
"shows.acast.com",
|
|
5
|
+
"play.acast.com",
|
|
6
|
+
"embed.acast.com"
|
|
7
|
+
];
|
|
8
|
+
const excludedPaths = ["discover"];
|
|
9
|
+
const acastHandler = {
|
|
10
|
+
match: (url) => {
|
|
11
|
+
return isHostOf(url, hosts);
|
|
12
|
+
},
|
|
13
|
+
resolve: (url) => {
|
|
14
|
+
const { hostname, pathname } = new URL(url);
|
|
15
|
+
const pathSegments = pathname.split("/").filter(Boolean);
|
|
16
|
+
if (pathSegments.length === 0) return [];
|
|
17
|
+
const slug = pathSegments[hostname.toLowerCase() === "play.acast.com" ? 1 : 0];
|
|
18
|
+
if (!slug || isAnyOf(slug, excludedPaths)) return [];
|
|
19
|
+
return [{
|
|
20
|
+
uri: `https://feeds.acast.com/public/shows/${slug}`,
|
|
21
|
+
hint: composeHint("acast:podcast")
|
|
22
|
+
}];
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
//#endregion
|
|
26
|
+
export { acastHandler };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const require_utils = require("../../../common/utils.cjs");
|
|
2
|
+
//#region src/feeds/platform/handlers/ameblo.ts
|
|
3
|
+
const hosts = ["ameblo.jp", "www.ameblo.jp"];
|
|
4
|
+
const excludedPaths = [
|
|
5
|
+
"genre",
|
|
6
|
+
"hashtag",
|
|
7
|
+
"search"
|
|
8
|
+
];
|
|
9
|
+
const amebloHandler = {
|
|
10
|
+
match: (url) => {
|
|
11
|
+
return require_utils.isHostOf(url, hosts);
|
|
12
|
+
},
|
|
13
|
+
resolve: (url) => {
|
|
14
|
+
const { pathname } = new URL(url);
|
|
15
|
+
const pathSegments = pathname.split("/").filter(Boolean);
|
|
16
|
+
if (pathSegments.length === 0) return [];
|
|
17
|
+
const username = pathSegments[0];
|
|
18
|
+
if (require_utils.isAnyOf(username, excludedPaths)) return [];
|
|
19
|
+
const uris = [];
|
|
20
|
+
uris.push({
|
|
21
|
+
uri: `https://ameblo.jp/${username}/rss20.xml`,
|
|
22
|
+
hint: require_utils.composeHint("ameblo:posts-rss")
|
|
23
|
+
});
|
|
24
|
+
uris.push({
|
|
25
|
+
uri: `https://ameblo.jp/${username}/atom.xml`,
|
|
26
|
+
hint: require_utils.composeHint("ameblo:posts-atom")
|
|
27
|
+
});
|
|
28
|
+
uris.push({
|
|
29
|
+
uri: `https://rssblog.ameba.jp/${username}/rss.html`,
|
|
30
|
+
hint: require_utils.composeHint("ameblo:posts-rdf")
|
|
31
|
+
});
|
|
32
|
+
return uris;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.amebloHandler = amebloHandler;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { composeHint, isAnyOf, isHostOf } from "../../../common/utils.js";
|
|
2
|
+
//#region src/feeds/platform/handlers/ameblo.ts
|
|
3
|
+
const hosts = ["ameblo.jp", "www.ameblo.jp"];
|
|
4
|
+
const excludedPaths = [
|
|
5
|
+
"genre",
|
|
6
|
+
"hashtag",
|
|
7
|
+
"search"
|
|
8
|
+
];
|
|
9
|
+
const amebloHandler = {
|
|
10
|
+
match: (url) => {
|
|
11
|
+
return isHostOf(url, hosts);
|
|
12
|
+
},
|
|
13
|
+
resolve: (url) => {
|
|
14
|
+
const { pathname } = new URL(url);
|
|
15
|
+
const pathSegments = pathname.split("/").filter(Boolean);
|
|
16
|
+
if (pathSegments.length === 0) return [];
|
|
17
|
+
const username = pathSegments[0];
|
|
18
|
+
if (isAnyOf(username, excludedPaths)) return [];
|
|
19
|
+
const uris = [];
|
|
20
|
+
uris.push({
|
|
21
|
+
uri: `https://ameblo.jp/${username}/rss20.xml`,
|
|
22
|
+
hint: composeHint("ameblo:posts-rss")
|
|
23
|
+
});
|
|
24
|
+
uris.push({
|
|
25
|
+
uri: `https://ameblo.jp/${username}/atom.xml`,
|
|
26
|
+
hint: composeHint("ameblo:posts-atom")
|
|
27
|
+
});
|
|
28
|
+
uris.push({
|
|
29
|
+
uri: `https://rssblog.ameba.jp/${username}/rss.html`,
|
|
30
|
+
hint: composeHint("ameblo:posts-rdf")
|
|
31
|
+
});
|
|
32
|
+
return uris;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
export { amebloHandler };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_utils = require("../../../common/utils.cjs");
|
|
2
2
|
//#region src/feeds/platform/handlers/applePodcasts.ts
|
|
3
3
|
const hosts = ["podcasts.apple.com"];
|
|
4
|
-
const podcastRegex =
|
|
4
|
+
const podcastRegex = /^(?:\/[a-z]{2})?\/podcast\/(?:[^/]+\/)?id\d+/;
|
|
5
5
|
const feedUrlRegex = /"feedUrl"\s*:\s*"([^"]+)"/;
|
|
6
6
|
const extractFeedUrlFromContent = (content) => {
|
|
7
7
|
return content.match(feedUrlRegex)?.[1];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { composeHint, isHostOf } from "../../../common/utils.js";
|
|
2
2
|
//#region src/feeds/platform/handlers/applePodcasts.ts
|
|
3
3
|
const hosts = ["podcasts.apple.com"];
|
|
4
|
-
const podcastRegex =
|
|
4
|
+
const podcastRegex = /^(?:\/[a-z]{2})?\/podcast\/(?:[^/]+\/)?id\d+/;
|
|
5
5
|
const feedUrlRegex = /"feedUrl"\s*:\s*"([^"]+)"/;
|
|
6
6
|
const extractFeedUrlFromContent = (content) => {
|
|
7
7
|
return content.match(feedUrlRegex)?.[1];
|