@baiyibai-antora/extensions 1.1.0 → 1.1.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/CHANGELOG.adoc CHANGED
@@ -3,6 +3,33 @@
3
3
 
4
4
  All notable changes to this project will be documented in this file.
5
5
 
6
+ == [1.1.1] - 2026-06-02
7
+
8
+ === Fixed
9
+
10
+ * *list-of-site*: `list-of::image[site]`, `list-of::listing[site]`, and `list-of::example[site]` always produced empty output in HTML
11
+ ** Only blocks with an explicit AsciiDoc anchor (`[[id]]`) have an `id` attribute on their outer `<div>` — the registry scan required this attribute and silently skipped everything else
12
+ ** `extractElements` now matches blocks with or without a pre-existing `id`, and injects a slug-based `id` into the page HTML for blocks that lack one (matching the existing behaviour of `extractTables`)
13
+ ** The title-search lookahead window is reduced from 4 096 to 512 characters: for listings and examples the title `<div>` is the first child of the block; for images it follows a short `<div class="content"><img …></div>` — all within 512 characters.
14
+ The wider window risked picking up a title from an adjacent titled block when scanning an untitled one.
15
+
16
+ * *list-of-site*: Duplicate entries appeared in site-wide lists when the same captioned block was reachable via two different page URLs (e.g. a page that `include::` a second page whose content contains the block)
17
+ ** Registry insertion now skips any entry whose label already exists in the bucket, so each unique caption appears at most once across the entire site
18
+
19
+ == [1.1.0] - 2026-06-01
20
+
21
+ === Added
22
+
23
+ * *trademark-it*: Antora documentation component added under `docs/` — trademark-it documentation moved from `baiyibai-antora-demo-site` and merged with the README reference content into a single canonical page
24
+ ** `README.adoc` trademark-it section is now single-sourced via `include::docs/modules/ROOT/pages/trademark-it.adoc[tags=reference]`
25
+ ** Live inline conditional detection and suppression demos embedded in the Referenced Trademarks section
26
+
27
+ === Fixed
28
+
29
+ * *trademark-it*: Inline `ifdef::attr[content]` was not suppressed when `attr` appeared in `scan_ignore_conditionals`
30
+ ** Only block-form `ifdef::attr[]` … `endif::` suppression was working; standalone inline conditionals were always scanned regardless of the ignore list
31
+ ** Now checks the inline conditional's own attribute against `scan_ignore_conditionals` in addition to the existing block-suppression stack check
32
+
6
33
  == [1.0.32] - 2026-06-01
7
34
 
8
35
  === Fixed
package/README.adoc CHANGED
@@ -130,520 +130,32 @@ antora:
130
130
  [[collector-writer]]
131
131
  === collector-writer
132
132
 
133
- Copies assets discovered by `@antora/collector-extension` from the Antora content catalog into local folders.
134
-
135
- ==== Configuration
136
-
137
- [cols="2,1,3,2"]
138
- |===
139
- |Key |Type |Description |Default
140
-
141
- |`enabled`
142
- |boolean
143
- |Enable/disable the extension
144
- |`true`
145
-
146
- |`quiet`
147
- |boolean
148
- |Suppress informational output
149
- |`true`
150
-
151
- |`output_dir`
152
- |string
153
- |Base output directory
154
- |`'vale-output'`
155
-
156
- |`targets`
157
- |array
158
- |List of target configurations
159
- |`[]`
160
-
161
- |`required`
162
- |array
163
- |List of required component targets
164
- |`[]`
165
- |===
166
-
167
- ==== Target Configuration
168
-
169
- [cols="2,1,3,2"]
170
- |===
171
- |Key |Type |Description |Default
172
-
173
- |`component`
174
- |string
175
- |Component name to match in content catalog
176
- |_(required)_
177
-
178
- |`write_dir`
179
- |string
180
- |Directory to write files to
181
- |`'target'`
182
-
183
- |`ephemeral`
184
- |boolean
185
- |Delete directory after site is published
186
- |`true`
187
- |===
188
-
189
- ==== Per-Component Console Messages
190
-
191
- A component can emit a custom message to the build console after its files are written.
192
- Set `collector-message` in the component's `antora.yml` under `ext:`:
193
-
194
- [source,yaml]
195
- ----
196
- # antora.yml (in the content component repository)
197
- ext:
198
- collector-message: "Vale styles loaded — linting rules are active."
199
- collector:
200
- - scan:
201
- dir: .
202
- files:
203
- - styles/**
204
- into: modules/ROOT/attachments
205
- ----
206
-
207
- The message is logged as an `EVENT` line immediately after the component's files are written, and only if at least one file was written.
208
- It is useful for reminding developers of side-effects, such as reloading a VSCode extension or checking a generated directory.
209
-
210
- ==== Playbook Configuration
211
-
212
- [source,yaml]
213
- ----
214
- - require: '@baiyibai-antora/extensions/collector-writer'
215
- collectorWriter:
216
- enabled: true
217
- quiet: false
218
- targets:
219
- - component: pdf-themes
220
- write_dir: ./assembler-themes
221
- ephemeral: false
222
- - component: vale-styles
223
- write_dir: ./vale-rules
224
- ephemeral: true
225
- ----
133
+ include::docs/modules/ROOT/pages/collector-writer.adoc[tags=reference,leveloffset=+2]
226
134
 
227
135
  [[assembler-ruby-preflight]]
228
136
  === assembler-ruby-preflight
229
137
 
230
- Coordinates Ruby/Ghostscript version checks and gem bundling for PDF generation.
231
-
232
- ==== Configuration
233
-
234
- [cols="2,1,3,2"]
235
- |===
236
- |Key |Type |Description |Default
237
-
238
- |`enabled`
239
- |boolean
240
- |Enable/disable the extension
241
- |`true`
242
-
243
- |`quiet`
244
- |boolean
245
- |Suppress informational output
246
- |`true`
247
-
248
- |`gemfile_path`
249
- |string
250
- |Path to source Gemfile
251
- |_(required for gem bundling)_
252
-
253
- |`use_system_gems`
254
- |boolean
255
- |Use system-installed gems instead of vendor/bundle
256
- |`false`
257
-
258
- |`platforms`
259
- |object
260
- |Per-platform configuration
261
- |_(see below)_
262
- |===
263
-
264
- ==== Platform Configuration
265
-
266
- Each platform (`win32`, `linux`, `darwin`) supports:
267
-
268
- [cols="2,1,3,2"]
269
- |===
270
- |Key |Type |Description |Default
271
-
272
- |`ruby_version`
273
- |string
274
- |Expected Ruby version (e.g., `'3.3.8'`)
275
- |_(none)_
276
-
277
- |`ruby_revision`
278
- |string
279
- |Expected Ruby revision hash
280
- |_(none)_
281
-
282
- |`ruby_guidance`
283
- |string
284
- |Message shown if Ruby check fails
285
- |_(none)_
286
-
287
- |`gs_version`
288
- |string
289
- |Expected Ghostscript version
290
- |_(none)_
291
-
292
- |`gs_guidance`
293
- |string
294
- |Message shown if Ghostscript check fails
295
- |_(none)_
296
-
297
- |`check_ruby`
298
- |boolean
299
- |Enable Ruby version check
300
- |`true`
301
-
302
- |`check_gs`
303
- |boolean
304
- |Enable Ghostscript version check
305
- |`false` (linux), `true` (others)
306
- |===
307
-
308
- ==== Playbook Configuration
309
-
310
- [source,yaml]
311
- ----
312
- - require: '@baiyibai-antora/extensions/assembler-ruby-preflight'
313
- preflight:
314
- enabled: true
315
- quiet: false
316
- gemfile_path: './assembler-themes/Gemfile'
317
- use_system_gems: true
318
- platforms:
319
- linux:
320
- ruby_version: '3.3.8'
321
- ruby_revision: 'b200bad6cd'
322
- check_ruby: true
323
- check_gs: false
324
- win32:
325
- ruby_version: '3.3.8'
326
- gs_version: '10.05.1'
327
- check_ruby: true
328
- check_gs: true
329
- ----
138
+ include::docs/modules/ROOT/pages/ruby-preflight.adoc[tags=reference,leveloffset=+2]
330
139
 
331
140
  [[assembler-rename-pdf]]
332
141
  === assembler-rename-pdf
333
142
 
334
- Renames exported PDF files based on document attributes.
335
-
336
- ==== Configuration
337
-
338
- [cols="2,1,3,2"]
339
- |===
340
- |Key |Type |Description |Default
341
-
342
- |`enabled`
343
- |boolean
344
- |Enable/disable the extension
345
- |`true`
346
-
347
- |`quiet`
348
- |boolean
349
- |Suppress informational output
350
- |`true`
351
-
352
- |`pdf_filename_attribute`
353
- |string
354
- |Document attribute containing the desired PDF filename
355
- |`'pdf-filename'`
356
-
357
- |`assembler_base_dir`
358
- |string
359
- |Base directory for assembler output
360
- |`'build/assembler-pdf'`
361
-
362
- |`site_base_dir`
363
- |string
364
- |Base directory for site output
365
- |_(uses playbook output.dir)_
366
-
367
- |`exports_subdir`
368
- |string
369
- |Subdirectory containing exports
370
- |`'_exports'`
371
-
372
- |`copy_target_dir`
373
- |string
374
- |Directory to copy renamed PDFs to
375
- |_(disabled)_
376
- |===
377
-
378
- ==== Playbook Configuration
379
-
380
- [source,yaml]
381
- ----
382
- - require: '@baiyibai-antora/extensions/assembler-rename-pdf'
383
- renamer:
384
- enabled: true
385
- quiet: false
386
- pdf_filename_attribute: 'pdf-filename'
387
- assembler_base_dir: 'build/assembler-pdf'
388
- exports_subdir: '_exports'
389
- copy_target_dir: '.'
390
- ----
143
+ include::docs/modules/ROOT/pages/pdf-renamer.adoc[tags=reference,leveloffset=+2]
391
144
 
392
145
  [[external-asset-downloader]]
393
146
  === external-asset-downloader
394
147
 
395
- Downloads external assets from HTTP/HTTPS URLs into component directories.
396
- Parses `antora.yml` files directly to find `image:` attributes (both commented and uncommented).
397
- Automatically detects and crawls Apache-style HTTP directory listings.
398
-
399
- ==== How It Works
400
-
401
- 1. Scans `antora.yml` for attributes matching the prefix (e.g., `image`, `image2`, `image3`)
402
- 2. Supports both active and commented-out attributes (falls back to commented if no active URLs found)
403
- 3. Auto-detects directory URLs (ending with `/` or no file extension) and downloads all files
404
- 4. Applies optional URL transformations before fetching
405
-
406
- ==== antora.yml Example
407
-
408
- [source,yaml]
409
- ----
410
- name: my-component
411
- version: '1.0'
412
- asciidoc:
413
- attributes:
414
- # Active image URL - downloads all files from this directory
415
- image: 'https://example.com/assets/images/'
416
- image2: 'https://example.com/other-images/'
417
- # Commented fallback - used if no active URLs found
418
- # image3: 'https://fallback.example.com/images/'
419
- ----
420
-
421
- ==== Configuration
422
-
423
- [cols="2,1,3,2"]
424
- |===
425
- |Key |Type |Description |Default
426
-
427
- |`enabled`
428
- |boolean
429
- |Enable/disable the extension
430
- |`true`
431
-
432
- |`quiet`
433
- |boolean
434
- |Suppress informational output
435
- |`true`
436
-
437
- |`attribute_prefix`
438
- |string
439
- |Attribute name prefix to scan (matches `image`, `image2`, etc.)
440
- |`'image'`
441
-
442
- |`include_commented`
443
- |boolean
444
- |Fall back to commented attributes in antora.yml when no active ones found
445
- |`true`
446
-
447
- |`target_dir`
448
- |string
449
- |Directory to download assets to (relative to playbook directory)
450
- |_(required)_
451
-
452
- |`overwrite`
453
- |string
454
- |Overwrite behavior: `'never'` or `'always'`
455
- |`'never'`
456
-
457
- |`concurrency`
458
- |number
459
- |Number of concurrent downloads
460
- |`5`
461
-
462
- |`url_replace`
463
- |array
464
- |URL transformation rules (applied before fetching directory listings)
465
- |`[]`
466
-
467
- |`trigger_file`
468
- |string
469
- |Skip download if this file exists (e.g., `'Gemfile.lock'` or `'package-lock.json'`)
470
- |_(disabled)_
471
- |===
472
-
473
- ==== URL Replace Rules
474
-
475
- Use `url_replace` to transform URLs before fetching (e.g., converting paths to API endpoints).
476
-
477
- [cols="2,1,3"]
478
- |===
479
- |Key |Type |Description
480
-
481
- |`pattern`
482
- |string
483
- |Regex pattern to match
484
-
485
- |`replacement`
486
- |string
487
- |Replacement string
488
- |===
489
-
490
- ==== Playbook Configuration
491
-
492
- [source,yaml]
493
- ----
494
- - require: '@baiyibai-antora/extensions/external-asset-downloader'
495
- assetDownloader:
496
- enabled: true
497
- quiet: false
498
- attribute_prefix: 'image'
499
- target_dir: 'modules/ROOT/images'
500
- overwrite: 'never'
501
- concurrency: 5
502
- trigger_file: 'Gemfile.lock' # Skip if this file exists
503
- url_replace:
504
- - pattern: '/some-path/'
505
- replacement: '/api/storage/'
506
- ----
148
+ include::docs/modules/ROOT/pages/external-asset-downloader.adoc[tags=reference,leveloffset=+2]
507
149
 
508
150
  [[vale-integration]]
509
151
  === vale-integration
510
152
 
511
- Integrates Vale linting into the Antora build pipeline.
512
-
513
- ==== Configuration
514
-
515
- [cols="2,1,3,2"]
516
- |===
517
- |Key |Type |Description |Default
518
-
519
- |`enabled`
520
- |boolean
521
- |Enable/disable the extension
522
- |`true`
523
-
524
- |`quiet`
525
- |boolean
526
- |Suppress informational output
527
- |`true`
528
-
529
- |`output_dir`
530
- |string
531
- |Directory for Vale log files
532
- |`'vale-output'`
533
-
534
- |`config_file`
535
- |string
536
- |Path to Vale configuration file
537
- |`'./.vale.ini'`
538
-
539
- |`ignore_files`
540
- |array
541
- |Patterns for files to ignore
542
- |`[]`
543
-
544
- |`toolchain_config_path`
545
- |string
546
- |Path to toolchain config with additional ignores
547
- |`'./toolchain-config.ini'`
548
-
549
- |`max_logs`
550
- |number
551
- |Maximum number of log files to keep
552
- |`10`
553
-
554
- |`list_limit`
555
- |number
556
- |Maximum files to list in verbose output
557
- |`20`
558
- |===
559
-
560
- ==== Playbook Configuration
561
-
562
- [source,yaml]
563
- ----
564
- - require: '@baiyibai-antora/extensions/vale-integration'
565
- vale:
566
- enabled: true
567
- quiet: false
568
- output_dir: 'vale-output'
569
- config_file: './vale-rules/.vale.ini'
570
- ignore_files:
571
- - 'partials/generated'
572
- toolchain_config_path: './toolchain-config.ini'
573
- max_logs: 10
574
- ----
575
-
576
- [[trademark-it]]
577
- === trademark-it
578
-
579
- include::docs/modules/ROOT/pages/trademark-it.adoc[tags=reference,leveloffset=+2]
153
+ include::docs/modules/ROOT/pages/vale-integration.adoc[tags=reference,leveloffset=+2]
580
154
 
581
155
  [[asciidoctorconfig]]
582
156
  === asciidoctorconfig
583
157
 
584
- Copies `.asciidoctorconfig.adoc` and `.asciidoctorconfig` files from content catalog to project root.
585
-
586
- ==== Configuration
587
-
588
- [cols="2,1,3,2"]
589
- |===
590
- |Key |Type |Description |Default
591
-
592
- |`enabled`
593
- |boolean
594
- |Enable/disable the extension
595
- |`true`
596
-
597
- |`quiet`
598
- |boolean
599
- |Suppress informational output
600
- |`true`
601
-
602
- |`version`
603
- |string
604
- |Version prefix for resource ID (e.g., `'1.0'`)
605
- |`''`
606
-
607
- |`component`
608
- |string
609
- |Component containing config files
610
- |`'asciidoctorconfig'`
611
-
612
- |`module`
613
- |string
614
- |Module containing config files
615
- |`'ROOT'`
616
-
617
- |`location`
618
- |string
619
- |Location family for config files
620
- |`'partial$'`
621
-
622
- |`asciidoctorconfig_adoc_filename`
623
- |string
624
- |Source filename for `.asciidoctorconfig.adoc`
625
- |_(disabled)_
626
-
627
- |`asciidoctorconfig_filename`
628
- |string
629
- |Source filename for `.asciidoctorconfig`
630
- |_(disabled)_
631
- |===
632
-
633
- ==== Playbook Configuration
634
-
635
- [source,yaml]
636
- ----
637
- - require: '@baiyibai-antora/extensions/asciidoctorconfig'
638
- asciidoctorconfig:
639
- enabled: true
640
- quiet: false
641
- component: 'asciidoctorconfig'
642
- module: 'ROOT'
643
- location: 'partial$'
644
- asciidoctorconfig_adoc_filename: 'asciidoctorconfig.adoc'
645
- asciidoctorconfig_filename: 'asciidoctorconfig'
646
- ----
158
+ include::docs/modules/ROOT/pages/asciidoctorconfig.adoc[tags=reference,leveloffset=+2]
647
159
 
648
160
  == Vendorization
649
161
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/list-of-site/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,GAAG,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,WAAW,EAAE,CAAC;CAC/B;AAED,UAAU,aAAa;IACrB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,UAAU,QAAQ;IAChB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC;IAC3C,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,KAAK,IAAI,CAAC;CACzE;AAoQD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CA6EhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/list-of-site/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,GAAG,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,WAAW,EAAE,CAAC;CAC/B;AAED,UAAU,aAAa;IACrB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,UAAU,QAAQ;IAChB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC;IAC3C,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,KAAK,IAAI,CAAC;CACzE;AAkSD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAqFhD"}
@@ -98,33 +98,60 @@ function extractTables(html) {
98
98
  return { entries, modifiedHtml };
99
99
  }
100
100
  /**
101
- * Extract all captioned non-table elements of a given block type from HTML.
101
+ * Extract all captioned non-table elements of a given block type from HTML,
102
+ * injecting id attributes where missing (same strategy as extractTables).
102
103
  *
103
104
  * Asciidoctor HTML5 structure (images, listings, examples, …):
104
- * <div id="ANCHOR" class="…TYPE_CLASS…">
105
+ * <div [id="ANCHOR"] class="…TYPE_CLASS…">
105
106
  * …(possibly content first, e.g. imageblock)…
106
107
  * <div class="title">CAPTION AND TITLE TEXT</div>
107
108
  * …
108
109
  * </div>
110
+ *
111
+ * Blocks that lack an id attribute get a slug-based id injected so the
112
+ * generated anchor links resolve correctly in the browser.
113
+ *
114
+ * The title search is bounded to 512 chars to avoid false positives from
115
+ * adjacent untitled blocks whose window would otherwise span a later title.
116
+ *
117
+ * Returns:
118
+ * entries — { id, label } pairs in document order
119
+ * modifiedHtml — HTML with id attributes injected (unchanged if none needed)
109
120
  */
110
121
  function extractElements(html, elementType) {
111
122
  const blockClass = ELEMENT_CLASS_MAP[elementType] || `${elementType}block`;
112
- const results = [];
113
- // Match opening <div id="…" class="…TYPE_CLASS…"> — capture the id.
114
- const blockPattern = new RegExp(`<div\\s+id="([^"]+)"[^>]*class="[^"]*${blockClass}[^"]*"[^>]*>`, 'g');
123
+ const entries = [];
124
+ let modifiedHtml = html;
125
+ let htmlOffset = 0;
126
+ // Match opening <div> containing the block class, with or without id attribute.
127
+ const blockPattern = new RegExp(`<div([^>]*class="[^"]*${blockClass}[^"]*"[^>]*)>`, 'g');
115
128
  let match;
116
129
  while ((match = blockPattern.exec(html)) !== null) {
117
- const id = match[1];
130
+ const attrs = match[1];
118
131
  const startIdx = match.index + match[0].length;
119
- // Look forward for the first <div class="title"> within a reasonable window
120
- // (max 4 KB to avoid spanning across unrelated blocks).
121
- const window = html.slice(startIdx, startIdx + 4096);
122
- const titleMatch = window.match(/<div\s+class="title">([^<]+)<\/div>/);
132
+ // Look forward (≤512 chars) for a <div class="title">.
133
+ // For listings/examples the title is the first child; for images it follows
134
+ // a short <div class="content"><img …></div> both fit within 512 chars.
135
+ const snippet = html.slice(startIdx, startIdx + 512);
136
+ const titleMatch = snippet.match(/<div\s+class="title">([^<]+)<\/div>/);
123
137
  if (!titleMatch)
124
138
  continue;
125
- results.push({ id, label: titleMatch[1].trim() });
139
+ const label = titleMatch[1].trim();
140
+ const idMatch = attrs.match(/\bid="([^"]+)"/);
141
+ if (idMatch) {
142
+ entries.push({ id: idMatch[1], label });
143
+ }
144
+ else {
145
+ // Inject id before the closing '>' of the <div …> tag.
146
+ const id = slugify(label);
147
+ const insertPos = match.index + match[0].length - 1 + htmlOffset;
148
+ const insertion = ` id="${id}"`;
149
+ modifiedHtml = modifiedHtml.slice(0, insertPos) + insertion + modifiedHtml.slice(insertPos);
150
+ htmlOffset += insertion.length;
151
+ entries.push({ id, label });
152
+ }
126
153
  }
127
- return results;
154
+ return { entries, modifiedHtml };
128
155
  }
129
156
  /**
130
157
  * Derive a human-readable page title from a site-relative URL.
@@ -251,15 +278,23 @@ function register(context) {
251
278
  htmlModified = true;
252
279
  }
253
280
  for (const { id, label } of entries) {
254
- bucket.push({ pageUrl, id, label });
281
+ if (!bucket.some(e => e.label === label)) {
282
+ bucket.push({ pageUrl, id, label });
283
+ }
255
284
  }
256
285
  }
257
286
  else {
258
- const found = extractElements(html, elementType);
287
+ const { entries: found, modifiedHtml } = extractElements(html, elementType);
259
288
  if (found.length === 0)
260
289
  continue;
290
+ if (modifiedHtml !== html) {
291
+ html = modifiedHtml;
292
+ htmlModified = true;
293
+ }
261
294
  for (const { id, label } of found) {
262
- bucket.push({ pageUrl, id, label });
295
+ if (!bucket.some(e => e.label === label)) {
296
+ bucket.push({ pageUrl, id, label });
297
+ }
263
298
  }
264
299
  }
265
300
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/list-of-site/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/list-of-site/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baiyibai-antora/extensions",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Antora extensions and AsciiDoc macros for Baiyibai documentation",
5
5
  "keywords": [
6
6
  "antora",