@bartificer/linkify 2.4.0 → 2.4.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.
Files changed (41) hide show
  1. package/README.md +135 -35
  2. package/dist/index.js +1 -1
  3. package/docs/LinkData.class.mjs.html +28 -53
  4. package/docs/LinkTemplate.class.mjs.html +29 -33
  5. package/docs/Linkifier.class.mjs.html +46 -59
  6. package/docs/PageData.class.mjs.html +54 -69
  7. package/docs/defaults.mjs.html +22 -2
  8. package/docs/docdash-overrides.css +9 -3
  9. package/docs/externals.jsdoc.html +6 -2
  10. package/docs/global.html +1276 -0
  11. package/docs/index.html +114 -45
  12. package/docs/index.js.html +7 -3
  13. package/docs/mermaid-init.js +21 -0
  14. package/docs/module-cheerio.html +6 -2
  15. package/docs/module-defaults.html +100 -5
  16. package/docs/module-link-data.LinkData.html +81 -212
  17. package/docs/module-link-data.html +8 -4
  18. package/docs/module-link-template.LinkTemplate.html +71 -96
  19. package/docs/module-link-template.html +8 -4
  20. package/docs/module-linkifier.Linkifier.html +103 -376
  21. package/docs/module-linkifier.html +6 -2
  22. package/docs/module-linkify.html +7 -3
  23. package/docs/module-mustache.html +6 -2
  24. package/docs/module-node-fetch.html +6 -2
  25. package/docs/module-page-data.PageData.html +224 -202
  26. package/docs/module-page-data.html +8 -4
  27. package/docs/module-title-case.html +6 -2
  28. package/docs/module-urijs.html +6 -2
  29. package/docs/module-url-slug.html +6 -2
  30. package/docs/module-utilities.html +74 -24
  31. package/docs/typedefs.jsdoc.html +145 -0
  32. package/docs/utilities.mjs.html +36 -23
  33. package/package.json +3 -2
  34. package/src/LinkData.class.mjs +22 -51
  35. package/src/LinkTemplate.class.mjs +23 -31
  36. package/src/Linkifier.class.mjs +40 -57
  37. package/src/PageData.class.mjs +48 -67
  38. package/src/defaults.mjs +16 -0
  39. package/src/index.js +1 -1
  40. package/src/typedefs.jsdoc +52 -0
  41. package/src/utilities.mjs +30 -21
@@ -43,7 +43,7 @@
43
43
  <input type="text" id="nav-search" placeholder="Search" />
44
44
 
45
45
 
46
- <h2><a href="index.html">Home</a></h2><h2><a href="https://github.com/bartificer/linkify" target="_blank" >On GitHub</a></h2><h2><a href="https://bartificer.net/" target="_blank" >Bartificer Creations</a></h2><h3>Modules</h3><ul><li><a href="module-defaults.html">defaults</a><ul class='members'><li data-type='member'><a href="module-defaults.html#.linkTemplates">linkTemplates</a></li><li data-type='member'><a href="module-defaults.html#.smallWords">smallWords</a></li><li data-type='member'><a href="module-defaults.html#.speciallyCapitalisedWords">speciallyCapitalisedWords</a></li></ul></li><li><a href="module-link-data.html">link-data</a></li><li><a href="module-link-template.html">link-template</a></li><li><a href="module-linkifier.html">linkifier</a></li><li><a href="module-linkify.html">linkify</a><ul class='members'><li data-type='member'><a href="module-linkify.html#.LinkData">LinkData</a></li><li data-type='member'><a href="module-linkify.html#.LinkTemplate">LinkTemplate</a></li><li data-type='member'><a href="module-linkify.html#.Linkifier">Linkifier</a></li><li data-type='member'><a href="module-linkify.html#.PageData">PageData</a></li><li data-type='member'><a href="module-linkify.html#.VERSION">VERSION</a></li><li data-type='member'><a href="module-linkify.html#.default">default</a></li><li data-type='member'><a href="module-linkify.html#.linkify">linkify</a></li></ul></li><li><a href="module-page-data.html">page-data</a></li><li><a href="module-utilities.html">utilities</a><ul class='methods'><li data-type='method'><a href="module-utilities.html#.batchFixCustomWordCases">batchFixCustomWordCases</a></li><li data-type='method'><a href="module-utilities.html#.escapeRegex">escapeRegex</a></li><li data-type='method'><a href="module-utilities.html#.extractSlug">extractSlug</a></li><li data-type='method'><a href="module-utilities.html#.regulariseWhitespace">regulariseWhitespace</a></li><li data-type='method'><a href="module-utilities.html#.stripQueryString">stripQueryString</a></li><li data-type='method'><a href="module-utilities.html#.stripUTMParameters">stripUTMParameters</a></li><li data-type='method'><a href="module-utilities.html#.toTitleCase">toTitleCase</a></li></ul></li></ul><h3>Classes</h3><ul><li><a href="module-link-data.LinkData.html">LinkData</a><ul class='methods'><li data-type='method'><a href="module-link-data.LinkData.html#asPlainObject">asPlainObject</a></li></ul></li><li><a href="module-link-template.LinkTemplate.html">LinkTemplate</a><ul class='methods'><li data-type='method'><a href="module-link-template.LinkTemplate.html#addFilter">addFilter</a></li><li data-type='method'><a href="module-link-template.LinkTemplate.html#filtersFor">filtersFor</a></li></ul></li><li><a href="module-linkifier.Linkifier.html">Linkifier</a><ul class='methods'><li data-type='method'><a href="module-linkifier.Linkifier.html#fetchPageData">fetchPageData</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#generateLink">generateLink</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#getTemplate">getTemplate</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#getTemplateNameForDomain">getTemplateNameForDomain</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#getTransformerForDomain">getTransformerForDomain</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#registerDefaultTemplateMapping">registerDefaultTemplateMapping</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#registerTemplate">registerTemplate</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#registerTransformer">registerTransformer</a></li></ul></li><li><a href="module-page-data.PageData.html">PageData</a><ul class='methods'><li data-type='method'><a href="module-page-data.PageData.html#addSecondaryHeading">addSecondaryHeading</a></li><li data-type='method'><a href="module-page-data.PageData.html#addTopLevelHeading">addTopLevelHeading</a></li><li data-type='method'><a href="module-page-data.PageData.html#asPlainObject">asPlainObject</a></li><li data-type='method'><a href="module-page-data.PageData.html#h1">h1</a></li><li data-type='method'><a href="module-page-data.PageData.html#h2">h2</a></li></ul></li></ul><h3>Externals</h3><ul><li><a href="module-cheerio.html">cheerio</a></li><li><a href="module-mustache.html">mustache</a></li><li><a href="module-node-fetch.html">node-fetch</a></li><li><a href="module-title-case.html">title-case</a></li><li><a href="module-urijs.html">urijs</a></li><li><a href="module-url-slug.html">url-slug</a></li></ul>
46
+ <h2><a href="index.html">Home</a></h2><h2><a href="https://github.com/bartificer/linkify" target="_blank" >On GitHub</a></h2><h2><a href="https://bartificer.net/" target="_blank" >Bartificer Creations</a></h2><h3>Modules</h3><ul><li><a href="module-defaults.html">defaults</a><ul class='members'><li data-type='member'><a href="module-defaults.html#.linkTemplates">linkTemplates</a></li><li data-type='member'><a href="module-defaults.html#.smallWords">smallWords</a></li><li data-type='member'><a href="module-defaults.html#.speciallyCapitalisedWords">speciallyCapitalisedWords</a></li></ul><ul class='methods'><li data-type='method'><a href="module-defaults.html#.dataTransformer">dataTransformer</a></li></ul></li><li><a href="module-link-data.html">link-data</a></li><li><a href="module-link-template.html">link-template</a></li><li><a href="module-linkifier.html">linkifier</a></li><li><a href="module-linkify.html">linkify</a><ul class='members'><li data-type='member'><a href="module-linkify.html#.LinkData">LinkData</a></li><li data-type='member'><a href="module-linkify.html#.LinkTemplate">LinkTemplate</a></li><li data-type='member'><a href="module-linkify.html#.Linkifier">Linkifier</a></li><li data-type='member'><a href="module-linkify.html#.PageData">PageData</a></li><li data-type='member'><a href="module-linkify.html#.VERSION">VERSION</a></li><li data-type='member'><a href="module-linkify.html#.default">default</a></li><li data-type='member'><a href="module-linkify.html#.linkify">linkify</a></li></ul></li><li><a href="module-page-data.html">page-data</a></li><li><a href="module-utilities.html">utilities</a><ul class='methods'><li data-type='method'><a href="module-utilities.html#.batchFixCustomWordCases">batchFixCustomWordCases</a></li><li data-type='method'><a href="module-utilities.html#.escapeRegex">escapeRegex</a></li><li data-type='method'><a href="module-utilities.html#.extractSlug">extractSlug</a></li><li data-type='method'><a href="module-utilities.html#.regulariseWhitespace">regulariseWhitespace</a></li><li data-type='method'><a href="module-utilities.html#.stripQueryString">stripQueryString</a></li><li data-type='method'><a href="module-utilities.html#.stripUTMParameters">stripUTMParameters</a></li><li data-type='method'><a href="module-utilities.html#.toTitleCase">toTitleCase</a></li></ul></li></ul><h3>Classes</h3><ul><li><a href="module-link-data.LinkData.html">LinkData</a><ul class='methods'><li data-type='method'><a href="module-link-data.LinkData.html#asPlainObject">asPlainObject</a></li></ul></li><li><a href="module-link-template.LinkTemplate.html">LinkTemplate</a><ul class='methods'><li data-type='method'><a href="module-link-template.LinkTemplate.html#addFilter">addFilter</a></li><li data-type='method'><a href="module-link-template.LinkTemplate.html#filtersFor">filtersFor</a></li></ul></li><li><a href="module-linkifier.Linkifier.html">Linkifier</a><ul class='methods'><li data-type='method'><a href="module-linkifier.Linkifier.html#fetchPageData">fetchPageData</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#generateLink">generateLink</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#getTemplate">getTemplate</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#getTemplateNameForDomain">getTemplateNameForDomain</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#getTransformerForDomain">getTransformerForDomain</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#registerDefaultTemplateMapping">registerDefaultTemplateMapping</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#registerTemplate">registerTemplate</a></li><li data-type='method'><a href="module-linkifier.Linkifier.html#registerTransformer">registerTransformer</a></li></ul></li><li><a href="module-page-data.PageData.html">PageData</a><ul class='methods'><li data-type='method'><a href="module-page-data.PageData.html#addSecondaryHeading">addSecondaryHeading</a></li><li data-type='method'><a href="module-page-data.PageData.html#addTopLevelHeading">addTopLevelHeading</a></li><li data-type='method'><a href="module-page-data.PageData.html#asPlainObject">asPlainObject</a></li><li data-type='method'><a href="module-page-data.PageData.html#h1">h1</a></li><li data-type='method'><a href="module-page-data.PageData.html#h2">h2</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#dataTransformer">dataTransformer</a></li><li><a href="global.html#plainLinkInformationObject">plainLinkInformationObject</a></li><li><a href="global.html#plainPageInformationObject">plainPageInformationObject</a></li><li><a href="global.html#templateFieldFilterFunction">templateFieldFilterFunction</a></li><li><a href="global.html#templateFieldFilterTuple">templateFieldFilterTuple</a></li></ul><h3>Externals</h3><ul><li><a href="module-cheerio.html">cheerio</a></li><li><a href="module-mustache.html">mustache</a></li><li><a href="module-node-fetch.html">node-fetch</a></li><li><a href="module-title-case.html">title-case</a></li><li><a href="module-urijs.html">urijs</a></li><li><a href="module-url-slug.html">url-slug</a></li></ul>
47
47
 
48
48
  </nav>
49
49
 
@@ -69,7 +69,8 @@
69
69
 
70
70
  </h2>
71
71
 
72
- <div class="class-description usertext"><p>A class representing the data extracted from web pages that can be transformed into link data for use when rendering links.</p></div>
72
+ <div class="class-description usertext"><p>The information extracted from web pages that can be used to render a link.</p>
73
+ <p>Instances of this class are created from the information extracted from web pages and converted to link information by data transformers before being rendered to links via templates.</p></div>
73
74
 
74
75
 
75
76
  </header>
@@ -93,14 +94,11 @@
93
94
 
94
95
  <dl class="details">
95
96
 
96
- <dt class="tag-description">Description:</dt>
97
- <dd class="tag-description"><ul class="dummy"><li><p>This constructor throws a ValidationError unless a valid URL is passed.</p></li></ul></dd>
98
-
99
97
 
100
98
 
101
99
  <dt class="tag-source">Source:</dt>
102
100
  <dd class="tag-source"><ul class="dummy"><li>
103
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line17">line 17</a>
101
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line20">line 20</a>
104
102
  </li></ul></dd>
105
103
 
106
104
 
@@ -130,6 +128,13 @@
130
128
 
131
129
 
132
130
 
131
+
132
+ <dt class="tag-see">See:</dt>
133
+ <dd class="tag-see">
134
+ <ul>
135
+ <li><a href="global.html#dataTransformer">dataTransformer</a> for details of how instances of this class are used in the link generation process.</li>
136
+ </ul>
137
+ </dd>
133
138
 
134
139
 
135
140
 
@@ -178,7 +183,7 @@
178
183
  <td class="type">
179
184
 
180
185
 
181
- <span class="param-type">URL</span>
186
+ <span class="param-type">string</span>
182
187
 
183
188
 
184
189
 
@@ -209,37 +214,6 @@
209
214
 
210
215
 
211
216
 
212
- <h5 class="h5-throws">Throws:</h5>
213
-
214
-
215
-
216
- <dl>
217
- <dt>
218
- <div class="param-desc usertext">
219
- <p>A validation error is thrown if an invalid URL
220
- is passed.</p>
221
- </div>
222
- </dt>
223
- <dd></dd>
224
- <dt>
225
- <dl class="param-type">
226
- <dt>
227
- Type
228
- </dt>
229
- <dd>
230
-
231
- <span class="param-type">ValidationError</span>
232
-
233
-
234
-
235
- </dd>
236
- </dl>
237
- </dt>
238
- <dd></dd>
239
- </dl>
240
-
241
-
242
-
243
217
 
244
218
 
245
219
 
@@ -266,7 +240,7 @@ is passed.</p>
266
240
 
267
241
 
268
242
 
269
- <h4 class="name" id="domain"><span class="type-signature"></span>domain<span class="type-signature"></span></h4>
243
+ <h4 class="name" id="domain"><span class="type-signature type-signature-readonly">(readonly) </span>domain<span class="type-signature"> :string</span></h4>
270
244
 
271
245
 
272
246
 
@@ -275,13 +249,13 @@ is passed.</p>
275
249
  <dl class="details">
276
250
 
277
251
  <dt class="tag-description">Description:</dt>
278
- <dd class="tag-description"><ul class="dummy"><li><p>Get the domain-part of the URL as a string.</p></li></ul></dd>
252
+ <dd class="tag-description"><ul class="dummy"><li><p>The domain-part of the URL.</p></li></ul></dd>
279
253
 
280
254
 
281
255
 
282
256
  <dt class="tag-source">Source:</dt>
283
257
  <dd class="tag-source"><ul class="dummy"><li>
284
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line88">line 88</a>
258
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line85">line 85</a>
285
259
  </li></ul></dd>
286
260
 
287
261
 
@@ -321,11 +295,22 @@ is passed.</p>
321
295
 
322
296
 
323
297
  <div class="description usertext">
324
- <p>Get the domain-part of the URL as a string.</p>
298
+ <p>The domain-part of the URL.</p>
325
299
  </div>
326
300
 
327
301
 
328
302
 
303
+ <h5 class="h5-types">Type:</h5>
304
+ <ul>
305
+ <li>
306
+
307
+ <span class="param-type">string</span>
308
+
309
+
310
+
311
+ </li>
312
+ </ul>
313
+
329
314
 
330
315
 
331
316
 
@@ -333,7 +318,7 @@ is passed.</p>
333
318
 
334
319
 
335
320
 
336
- <h4 class="name" id="h1s"><span class="type-signature"></span>h1s<span class="type-signature"></span></h4>
321
+ <h4 class="name" id="h1s"><span class="type-signature type-signature-readonly">(readonly) </span>h1s<span class="type-signature"></span></h4>
337
322
 
338
323
 
339
324
 
@@ -348,7 +333,7 @@ is passed.</p>
348
333
 
349
334
  <dt class="tag-source">Source:</dt>
350
335
  <dd class="tag-source"><ul class="dummy"><li>
351
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line149">line 149</a>
336
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line148">line 148</a>
352
337
  </li></ul></dd>
353
338
 
354
339
 
@@ -382,7 +367,7 @@ is passed.</p>
382
367
  <dt class="tag-see">See:</dt>
383
368
  <dd class="tag-see">
384
369
  <ul>
385
- <li>PageData#topLevelHeadings</li>
370
+ <li><a href="module-page-data.PageData.html#topLevelHeadings">module:page-data.PageData#topLevelHeadings</a></li>
386
371
  </ul>
387
372
  </dd>
388
373
 
@@ -407,7 +392,7 @@ is passed.</p>
407
392
 
408
393
 
409
394
 
410
- <h4 class="name" id="h2s"><span class="type-signature"></span>h2s<span class="type-signature"></span></h4>
395
+ <h4 class="name" id="h2s"><span class="type-signature type-signature-readonly">(readonly) </span>h2s<span class="type-signature"></span></h4>
411
396
 
412
397
 
413
398
 
@@ -456,7 +441,7 @@ is passed.</p>
456
441
  <dt class="tag-see">See:</dt>
457
442
  <dd class="tag-see">
458
443
  <ul>
459
- <li>PageData#secondaryHeadings</li>
444
+ <li><a href="module-page-data.PageData.html#secondaryHeadings">module:page-data.PageData#secondaryHeadings</a></li>
460
445
  </ul>
461
446
  </dd>
462
447
 
@@ -481,7 +466,7 @@ is passed.</p>
481
466
 
482
467
 
483
468
 
484
- <h4 class="name" id="headings"><span class="type-signature"></span>headings<span class="type-signature"></span></h4>
469
+ <h4 class="name" id="headings"><span class="type-signature type-signature-readonly">(readonly) </span>headings<span class="type-signature"> :Object</span></h4>
485
470
 
486
471
 
487
472
 
@@ -490,13 +475,13 @@ is passed.</p>
490
475
  <dl class="details">
491
476
 
492
477
  <dt class="tag-description">Description:</dt>
493
- <dd class="tag-description"><ul class="dummy"><li><p>Get the page's section headings.</p></li></ul></dd>
478
+ <dd class="tag-description"><ul class="dummy"><li><p>The page's primary and secondary headings.</p></li></ul></dd>
494
479
 
495
480
 
496
481
 
497
482
  <dt class="tag-source">Source:</dt>
498
483
  <dd class="tag-source"><ul class="dummy"><li>
499
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line118">line 118</a>
484
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line116">line 116</a>
500
485
  </li></ul></dd>
501
486
 
502
487
 
@@ -533,86 +518,101 @@ is passed.</p>
533
518
 
534
519
 
535
520
 
521
+ <h5 class="subsection-title">Properties:</h5>
536
522
 
523
+
537
524
 
538
- <div class="description usertext">
539
- <p>Get the page's section headings.</p>
540
- </div>
541
-
525
+ <table class="props">
526
+ <thead>
527
+ <tr>
528
+
529
+ <th>Name</th>
530
+
542
531
 
532
+ <th>Type</th>
543
533
 
534
+
544
535
 
536
+
545
537
 
538
+ <th class="last">Description</th>
539
+ </tr>
540
+ </thead>
546
541
 
542
+ <tbody>
543
+
547
544
 
545
+ <tr>
546
+
547
+ <td class="name"><code>h1</code></td>
548
+
548
549
 
549
-
550
+ <td class="type">
550
551
 
551
- <h4 class="name" id="mainHeading"><span class="type-signature"></span>mainHeading<span class="type-signature"></span></h4>
552
+
553
+ <span class="param-type">Array.&lt;string></span>
552
554
 
553
555
 
554
556
 
557
+
558
+ </td>
555
559
 
560
+
556
561
 
557
- <dl class="details">
558
-
559
- <dt class="tag-description">Description:</dt>
560
- <dd class="tag-description"><ul class="dummy"><li><p>The text from the most important heading on the page. If the page
561
- has <code>h1</code> tags, the first one will be used, if not, the first <code>h2</code> tag
562
- will be used, and if there's none of those either, an empty string will
563
- be returned.</p></li></ul></dd>
564
-
562
+
565
563
 
566
-
567
- <dt class="tag-source">Source:</dt>
568
- <dd class="tag-source"><ul class="dummy"><li>
569
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line182">line 182</a>
570
- </li></ul></dd>
571
-
564
+ <td class="description last"><p>The page's top-level headings (<code>h1</code> tags).</p></td>
565
+ </tr>
572
566
 
573
567
 
574
568
 
575
-
569
+ <tr>
570
+
571
+ <td class="name"><code>h2</code></td>
572
+
576
573
 
577
-
574
+ <td class="type">
575
+
576
+
577
+ <span class="param-type">Array.&lt;string></span>
578
578
 
579
-
580
579
 
581
-
582
580
 
583
-
581
+
582
+ </td>
584
583
 
585
-
584
+
586
585
 
587
-
586
+
588
587
 
589
-
588
+ <td class="description last"><p>The page's secondary headings (<code>h2</code> tags).</p></td>
589
+ </tr>
590
590
 
591
591
 
592
+ </tbody>
593
+ </table>
592
594
 
593
-
594
595
 
595
-
596
596
 
597
-
598
597
 
599
-
600
598
 
601
-
602
- </dl>
603
599
 
600
+ <div class="description usertext">
601
+ <p>The page's primary and secondary headings.</p>
602
+ </div>
604
603
 
605
604
 
606
605
 
606
+ <h5 class="h5-types">Type:</h5>
607
+ <ul>
608
+ <li>
609
+
610
+ <span class="param-type">Object</span>
607
611
 
608
- <div class="description usertext">
609
- <p>The text from the most important heading on the page. If the page
610
- has <code>h1</code> tags, the first one will be used, if not, the first <code>h2</code> tag
611
- will be used, and if there's none of those either, an empty string will
612
- be returned.</p>
613
- </div>
614
612
 
615
613
 
614
+ </li>
615
+ </ul>
616
616
 
617
617
 
618
618
 
@@ -621,7 +621,7 @@ be returned.</p>
621
621
 
622
622
 
623
623
 
624
- <h4 class="name" id="path"><span class="type-signature"></span>path<span class="type-signature"></span></h4>
624
+ <h4 class="name" id="mainHeading"><span class="type-signature type-signature-readonly">(readonly) </span>mainHeading<span class="type-signature"> :string</span></h4>
625
625
 
626
626
 
627
627
 
@@ -629,11 +629,17 @@ be returned.</p>
629
629
 
630
630
  <dl class="details">
631
631
 
632
+ <dt class="tag-description">Description:</dt>
633
+ <dd class="tag-description"><ul class="dummy"><li><p>The text from the most important heading on the page. If the page
634
+ has <code>h1</code> tags, the first one will be used, if not, the first <code>h2</code> tag
635
+ will be used, and if there's none of those either, an empty string will
636
+ be returned.</p></li></ul></dd>
637
+
632
638
 
633
639
 
634
640
  <dt class="tag-source">Source:</dt>
635
641
  <dd class="tag-source"><ul class="dummy"><li>
636
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line95">line 95</a>
642
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line182">line 182</a>
637
643
  </li></ul></dd>
638
644
 
639
645
 
@@ -672,16 +678,34 @@ be returned.</p>
672
678
 
673
679
 
674
680
 
681
+ <div class="description usertext">
682
+ <p>The text from the most important heading on the page. If the page
683
+ has <code>h1</code> tags, the first one will be used, if not, the first <code>h2</code> tag
684
+ will be used, and if there's none of those either, an empty string will
685
+ be returned.</p>
686
+ </div>
687
+
688
+
689
+
690
+ <h5 class="h5-types">Type:</h5>
691
+ <ul>
692
+ <li>
693
+
694
+ <span class="param-type">string</span>
675
695
 
676
696
 
677
697
 
698
+ </li>
699
+ </ul>
700
+
701
+
678
702
 
679
703
 
680
704
 
681
705
 
682
706
 
683
707
 
684
- <h4 class="name" id="secondaryHeadings"><span class="type-signature"></span>secondaryHeadings<span class="type-signature"></span></h4>
708
+ <h4 class="name" id="path"><span class="type-signature type-signature-readonly">(readonly) </span>path<span class="type-signature"> :string</span></h4>
685
709
 
686
710
 
687
711
 
@@ -690,13 +714,13 @@ be returned.</p>
690
714
  <dl class="details">
691
715
 
692
716
  <dt class="tag-description">Description:</dt>
693
- <dd class="tag-description"><ul class="dummy"><li><p>The page's secondary headings (<code>h2</code> tags).</p></li></ul></dd>
717
+ <dd class="tag-description"><ul class="dummy"><li><p>The path-part of the URL.</p></li></ul></dd>
694
718
 
695
719
 
696
720
 
697
721
  <dt class="tag-source">Source:</dt>
698
722
  <dd class="tag-source"><ul class="dummy"><li>
699
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line158">line 158</a>
723
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line94">line 94</a>
700
724
  </li></ul></dd>
701
725
 
702
726
 
@@ -736,11 +760,22 @@ be returned.</p>
736
760
 
737
761
 
738
762
  <div class="description usertext">
739
- <p>The page's secondary headings (<code>h2</code> tags).</p>
763
+ <p>The path-part of the URL.</p>
740
764
  </div>
741
765
 
742
766
 
743
767
 
768
+ <h5 class="h5-types">Type:</h5>
769
+ <ul>
770
+ <li>
771
+
772
+ <span class="param-type">string</span>
773
+
774
+
775
+
776
+ </li>
777
+ </ul>
778
+
744
779
 
745
780
 
746
781
 
@@ -748,7 +783,7 @@ be returned.</p>
748
783
 
749
784
 
750
785
 
751
- <h4 class="name" id="title"><span class="type-signature"></span>title<span class="type-signature"></span></h4>
786
+ <h4 class="name" id="secondaryHeadings"><span class="type-signature type-signature-readonly">(readonly) </span>secondaryHeadings<span class="type-signature"> :Array.&lt;string></span></h4>
752
787
 
753
788
 
754
789
 
@@ -756,11 +791,14 @@ be returned.</p>
756
791
 
757
792
  <dl class="details">
758
793
 
794
+ <dt class="tag-description">Description:</dt>
795
+ <dd class="tag-description"><ul class="dummy"><li><p>The page's secondary headings (<code>h2</code> tags).</p></li></ul></dd>
796
+
759
797
 
760
798
 
761
799
  <dt class="tag-source">Source:</dt>
762
800
  <dd class="tag-source"><ul class="dummy"><li>
763
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line102">line 102</a>
801
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line157">line 157</a>
764
802
  </li></ul></dd>
765
803
 
766
804
 
@@ -799,7 +837,22 @@ be returned.</p>
799
837
 
800
838
 
801
839
 
840
+ <div class="description usertext">
841
+ <p>The page's secondary headings (<code>h2</code> tags).</p>
842
+ </div>
843
+
844
+
845
+
846
+ <h5 class="h5-types">Type:</h5>
847
+ <ul>
848
+ <li>
849
+
850
+ <span class="param-type">Array.&lt;string></span>
851
+
852
+
802
853
 
854
+ </li>
855
+ </ul>
803
856
 
804
857
 
805
858
 
@@ -808,7 +861,7 @@ be returned.</p>
808
861
 
809
862
 
810
863
 
811
- <h4 class="name" id="title"><span class="type-signature"></span>title<span class="type-signature"></span></h4>
864
+ <h4 class="name" id="title"><span class="type-signature"></span>title<span class="type-signature"> :string</span></h4>
812
865
 
813
866
 
814
867
 
@@ -816,11 +869,14 @@ be returned.</p>
816
869
 
817
870
  <dl class="details">
818
871
 
872
+ <dt class="tag-description">Description:</dt>
873
+ <dd class="tag-description"><ul class="dummy"><li><p>The page's title. Values are coerced to strings with <code>String(title)</code>.</p></li></ul></dd>
874
+
819
875
 
820
876
 
821
877
  <dt class="tag-source">Source:</dt>
822
878
  <dd class="tag-source"><ul class="dummy"><li>
823
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line109">line 109</a>
879
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line102">line 102</a>
824
880
  </li></ul></dd>
825
881
 
826
882
 
@@ -859,16 +915,31 @@ be returned.</p>
859
915
 
860
916
 
861
917
 
918
+ <div class="description usertext">
919
+ <p>The page's title. Values are coerced to strings with <code>String(title)</code>.</p>
920
+ </div>
862
921
 
863
922
 
864
923
 
924
+ <h5 class="h5-types">Type:</h5>
925
+ <ul>
926
+ <li>
927
+
928
+ <span class="param-type">string</span>
929
+
930
+
931
+
932
+ </li>
933
+ </ul>
934
+
935
+
865
936
 
866
937
 
867
938
 
868
939
 
869
940
 
870
941
 
871
- <h4 class="name" id="topLevelHeadings"><span class="type-signature"></span>topLevelHeadings<span class="type-signature"></span></h4>
942
+ <h4 class="name" id="topLevelHeadings"><span class="type-signature type-signature-readonly">(readonly) </span>topLevelHeadings<span class="type-signature"> :Array.&lt;string></span></h4>
872
943
 
873
944
 
874
945
 
@@ -883,7 +954,7 @@ be returned.</p>
883
954
 
884
955
  <dt class="tag-source">Source:</dt>
885
956
  <dd class="tag-source"><ul class="dummy"><li>
886
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line137">line 137</a>
957
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line135">line 135</a>
887
958
  </li></ul></dd>
888
959
 
889
960
 
@@ -928,65 +999,16 @@ be returned.</p>
928
999
 
929
1000
 
930
1001
 
931
-
932
-
933
-
934
-
935
-
936
-
1002
+ <h5 class="h5-types">Type:</h5>
1003
+ <ul>
1004
+ <li>
937
1005
 
938
- <h4 class="name" id="uri"><span class="type-signature"></span>uri<span class="type-signature"></span></h4>
939
-
940
-
941
-
942
-
943
-
944
- <dl class="details">
945
-
946
-
947
-
948
- <dt class="tag-source">Source:</dt>
949
- <dd class="tag-source"><ul class="dummy"><li>
950
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line79">line 79</a>
951
- </li></ul></dd>
952
-
953
-
954
-
955
-
956
-
957
-
958
-
959
-
960
-
961
-
962
-
963
-
964
-
965
-
966
-
967
-
968
-
969
-
970
-
971
-
972
-
973
-
974
-
975
-
976
-
977
-
978
-
979
-
980
-
981
-
982
-
983
- </dl>
984
-
985
-
986
-
1006
+ <span class="param-type">Array.&lt;string></span>
987
1007
 
988
1008
 
989
1009
 
1010
+ </li>
1011
+ </ul>
990
1012
 
991
1013
 
992
1014
 
@@ -995,7 +1017,7 @@ be returned.</p>
995
1017
 
996
1018
 
997
1019
 
998
- <h4 class="name" id="url"><span class="type-signature"></span>url<span class="type-signature"></span></h4>
1020
+ <h4 class="name" id="uri"><span class="type-signature type-signature-readonly">(readonly) </span>uri<span class="type-signature"> :<a href="module-urijs.html">module:urijs</a></span></h4>
999
1021
 
1000
1022
 
1001
1023
 
@@ -1007,7 +1029,7 @@ be returned.</p>
1007
1029
 
1008
1030
  <dt class="tag-source">Source:</dt>
1009
1031
  <dd class="tag-source"><ul class="dummy"><li>
1010
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line63">line 63</a>
1032
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line76">line 76</a>
1011
1033
  </li></ul></dd>
1012
1034
 
1013
1035
 
@@ -1048,6 +1070,17 @@ be returned.</p>
1048
1070
 
1049
1071
 
1050
1072
 
1073
+ <h5 class="h5-types">Type:</h5>
1074
+ <ul>
1075
+ <li>
1076
+
1077
+ <span class="param-type"><a href="module-urijs.html">module:urijs</a></span>
1078
+
1079
+
1080
+
1081
+ </li>
1082
+ </ul>
1083
+
1051
1084
 
1052
1085
 
1053
1086
 
@@ -1055,7 +1088,7 @@ be returned.</p>
1055
1088
 
1056
1089
 
1057
1090
 
1058
- <h4 class="name" id="url"><span class="type-signature"></span>url<span class="type-signature"></span></h4>
1091
+ <h4 class="name" id="url"><span class="type-signature"></span>url<span class="type-signature"> :string</span></h4>
1059
1092
 
1060
1093
 
1061
1094
 
@@ -1067,7 +1100,7 @@ be returned.</p>
1067
1100
 
1068
1101
  <dt class="tag-source">Source:</dt>
1069
1102
  <dd class="tag-source"><ul class="dummy"><li>
1070
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line72">line 72</a>
1103
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line65">line 65</a>
1071
1104
  </li></ul></dd>
1072
1105
 
1073
1106
 
@@ -1108,6 +1141,17 @@ be returned.</p>
1108
1141
 
1109
1142
 
1110
1143
 
1144
+ <h5 class="h5-types">Type:</h5>
1145
+ <ul>
1146
+ <li>
1147
+
1148
+ <span class="param-type">string</span>
1149
+
1150
+
1151
+
1152
+ </li>
1153
+ </ul>
1154
+
1111
1155
 
1112
1156
 
1113
1157
 
@@ -1124,7 +1168,7 @@ be returned.</p>
1124
1168
 
1125
1169
 
1126
1170
 
1127
- <h4 class="name" id="addSecondaryHeading"><span class="type-signature"></span>addSecondaryHeading<span class="signature">(h2Text)</span><span class="type-signature"> &rarr; {PageData}</span></h4>
1171
+ <h4 class="name" id="addSecondaryHeading"><span class="type-signature"></span>addSecondaryHeading<span class="signature">(h2Text)</span><span class="type-signature"> &rarr; {<a href="module-page-data.PageData.html">module:page-data.PageData</a>}</span></h4>
1128
1172
 
1129
1173
 
1130
1174
 
@@ -1255,7 +1299,7 @@ be returned.</p>
1255
1299
 
1256
1300
 
1257
1301
  <div class="param-desc">
1258
- <p>A reference to self to
1302
+ <p>A reference to self to
1259
1303
  facilitate function chaning.</p>
1260
1304
  </div>
1261
1305
 
@@ -1267,7 +1311,7 @@ facilitate function chaning.</p>
1267
1311
  </dt>
1268
1312
  <dd>
1269
1313
 
1270
- <span class="param-type">PageData</span>
1314
+ <span class="param-type"><a href="module-page-data.PageData.html">module:page-data.PageData</a></span>
1271
1315
 
1272
1316
 
1273
1317
 
@@ -1283,7 +1327,7 @@ facilitate function chaning.</p>
1283
1327
 
1284
1328
 
1285
1329
 
1286
- <h4 class="name" id="addTopLevelHeading"><span class="type-signature"></span>addTopLevelHeading<span class="signature">(h1Text)</span><span class="type-signature"> &rarr; {PageData}</span></h4>
1330
+ <h4 class="name" id="addTopLevelHeading"><span class="type-signature"></span>addTopLevelHeading<span class="signature">(h1Text)</span><span class="type-signature"> &rarr; {<a href="module-page-data.PageData.html">module:page-data.PageData</a>}</span></h4>
1287
1331
 
1288
1332
 
1289
1333
 
@@ -1414,7 +1458,7 @@ facilitate function chaning.</p>
1414
1458
 
1415
1459
 
1416
1460
  <div class="param-desc">
1417
- <p>A reference to self to
1461
+ <p>A reference to self to
1418
1462
  facilitate function chaning.</p>
1419
1463
  </div>
1420
1464
 
@@ -1426,7 +1470,7 @@ facilitate function chaning.</p>
1426
1470
  </dt>
1427
1471
  <dd>
1428
1472
 
1429
- <span class="param-type">PageData</span>
1473
+ <span class="param-type"><a href="module-page-data.PageData.html">module:page-data.PageData</a></span>
1430
1474
 
1431
1475
 
1432
1476
 
@@ -1442,7 +1486,7 @@ facilitate function chaning.</p>
1442
1486
 
1443
1487
 
1444
1488
 
1445
- <h4 class="name" id="asPlainObject"><span class="type-signature"></span>asPlainObject<span class="signature">()</span><span class="type-signature"> &rarr; {Object}</span></h4>
1489
+ <h4 class="name" id="asPlainObject"><span class="type-signature"></span>asPlainObject<span class="signature">()</span><span class="type-signature"> &rarr; {<a href="global.html#plainPageInformationObject">plainPageInformationObject</a>}</span></h4>
1446
1490
 
1447
1491
 
1448
1492
 
@@ -1452,28 +1496,13 @@ facilitate function chaning.</p>
1452
1496
  <dl class="details">
1453
1497
 
1454
1498
  <dt class="tag-description">Description:</dt>
1455
- <dd class="tag-description"><ul class="dummy"><li><p>Get the page data as a plain object of the form:</p>
1456
- <pre class="prettyprint source"><code>{
1457
- url: 'http://www.bartificer.net/',
1458
- title: 'the page title',
1459
- topLevelHeadings: [ 'first h1', 'second h1' ],
1460
- secondaryHeadings: [ 'first h2', 'second h2' ],
1461
- mainHeading: 'first h1',
1462
- uri: {
1463
- hostname: 'www.bartificer.net',
1464
- path: '/',
1465
- hasPath: false
1466
- }
1467
- }
1468
- </code></pre>
1469
- <p>Note that the <code>uri</code> could contain more fields - it's initialised with
1470
- output from the <code>URI.parse()</code> function from the <code>URI</code> module.</p></li></ul></dd>
1499
+ <dd class="tag-description"><ul class="dummy"><li><p>Get the page data as a plain object.</p></li></ul></dd>
1471
1500
 
1472
1501
 
1473
1502
 
1474
1503
  <dt class="tag-source">Source:</dt>
1475
1504
  <dd class="tag-source"><ul class="dummy"><li>
1476
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line241">line 241</a>
1505
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line222">line 222</a>
1477
1506
  </li></ul></dd>
1478
1507
 
1479
1508
 
@@ -1503,13 +1532,6 @@ output from the <code>URI.parse()</code> function from the <code>URI</code> modu
1503
1532
 
1504
1533
 
1505
1534
 
1506
-
1507
- <dt class="tag-see">See:</dt>
1508
- <dd class="tag-see">
1509
- <ul>
1510
- <li><a href="https://medialize.github.io/URI.js/docs.html#static-parse">https://medialize.github.io/URI.js/docs.html#static-parse</a></li>
1511
- </ul>
1512
- </dd>
1513
1535
 
1514
1536
 
1515
1537
 
@@ -1544,10 +1566,6 @@ output from the <code>URI.parse()</code> function from the <code>URI</code> modu
1544
1566
  <h5 class="h5-returns">Returns:</h5>
1545
1567
 
1546
1568
 
1547
- <div class="param-desc">
1548
- <p>A plain object containing the page data.</p>
1549
- </div>
1550
-
1551
1569
 
1552
1570
 
1553
1571
  <dl class="param-type">
@@ -1556,7 +1574,7 @@ output from the <code>URI.parse()</code> function from the <code>URI</code> modu
1556
1574
  </dt>
1557
1575
  <dd>
1558
1576
 
1559
- <span class="param-type">Object</span>
1577
+ <span class="param-type"><a href="global.html#plainPageInformationObject">plainPageInformationObject</a></span>
1560
1578
 
1561
1579
 
1562
1580
 
@@ -1588,7 +1606,7 @@ output from the <code>URI.parse()</code> function from the <code>URI</code> modu
1588
1606
 
1589
1607
  <dt class="tag-source">Source:</dt>
1590
1608
  <dd class="tag-source"><ul class="dummy"><li>
1591
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line262">line 262</a>
1609
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line236">line 236</a>
1592
1610
  </li></ul></dd>
1593
1611
 
1594
1612
 
@@ -1622,7 +1640,7 @@ output from the <code>URI.parse()</code> function from the <code>URI</code> modu
1622
1640
  <dt class="tag-see">See:</dt>
1623
1641
  <dd class="tag-see">
1624
1642
  <ul>
1625
- <li>PageData#addTopLevelHeading</li>
1643
+ <li><a href="module-page-data.PageData.html#addTopLevelHeading">module:page-data.PageData#addTopLevelHeading</a></li>
1626
1644
  </ul>
1627
1645
  </dd>
1628
1646
 
@@ -1680,7 +1698,7 @@ output from the <code>URI.parse()</code> function from the <code>URI</code> modu
1680
1698
 
1681
1699
  <dt class="tag-source">Source:</dt>
1682
1700
  <dd class="tag-source"><ul class="dummy"><li>
1683
- <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line271">line 271</a>
1701
+ <a href="PageData.class.mjs.html">PageData.class.mjs</a>, <a href="PageData.class.mjs.html#line245">line 245</a>
1684
1702
  </li></ul></dd>
1685
1703
 
1686
1704
 
@@ -1714,7 +1732,7 @@ output from the <code>URI.parse()</code> function from the <code>URI</code> modu
1714
1732
  <dt class="tag-see">See:</dt>
1715
1733
  <dd class="tag-see">
1716
1734
  <ul>
1717
- <li>PageData#addSecondaryHeading</li>
1735
+ <li><a href="module-page-data.PageData.html#addSecondaryHeading">module:page-data.PageData#addSecondaryHeading</a></li>
1718
1736
  </ul>
1719
1737
  </dd>
1720
1738
 
@@ -1771,7 +1789,7 @@ output from the <code>URI.parse()</code> function from the <code>URI</code> modu
1771
1789
  <br class="clear">
1772
1790
 
1773
1791
  <footer>
1774
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Apr 13 2026 16:45:07 GMT+0100 (Irish Standard Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1792
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Apr 15 2026 17:49:51 GMT+0100 (Irish Standard Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1775
1793
  </footer>
1776
1794
 
1777
1795
  <script>prettyPrint();</script>
@@ -1784,5 +1802,9 @@ output from the <code>URI.parse()</code> function from the <code>URI</code> modu
1784
1802
 
1785
1803
  <link type="text/css" rel="stylesheet" href="./docdash-overrides.css">
1786
1804
 
1805
+ <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
1806
+
1807
+ <script src="./mermaid-init.js"></script>
1808
+
1787
1809
  </body>
1788
1810
  </html>