feedscout 1.8.1 → 1.9.1
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 +18 -11
- package/dist/blogrolls/defaults.d.cts +1 -2
- package/dist/blogrolls/defaults.d.ts +1 -2
- package/dist/blogrolls/defaults.js +19 -11
- 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 +18 -0
- package/dist/common/uris/html/handlers.js +18 -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 +6 -4
- package/dist/common/uris/html/types.d.ts +6 -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 +129 -10
- package/dist/feeds/defaults.d.cts +5 -3
- package/dist/feeds/defaults.d.ts +5 -3
- package/dist/feeds/defaults.js +128 -11
- 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 +2 -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,122 @@ const linkSelectors = [{
|
|
|
115
169
|
rel: "alternate",
|
|
116
170
|
types: mimeTypes
|
|
117
171
|
}, { rel: "feed" }];
|
|
172
|
+
const anchorPathSegments = [
|
|
173
|
+
/\/rss\//,
|
|
174
|
+
/\/atom\//,
|
|
175
|
+
/\/feed\//
|
|
176
|
+
];
|
|
177
|
+
const anchorAttributes = [
|
|
178
|
+
"aria-label",
|
|
179
|
+
"title",
|
|
180
|
+
"data-framer-name"
|
|
181
|
+
];
|
|
118
182
|
const defaultHtmlOptions = {
|
|
119
183
|
linkSelectors,
|
|
120
184
|
anchorUris: urisComprehensive.flat(),
|
|
185
|
+
anchorPathSegments,
|
|
121
186
|
anchorIgnoredUris: ignoredUris,
|
|
122
|
-
anchorLabels
|
|
187
|
+
anchorLabels,
|
|
188
|
+
anchorAttributes
|
|
123
189
|
};
|
|
124
190
|
const defaultHeadersOptions = { linkSelectors };
|
|
125
191
|
const defaultGuessOptions = { uris: urisBalanced };
|
|
126
192
|
const defaultPlatformOptions = { handlers: [
|
|
193
|
+
require_acast.acastHandler,
|
|
194
|
+
require_ameblo.amebloHandler,
|
|
127
195
|
require_applePodcasts.applePodcastsHandler,
|
|
196
|
+
require_arena.arenaHandler,
|
|
197
|
+
require_artstation.artstationHandler,
|
|
198
|
+
require_audioboom.audioboomHandler,
|
|
199
|
+
require_bearblog.bearblogHandler,
|
|
128
200
|
require_behance.behanceHandler,
|
|
129
201
|
require_blogspot.blogspotHandler,
|
|
130
202
|
require_bluesky.blueskyHandler,
|
|
131
|
-
|
|
203
|
+
require_bookwyrm.bookwyrmHandler,
|
|
204
|
+
require_buttondown.buttondownHandler,
|
|
205
|
+
require_buzzsprout.buzzsproutHandler,
|
|
132
206
|
require_codeberg.codebergHandler,
|
|
133
|
-
|
|
134
|
-
require_deviantart.deviantartHandler,
|
|
207
|
+
require_csdn.csdnHandler,
|
|
135
208
|
require_dailymotion.dailymotionHandler,
|
|
209
|
+
require_deviantart.deviantartHandler,
|
|
136
210
|
require_devto.devtoHandler,
|
|
137
|
-
|
|
211
|
+
require_discourse.discourseHandler,
|
|
212
|
+
require_douban.doubanHandler,
|
|
213
|
+
require_dreamwidth.dreamwidthHandler,
|
|
214
|
+
require_exblog.exblogHandler,
|
|
215
|
+
require_fireside.firesideHandler,
|
|
216
|
+
require_friendica.friendicaHandler,
|
|
217
|
+
require_ghost.ghostHandler,
|
|
138
218
|
require_github.githubHandler,
|
|
139
|
-
require_hashnode.hashnodeHandler,
|
|
140
|
-
require_hatenablog.hatenablogHandler,
|
|
141
219
|
require_githubGist.githubGistHandler,
|
|
142
220
|
require_gitlab.gitlabHandler,
|
|
221
|
+
require_goodreads.goodreadsHandler,
|
|
222
|
+
require_hackernews.hackernewsHandler,
|
|
223
|
+
require_hashnode.hashnodeHandler,
|
|
224
|
+
require_hatenablog.hatenablogHandler,
|
|
225
|
+
require_hearthis.hearthisHandler,
|
|
226
|
+
require_heyWorld.heyWorldHandler,
|
|
227
|
+
require_insanejournal.insanejournalHandler,
|
|
143
228
|
require_itchio.itchioHandler,
|
|
144
229
|
require_kickstarter.kickstarterHandler,
|
|
145
230
|
require_lemmy.lemmyHandler,
|
|
146
231
|
require_letterboxd.letterboxdHandler,
|
|
232
|
+
require_libsyn.libsynHandler,
|
|
233
|
+
require_listed.listedHandler,
|
|
234
|
+
require_livejournal.livejournalHandler,
|
|
147
235
|
require_lobsters.lobstersHandler,
|
|
148
236
|
require_mastodon.mastodonHandler,
|
|
237
|
+
require_mataroa.mataroaHandler,
|
|
149
238
|
require_medium.mediumHandler,
|
|
239
|
+
require_microblog.microblogHandler,
|
|
240
|
+
require_misskey.misskeyHandler,
|
|
241
|
+
require_myanimelist.myanimelistHandler,
|
|
242
|
+
require_naverBlog.naverBlogHandler,
|
|
243
|
+
require_nebula.nebulaHandler,
|
|
244
|
+
require_note.noteHandler,
|
|
245
|
+
require_observable.observableHandler,
|
|
246
|
+
require_odysee.odyseeHandler,
|
|
247
|
+
require_pagecord.pagecordHandler,
|
|
150
248
|
require_paragraph.paragraphHandler,
|
|
249
|
+
require_pika.pikaHandler,
|
|
151
250
|
require_pinterest.pinterestHandler,
|
|
251
|
+
require_pixelfed.pixelfedHandler,
|
|
252
|
+
require_pleroma.pleromaHandler,
|
|
253
|
+
require_podbean.podbeanHandler,
|
|
254
|
+
require_podigee.podigeeHandler,
|
|
255
|
+
require_posthaven.posthavenHandler,
|
|
152
256
|
require_producthunt.producthuntHandler,
|
|
257
|
+
require_prose.proseHandler,
|
|
258
|
+
require_qiita.qiitaHandler,
|
|
153
259
|
require_reddit.redditHandler,
|
|
260
|
+
require_rssCom.rssComHandler,
|
|
261
|
+
require_seesaa.seesaaHandler,
|
|
154
262
|
require_soundcloud.soundcloudHandler,
|
|
155
263
|
require_sourceforge.sourceforgeHandler,
|
|
264
|
+
require_spreaker.spreakerHandler,
|
|
156
265
|
require_stackExchange.stackExchangeHandler,
|
|
157
266
|
require_steam.steamHandler,
|
|
158
267
|
require_substack.substackHandler,
|
|
268
|
+
require_tildes.tildesHandler,
|
|
269
|
+
require_tistory.tistoryHandler,
|
|
270
|
+
require_transistor.transistorHandler,
|
|
159
271
|
require_tumblr.tumblrHandler,
|
|
160
272
|
require_v2ex.v2exHandler,
|
|
273
|
+
require_velog.velogHandler,
|
|
161
274
|
require_vimeo.vimeoHandler,
|
|
275
|
+
require_weblogLol.weblogLolHandler,
|
|
276
|
+
require_weebly.weeblyHandler,
|
|
162
277
|
require_wordpress.wordpressHandler,
|
|
163
278
|
require_wpengine.wpengineHandler,
|
|
279
|
+
require_writeas.writeasHandler,
|
|
164
280
|
require_ximalaya.ximalayaHandler,
|
|
165
|
-
require_youtube.youtubeHandler
|
|
281
|
+
require_youtube.youtubeHandler,
|
|
282
|
+
require_zenn.zennHandler
|
|
166
283
|
] };
|
|
167
284
|
//#endregion
|
|
285
|
+
exports.anchorAttributes = anchorAttributes;
|
|
168
286
|
exports.anchorLabels = anchorLabels;
|
|
287
|
+
exports.anchorPathSegments = anchorPathSegments;
|
|
169
288
|
exports.defaultGuessOptions = defaultGuessOptions;
|
|
170
289
|
exports.defaultHeadersOptions = defaultHeadersOptions;
|
|
171
290
|
exports.defaultHtmlOptions = defaultHtmlOptions;
|
|
@@ -2,19 +2,21 @@ 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[];
|
|
16
|
+
declare const anchorAttributes: string[];
|
|
15
17
|
declare const defaultHtmlOptions: Omit<HtmlMethodOptions, 'baseUrl'>;
|
|
16
18
|
declare const defaultHeadersOptions: Omit<HeadersMethodOptions, 'baseUrl'>;
|
|
17
19
|
declare const defaultGuessOptions: Omit<GuessMethodOptions, 'baseUrl'>;
|
|
18
20
|
declare const defaultPlatformOptions: Omit<PlatformMethodOptions, 'baseUrl'>;
|
|
19
21
|
//#endregion
|
|
20
|
-
export { anchorLabels, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
|
|
22
|
+
export { anchorAttributes, anchorLabels, anchorPathSegments, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
|
package/dist/feeds/defaults.d.ts
CHANGED
|
@@ -2,19 +2,21 @@ 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[];
|
|
16
|
+
declare const anchorAttributes: string[];
|
|
15
17
|
declare const defaultHtmlOptions: Omit<HtmlMethodOptions, 'baseUrl'>;
|
|
16
18
|
declare const defaultHeadersOptions: Omit<HeadersMethodOptions, 'baseUrl'>;
|
|
17
19
|
declare const defaultGuessOptions: Omit<GuessMethodOptions, 'baseUrl'>;
|
|
18
20
|
declare const defaultPlatformOptions: Omit<PlatformMethodOptions, 'baseUrl'>;
|
|
19
21
|
//#endregion
|
|
20
|
-
export { anchorLabels, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
|
|
22
|
+
export { anchorAttributes, 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,117 @@ const linkSelectors = [{
|
|
|
115
169
|
rel: "alternate",
|
|
116
170
|
types: mimeTypes
|
|
117
171
|
}, { rel: "feed" }];
|
|
172
|
+
const anchorPathSegments = [
|
|
173
|
+
/\/rss\//,
|
|
174
|
+
/\/atom\//,
|
|
175
|
+
/\/feed\//
|
|
176
|
+
];
|
|
177
|
+
const anchorAttributes = [
|
|
178
|
+
"aria-label",
|
|
179
|
+
"title",
|
|
180
|
+
"data-framer-name"
|
|
181
|
+
];
|
|
118
182
|
const defaultHtmlOptions = {
|
|
119
183
|
linkSelectors,
|
|
120
184
|
anchorUris: urisComprehensive.flat(),
|
|
185
|
+
anchorPathSegments,
|
|
121
186
|
anchorIgnoredUris: ignoredUris,
|
|
122
|
-
anchorLabels
|
|
187
|
+
anchorLabels,
|
|
188
|
+
anchorAttributes
|
|
123
189
|
};
|
|
124
190
|
const defaultHeadersOptions = { linkSelectors };
|
|
125
191
|
const defaultGuessOptions = { uris: urisBalanced };
|
|
126
192
|
const defaultPlatformOptions = { handlers: [
|
|
193
|
+
acastHandler,
|
|
194
|
+
amebloHandler,
|
|
127
195
|
applePodcastsHandler,
|
|
196
|
+
arenaHandler,
|
|
197
|
+
artstationHandler,
|
|
198
|
+
audioboomHandler,
|
|
199
|
+
bearblogHandler,
|
|
128
200
|
behanceHandler,
|
|
129
201
|
blogspotHandler,
|
|
130
202
|
blueskyHandler,
|
|
131
|
-
|
|
203
|
+
bookwyrmHandler,
|
|
204
|
+
buttondownHandler,
|
|
205
|
+
buzzsproutHandler,
|
|
132
206
|
codebergHandler,
|
|
133
|
-
|
|
134
|
-
deviantartHandler,
|
|
207
|
+
csdnHandler,
|
|
135
208
|
dailymotionHandler,
|
|
209
|
+
deviantartHandler,
|
|
136
210
|
devtoHandler,
|
|
137
|
-
|
|
211
|
+
discourseHandler,
|
|
212
|
+
doubanHandler,
|
|
213
|
+
dreamwidthHandler,
|
|
214
|
+
exblogHandler,
|
|
215
|
+
firesideHandler,
|
|
216
|
+
friendicaHandler,
|
|
217
|
+
ghostHandler,
|
|
138
218
|
githubHandler,
|
|
139
|
-
hashnodeHandler,
|
|
140
|
-
hatenablogHandler,
|
|
141
219
|
githubGistHandler,
|
|
142
220
|
gitlabHandler,
|
|
221
|
+
goodreadsHandler,
|
|
222
|
+
hackernewsHandler,
|
|
223
|
+
hashnodeHandler,
|
|
224
|
+
hatenablogHandler,
|
|
225
|
+
hearthisHandler,
|
|
226
|
+
heyWorldHandler,
|
|
227
|
+
insanejournalHandler,
|
|
143
228
|
itchioHandler,
|
|
144
229
|
kickstarterHandler,
|
|
145
230
|
lemmyHandler,
|
|
146
231
|
letterboxdHandler,
|
|
232
|
+
libsynHandler,
|
|
233
|
+
listedHandler,
|
|
234
|
+
livejournalHandler,
|
|
147
235
|
lobstersHandler,
|
|
148
236
|
mastodonHandler,
|
|
237
|
+
mataroaHandler,
|
|
149
238
|
mediumHandler,
|
|
239
|
+
microblogHandler,
|
|
240
|
+
misskeyHandler,
|
|
241
|
+
myanimelistHandler,
|
|
242
|
+
naverBlogHandler,
|
|
243
|
+
nebulaHandler,
|
|
244
|
+
noteHandler,
|
|
245
|
+
observableHandler,
|
|
246
|
+
odyseeHandler,
|
|
247
|
+
pagecordHandler,
|
|
150
248
|
paragraphHandler,
|
|
249
|
+
pikaHandler,
|
|
151
250
|
pinterestHandler,
|
|
251
|
+
pixelfedHandler,
|
|
252
|
+
pleromaHandler,
|
|
253
|
+
podbeanHandler,
|
|
254
|
+
podigeeHandler,
|
|
255
|
+
posthavenHandler,
|
|
152
256
|
producthuntHandler,
|
|
257
|
+
proseHandler,
|
|
258
|
+
qiitaHandler,
|
|
153
259
|
redditHandler,
|
|
260
|
+
rssComHandler,
|
|
261
|
+
seesaaHandler,
|
|
154
262
|
soundcloudHandler,
|
|
155
263
|
sourceforgeHandler,
|
|
264
|
+
spreakerHandler,
|
|
156
265
|
stackExchangeHandler,
|
|
157
266
|
steamHandler,
|
|
158
267
|
substackHandler,
|
|
268
|
+
tildesHandler,
|
|
269
|
+
tistoryHandler,
|
|
270
|
+
transistorHandler,
|
|
159
271
|
tumblrHandler,
|
|
160
272
|
v2exHandler,
|
|
273
|
+
velogHandler,
|
|
161
274
|
vimeoHandler,
|
|
275
|
+
weblogLolHandler,
|
|
276
|
+
weeblyHandler,
|
|
162
277
|
wordpressHandler,
|
|
163
278
|
wpengineHandler,
|
|
279
|
+
writeasHandler,
|
|
164
280
|
ximalayaHandler,
|
|
165
|
-
youtubeHandler
|
|
281
|
+
youtubeHandler,
|
|
282
|
+
zennHandler
|
|
166
283
|
] };
|
|
167
284
|
//#endregion
|
|
168
|
-
export { anchorLabels, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
|
|
285
|
+
export { anchorAttributes, 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];
|