@baiyibai-antora/extensions 1.19.1 → 1.19.2
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,12 @@
|
|
|
3
3
|
|
|
4
4
|
All notable changes to this project will be documented in this file.
|
|
5
5
|
|
|
6
|
+
== [1.19.2] - 2026-09-02
|
|
7
|
+
|
|
8
|
+
=== Fixed
|
|
9
|
+
|
|
10
|
+
* autoterm: `scanIndexterms` silently dropped an indexterm (`((Term))`) found directly in a list item's own principal text whenever another indexterm elsewhere in the document had already been captured, described as the capturing converter's traversal stopping after its first successful capture. Confirmed by tracing every node the converter actually visits: not a traversal problem at all, every `inline_indexterm` node is visited, in document order, later siblings included. The real, narrower cause: `getSource()` only exists on Asciidoctor.js's `Block` class (paragraph, example, listing, and so on); `List` and `ListItem` are siblings of `Block`, not subclasses of it, and expose no equivalent of their own, so `node.getParent()?.getSource?.()` silently resolved to `undefined` for any indexterm whose enclosing block was a list item specifically, independent of how many earlier terms had already been found elsewhere. `sourceForParent` now falls back to `getSourceLocation()` (needs `sourcemap: true` on the scanning `processor.load()` call, confirmed directly: without it every node's location is `undefined` too) plus a line-based read from the same sanitized source text already being scanned, bounded by the next sibling item's own start line, or by the first blank line for the last item in a list, which has no next sibling to bound it. Confirmed against a real document (an indexterm in a first paragraph and a second, unrelated indexterm later inside a list item): only the first term was ever recorded before this fix, both after it. Six new regression tests, confirmed to fail without the fix and pass with it, covering the reported case, the last-item boundary, ordered lists, several items in the same list, apostrophe raw-text preservation inside a list item, and that comment/verbatim exclusion near a list still holds
|
|
11
|
+
|
|
6
12
|
== [1.19.1] - 2026-09-01
|
|
7
13
|
|
|
8
14
|
=== Fixed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asciidoc-indexterms.d.ts","sourceRoot":"","sources":["../../src/lib/asciidoc-indexterms.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AAaH,MAAM,WAAW,SAAS;IACxB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAgED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBpD;
|
|
1
|
+
{"version":3,"file":"asciidoc-indexterms.d.ts","sourceRoot":"","sources":["../../src/lib/asciidoc-indexterms.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;AAaH,MAAM,WAAW,SAAS;IACxB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAgED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBpD;AAkID,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,CAuE9D"}
|
|
@@ -174,14 +174,69 @@ function sanitizeForScan(text) {
|
|
|
174
174
|
})
|
|
175
175
|
.join('\n');
|
|
176
176
|
}
|
|
177
|
-
|
|
177
|
+
/**
|
|
178
|
+
* getSource() only exists on Asciidoctor.js's Block class (paragraph,
|
|
179
|
+
* example, listing, and so on); List and ListItem are siblings of Block,
|
|
180
|
+
* not subclasses of it, and expose no equivalent of their own. An
|
|
181
|
+
* indexterm directly in a list item's own principal text (not inside a
|
|
182
|
+
* `+`-continuation block attached to the item, which is itself a real
|
|
183
|
+
* Block and already reaches getSource() correctly through the normal
|
|
184
|
+
* path) has a parent with no getSource at all, so `parent?.getSource?.()`
|
|
185
|
+
* silently resolved to undefined and the term was dropped, not because
|
|
186
|
+
* traversal stopped (confirmed directly: the real engine visits every
|
|
187
|
+
* inline_indexterm node fine, later siblings included) but because this
|
|
188
|
+
* one node type's raw text was never reachable at all.
|
|
189
|
+
*
|
|
190
|
+
* Falls back to getSourceLocation() (needs `sourcemap: true` on the
|
|
191
|
+
* scanning processor.load() call below; without it every node's location
|
|
192
|
+
* is undefined too, confirmed directly), reading the line(s) directly
|
|
193
|
+
* from the same sanitized source text already being scanned. For a list
|
|
194
|
+
* item specifically, the end boundary is the next sibling item's own
|
|
195
|
+
* start line, found via getList()/getItems(); the last item in a list
|
|
196
|
+
* has no next sibling to bound it, so its own principal text is assumed
|
|
197
|
+
* to end at the first blank line or the end of the buffer, the same
|
|
198
|
+
* termination AsciiDoc itself uses for a plain (non-continuation) list
|
|
199
|
+
* item. Not a general block-boundary parser: scoped to this one
|
|
200
|
+
* confirmed gap, not a replacement for getSource() anywhere it already
|
|
201
|
+
* works.
|
|
202
|
+
*/
|
|
203
|
+
function sourceForParent(parent, sourceLines) {
|
|
204
|
+
if (!parent)
|
|
205
|
+
return undefined;
|
|
206
|
+
const direct = parent.getSource?.();
|
|
207
|
+
if (direct)
|
|
208
|
+
return direct;
|
|
209
|
+
const loc = parent.getSourceLocation?.();
|
|
210
|
+
const startLine = loc?.getLineNumber();
|
|
211
|
+
if (!startLine)
|
|
212
|
+
return undefined;
|
|
213
|
+
const startIdx = startLine - 1;
|
|
214
|
+
let endIdx = startIdx + 1;
|
|
215
|
+
if (parent.getContext?.() === 'list_item') {
|
|
216
|
+
const list = parent.getList?.();
|
|
217
|
+
const items = list?.getItems?.();
|
|
218
|
+
const ownIndex = items?.findIndex((item) => item === parent);
|
|
219
|
+
const nextItem = ownIndex !== undefined && ownIndex >= 0 ? items?.[ownIndex + 1] : undefined;
|
|
220
|
+
const nextLine = nextItem?.getSourceLocation?.()?.getLineNumber();
|
|
221
|
+
if (nextLine) {
|
|
222
|
+
endIdx = nextLine - 1;
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
while (endIdx < sourceLines.length && sourceLines[endIdx].trim() !== '')
|
|
226
|
+
endIdx++;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return sourceLines.slice(startIdx, endIdx).join('\n');
|
|
230
|
+
}
|
|
231
|
+
function CapturingConverter(liveBlocks, sourceLines) {
|
|
178
232
|
this.liveBlocks = liveBlocks;
|
|
233
|
+
this.sourceLines = sourceLines;
|
|
179
234
|
}
|
|
180
235
|
CapturingConverter.prototype.convert = function (node, transform) {
|
|
181
236
|
const t = transform || node.getNodeName();
|
|
182
237
|
if (t === 'inline_indexterm') {
|
|
183
238
|
const parent = node.getParent?.();
|
|
184
|
-
const source = parent
|
|
239
|
+
const source = sourceForParent(parent, this.sourceLines);
|
|
185
240
|
if (source)
|
|
186
241
|
this.liveBlocks.add(source);
|
|
187
242
|
}
|
|
@@ -189,10 +244,14 @@ CapturingConverter.prototype.convert = function (node, transform) {
|
|
|
189
244
|
};
|
|
190
245
|
/** Collects the raw source of every block that contains a live indexterm. */
|
|
191
246
|
function collectLiveBlockText(sourceText) {
|
|
247
|
+
const sanitized = sanitizeForScan(sourceText);
|
|
192
248
|
const liveBlocks = new Set();
|
|
193
|
-
const instance = new CapturingConverter(liveBlocks);
|
|
249
|
+
const instance = new CapturingConverter(liveBlocks, sanitized.split('\n'));
|
|
194
250
|
processor.ConverterFactory.register(instance, [SCAN_BACKEND]);
|
|
195
|
-
|
|
251
|
+
// sourcemap: true is required for getSourceLocation() to return
|
|
252
|
+
// anything at all (confirmed directly: every location is undefined
|
|
253
|
+
// without it), needed by sourceForParent's fallback above.
|
|
254
|
+
const doc = processor.load(sanitized, { safe: 'safe', backend: SCAN_BACKEND, sourcemap: true });
|
|
196
255
|
doc.convert();
|
|
197
256
|
return [...liveBlocks].join('\n');
|
|
198
257
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asciidoc-indexterms.js","sourceRoot":"","sources":["../../src/lib/asciidoc-indexterms.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkFG;;;;;AAkFH,0CAgBC;
|
|
1
|
+
{"version":3,"file":"asciidoc-indexterms.js","sourceRoot":"","sources":["../../src/lib/asciidoc-indexterms.ts"],"names":[],"mappings":"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"}
|