@baiyibai-antora/extensions 1.19.3 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.adoc CHANGED
@@ -3,6 +3,24 @@
3
3
 
4
4
  All notable changes to this project will be documented in this file.
5
5
 
6
+ == [1.21.0] - 2026-09-09
7
+
8
+ === Added
9
+
10
+ * cite-it: `escape_replacements` option, in the playbook and per component, default `true`. Text taken from a `.bib` field and embedded as generated AsciiDoc source is escaped against Asciidoctor's replacements substitution, as it has been since 1.18.5, so a literal `--` or `...` renders as written. Setting it to `false` embeds the text unescaped, so Asciidoctor rewrites bibliography text the same way it rewrites hand-typed prose, for a site whose `.bib` data relies on those rewrites. The setting covers every place that text is embedded: the generated bibliography partial, the appended publication status under `blanket_pubstate`, and the author and year labels spliced into a citing page for ordinary HTML output
11
+ * cite-it: `supersededby = {obsolete}`, a reserved value marking an entry withdrawn with no replacement entry named. A cited or `ref_force`d entry carrying it logs, once per generated partial, that the citation is obsolete and should not be referenced and that no replacement document is specified, in place of the existing warning naming a newer key. The demonstration page carries a `demo_obsolete` entry
12
+
13
+ == [1.20.0] - 2026-09-07
14
+
15
+ === Added
16
+
17
+ * autoterm: nested abbreviations. The definitions table accepts an optional fourth column, Nested Expansion, holding the expansion with the inner abbreviation cross-referenced to its own entry, for example `Voice over xref:#term-internet-protocol[IP]`; the Full Term column stays the lookup key. Every _Terminology_ entry now carries an inline anchor, the new `anchor_prefix` key (default `term-`) followed by the slug of the full term, keyed on the full term because abbreviations collide. The Definition column accepts the same fragment references, so any definition links to any other entry. A referenced term that no page marks is pulled into the _Terminology_ section from the merged definitions, transitively; the _Index_ lists real occurrences only and is unaffected. A fragment that names no defined term stays as written, and the extension logs a warning naming the referencing entry, the fragment, and the anchor ids of defined terms sharing a slug token with it. Verified across HTML, the assembled PDF, where the Assembler scopes both the anchor and the reference to the page, and the ADF export, which carries a Confluence anchor macro plus a fragment link
18
+ * collector-writer: `module` selector on targets, narrowing a target to one module of a component so that one content-sources repository replaces one repository per asset; `collector-message` accepts a map keyed by module name alongside the string form, and a target naming a `module` logs that module's entry; a module-scoped target that matches no catalog file logs a warning naming the module. The single content-sources repository layout is documented in the collector-writer partial
19
+
20
+ === Changed
21
+
22
+ * autoterm: `resources/autoterm-legacy-pdf.rb`, the converter that restored the retired gem's hand-inked _Terminology_ PDF layout, is removed together with its documentation; the _Terminology_ table renders through the stock table converter in every output, and the anchors added in this release would have printed literally through the removed converter's raw-cell reading. An Assembler build command that still requires the file MUST drop that `-r` flag
23
+
6
24
  == [1.19.3] - 2026-09-04
7
25
 
8
26
  === Fixed
package/README.adoc CHANGED
@@ -148,57 +148,57 @@ Each subsection provides the configuration reference for one extension.
148
148
  [[user-content-collector-writer]]
149
149
  === collector-writer
150
150
 
151
- include::docs/modules/ROOT/pages/collector-writer.adoc[tags=reference,leveloffset=+2]
151
+ include::docs/modules/ROOT/partials/collector-writer.adoc[tags=reference,leveloffset=+2]
152
152
 
153
153
  [[user-content-autoterm]]
154
154
  === autoterm
155
155
 
156
- include::docs/modules/ROOT/pages/autoterm.adoc[tags=reference,leveloffset=+2]
156
+ include::docs/modules/ROOT/partials/autoterm.adoc[tags=reference,leveloffset=+2]
157
157
 
158
158
  [[user-content-cite-it]]
159
159
  === cite-it
160
160
 
161
- include::docs/modules/ROOT/pages/cite-it.adoc[tags=reference,leveloffset=+2]
161
+ include::docs/modules/ROOT/partials/cite-it.adoc[tags=reference,leveloffset=+2]
162
162
 
163
163
  [[user-content-assembler-ruby-preflight]]
164
164
  === assembler-ruby-preflight
165
165
 
166
- include::docs/modules/ROOT/pages/ruby-preflight.adoc[tags=reference,leveloffset=+2]
166
+ include::docs/modules/ROOT/partials/ruby-preflight.adoc[tags=reference,leveloffset=+2]
167
167
 
168
168
  [[user-content-assembler-rename-pdf]]
169
169
  === assembler-rename-pdf
170
170
 
171
- include::docs/modules/ROOT/pages/pdf-renamer.adoc[tags=reference,leveloffset=+2]
171
+ include::docs/modules/ROOT/partials/pdf-renamer.adoc[tags=reference,leveloffset=+2]
172
172
 
173
173
  [[user-content-external-asset-downloader]]
174
174
  === external-asset-downloader
175
175
 
176
- include::docs/modules/ROOT/pages/external-asset-downloader.adoc[tags=reference,leveloffset=+2]
176
+ include::docs/modules/ROOT/partials/external-asset-downloader.adoc[tags=reference,leveloffset=+2]
177
177
 
178
178
  [[user-content-vale-integration]]
179
179
  === vale-integration
180
180
 
181
- include::docs/modules/ROOT/pages/vale-integration.adoc[tags=reference,leveloffset=+2]
181
+ include::docs/modules/ROOT/partials/vale-integration.adoc[tags=reference,leveloffset=+2]
182
182
 
183
183
  [[user-content-asciidoctorconfig]]
184
184
  === asciidoctorconfig
185
185
 
186
- include::docs/modules/ROOT/pages/asciidoctorconfig.adoc[tags=reference,leveloffset=+2]
186
+ include::docs/modules/ROOT/partials/asciidoctorconfig.adoc[tags=reference,leveloffset=+2]
187
187
 
188
188
  [[user-content-attribute-distiller]]
189
189
  === attribute-distiller
190
190
 
191
- include::docs/modules/ROOT/pages/attribute-distiller.adoc[tags=reference,leveloffset=+2]
191
+ include::docs/modules/ROOT/partials/attribute-distiller.adoc[tags=reference,leveloffset=+2]
192
192
 
193
193
  [[user-content-trademark-it]]
194
194
  === trademark-it
195
195
 
196
- include::docs/modules/ROOT/pages/trademark-it.adoc[tags=reference,leveloffset=+2]
196
+ include::docs/modules/ROOT/partials/trademark-it.adoc[tags=reference,leveloffset=+2]
197
197
 
198
198
  [[user-content-list-of-site]]
199
199
  === list-of-site
200
200
 
201
- include::docs/modules/ROOT/pages/lists-extended-site.adoc[tags=reference,leveloffset=+2]
201
+ include::docs/modules/ROOT/partials/lists-extended-site.adoc[tags=reference,leveloffset=+2]
202
202
 
203
203
  == Vendorization
204
204
 
@@ -23,7 +23,15 @@
23
23
  * Definitions come from a shared table (the autoterm-data component's
24
24
  * partial) optionally overridden per component by a local partial named
25
25
  * trademark-local-style: modules/ROOT/partials/terminology-local.adoc.
26
- * Local rows replace shared rows for the same term.
26
+ * Local rows replace shared rows for the same term. An optional fourth
27
+ * column, Nested Expansion, supports nested abbreviations (VoIP expands
28
+ * to Voice over IP, where IP is itself an abbreviation): it holds the
29
+ * expansion with the inner abbreviation cross-referenced to its own entry
30
+ * (Voice over xref:#term-internet-protocol[IP]) while the Full Term
31
+ * column stays the plain lookup key. Every entry carries an inline
32
+ * anchor, and an entry referenced from a nested expansion or a definition
33
+ * is pulled into the section from the definitions even when no page marks
34
+ * it.
27
35
  *
28
36
  * Configuration in antora-playbook.yml:
29
37
  *
@@ -61,6 +69,9 @@
61
69
  * # Terms removed from the Terminology section; the Index is
62
70
  * # unaffected.
63
71
  * exclude_terminology: []
72
+ * # Prefix of the inline anchor every Terminology entry carries; the
73
+ * # id is the prefix plus the slug of the full term.
74
+ * anchor_prefix: 'term-'
64
75
  *
65
76
  * The including page overrides presentation per component through header
66
77
  * attributes: :autoterm-terminology-cols:, :autoterm-index-cols:,
@@ -95,12 +106,15 @@ interface AutotermConfig {
95
106
  scan_ignore_conditionals: string[];
96
107
  ignore_shared_definition: string[];
97
108
  exclude_terminology: string[];
109
+ anchor_prefix: string;
98
110
  suppress_events: boolean;
99
111
  }
100
112
  export interface TermDefinition {
101
113
  fullTerm: string;
102
114
  abbreviation: string;
103
115
  definition: string;
116
+ /** Nested Expansion column: the expansion with the inner abbreviation cross-referenced, or empty. */
117
+ nestedExpansion: string;
104
118
  }
105
119
  export type { IndexTerm };
106
120
  interface AntoraLogger {
@@ -241,12 +255,26 @@ export { pageHeaderAttributes };
241
255
  * itself.
242
256
  */
243
257
  export { scanIndexterms };
244
- interface TerminologyEntry {
258
+ export interface TerminologyEntry {
245
259
  label: string;
246
260
  body: string;
247
261
  sortKey: string;
248
262
  letter: string;
263
+ /** Inline anchor id: anchor prefix plus the slug of the full term. */
264
+ id: string;
265
+ fullTerm: string;
249
266
  }
267
+ export declare const DEFAULT_ANCHOR_PREFIX = "term-";
268
+ /**
269
+ * Slug of a term for use in an anchor id: letters and digits lowercased,
270
+ * every other run of characters collapsed to one hyphen, no leading or
271
+ * trailing hyphen. Keyed on the full term, never the abbreviation, because
272
+ * abbreviations collide (ATM: Automated Teller Machine, Asynchronous
273
+ * Transfer Mode) while the merged definitions guarantee full-term
274
+ * uniqueness.
275
+ */
276
+ export declare function slugTerm(fullTerm: string): string;
277
+ export declare function termAnchorId(fullTerm: string, anchorPrefix?: string): string;
250
278
  /**
251
279
  * Build the terminology entries from the scanned terms and the merged
252
280
  * definitions, applying the ledger rules: a term with an abbreviation always
@@ -255,7 +283,27 @@ interface TerminologyEntry {
255
283
  * "Full Term – definition" for abbreviated terms, the definition alone
256
284
  * otherwise; duplicate full terms keep the last-scanned occurrence.
257
285
  */
258
- export declare function buildTerminologyEntries(terms: IndexTerm[], definitions: Map<string, TermDefinition>): TerminologyEntry[];
286
+ export declare function buildTerminologyEntries(terms: IndexTerm[], definitions: Map<string, TermDefinition>, anchorPrefix?: string): TerminologyEntry[];
287
+ export declare function referencedFragments(text: string): string[];
288
+ export interface UnresolvedReference {
289
+ /** Label of the entry carrying the reference. */
290
+ from: string;
291
+ fragment: string;
292
+ /** Anchor ids of defined terms sharing a slug token with the fragment. */
293
+ candidates: string[];
294
+ }
295
+ /**
296
+ * Resolve every fragment reference the entries carry. A fragment naming an
297
+ * entry already present resolves as is. A fragment naming a defined term no
298
+ * page marked pulls that term in as a new entry, transitively, so the link
299
+ * always resolves; the Index is unaffected, listing real occurrences only.
300
+ * A fragment naming nothing in the definitions is reported as unresolved and
301
+ * left as written. A term the exclusion predicate rejects is never pulled in.
302
+ */
303
+ export declare function resolveTermReferences(entries: TerminologyEntry[], definitions: Map<string, TermDefinition>, anchorPrefix?: string, isExcluded?: (definition: TermDefinition) => boolean): {
304
+ entries: TerminologyEntry[];
305
+ unresolved: UnresolvedReference[];
306
+ };
259
307
  export declare function generateTerminologyPartial(entries: TerminologyEntry[], cols?: string, letterStyle?: 'combined' | 'separate', attribution?: string): string;
260
308
  export interface IndexOccurrence {
261
309
  display: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/autoterm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AAIH,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAS/D,UAAU,cAAc;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,UAAU,GAAG,UAAU,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,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,MAAM;IACd,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACpC;AAED,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;KAC/B,CAAC;CACH;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,WAAW;IACnB,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC;CAC/B;AAED,UAAU,qBAAqB;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CACrD;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,WAAW,EAAE,CAAC;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,aAAa,CAAC,EAAE,MAAM,cAAc,EAAE,CAAC;CACxC;AAED,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC/C;AAED,UAAU,QAAQ;IAChB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE;QAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAA;KAAE,KAAK,IAAI,GAAG,IAAI,CAAC;IAClH,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjG,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,cAAc,CAAC,EAAE,cAAc,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;CACjE;AA6DD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,KAAK,OAAO,CAMjF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACnC,IAAI,EAAE,MAAM,EAAE,GACb,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAS7B;AAiBD,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAiBvF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EACnC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GACjC;IAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAQ/D;AAYD;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,OAAO,EAAE,cAAc,EAAE,CAAC;AAM1B,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,SAAS,EAAE,EAClB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GACvC,gBAAgB,EAAE,CAoBpB;AAKD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,IAAI,SAAU,EACd,WAAW,GAAE,UAAU,GAAG,UAAuB,EACjD,WAAW,SAAK,GACf,MAAM,CAsDR;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,eAAe,EAAE,EAAE,IAAI,SAAU,GAAG,MAAM,CAgD3F;AAMD,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAGhF;AAMD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,IAAI,CAsTjE;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG;IAChD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CAC3F,CAoBA;AAuDD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,WAAW,EAAE,EAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,MAAM,GACb,IAAI,CAuDN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/autoterm/index.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,15 @@
24
24
  * Definitions come from a shared table (the autoterm-data component's
25
25
  * partial) optionally overridden per component by a local partial named
26
26
  * trademark-local-style: modules/ROOT/partials/terminology-local.adoc.
27
- * Local rows replace shared rows for the same term.
27
+ * Local rows replace shared rows for the same term. An optional fourth
28
+ * column, Nested Expansion, supports nested abbreviations (VoIP expands
29
+ * to Voice over IP, where IP is itself an abbreviation): it holds the
30
+ * expansion with the inner abbreviation cross-referenced to its own entry
31
+ * (Voice over xref:#term-internet-protocol[IP]) while the Full Term
32
+ * column stays the plain lookup key. Every entry carries an inline
33
+ * anchor, and an entry referenced from a nested expansion or a definition
34
+ * is pulled into the section from the definitions even when no page marks
35
+ * it.
28
36
  *
29
37
  * Configuration in antora-playbook.yml:
30
38
  *
@@ -62,6 +70,9 @@
62
70
  * # Terms removed from the Terminology section; the Index is
63
71
  * # unaffected.
64
72
  * exclude_terminology: []
73
+ * # Prefix of the inline anchor every Terminology entry carries; the
74
+ * # id is the prefix plus the slug of the full term.
75
+ * anchor_prefix: 'term-'
65
76
  *
66
77
  * The including page overrides presentation per component through header
67
78
  * attributes: :autoterm-terminology-cols:, :autoterm-index-cols:,
@@ -112,12 +123,16 @@ var __importStar = (this && this.__importStar) || (function () {
112
123
  };
113
124
  })();
114
125
  Object.defineProperty(exports, "__esModule", { value: true });
115
- exports.scanIndexterms = exports.pageHeaderAttributes = exports.suppressUnsetConditionals = void 0;
126
+ exports.DEFAULT_ANCHOR_PREFIX = exports.scanIndexterms = exports.pageHeaderAttributes = exports.suppressUnsetConditionals = void 0;
116
127
  exports.termMatcher = termMatcher;
117
128
  exports.suppressSharedDefinitions = suppressSharedDefinitions;
118
129
  exports.parseTerminologyTable = parseTerminologyTable;
119
130
  exports.mergeTerminology = mergeTerminology;
131
+ exports.slugTerm = slugTerm;
132
+ exports.termAnchorId = termAnchorId;
120
133
  exports.buildTerminologyEntries = buildTerminologyEntries;
134
+ exports.referencedFragments = referencedFragments;
135
+ exports.resolveTermReferences = resolveTermReferences;
121
136
  exports.generateTerminologyPartial = generateTerminologyPartial;
122
137
  exports.generateIndexPartial = generateIndexPartial;
123
138
  exports.pageAttribute = pageAttribute;
@@ -248,8 +263,9 @@ function pick(obj, keys, def) {
248
263
  // Definitions table parser
249
264
  //
250
265
  // Parses the shared/local terminology table: term in the first column,
251
- // abbreviation in the second, definition in the third. Cell layout follows
252
- // the trademark table style: header row inline, data cells one per line.
266
+ // abbreviation in the second, definition in the third, and the optional
267
+ // nested expansion in the fourth. Cell layout follows the trademark table
268
+ // style: header row inline, data cells one per line.
253
269
  // ---------------------------------------------------------------------------
254
270
  function parseTerminologyTable(asciidocText) {
255
271
  const definitions = new Map();
@@ -264,6 +280,7 @@ function parseTerminologyTable(asciidocText) {
264
280
  fullTerm,
265
281
  abbreviation: (row[1] ?? '').trim(),
266
282
  definition: (row[2] ?? '').trim(),
283
+ nestedExpansion: (row[3] ?? '').trim(),
267
284
  });
268
285
  }
269
286
  return definitions;
@@ -286,6 +303,37 @@ function mergeTerminology(shared, local) {
286
303
  function escapeCell(s) {
287
304
  return s.replace(/\|/g, '\\|');
288
305
  }
306
+ exports.DEFAULT_ANCHOR_PREFIX = 'term-';
307
+ /**
308
+ * Slug of a term for use in an anchor id: letters and digits lowercased,
309
+ * every other run of characters collapsed to one hyphen, no leading or
310
+ * trailing hyphen. Keyed on the full term, never the abbreviation, because
311
+ * abbreviations collide (ATM: Automated Teller Machine, Asynchronous
312
+ * Transfer Mode) while the merged definitions guarantee full-term
313
+ * uniqueness.
314
+ */
315
+ function slugTerm(fullTerm) {
316
+ return fullTerm
317
+ .toLowerCase()
318
+ .replace(/[^\p{L}\p{N}]+/gu, '-')
319
+ .replace(/^-+|-+$/g, '');
320
+ }
321
+ function termAnchorId(fullTerm, anchorPrefix = exports.DEFAULT_ANCHOR_PREFIX) {
322
+ return `${anchorPrefix}${slugTerm(fullTerm)}`;
323
+ }
324
+ function sortEntries(entries) {
325
+ return entries.sort((a, b) => a.sortKey.localeCompare(b.sortKey, undefined, { numeric: true, sensitivity: 'base' }));
326
+ }
327
+ function makeEntry(full, abbr, definition, anchorPrefix) {
328
+ const text = definition?.definition ?? '';
329
+ const expansion = definition?.nestedExpansion || full;
330
+ const label = abbr ?? full;
331
+ const body = abbr
332
+ ? (text ? `${expansion} – ${text}` : expansion)
333
+ : text;
334
+ const sortKey = label.toLowerCase();
335
+ return { label, body, sortKey, letter: (sortKey[0] ?? '').toUpperCase(), id: termAnchorId(full, anchorPrefix), fullTerm: full };
336
+ }
289
337
  /**
290
338
  * Build the terminology entries from the scanned terms and the merged
291
339
  * definitions, applying the ledger rules: a term with an abbreviation always
@@ -294,28 +342,87 @@ function escapeCell(s) {
294
342
  * "Full Term – definition" for abbreviated terms, the definition alone
295
343
  * otherwise; duplicate full terms keep the last-scanned occurrence.
296
344
  */
297
- function buildTerminologyEntries(terms, definitions) {
345
+ function buildTerminologyEntries(terms, definitions, anchorPrefix = exports.DEFAULT_ANCHOR_PREFIX) {
298
346
  const byFull = new Map();
299
347
  for (const t of terms)
300
348
  byFull.set(t.full, t);
301
349
  const entries = [];
302
350
  for (const t of byFull.values()) {
303
- const definition = definitions.get(t.full)?.definition ?? '';
304
- if (!t.abbr && !definition)
351
+ const definition = definitions.get(t.full);
352
+ if (!t.abbr && !definition?.definition)
305
353
  continue;
306
- const label = t.abbr ?? t.full;
307
- const body = t.abbr
308
- ? (definition ? `${t.full} – ${definition}` : t.full)
309
- : definition;
310
- const sortKey = label.toLowerCase();
311
- entries.push({ label, body, sortKey, letter: (sortKey[0] ?? '').toUpperCase() });
354
+ entries.push(makeEntry(t.full, t.abbr, definition, anchorPrefix));
355
+ }
356
+ return sortEntries(entries);
357
+ }
358
+ // Fragment references an entry body may carry: xref:#id[text] and <<id>>
359
+ // or <<id,text>>. Only same-page fragments count; a page-qualified xref
360
+ // targets something outside the section.
361
+ const XREF_FRAGMENT_RE = /xref:#([^\[\s]+)\[/g;
362
+ const ANGLE_FRAGMENT_RE = /<<([^,>\s]+)(?:,[^>]*)?>>/g;
363
+ function referencedFragments(text) {
364
+ const found = [];
365
+ for (const re of [XREF_FRAGMENT_RE, ANGLE_FRAGMENT_RE]) {
366
+ for (const m of text.matchAll(re))
367
+ found.push(m[1]);
368
+ }
369
+ return found;
370
+ }
371
+ /**
372
+ * Resolve every fragment reference the entries carry. A fragment naming an
373
+ * entry already present resolves as is. A fragment naming a defined term no
374
+ * page marked pulls that term in as a new entry, transitively, so the link
375
+ * always resolves; the Index is unaffected, listing real occurrences only.
376
+ * A fragment naming nothing in the definitions is reported as unresolved and
377
+ * left as written. A term the exclusion predicate rejects is never pulled in.
378
+ */
379
+ function resolveTermReferences(entries, definitions, anchorPrefix = exports.DEFAULT_ANCHOR_PREFIX, isExcluded = () => false) {
380
+ const byId = new Map();
381
+ for (const e of entries)
382
+ byId.set(e.id, e);
383
+ const definitionsById = new Map();
384
+ for (const d of definitions.values())
385
+ definitionsById.set(termAnchorId(d.fullTerm, anchorPrefix), d);
386
+ const unresolved = [];
387
+ const seen = new Set();
388
+ const queue = [...entries];
389
+ while (queue.length > 0) {
390
+ const entry = queue.shift();
391
+ for (const fragment of referencedFragments(entry.body)) {
392
+ if (byId.has(fragment))
393
+ continue;
394
+ const target = definitionsById.get(fragment);
395
+ if (target && !isExcluded(target)) {
396
+ const pulled = makeEntry(target.fullTerm, target.abbreviation || null, target, anchorPrefix);
397
+ byId.set(pulled.id, pulled);
398
+ queue.push(pulled);
399
+ continue;
400
+ }
401
+ const key = `${entry.id}\u0000${fragment}`;
402
+ if (seen.has(key))
403
+ continue;
404
+ seen.add(key);
405
+ unresolved.push({ from: entry.label, fragment, candidates: closeAnchorIds(fragment, definitionsById, anchorPrefix) });
406
+ }
312
407
  }
313
- entries.sort((a, b) => a.sortKey.localeCompare(b.sortKey, undefined, { numeric: true, sensitivity: 'base' }));
314
- return entries;
408
+ return { entries: sortEntries([...byId.values()]), unresolved };
315
409
  }
316
- // The row shapes below (spacer rows of {empty} cells, lone-letter rows,
317
- // welded letter first-cells) are a public contract consumed by
318
- // resources/autoterm-legacy-pdf.rb; they change only with a major version.
410
+ function closeAnchorIds(fragment, definitionsById, anchorPrefix) {
411
+ const tokens = new Set(fragment.startsWith(anchorPrefix) ? fragment.slice(anchorPrefix.length).split('-') : fragment.split('-'));
412
+ tokens.delete('');
413
+ const out = [];
414
+ for (const id of definitionsById.keys()) {
415
+ const own = id.slice(anchorPrefix.length).split('-');
416
+ if (own.some((t) => tokens.has(t)))
417
+ out.push(id);
418
+ if (out.length === 5)
419
+ break;
420
+ }
421
+ return out;
422
+ }
423
+ // Every entry's label cell opens with an inline anchor carrying the entry's
424
+ // label as reftext, so a same-page fragment reference resolves in HTML, in
425
+ // the fused PDF, and in any other output that honors inline anchors.
319
426
  function generateTerminologyPartial(entries, cols = '15,85', letterStyle = 'combined', attribution = '') {
320
427
  if (entries.length === 0) {
321
428
  return '// No index terms detected in this component.\n';
@@ -345,14 +452,15 @@ function generateTerminologyPartial(entries, cols = '15,85', letterStyle = 'comb
345
452
  lines.push('|');
346
453
  lines.push('');
347
454
  }
455
+ const anchoredLabel = `[[${entry.id},${escapeCell(entry.label)}]]${escapeCell(entry.label)}`;
348
456
  if (newLetter && letterStyle === 'combined') {
349
457
  lines.push(`|*${entry.letter}* +`);
350
- lines.push(escapeCell(entry.label));
458
+ lines.push(anchoredLabel);
351
459
  lines.push(`|{empty} +`);
352
460
  lines.push(escapeCell(entry.body));
353
461
  }
354
462
  else {
355
- lines.push(`|${escapeCell(entry.label)}`);
463
+ lines.push(`|${anchoredLabel}`);
356
464
  lines.push(`|${escapeCell(entry.body)}`);
357
465
  }
358
466
  lines.push('');
@@ -442,6 +550,7 @@ function register(context) {
442
550
  scan_ignore_conditionals: [],
443
551
  ignore_shared_definition: [],
444
552
  exclude_terminology: [],
553
+ anchor_prefix: exports.DEFAULT_ANCHOR_PREFIX,
445
554
  suppress_events: false,
446
555
  };
447
556
  // Per-component overrides from antora.yml ext.autoterm, captured during
@@ -473,6 +582,7 @@ function register(context) {
473
582
  scan_ignore_conditionals: toStringArray(pick(raw, ['scan_ignore_conditionals', 'scanIgnoreConditionals'], cfg.scan_ignore_conditionals)),
474
583
  ignore_shared_definition: toStringArray(pick(raw, ['ignore_shared_definition', 'ignoreSharedDefinition'], cfg.ignore_shared_definition)),
475
584
  exclude_terminology: toStringArray(pick(raw, ['exclude_terminology', 'excludeTerminology'], cfg.exclude_terminology)),
585
+ anchor_prefix: String(pick(raw, ['anchor_prefix', 'anchorPrefix'], cfg.anchor_prefix)),
476
586
  suppress_events: toBool(pick(raw, ['suppress_events', 'suppressEvents'], cfg.suppress_events), cfg.suppress_events),
477
587
  };
478
588
  quietMode = cfg.quiet;
@@ -685,7 +795,12 @@ function register(context) {
685
795
  const terminologyTerms = compExcludeTerminology.length > 0
686
796
  ? allTerms.filter((t) => !excludedFromTerminology(t))
687
797
  : allTerms;
688
- const entries = buildTerminologyEntries(terminologyTerms, definitions);
798
+ const scanned = buildTerminologyEntries(terminologyTerms, definitions, cfg.anchor_prefix);
799
+ const { entries, unresolved } = resolveTermReferences(scanned, definitions, cfg.anchor_prefix, (d) => excludedFromTerminology(d.fullTerm) || (d.abbreviation !== '' && excludedFromTerminology(d.abbreviation)));
800
+ for (const u of unresolved) {
801
+ const hint = u.candidates.length > 0 ? `; defined terms close to it: ${u.candidates.join(', ')}` : '';
802
+ logger.warn(`autoterm: ${component}@${version} — entry "${u.from}" references #${u.fragment}, which names no defined term; the link is left as written${hint}`);
803
+ }
689
804
  const content = generateTerminologyPartial(entries, cols, style, cfg.attribution);
690
805
  injectPartial(contentCatalog, files, component, version, terminologyHost.src.module ?? 'ROOT', cfg.terminology_partial, content, compWriteToDisk, logger);
691
806
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/autoterm/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/autoterm/index.ts"],"names":[],"mappings":"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"}