@baiyibai-antora/extensions 1.23.0 → 1.24.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 +6 -0
- package/dist/extensions/attribute-distiller/index.d.ts +16 -1
- package/dist/extensions/attribute-distiller/index.d.ts.map +1 -1
- package/dist/extensions/attribute-distiller/index.js +173 -21
- package/dist/extensions/attribute-distiller/index.js.map +1 -1
- package/package.json +1 -1
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.24.0] - 2026-09-21
|
|
7
|
+
|
|
8
|
+
=== Added
|
|
9
|
+
|
|
10
|
+
* attribute-distiller: an `inline` option writes each page's distilled definitions into the page itself, between a pair of AsciiDoc tag markers, in place of the per-module generated file and the include line pointing at it. `inline_tag` names the markers, `attribute-distiller-do-not-manually-edit` by default, so the rule that the build maintains the definitions is stated at both ends of the block and needs no separate file to be read from. The block holds the two markers and the definitions alone: it records no source commit, so a page changes only when its own definitions change, where the generated file records the repository HEAD and regenerates whenever a commit moves it. The first build with the option set migrates a repository in place, writing each page's block, removing each page's include line, and deleting the generated file each module carries, under its configured name and under `partials/_generated-attributes.adoc`. That deletion is the only one the extension performs, it reaches only a file the extension generates itself, and verify mode reports each such file as a finding rather than deleting it, as does a remote content origin. Reference scanning and page-local definition detection both read a page with its own block stripped out, so a page never satisfies its own injected references and the block survives the build after the one that wrote it; a definition sitting outside a complete pair of markers is an ordinary page-local definition, which takes precedence over a distilled one and is never rewritten, so a hand edit that breaks a marker costs the block and not the value. The default is unchanged, and a playbook that sets neither key keeps the generated file and the include line exactly as before. Twenty-two tests cover the written block, idempotency across repeated builds and across a commit that moves HEAD, migration from both generated-file names, orphaned files in a module whose pages reference nothing, duplicate and displaced blocks, a lost closing marker, CRLF pages, verify mode, a remote origin, a custom tag name, and composition with `lock_component_attributes`
|
|
11
|
+
|
|
6
12
|
== [1.23.0] - 2026-09-11
|
|
7
13
|
|
|
8
14
|
=== Fixed
|
|
@@ -22,11 +22,24 @@
|
|
|
22
22
|
* source: '' # repo path mode when set, overriding the partial
|
|
23
23
|
* generated_relative: 'partials/distilled-attributes.adoc'
|
|
24
24
|
* fail_on_stale: false
|
|
25
|
+
* inline: false # page-body tagged block instead of a generated file
|
|
26
|
+
* inline_tag: 'attribute-distiller-do-not-manually-edit'
|
|
25
27
|
*
|
|
26
28
|
* Write mode mutates page files, only ever inside a local git worktree; a
|
|
27
29
|
* page in a remote origin is treated as verify. The extension writes two
|
|
28
30
|
* file shapes and nothing else: the generated attribute file and one
|
|
29
|
-
* include line per impacted page. It
|
|
31
|
+
* include line per impacted page. It deletes nothing outside inline mode,
|
|
32
|
+
* whose one deletion is described below.
|
|
33
|
+
*
|
|
34
|
+
* Inline mode writes the definitions into the page itself instead, between
|
|
35
|
+
* a pair of AsciiDoc tag markers named by inline_tag, and generates no
|
|
36
|
+
* per-module file at all. The tag name carries the warning a separate
|
|
37
|
+
* generated file states in a comment header, so an editor reading only the
|
|
38
|
+
* page still reads the rule that the block is machine-written. Inline mode
|
|
39
|
+
* is therefore the one path that does delete: a generated file the module
|
|
40
|
+
* no longer needs is removed from the worktree, along with each page's
|
|
41
|
+
* include line, so a repository switching to inline carries neither shape
|
|
42
|
+
* afterwards.
|
|
30
43
|
*
|
|
31
44
|
* A page's include line is recognized under its current name or the
|
|
32
45
|
* pre-1.5.2 default (`partials/_generated-attributes.adoc`), and any extra
|
|
@@ -45,6 +58,8 @@ interface DistillerConfig {
|
|
|
45
58
|
generated_relative: string;
|
|
46
59
|
fail_on_stale: boolean;
|
|
47
60
|
lock_component_attributes: boolean;
|
|
61
|
+
inline: boolean;
|
|
62
|
+
inline_tag: string;
|
|
48
63
|
}
|
|
49
64
|
interface AntoraLogger {
|
|
50
65
|
debug?: (msg: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/attribute-distiller/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/attribute-distiller/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAMH,UAAU,eAAe;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,OAAO,CAAC;IACvB,yBAAyB,EAAE,OAAO,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;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;AASD,UAAU,MAAM;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IASb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,EAAE,CAAC;IAOvB,QAAQ,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;CACrD;AAED,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC/C,kBAAkB,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CAC/C;AAED,UAAU,QAAQ;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;CAC5C;AAED,UAAU,QAAQ;IAChB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC;IAC3C,IAAI,EAAE,CACJ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,OAAO,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,KAC/F,IAAI,CAAC;CACX;AA+cD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CAwShD"}
|
|
@@ -23,11 +23,24 @@
|
|
|
23
23
|
* source: '' # repo path mode when set, overriding the partial
|
|
24
24
|
* generated_relative: 'partials/distilled-attributes.adoc'
|
|
25
25
|
* fail_on_stale: false
|
|
26
|
+
* inline: false # page-body tagged block instead of a generated file
|
|
27
|
+
* inline_tag: 'attribute-distiller-do-not-manually-edit'
|
|
26
28
|
*
|
|
27
29
|
* Write mode mutates page files, only ever inside a local git worktree; a
|
|
28
30
|
* page in a remote origin is treated as verify. The extension writes two
|
|
29
31
|
* file shapes and nothing else: the generated attribute file and one
|
|
30
|
-
* include line per impacted page. It
|
|
32
|
+
* include line per impacted page. It deletes nothing outside inline mode,
|
|
33
|
+
* whose one deletion is described below.
|
|
34
|
+
*
|
|
35
|
+
* Inline mode writes the definitions into the page itself instead, between
|
|
36
|
+
* a pair of AsciiDoc tag markers named by inline_tag, and generates no
|
|
37
|
+
* per-module file at all. The tag name carries the warning a separate
|
|
38
|
+
* generated file states in a comment header, so an editor reading only the
|
|
39
|
+
* page still reads the rule that the block is machine-written. Inline mode
|
|
40
|
+
* is therefore the one path that does delete: a generated file the module
|
|
41
|
+
* no longer needs is removed from the worktree, along with each page's
|
|
42
|
+
* include line, so a repository switching to inline carries neither shape
|
|
43
|
+
* afterwards.
|
|
31
44
|
*
|
|
32
45
|
* A page's include line is recognized under its current name or the
|
|
33
46
|
* pre-1.5.2 default (`partials/_generated-attributes.adoc`), and any extra
|
|
@@ -104,6 +117,8 @@ function readConfig(playbook) {
|
|
|
104
117
|
generated_relative: 'partials/distilled-attributes.adoc',
|
|
105
118
|
fail_on_stale: false,
|
|
106
119
|
lock_component_attributes: false,
|
|
120
|
+
inline: false,
|
|
121
|
+
inline_tag: 'attribute-distiller-do-not-manually-edit',
|
|
107
122
|
};
|
|
108
123
|
const entries = playbook?.antora?.extensions || [];
|
|
109
124
|
const me = entries.find((e) => String(e?.require || '').includes('attribute-distiller')) || {};
|
|
@@ -131,6 +146,8 @@ function readConfig(playbook) {
|
|
|
131
146
|
generated_relative: pick(raw, ['generated_relative', 'generatedRelative'], defaults.generated_relative),
|
|
132
147
|
fail_on_stale: pick(raw, ['fail_on_stale', 'failOnStale'], defaults.fail_on_stale),
|
|
133
148
|
lock_component_attributes: pick(raw, ['lock_component_attributes', 'lockComponentAttributes'], defaults.lock_component_attributes),
|
|
149
|
+
inline: pick(raw, ['inline'], defaults.inline),
|
|
150
|
+
inline_tag: pick(raw, ['inline_tag', 'inlineTag'], defaults.inline_tag),
|
|
134
151
|
};
|
|
135
152
|
}
|
|
136
153
|
// Attribute definitions parse from `:name: value` lines; unset entries and
|
|
@@ -307,8 +324,12 @@ function resolveIncludeTarget(target, fromDir, moduleDir) {
|
|
|
307
324
|
return null;
|
|
308
325
|
return path.posix.normalize(path.posix.join(fromDir, target));
|
|
309
326
|
}
|
|
310
|
-
function collectReferences(file, filesByPath, moduleDir, visited, depth
|
|
311
|
-
|
|
327
|
+
function collectReferences(file, filesByPath, moduleDir, visited, depth,
|
|
328
|
+
// Inline mode reads the page without its own injected block; see
|
|
329
|
+
// stripInlineBlocks(). Only the entry file needs it, since the block is
|
|
330
|
+
// written into pages alone.
|
|
331
|
+
textOverride) {
|
|
332
|
+
const text = textOverride ?? file.contents.toString();
|
|
312
333
|
const found = referencedNames(text);
|
|
313
334
|
if (depth >= 10)
|
|
314
335
|
return found;
|
|
@@ -353,22 +374,108 @@ function inspectHeader(lines, includeRes) {
|
|
|
353
374
|
}
|
|
354
375
|
return info;
|
|
355
376
|
}
|
|
377
|
+
// Plain entries: attributes set by the playbook or the CLI are hard by
|
|
378
|
+
// default and already override document entries, so playbook control needs
|
|
379
|
+
// no modifier here; a trailing at-sign would be literal text.
|
|
380
|
+
function definitionLines(names, defs) {
|
|
381
|
+
return names.map((name) => {
|
|
382
|
+
const value = defs.get(name) || '';
|
|
383
|
+
return value ? `:${name}: ${value}` : `:${name}:`;
|
|
384
|
+
});
|
|
385
|
+
}
|
|
356
386
|
function generatedContent(sourceLabel, stamp, names, defs) {
|
|
357
387
|
const lines = [
|
|
358
388
|
`// Generated by attribute-distiller from ${sourceLabel}`,
|
|
359
389
|
`// source commit: ${stamp.hash}`,
|
|
360
390
|
`// commit date: ${stamp.date} UTC`,
|
|
361
391
|
'// Do not edit; definitions regenerate on the next build.',
|
|
392
|
+
...definitionLines(names, defs),
|
|
362
393
|
];
|
|
363
|
-
for (const name of names) {
|
|
364
|
-
const value = defs.get(name) || '';
|
|
365
|
-
// Plain entries: attributes set by the playbook or the CLI are hard by
|
|
366
|
-
// default and already override document entries, so playbook control
|
|
367
|
-
// needs no modifier here; a trailing at-sign would be literal text.
|
|
368
|
-
lines.push(value ? `:${name}: ${value}` : `:${name}:`);
|
|
369
|
-
}
|
|
370
394
|
return lines.join('\n') + '\n';
|
|
371
395
|
}
|
|
396
|
+
function escapeRe(text) {
|
|
397
|
+
return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
398
|
+
}
|
|
399
|
+
function inlineMarkers(tag) {
|
|
400
|
+
const name = escapeRe(tag);
|
|
401
|
+
return {
|
|
402
|
+
start: new RegExp(`^//\\s*tag::${name}\\[\\]$`),
|
|
403
|
+
end: new RegExp(`^//\\s*end::${name}\\[\\]$`),
|
|
404
|
+
};
|
|
405
|
+
}
|
|
406
|
+
// Every tagged block in the page, in document order. The scan reads the
|
|
407
|
+
// whole file rather than the header alone: the block is machine-written and
|
|
408
|
+
// its markers are unambiguous, so a block an earlier edit displaced is
|
|
409
|
+
// still recognized and rewritten rather than duplicated. An opener with no
|
|
410
|
+
// closer is a truncated block, reported as the opener line alone so the
|
|
411
|
+
// next write-mode pass repairs it in place.
|
|
412
|
+
function findInlineBlocks(lines, markers) {
|
|
413
|
+
const blocks = [];
|
|
414
|
+
let open = -1;
|
|
415
|
+
for (let i = 0; i < lines.length; i++) {
|
|
416
|
+
const line = stripCr(lines[i]);
|
|
417
|
+
if (open < 0) {
|
|
418
|
+
if (markers.start.test(line))
|
|
419
|
+
open = i;
|
|
420
|
+
}
|
|
421
|
+
else if (markers.end.test(line)) {
|
|
422
|
+
blocks.push({ start: open, end: i });
|
|
423
|
+
open = -1;
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
if (open >= 0)
|
|
427
|
+
blocks.push({ start: open, end: open });
|
|
428
|
+
return blocks;
|
|
429
|
+
}
|
|
430
|
+
// The page as it reads without its own injected definitions. Reference
|
|
431
|
+
// scanning and page-local definition detection both run against this view,
|
|
432
|
+
// so a page never satisfies its own distilled references, which would
|
|
433
|
+
// otherwise empty the block on the build after the one that wrote it.
|
|
434
|
+
function stripInlineBlocks(text, markers) {
|
|
435
|
+
const lines = text.split('\n');
|
|
436
|
+
const blocks = findInlineBlocks(lines, markers);
|
|
437
|
+
if (!blocks.length)
|
|
438
|
+
return text;
|
|
439
|
+
const drop = new Set();
|
|
440
|
+
for (const block of blocks)
|
|
441
|
+
for (let i = block.start; i <= block.end; i++)
|
|
442
|
+
drop.add(i);
|
|
443
|
+
return lines.filter((_, i) => !drop.has(i)).join('\n');
|
|
444
|
+
}
|
|
445
|
+
// The inline block carries the definitions and the two markers, nothing
|
|
446
|
+
// else. It records no source commit: a page in inline mode would otherwise
|
|
447
|
+
// be rewritten by every commit that moves the repository HEAD, turning an
|
|
448
|
+
// unrelated commit into a diff across every page that references a
|
|
449
|
+
// distilled attribute. A page changes here only when its own definitions
|
|
450
|
+
// change.
|
|
451
|
+
function inlineContent(tag, names, defs) {
|
|
452
|
+
return [`// tag::${tag}[]`, ...definitionLines(names, defs), `// end::${tag}[]`];
|
|
453
|
+
}
|
|
454
|
+
function sameLines(a, b) {
|
|
455
|
+
return a.length === b.length && a.every((line, i) => line === b[i]);
|
|
456
|
+
}
|
|
457
|
+
// The page's next state in inline mode, or null when it already reads that
|
|
458
|
+
// way. Every recognized block and every distiller include line is removed
|
|
459
|
+
// first, then a single current block is inserted after the doctitle of what
|
|
460
|
+
// remains. Rebuilding from the stripped page in one pass is what collapses
|
|
461
|
+
// duplicates, migrates a page arriving from include mode, and repositions a
|
|
462
|
+
// block that drifted, without any of those needing a case of its own.
|
|
463
|
+
function planInlinePage(lines, wanted, defs, tag, markers, includeRes) {
|
|
464
|
+
const drop = new Set();
|
|
465
|
+
for (const block of findInlineBlocks(lines, markers)) {
|
|
466
|
+
for (let i = block.start; i <= block.end; i++)
|
|
467
|
+
drop.add(i);
|
|
468
|
+
}
|
|
469
|
+
for (const i of inspectHeader(lines, includeRes).includeIndexes)
|
|
470
|
+
drop.add(i);
|
|
471
|
+
const stripped = drop.size ? lines.filter((_, i) => !drop.has(i)) : lines;
|
|
472
|
+
let next = stripped;
|
|
473
|
+
if (wanted.length) {
|
|
474
|
+
next = [...stripped];
|
|
475
|
+
next.splice(inspectHeader(stripped, includeRes).titleIndex + 1, 0, ...inlineContent(tag, wanted, defs));
|
|
476
|
+
}
|
|
477
|
+
return sameLines(next, lines) ? null : next;
|
|
478
|
+
}
|
|
372
479
|
function fileAbsPath(file) {
|
|
373
480
|
if (file.src?.abspath)
|
|
374
481
|
return file.src.abspath;
|
|
@@ -440,7 +547,7 @@ function register(context) {
|
|
|
440
547
|
}
|
|
441
548
|
const defOrder = [...defs.keys()];
|
|
442
549
|
const generatedBase = cfg.generated_relative.replace(/^\/+|\/+$/g, '');
|
|
443
|
-
const buildIncludeRe = (base) => new RegExp(`^include::(?:\\.\\./)+${base
|
|
550
|
+
const buildIncludeRe = (base) => new RegExp(`^include::(?:\\.\\./)+${escapeRe(base)}\\[\\]$`);
|
|
444
551
|
// The pre-1.5.2 default location, `_generated-attributes.adoc`. A
|
|
445
552
|
// repository upgrading from that default carries pages whose include
|
|
446
553
|
// still names it; recognizing it here migrates those lines onto the
|
|
@@ -452,7 +559,14 @@ function register(context) {
|
|
|
452
559
|
const includeRes = generatedBase === LEGACY_GENERATED_RELATIVE
|
|
453
560
|
? [includeRe]
|
|
454
561
|
: [includeRe, buildIncludeRe(LEGACY_GENERATED_RELATIVE)];
|
|
455
|
-
const
|
|
562
|
+
const markers = inlineMarkers(cfg.inline_tag);
|
|
563
|
+
// Inline mode supersedes every generated file the repository carries,
|
|
564
|
+
// under the current name and the pre-1.5.2 one alike.
|
|
565
|
+
const supersededBases = generatedBase === LEGACY_GENERATED_RELATIVE
|
|
566
|
+
? [generatedBase]
|
|
567
|
+
: [generatedBase, LEGACY_GENERATED_RELATIVE];
|
|
568
|
+
const supersededRe = new RegExp(`^modules/[^/]+/(?:${supersededBases.map(escapeRe).join('|')})$`);
|
|
569
|
+
const stats = { modulesWritten: 0, pagesUpdated: 0, filesDeleted: 0, staleFindings: [] };
|
|
456
570
|
for (const bucket of contentAggregate) {
|
|
457
571
|
// Group pages by module; index every file for include resolution.
|
|
458
572
|
const modules = new Map();
|
|
@@ -478,10 +592,11 @@ function register(context) {
|
|
|
478
592
|
const wantedByPage = new Map();
|
|
479
593
|
const moduleWanted = new Set();
|
|
480
594
|
for (const page of pages) {
|
|
481
|
-
const
|
|
595
|
+
const raw = page.contents.toString();
|
|
596
|
+
const text = cfg.inline ? stripInlineBlocks(raw, markers) : raw;
|
|
482
597
|
const lines = text.split('\n');
|
|
483
598
|
const header = inspectHeader(lines, includeRes);
|
|
484
|
-
const refs = collectReferences(page, filesByPath, moduleDir, new Set([generatedPath, page.path]), 0);
|
|
599
|
+
const refs = collectReferences(page, filesByPath, moduleDir, new Set([generatedPath, page.path]), 0, cfg.inline ? text : undefined);
|
|
485
600
|
const wanted = defOrder.filter((n) => refs.has(n) && !header.pageDefs.has(n));
|
|
486
601
|
wantedByPage.set(page, wanted);
|
|
487
602
|
for (const n of wanted) {
|
|
@@ -494,8 +609,10 @@ function register(context) {
|
|
|
494
609
|
const nextContent = generatedContent(sourceLabel, stamp, names, defs);
|
|
495
610
|
// The generated file: create or refresh when the module references
|
|
496
611
|
// anything; an existing file for a module that no longer references
|
|
497
|
-
// anything is emptied of definitions, never deleted.
|
|
498
|
-
|
|
612
|
+
// anything is emptied of definitions, never deleted. Inline mode
|
|
613
|
+
// writes no generated file at all; the sweep after this loop removes
|
|
614
|
+
// the ones a repository arrives with.
|
|
615
|
+
if (!cfg.inline && (names.length || existing)) {
|
|
499
616
|
const current = existing ? existing.contents.toString() : null;
|
|
500
617
|
if (current !== nextContent) {
|
|
501
618
|
if (existing ? writable(existing, cfg.mode) : writable(pages[0], cfg.mode)) {
|
|
@@ -534,9 +651,10 @@ function register(context) {
|
|
|
534
651
|
}
|
|
535
652
|
}
|
|
536
653
|
}
|
|
537
|
-
// The
|
|
654
|
+
// The injected lines per page: inserted after the doctitle when the
|
|
538
655
|
// page references distilled attributes, removed when it references
|
|
539
|
-
// none, left alone when already current.
|
|
656
|
+
// none, left alone when already current. Inline mode injects the
|
|
657
|
+
// tagged block of definitions, include mode the one include line.
|
|
540
658
|
for (const page of pages) {
|
|
541
659
|
const wanted = wantedByPage.get(page) || [];
|
|
542
660
|
const text = page.contents.toString();
|
|
@@ -545,7 +663,10 @@ function register(context) {
|
|
|
545
663
|
const depth = path.posix.relative(path.posix.dirname(page.path), moduleDir);
|
|
546
664
|
const includeLine = `include::${depth}/${generatedBase}[]`;
|
|
547
665
|
let nextLines = null;
|
|
548
|
-
if (
|
|
666
|
+
if (cfg.inline) {
|
|
667
|
+
nextLines = planInlinePage(lines, wanted, defs, cfg.inline_tag, markers, includeRes);
|
|
668
|
+
}
|
|
669
|
+
else if (wanted.length && header.includeIndexes.length === 0) {
|
|
549
670
|
nextLines = [...lines];
|
|
550
671
|
nextLines.splice(header.titleIndex + 1, 0, includeLine);
|
|
551
672
|
}
|
|
@@ -576,11 +697,41 @@ function register(context) {
|
|
|
576
697
|
fs.writeFileSync(abs, nextText);
|
|
577
698
|
stats.pagesUpdated++;
|
|
578
699
|
}
|
|
700
|
+
else if (cfg.inline) {
|
|
701
|
+
const action = !wanted.length
|
|
702
|
+
? 'removed'
|
|
703
|
+
: findInlineBlocks(lines, markers).length ? 'updated' : 'inserted';
|
|
704
|
+
stats.staleFindings.push(`${bucket.name}/${page.path} needs its attribute block ${action}`);
|
|
705
|
+
}
|
|
579
706
|
else {
|
|
580
707
|
stats.staleFindings.push(`${bucket.name}/${page.path} needs its attribute include ${wanted.length ? 'inserted' : 'removed'}`);
|
|
581
708
|
}
|
|
582
709
|
}
|
|
583
710
|
}
|
|
711
|
+
// Inline mode leaves no generated file behind: one a repository
|
|
712
|
+
// carries from include mode is removed from the worktree and from the
|
|
713
|
+
// aggregate, so the build that migrates the pages also clears the
|
|
714
|
+
// files they used to include. The sweep runs over the whole bucket
|
|
715
|
+
// rather than the module loop above, so a module whose pages were
|
|
716
|
+
// deleted or moved still loses its orphaned file.
|
|
717
|
+
if (cfg.inline) {
|
|
718
|
+
for (const file of [...bucket.files]) {
|
|
719
|
+
if (!supersededRe.test(file.path))
|
|
720
|
+
continue;
|
|
721
|
+
if (!writable(file, cfg.mode)) {
|
|
722
|
+
stats.staleFindings.push(`${bucket.name}/${file.path} is superseded by inline definitions and needs deleting`);
|
|
723
|
+
continue;
|
|
724
|
+
}
|
|
725
|
+
const abs = fileAbsPath(file);
|
|
726
|
+
if (abs && fs.existsSync(abs))
|
|
727
|
+
fs.unlinkSync(abs);
|
|
728
|
+
const at = bucket.files.indexOf(file);
|
|
729
|
+
if (at >= 0)
|
|
730
|
+
bucket.files.splice(at, 1);
|
|
731
|
+
stats.filesDeleted++;
|
|
732
|
+
logger.info(`removed ${bucket.name}/${file.path}, superseded by inline definitions`);
|
|
733
|
+
}
|
|
734
|
+
}
|
|
584
735
|
// Optional: register every distilled attribute this component-version
|
|
585
736
|
// actually references as a real component-version-level asciidoc
|
|
586
737
|
// attribute too, not only inside the generated partial's own page-
|
|
@@ -618,8 +769,9 @@ function register(context) {
|
|
|
618
769
|
logger.info(`attribute-distiller: locked ${bucketWanted.size} component-version attribute(s) for ${bucket.name}`);
|
|
619
770
|
}
|
|
620
771
|
}
|
|
621
|
-
if (stats.modulesWritten || stats.pagesUpdated) {
|
|
622
|
-
logger.info(`attribute-distiller: ${stats.modulesWritten} generated file(s), ${stats.pagesUpdated} page(s) updated`
|
|
772
|
+
if (stats.modulesWritten || stats.pagesUpdated || stats.filesDeleted) {
|
|
773
|
+
logger.info(`attribute-distiller: ${stats.modulesWritten} generated file(s), ${stats.pagesUpdated} page(s) updated` +
|
|
774
|
+
(stats.filesDeleted ? `, ${stats.filesDeleted} superseded file(s) removed` : ''));
|
|
623
775
|
}
|
|
624
776
|
for (const finding of stats.staleFindings)
|
|
625
777
|
logger.warn(`attribute-distiller: ${finding}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/attribute-distiller/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/attribute-distiller/index.ts"],"names":[],"mappings":"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"}
|