feedscout 1.9.0 → 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.
@@ -42,7 +42,8 @@ const defaultHtmlOptions = {
42
42
  linkSelectors,
43
43
  anchorUris: urisComprehensive,
44
44
  anchorIgnoredUris: [],
45
- anchorLabels
45
+ anchorLabels,
46
+ anchorAttributes: ["aria-label", "title"]
46
47
  };
47
48
  const defaultHeadersOptions = { linkSelectors };
48
49
  const defaultGuessOptions = { uris: urisBalanced };
@@ -42,7 +42,8 @@ const defaultHtmlOptions = {
42
42
  linkSelectors,
43
43
  anchorUris: urisComprehensive,
44
44
  anchorIgnoredUris: [],
45
- anchorLabels
45
+ anchorLabels,
46
+ anchorAttributes: ["aria-label", "title"]
46
47
  };
47
48
  const defaultHeadersOptions = { linkSelectors };
48
49
  const defaultGuessOptions = { uris: urisBalanced };
@@ -27,9 +27,13 @@ const handleOpenTag = (context, name, attribs, _isImplied) => {
27
27
  } catch {}
28
28
  if (pathname && require_utils.includesAnyOf(pathname, context.options.anchorPathSegments)) context.discoveredUris.add(attribs.href);
29
29
  }
30
- const ariaLabel = attribs["aria-label"];
31
- const title = attribs.title;
32
- if (ariaLabel && require_utils.includesAnyOf(ariaLabel, context.options.anchorLabels) || title && require_utils.includesAnyOf(title, context.options.anchorLabels)) context.discoveredUris.add(attribs.href);
30
+ }
31
+ if (context.currentAnchor.href && context.options.anchorAttributes?.length) for (const attribute of context.options.anchorAttributes) {
32
+ const value = attribs[attribute];
33
+ if (value && require_utils.includesAnyOf(value, context.options.anchorLabels)) {
34
+ context.discoveredUris.add(context.currentAnchor.href);
35
+ break;
36
+ }
33
37
  }
34
38
  };
35
39
  const handleText = (context, text) => {
@@ -27,9 +27,13 @@ const handleOpenTag = (context, name, attribs, _isImplied) => {
27
27
  } catch {}
28
28
  if (pathname && includesAnyOf(pathname, context.options.anchorPathSegments)) context.discoveredUris.add(attribs.href);
29
29
  }
30
- const ariaLabel = attribs["aria-label"];
31
- const title = attribs.title;
32
- if (ariaLabel && includesAnyOf(ariaLabel, context.options.anchorLabels) || title && includesAnyOf(title, context.options.anchorLabels)) context.discoveredUris.add(attribs.href);
30
+ }
31
+ if (context.currentAnchor.href && context.options.anchorAttributes?.length) for (const attribute of context.options.anchorAttributes) {
32
+ const value = attribs[attribute];
33
+ if (value && includesAnyOf(value, context.options.anchorLabels)) {
34
+ context.discoveredUris.add(context.currentAnchor.href);
35
+ break;
36
+ }
33
37
  }
34
38
  };
35
39
  const handleText = (context, text) => {
@@ -8,6 +8,7 @@ type HtmlMethodOptions = {
8
8
  anchorPathSegments?: Array<Pattern>;
9
9
  anchorIgnoredUris: Array<Pattern>;
10
10
  anchorLabels: Array<Pattern>;
11
+ anchorAttributes?: Array<string>;
11
12
  };
12
13
  //#endregion
13
14
  export { HtmlMethodOptions };
@@ -8,6 +8,7 @@ type HtmlMethodOptions = {
8
8
  anchorPathSegments?: Array<Pattern>;
9
9
  anchorIgnoredUris: Array<Pattern>;
10
10
  anchorLabels: Array<Pattern>;
11
+ anchorAttributes?: Array<string>;
11
12
  };
12
13
  //#endregion
13
14
  export { HtmlMethodOptions };
@@ -174,12 +174,18 @@ const anchorPathSegments = [
174
174
  /\/atom\//,
175
175
  /\/feed\//
176
176
  ];
177
+ const anchorAttributes = [
178
+ "aria-label",
179
+ "title",
180
+ "data-framer-name"
181
+ ];
177
182
  const defaultHtmlOptions = {
178
183
  linkSelectors,
179
184
  anchorUris: urisComprehensive.flat(),
180
185
  anchorPathSegments,
181
186
  anchorIgnoredUris: ignoredUris,
182
- anchorLabels
187
+ anchorLabels,
188
+ anchorAttributes
183
189
  };
184
190
  const defaultHeadersOptions = { linkSelectors };
185
191
  const defaultGuessOptions = { uris: urisBalanced };
@@ -276,6 +282,7 @@ const defaultPlatformOptions = { handlers: [
276
282
  require_zenn.zennHandler
277
283
  ] };
278
284
  //#endregion
285
+ exports.anchorAttributes = anchorAttributes;
279
286
  exports.anchorLabels = anchorLabels;
280
287
  exports.anchorPathSegments = anchorPathSegments;
281
288
  exports.defaultGuessOptions = defaultGuessOptions;
@@ -13,9 +13,10 @@ declare const ignoredUris: Array<Pattern>;
13
13
  declare const anchorLabels: string[];
14
14
  declare const linkSelectors: Array<LinkSelector>;
15
15
  declare const anchorPathSegments: RegExp[];
16
+ declare const anchorAttributes: string[];
16
17
  declare const defaultHtmlOptions: Omit<HtmlMethodOptions, 'baseUrl'>;
17
18
  declare const defaultHeadersOptions: Omit<HeadersMethodOptions, 'baseUrl'>;
18
19
  declare const defaultGuessOptions: Omit<GuessMethodOptions, 'baseUrl'>;
19
20
  declare const defaultPlatformOptions: Omit<PlatformMethodOptions, 'baseUrl'>;
20
21
  //#endregion
21
- export { anchorLabels, anchorPathSegments, 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 };
@@ -13,9 +13,10 @@ declare const ignoredUris: Array<Pattern>;
13
13
  declare const anchorLabels: string[];
14
14
  declare const linkSelectors: Array<LinkSelector>;
15
15
  declare const anchorPathSegments: RegExp[];
16
+ declare const anchorAttributes: string[];
16
17
  declare const defaultHtmlOptions: Omit<HtmlMethodOptions, 'baseUrl'>;
17
18
  declare const defaultHeadersOptions: Omit<HeadersMethodOptions, 'baseUrl'>;
18
19
  declare const defaultGuessOptions: Omit<GuessMethodOptions, 'baseUrl'>;
19
20
  declare const defaultPlatformOptions: Omit<PlatformMethodOptions, 'baseUrl'>;
20
21
  //#endregion
21
- export { anchorLabels, anchorPathSegments, 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 };
@@ -174,12 +174,18 @@ const anchorPathSegments = [
174
174
  /\/atom\//,
175
175
  /\/feed\//
176
176
  ];
177
+ const anchorAttributes = [
178
+ "aria-label",
179
+ "title",
180
+ "data-framer-name"
181
+ ];
177
182
  const defaultHtmlOptions = {
178
183
  linkSelectors,
179
184
  anchorUris: urisComprehensive.flat(),
180
185
  anchorPathSegments,
181
186
  anchorIgnoredUris: ignoredUris,
182
- anchorLabels
187
+ anchorLabels,
188
+ anchorAttributes
183
189
  };
184
190
  const defaultHeadersOptions = { linkSelectors };
185
191
  const defaultGuessOptions = { uris: urisBalanced };
@@ -276,4 +282,4 @@ const defaultPlatformOptions = { handlers: [
276
282
  zennHandler
277
283
  ] };
278
284
  //#endregion
279
- export { anchorLabels, anchorPathSegments, 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 };
package/dist/feeds.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_defaults = require("./feeds/defaults.cjs");
3
3
  const require_extractors = require("./feeds/extractors.cjs");
4
+ exports.anchorAttributes = require_defaults.anchorAttributes;
4
5
  exports.anchorLabels = require_defaults.anchorLabels;
5
6
  exports.anchorPathSegments = require_defaults.anchorPathSegments;
6
7
  exports.defaultExtractFn = require_extractors.defaultExtractFn;
package/dist/feeds.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { anchorLabels, anchorPathSegments, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal } from "./feeds/defaults.cjs";
1
+ import { anchorAttributes, anchorLabels, anchorPathSegments, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal } from "./feeds/defaults.cjs";
2
2
  import { FeedResult } from "./feeds/types.cjs";
3
3
  import { defaultExtractFn } from "./feeds/extractors.cjs";
4
- export { FeedResult, anchorLabels, anchorPathSegments, defaultExtractFn, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
4
+ export { FeedResult, anchorAttributes, anchorLabels, anchorPathSegments, defaultExtractFn, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
package/dist/feeds.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { anchorLabels, anchorPathSegments, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal } from "./feeds/defaults.js";
1
+ import { anchorAttributes, anchorLabels, anchorPathSegments, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal } from "./feeds/defaults.js";
2
2
  import { FeedResult } from "./feeds/types.js";
3
3
  import { defaultExtractFn } from "./feeds/extractors.js";
4
- export { FeedResult, anchorLabels, anchorPathSegments, defaultExtractFn, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
4
+ export { FeedResult, anchorAttributes, anchorLabels, anchorPathSegments, defaultExtractFn, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
package/dist/feeds.js CHANGED
@@ -1,3 +1,3 @@
1
- import { anchorLabels, anchorPathSegments, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal } from "./feeds/defaults.js";
1
+ import { anchorAttributes, anchorLabels, anchorPathSegments, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal } from "./feeds/defaults.js";
2
2
  import { defaultExtractFn } from "./feeds/extractors.js";
3
- export { anchorLabels, anchorPathSegments, defaultExtractFn, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
3
+ export { anchorAttributes, anchorLabels, anchorPathSegments, defaultExtractFn, defaultGuessOptions, defaultHeadersOptions, defaultHtmlOptions, defaultPlatformOptions, ignoredUris, linkSelectors, mimeTypes, urisBalanced, urisComprehensive, urisMinimal };
package/package.json CHANGED
@@ -116,5 +116,5 @@
116
116
  "tsdown": "^0.22.2",
117
117
  "vitepress": "^2.0.0-alpha.17"
118
118
  },
119
- "version": "1.9.0"
119
+ "version": "1.9.1"
120
120
  }