@baiyibai-antora/extensions 1.0.10 → 1.0.12

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/external-asset-downloader/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAUD,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,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAClD;AAED,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAChC;AAED,UAAU,QAAQ;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;KAC/B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;KAC3B,CAAC;CACH;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;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CAC3F;AA4nBD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CA4ChD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/external-asset-downloader/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;CACtB;AAUD,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,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAClD;AAED,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAChC;AAED,UAAU,QAAQ;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;KAC/B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;KAC3B,CAAC;CACH;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;QAAE,QAAQ,EAAE,QAAQ,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;CAC3F;AAipBD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,CA4ChD"}
@@ -260,60 +260,62 @@ function parseAntoraYmlForUrls(content, cfg) {
260
260
  }
261
261
  return { active, commented };
262
262
  }
263
- function isLocalSource(url) {
264
- return url.startsWith('.') || url.startsWith('/') || /^[a-zA-Z]:/.test(url);
263
+ function isLocalUrl(url) {
264
+ return !url || url === '.' || url === './' ||
265
+ url.startsWith('/') || url.startsWith('./') ||
266
+ url.startsWith('.\\') || /^[a-zA-Z]:[\\\/]/.test(url);
265
267
  }
266
- function resolveStartPaths(source) {
267
- const raw = source.start_paths ?? source.startPaths;
268
- if (raw !== undefined) {
269
- return Array.isArray(raw) ? raw : String(raw).split(',').map((s) => s.trim()).filter(Boolean);
270
- }
271
- return [source.start_path ?? source.startPath ?? ''];
272
- }
273
- async function getImageUrlsFromAntoraYml(playbook, logger, cfg) {
274
- const playbookDir = playbook.dir ?? process.cwd();
268
+ function getAntoraYmlCandidates(playbook, logger) {
269
+ const candidates = [];
270
+ const baseDir = playbook.dir || process.cwd();
275
271
  const sources = playbook.content?.sources ?? [];
276
- const allActive = new Set();
277
- const allCommented = new Set();
278
272
  for (const source of sources) {
279
- if (!isLocalSource(source.url))
273
+ const url = source.url || '';
274
+ if (!isLocalUrl(url))
280
275
  continue;
281
- const sourceDir = path.resolve(playbookDir, source.url);
282
- for (const startPath of resolveStartPaths(source)) {
283
- const compDir = startPath ? path.join(sourceDir, startPath) : sourceDir;
284
- const ymlPath = path.join(compDir, 'antora.yml');
285
- try {
286
- const content = await fsp.readFile(ymlPath, 'utf8');
287
- logger.debug(`Found antora.yml at: ${ymlPath}`);
288
- const { active, commented } = parseAntoraYmlForUrls(content, cfg);
289
- active.forEach((u) => allActive.add(u));
290
- commented.forEach((u) => allCommented.add(u));
291
- }
292
- catch (err) {
293
- if (err.code !== 'ENOENT') {
294
- logger.warn(`Error reading ${ymlPath}: ${err.message}`);
295
- }
276
+ const sourceRoot = path.resolve(baseDir, url);
277
+ const startPaths = source.start_paths
278
+ ? (Array.isArray(source.start_paths) ? source.start_paths : [source.start_paths])
279
+ : source.startPaths
280
+ ? (Array.isArray(source.startPaths) ? source.startPaths : [source.startPaths])
281
+ : source.start_path
282
+ ? [source.start_path]
283
+ : source.startPath
284
+ ? [source.startPath]
285
+ : [];
286
+ if (startPaths.length > 0) {
287
+ for (const sp of startPaths) {
288
+ candidates.push(path.join(sourceRoot, sp, 'antora.yml'));
296
289
  }
297
290
  }
291
+ else {
292
+ candidates.push(path.join(sourceRoot, 'antora.yml'));
293
+ }
298
294
  }
299
- if (allActive.size)
300
- return [...allActive];
301
- if (allCommented.size)
302
- return [...allCommented];
303
- // Fallback: check hardcoded candidate paths
304
- const candidates = [
305
- path.join(playbookDir, 'antora.yml'),
306
- path.join(process.cwd(), 'antora.yml'),
307
- ];
308
- for (const p of candidates) {
295
+ // Fallback: if no local sources found, try original hardcoded paths
296
+ if (candidates.length === 0) {
297
+ candidates.push(path.join(baseDir, 'antora.yml'));
298
+ if (process.cwd() !== baseDir) {
299
+ candidates.push(path.join(process.cwd(), 'antora.yml'));
300
+ }
301
+ }
302
+ logger.debug(`antora.yml candidates: ${candidates.join(', ')}`);
303
+ return candidates;
304
+ }
305
+ async function getImageUrlsFromAntoraYml(playbook, logger, cfg) {
306
+ const candidatePaths = getAntoraYmlCandidates(playbook, logger);
307
+ const allActive = [];
308
+ const allCommented = [];
309
+ for (const p of candidatePaths) {
309
310
  try {
310
311
  const content = await fsp.readFile(p, 'utf8');
311
- logger.debug(`Found antora.yml at: ${p} (fallback)`);
312
+ const componentDir = path.dirname(p);
313
+ logger.debug(`Found antora.yml at: ${p} (componentDir: ${componentDir})`);
312
314
  const { active, commented } = parseAntoraYmlForUrls(content, cfg);
313
- if (active.length)
314
- return active;
315
- if (commented.length)
316
- return commented;
315
+ for (const url of active)
316
+ allActive.push({ url, componentDir });
317
+ for (const url of commented)
318
+ allCommented.push({ url, componentDir });
317
319
  }
318
320
  catch (err) {
319
321
  if (err.code !== 'ENOENT') {
@@ -321,8 +323,19 @@ async function getImageUrlsFromAntoraYml(playbook, logger, cfg) {
321
323
  }
322
324
  }
323
325
  }
324
- logger.debug('No antora.yml with image URLs found');
325
- return [];
326
+ if (allActive.length === 0 && allCommented.length === 0) {
327
+ logger.debug('No remote image URLs found in any antora.yml');
328
+ return [];
329
+ }
330
+ const entries = allActive.length > 0 ? allActive : allCommented;
331
+ const seen = new Set();
332
+ return entries.filter((e) => {
333
+ const key = `${e.url}|${e.componentDir}`;
334
+ if (seen.has(key))
335
+ return false;
336
+ seen.add(key);
337
+ return true;
338
+ });
326
339
  }
327
340
  function scrapeApacheFileSizes(html, fileUrls) {
328
341
  const sizes = new Map();
@@ -545,17 +558,18 @@ async function downloadImages(playbook, logger, cfg) {
545
558
  const totalStats = { downloaded: 0, skipped: 0, failed: 0, total: 0, bytes: 0 };
546
559
  try {
547
560
  logger.debug('Scanning for remote image URLs');
548
- const imageUrls = await getImageUrlsFromAntoraYml(playbook, logger, cfg);
549
- if (imageUrls.length === 0) {
561
+ const imageEntries = await getImageUrlsFromAntoraYml(playbook, logger, cfg);
562
+ if (imageEntries.length === 0) {
550
563
  logger.debug('No remote image URLs configured. Skipping download.');
551
564
  return totalStats;
552
565
  }
553
- logger.debug(`Found ${imageUrls.length} image URL(s) to fetch`);
554
- const imagesDir = path.join(playbook.dir || process.cwd(), cfg.target_dir);
555
- await ensureDir(imagesDir);
556
- for (const imageUrl of imageUrls) {
566
+ logger.debug(`Found ${imageEntries.length} image URL(s) to fetch`);
567
+ for (const entry of imageEntries) {
568
+ const { url: imageUrl, componentDir } = entry;
569
+ const imagesDir = path.join(componentDir, cfg.target_dir);
570
+ await ensureDir(imagesDir);
557
571
  const urlNoParams = imageUrl.split('?')[0];
558
- logger.debug(`Downloading images from: ${imageUrl}`);
572
+ logger.debug(`Downloading images from: ${imageUrl} → ${imagesDir}`);
559
573
  if (looksLikeDirectory(urlNoParams)) {
560
574
  const stats = await downloadDirectory(imageUrl, imagesDir, logger, {
561
575
  overwrite: cfg.overwrite,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/external-asset-downloader/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/external-asset-downloader/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @baiyibai-antora/extensions - trademark-it
3
+ *
4
+ * Scans the Antora content catalog for known trademark terms and injects a
5
+ * generated AsciiDoc partial containing only the trademarks found in each
6
+ * component-version. The partial is injected as:
7
+ *
8
+ * modules/ROOT/partials/generated-trademark-table.adoc
9
+ *
10
+ * Documents replace the old [type="trademarks"] table block with:
11
+ *
12
+ * include::partial$generated-trademark-table.adoc[]
13
+ *
14
+ * Configuration in antora-playbook.yml:
15
+ *
16
+ * antora:
17
+ * extensions:
18
+ * - require: '@baiyibai-antora/extensions/trademark-it'
19
+ * trademark_it:
20
+ * enabled: true
21
+ * # Antora resource ID of the trademark definition partial.
22
+ * # Format: [version@]component:module:family$relative
23
+ * trademark_file: 'ROOT:partial$trademark-table.adoc'
24
+ * # Name of the generated partial injected into every component-version.
25
+ * output_partial: 'generated-trademark-table.adoc'
26
+ * # Terms to exclude from detection, comma-separated (or as a YAML list).
27
+ * ignore: []
28
+ * # Column widths for the generated table (AsciiDoc cols attribute).
29
+ * cols: '22,78'
30
+ */
31
+ interface TrademarkItConfig {
32
+ enabled: boolean;
33
+ trademark_file: string;
34
+ output_partial: string;
35
+ ignore: string[];
36
+ cols: string;
37
+ }
38
+ interface TrademarkEntry {
39
+ /** Term as written in source, with symbol: e.g. "Apple®" */
40
+ primaryTerm: string;
41
+ /** Base term with symbol stripped: e.g. "Apple" */
42
+ baseTerm: string;
43
+ /** Full legal declaration sentence from the table */
44
+ declaration: string;
45
+ /** All base terms that resolve to this entry (includes baseTerm itself) */
46
+ combinedTerms: string[];
47
+ /** Human-readable list with Oxford comma */
48
+ combinedTermList: string;
49
+ /** Primary terms with symbols for display in left column */
50
+ combinedPrimaryTerms: string[];
51
+ }
52
+ interface AntoraLogger {
53
+ debug?: (msg: string) => void;
54
+ info?: (msg: string) => void;
55
+ warn?: (msg: string) => void;
56
+ error?: (msg: string) => void;
57
+ }
58
+ interface ExtensionEntry {
59
+ require?: string;
60
+ trademark_it?: Partial<TrademarkItConfig>;
61
+ trademarkIt?: Partial<TrademarkItConfig>;
62
+ trademarkit?: Partial<TrademarkItConfig>;
63
+ }
64
+ interface Playbook {
65
+ dir: string;
66
+ antora?: {
67
+ extensions?: ExtensionEntry[];
68
+ };
69
+ }
70
+ interface VirtualFileSrc {
71
+ path?: string;
72
+ family?: string;
73
+ component?: string;
74
+ version?: string;
75
+ module?: string;
76
+ relative?: string;
77
+ basename?: string;
78
+ stem?: string;
79
+ extname?: string;
80
+ editUrl?: string;
81
+ origin?: unknown;
82
+ mediaType?: string;
83
+ }
84
+ interface VirtualFile {
85
+ src: VirtualFileSrc;
86
+ contents: Buffer | Uint8Array;
87
+ pub?: unknown;
88
+ out?: unknown;
89
+ }
90
+ interface ContentCatalog {
91
+ getFiles: () => VirtualFile[];
92
+ addFile: (file: VirtualFile) => void;
93
+ }
94
+ interface Registry {
95
+ getLogger?: (name: string) => AntoraLogger;
96
+ once: (event: string, callback: (context: {
97
+ playbook: Playbook;
98
+ contentCatalog?: ContentCatalog;
99
+ }) => Promise<void>) => void;
100
+ }
101
+ export declare function formatList(terms: string[]): string;
102
+ /**
103
+ * Parse the trademark definition AsciiDoc file and return a map of
104
+ * baseTerm → TrademarkEntry. The ignore list (bare terms, no symbols)
105
+ * is applied here.
106
+ *
107
+ * Port of trademark-it.rb parse_trademarks + alias resolution.
108
+ */
109
+ export declare function parseTrademarks(asciidocText: string, ignore?: string[]): Map<string, TrademarkEntry>;
110
+ /**
111
+ * Scan source text for trademark terms. Returns the set of matched base
112
+ * terms (keys in the trademarks map).
113
+ */
114
+ export declare function findTrademarks(sourceText: string, trademarks: Map<string, TrademarkEntry>): Set<string>;
115
+ /**
116
+ * Generate the content of the injected partial.
117
+ *
118
+ * Entries are sorted alphabetically by base term (case-insensitive),
119
+ * matching the Ruby sorted_data behaviour.
120
+ */
121
+ export declare function generateTrademarkPartial(foundBaseTerms: Set<string>, trademarks: Map<string, TrademarkEntry>, cols?: string): string;
122
+ export declare function register(this: Registry, context?: Registry): void;
123
+ export {};
124
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/trademark-it/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,558 @@
1
+ "use strict";
2
+ /**
3
+ * @baiyibai-antora/extensions - trademark-it
4
+ *
5
+ * Scans the Antora content catalog for known trademark terms and injects a
6
+ * generated AsciiDoc partial containing only the trademarks found in each
7
+ * component-version. The partial is injected as:
8
+ *
9
+ * modules/ROOT/partials/generated-trademark-table.adoc
10
+ *
11
+ * Documents replace the old [type="trademarks"] table block with:
12
+ *
13
+ * include::partial$generated-trademark-table.adoc[]
14
+ *
15
+ * Configuration in antora-playbook.yml:
16
+ *
17
+ * antora:
18
+ * extensions:
19
+ * - require: '@baiyibai-antora/extensions/trademark-it'
20
+ * trademark_it:
21
+ * enabled: true
22
+ * # Antora resource ID of the trademark definition partial.
23
+ * # Format: [version@]component:module:family$relative
24
+ * trademark_file: 'ROOT:partial$trademark-table.adoc'
25
+ * # Name of the generated partial injected into every component-version.
26
+ * output_partial: 'generated-trademark-table.adoc'
27
+ * # Terms to exclude from detection, comma-separated (or as a YAML list).
28
+ * ignore: []
29
+ * # Column widths for the generated table (AsciiDoc cols attribute).
30
+ * cols: '22,78'
31
+ */
32
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
33
+ if (k2 === undefined) k2 = k;
34
+ var desc = Object.getOwnPropertyDescriptor(m, k);
35
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
36
+ desc = { enumerable: true, get: function() { return m[k]; } };
37
+ }
38
+ Object.defineProperty(o, k2, desc);
39
+ }) : (function(o, m, k, k2) {
40
+ if (k2 === undefined) k2 = k;
41
+ o[k2] = m[k];
42
+ }));
43
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
44
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
45
+ }) : function(o, v) {
46
+ o["default"] = v;
47
+ });
48
+ var __importStar = (this && this.__importStar) || (function () {
49
+ var ownKeys = function(o) {
50
+ ownKeys = Object.getOwnPropertyNames || function (o) {
51
+ var ar = [];
52
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
53
+ return ar;
54
+ };
55
+ return ownKeys(o);
56
+ };
57
+ return function (mod) {
58
+ if (mod && mod.__esModule) return mod;
59
+ var result = {};
60
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
61
+ __setModuleDefault(result, mod);
62
+ return result;
63
+ };
64
+ })();
65
+ Object.defineProperty(exports, "__esModule", { value: true });
66
+ exports.formatList = formatList;
67
+ exports.parseTrademarks = parseTrademarks;
68
+ exports.findTrademarks = findTrademarks;
69
+ exports.generateTrademarkPartial = generateTrademarkPartial;
70
+ exports.register = register;
71
+ const fs = __importStar(require("node:fs"));
72
+ // ---------------------------------------------------------------------------
73
+ // Logging helpers (mirrors vale-integration style)
74
+ // ---------------------------------------------------------------------------
75
+ function nowISO() {
76
+ return new Date().toISOString().split('T')[1].replace('Z', '');
77
+ }
78
+ function makeLogger(hostLogger) {
79
+ return {
80
+ debug: (m) => { if (hostLogger?.debug)
81
+ hostLogger.debug(m);
82
+ else
83
+ console.debug(m); },
84
+ info: (m) => { if (hostLogger?.info)
85
+ hostLogger.info(m);
86
+ else
87
+ console.log(m); },
88
+ warn: (m) => { if (hostLogger?.warn)
89
+ hostLogger.warn(m);
90
+ else
91
+ console.warn(m); },
92
+ error: (m) => { if (hostLogger?.error)
93
+ hostLogger.error(m);
94
+ else
95
+ console.error(m); },
96
+ event: (m) => console.log(`[${nowISO()}] \x1b[94mEVENT\x1b[0m (trademark-it): \x1b[94m${m}\x1b[0m`),
97
+ };
98
+ }
99
+ // ---------------------------------------------------------------------------
100
+ // Config helpers (mirrors vale-integration style)
101
+ // ---------------------------------------------------------------------------
102
+ function toBool(v, def) {
103
+ if (v === true)
104
+ return true;
105
+ if (v === false)
106
+ return false;
107
+ if (typeof v === 'string') {
108
+ const s = v.trim().toLowerCase();
109
+ if (['true', '1', 'yes', 'on'].includes(s))
110
+ return true;
111
+ if (['false', '0', 'no', 'off'].includes(s))
112
+ return false;
113
+ }
114
+ return def;
115
+ }
116
+ function pick(obj, keys, def) {
117
+ for (const k of keys) {
118
+ if (obj && obj[k] !== undefined)
119
+ return obj[k];
120
+ }
121
+ return def;
122
+ }
123
+ function ensureStringArray(v) {
124
+ if (Array.isArray(v))
125
+ return v.map(String);
126
+ if (typeof v === 'string' && v.trim())
127
+ return v.split(',').map((s) => s.trim()).filter(Boolean);
128
+ return [];
129
+ }
130
+ // ---------------------------------------------------------------------------
131
+ // Oxford-comma list formatter (port of format_combined_term_list in Ruby)
132
+ // ---------------------------------------------------------------------------
133
+ function formatList(terms) {
134
+ if (terms.length === 0)
135
+ return '';
136
+ if (terms.length === 1)
137
+ return terms[0];
138
+ if (terms.length === 2)
139
+ return `${terms[0]} and ${terms[1]}`;
140
+ return `${terms.slice(0, -1).join(', ')}, and ${terms[terms.length - 1]}`;
141
+ }
142
+ // ---------------------------------------------------------------------------
143
+ // AsciiDoc table parser (port of parse_trademarks in Ruby)
144
+ //
145
+ // Parses the 5-column trademark table:
146
+ // |Term |Trademark Statement |Date |Verified By |URL
147
+ //
148
+ // Alias detection: if the Statement column matches the bare text of another
149
+ // term key, the row is treated as a redirect (alias → canonical entry).
150
+ // ---------------------------------------------------------------------------
151
+ /**
152
+ * Strip ™ and ® symbols from a string.
153
+ */
154
+ function stripSymbols(s) {
155
+ return s.replace(/[™®]/g, '').trim();
156
+ }
157
+ /**
158
+ * Parse an AsciiDoc table into an array of string-cell rows.
159
+ * Handles the `|cell` style used in the trademark table.
160
+ *
161
+ * The table format is:
162
+ * |===
163
+ * |col0
164
+ * |col1
165
+ * ...
166
+ * |===
167
+ *
168
+ * Rows are separated by blank lines between cell groups, OR by having
169
+ * each cell on its own line (the style used in trademark-table.adoc).
170
+ * We collect all `|…` tokens after the header row and group them by
171
+ * the column count declared in the [cols=…] attribute.
172
+ */
173
+ function parseTrademarkTable(asciidocText) {
174
+ const rows = [];
175
+ // Find the table body between |=== delimiters.
176
+ const tableMatch = asciidocText.match(/\|={3,}([\s\S]*?)\|={3,}/);
177
+ if (!tableMatch)
178
+ return rows;
179
+ const tableBody = tableMatch[1];
180
+ // Determine column count from [cols="…"] attribute if present.
181
+ // Default to 5 (matching the trademark-table.adoc format).
182
+ let colCount = 5;
183
+ const colsMatch = asciidocText.match(/\[cols\s*=\s*["']([^"']+)["']/);
184
+ if (colsMatch) {
185
+ // Count comma-separated entries; handle repeat syntax like "3*1"
186
+ colCount = colsMatch[1].split(',').length;
187
+ }
188
+ // Extract all cell values. The trademark table uses two styles:
189
+ // • Header row — all cells inline on one line, each prefixed with |:
190
+ // |Term |Statement |Date |Verified By |URL
191
+ // • Data rows — one cell per line, each on its own line:
192
+ // |Apple®
193
+ // |Apple is a registered trademark…
194
+ //
195
+ // We detect inline multi-cell lines by splitting on | and checking whether
196
+ // more than one non-empty segment results.
197
+ const cells = [];
198
+ for (const raw of tableBody.split('\n')) {
199
+ const line = raw.trim();
200
+ if (!line || line === '|===')
201
+ continue;
202
+ if (!line.startsWith('|'))
203
+ continue;
204
+ // Split on | — the first segment before the leading | will be empty.
205
+ const parts = line.split('|').map((p) => p.trim()).filter((p) => p !== '');
206
+ if (parts.length > 1) {
207
+ // Inline multi-cell row (e.g. the header).
208
+ cells.push(...parts);
209
+ }
210
+ else {
211
+ // Single-cell-per-line row (all data rows).
212
+ cells.push(line.slice(1).trim());
213
+ }
214
+ }
215
+ // Group cells into rows of colCount.
216
+ for (let i = 0; i + colCount - 1 < cells.length; i += colCount) {
217
+ rows.push(cells.slice(i, i + colCount));
218
+ }
219
+ return rows;
220
+ }
221
+ /**
222
+ * Parse the trademark definition AsciiDoc file and return a map of
223
+ * baseTerm → TrademarkEntry. The ignore list (bare terms, no symbols)
224
+ * is applied here.
225
+ *
226
+ * Port of trademark-it.rb parse_trademarks + alias resolution.
227
+ */
228
+ function parseTrademarks(asciidocText, ignore = []) {
229
+ const trademarks = new Map();
230
+ // redirects[canonicalBase] = [aliasBase, ...]
231
+ const redirects = new Map();
232
+ const rows = parseTrademarkTable(asciidocText);
233
+ if (rows.length === 0)
234
+ return trademarks;
235
+ // Skip header row (options="header" means row[0] is the header).
236
+ const dataRows = rows.slice(1);
237
+ // Build the set of all base terms for redirect detection.
238
+ const allBaseTerms = new Set(dataRows.map((r) => stripSymbols(r[0])));
239
+ for (const row of dataRows) {
240
+ const term = row[0].trim(); // e.g. "Apple®"
241
+ const statement = row[1].trim(); // declaration or redirect target
242
+ const baseTerm = stripSymbols(term); // e.g. "Apple"
243
+ if (ignore.includes(baseTerm))
244
+ continue;
245
+ const statementBase = stripSymbols(statement); // strip symbols from statement for redirect test
246
+ if (allBaseTerms.has(statementBase) && statementBase !== baseTerm) {
247
+ // This row is an alias: statement column names another term key.
248
+ // e.g. |iOS® | Apple | → redirects["Apple"] += "iOS"
249
+ const existing = redirects.get(statementBase) ?? [];
250
+ existing.push(baseTerm);
251
+ redirects.set(statementBase, existing);
252
+ }
253
+ else {
254
+ trademarks.set(baseTerm, {
255
+ primaryTerm: term,
256
+ baseTerm,
257
+ declaration: statement,
258
+ combinedTerms: [baseTerm],
259
+ combinedTermList: baseTerm,
260
+ combinedPrimaryTerms: [term],
261
+ });
262
+ }
263
+ }
264
+ // Resolve redirects: merge aliases into their canonical entry.
265
+ for (const [canonical, aliases] of redirects) {
266
+ const entry = trademarks.get(canonical);
267
+ if (!entry)
268
+ continue;
269
+ // Combined terms: aliases first, then the canonical base term.
270
+ const combinedBases = [...aliases, canonical];
271
+ // Build combined primary terms (with symbols) by looking up each base.
272
+ // Aliases only exist as redirects — we need to find their original term
273
+ // strings. Re-scan rows to recover the symbol form.
274
+ const aliasTermMap = new Map();
275
+ for (const row of dataRows) {
276
+ const b = stripSymbols(row[0]);
277
+ if (aliases.includes(b))
278
+ aliasTermMap.set(b, row[0].trim());
279
+ }
280
+ const combinedPrimary = [...aliases.map((a) => aliasTermMap.get(a) ?? a), entry.primaryTerm];
281
+ entry.combinedTerms = combinedBases;
282
+ entry.combinedTermList = formatList(combinedBases);
283
+ entry.combinedPrimaryTerms = combinedPrimary;
284
+ }
285
+ // Ensure every entry has combinedTermList set (entries with no aliases).
286
+ for (const entry of trademarks.values()) {
287
+ if (entry.combinedTermList === entry.baseTerm) {
288
+ entry.combinedTermList = formatList(entry.combinedTerms);
289
+ entry.combinedPrimaryTerms = entry.combinedPrimaryTerms.length
290
+ ? entry.combinedPrimaryTerms
291
+ : [entry.primaryTerm];
292
+ }
293
+ }
294
+ return trademarks;
295
+ }
296
+ // ---------------------------------------------------------------------------
297
+ // Text scanner
298
+ //
299
+ // Scans raw AsciiDoc source text for trademark base terms using whole-word
300
+ // regex. Multi-word terms (e.g. "Final Cut Pro") are handled correctly.
301
+ // Returns the set of base terms found.
302
+ // ---------------------------------------------------------------------------
303
+ function escapeRegex(s) {
304
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
305
+ }
306
+ /**
307
+ * Scan source text for trademark terms. Returns the set of matched base
308
+ * terms (keys in the trademarks map).
309
+ */
310
+ function findTrademarks(sourceText, trademarks) {
311
+ const found = new Set();
312
+ for (const entry of trademarks.values()) {
313
+ // Check the canonical base term and every alias.
314
+ const termsToCheck = entry.combinedTerms;
315
+ for (const term of termsToCheck) {
316
+ const pattern = new RegExp(`\\b${escapeRegex(term)}\\b`, 'i');
317
+ if (pattern.test(sourceText)) {
318
+ found.add(entry.baseTerm);
319
+ break; // one match is enough for this canonical entry
320
+ }
321
+ }
322
+ }
323
+ return found;
324
+ }
325
+ // ---------------------------------------------------------------------------
326
+ // Declaration generator
327
+ //
328
+ // Port of the declaration-building logic in trademark_it() in Ruby.
329
+ // Builds the right-column text: combined term list + verb + declaration phrase.
330
+ // ---------------------------------------------------------------------------
331
+ /**
332
+ * Build the declaration text for the right column of the output table.
333
+ *
334
+ * Ruby original:
335
+ * declaration_phrase = data[:declaration].sub(/^.*?(?: is | are )/, '')
336
+ * if terms_count > 1
337
+ * declaration_phrase.gsub!(/\ba registered trademark\b/i, 'registered trademarks')
338
+ * declaration_phrase.gsub!(/\ba trademark\b/i, 'trademarks')
339
+ * end
340
+ * right_text = "#{combined_term_str} #{verb_phrase} #{declaration_phrase}".strip
341
+ */
342
+ function buildDeclaration(entry) {
343
+ const terms = entry.combinedTerms;
344
+ const count = terms.length;
345
+ const verb = count > 1 ? 'are' : 'is';
346
+ const termList = formatList(terms);
347
+ // Strip the original subject from the declaration sentence.
348
+ // e.g. "Apple is a registered trademark of Apple Inc."
349
+ // → "a registered trademark of Apple Inc."
350
+ let phrase = entry.declaration.replace(/^.*?(?= is | are )/, '').replace(/^ (is|are) /, '');
351
+ if (count > 1) {
352
+ phrase = phrase
353
+ .replace(/\ba registered trademark\b/gi, 'registered trademarks')
354
+ .replace(/\ba trademark\b/gi, 'trademarks');
355
+ }
356
+ return `${termList} ${verb} ${phrase}`.trim();
357
+ }
358
+ // ---------------------------------------------------------------------------
359
+ // AsciiDoc partial generator
360
+ // ---------------------------------------------------------------------------
361
+ /**
362
+ * Generate the content of the injected partial.
363
+ *
364
+ * Entries are sorted alphabetically by base term (case-insensitive),
365
+ * matching the Ruby sorted_data behaviour.
366
+ */
367
+ function generateTrademarkPartial(foundBaseTerms, trademarks, cols = '22,78') {
368
+ const matched = [...trademarks.values()]
369
+ .filter((e) => foundBaseTerms.has(e.baseTerm))
370
+ .sort((a, b) => a.baseTerm.toLowerCase().localeCompare(b.baseTerm.toLowerCase()));
371
+ if (matched.length === 0) {
372
+ return '// No trademark terms detected in this component.\n';
373
+ }
374
+ const lines = [
375
+ '// Auto-generated by antora-trademark-it. Do not edit.',
376
+ `[cols="${cols}", frame=none, grid=none]`,
377
+ '|===',
378
+ ];
379
+ for (const entry of matched) {
380
+ const leftCol = formatList(entry.combinedPrimaryTerms);
381
+ const rightCol = buildDeclaration(entry);
382
+ lines.push(`|${leftCol}`);
383
+ lines.push(`|${rightCol}`);
384
+ lines.push('');
385
+ }
386
+ lines.push('|===');
387
+ lines.push('');
388
+ return lines.join('\n');
389
+ }
390
+ // ---------------------------------------------------------------------------
391
+ // Antora extension entry point
392
+ // ---------------------------------------------------------------------------
393
+ function register(context) {
394
+ // Support both `this`-style and argument-style registration.
395
+ const ctx = context ?? this;
396
+ const logger = makeLogger(ctx.getLogger ? ctx.getLogger('trademark-it') : undefined);
397
+ let cfg = {
398
+ enabled: true,
399
+ trademark_file: 'ROOT:partial$trademark-table.adoc',
400
+ output_partial: 'generated-trademark-table.adoc',
401
+ ignore: [],
402
+ cols: '22,78',
403
+ };
404
+ ctx.once('playbookBuilt', async ({ playbook }) => {
405
+ const extEntry = (playbook?.antora?.extensions ?? []).find((ext) => {
406
+ const req = String(ext.require ?? '');
407
+ return req.includes('trademark-it') || req.includes('trademark_it');
408
+ }) ?? {};
409
+ const raw = extEntry.trademark_it ??
410
+ extEntry.trademarkIt ??
411
+ extEntry.trademarkit ??
412
+ {};
413
+ const rawRec = raw;
414
+ cfg = {
415
+ enabled: toBool(pick(rawRec, ['enabled'], cfg.enabled), cfg.enabled),
416
+ trademark_file: String(pick(rawRec, ['trademark_file', 'trademarkFile', 'trademarkfile'], cfg.trademark_file)),
417
+ output_partial: String(pick(rawRec, ['output_partial', 'outputPartial', 'outputpartial'], cfg.output_partial)),
418
+ ignore: ensureStringArray(pick(rawRec, ['ignore'], cfg.ignore)),
419
+ cols: String(pick(rawRec, ['cols'], cfg.cols)),
420
+ };
421
+ logger.debug(`trademark-it config: ${JSON.stringify(cfg)}`);
422
+ });
423
+ ctx.once('contentClassified', async ({ playbook, contentCatalog }) => {
424
+ if (!cfg.enabled) {
425
+ logger.debug('trademark-it disabled (skipped)');
426
+ return;
427
+ }
428
+ if (!contentCatalog) {
429
+ logger.error('contentCatalog is missing');
430
+ return;
431
+ }
432
+ logger.event('trademark-it starting');
433
+ // -----------------------------------------------------------------------
434
+ // 1. Locate and parse the trademark definition file.
435
+ // -----------------------------------------------------------------------
436
+ const trademarkFileContent = resolveTrademarkFile(cfg.trademark_file, contentCatalog, playbook, logger);
437
+ if (!trademarkFileContent) {
438
+ logger.error(`trademark-it: could not locate trademark file "${cfg.trademark_file}". Skipping.`);
439
+ return;
440
+ }
441
+ const trademarks = parseTrademarks(trademarkFileContent, cfg.ignore);
442
+ logger.debug(`trademark-it: parsed ${trademarks.size} canonical trademark entries`);
443
+ // -----------------------------------------------------------------------
444
+ // 2. Build list of component-versions present in the catalog.
445
+ // -----------------------------------------------------------------------
446
+ const componentVersions = getComponentVersions(contentCatalog);
447
+ logger.debug(`trademark-it: processing ${componentVersions.size} component-version(s)`);
448
+ // -----------------------------------------------------------------------
449
+ // 3. For each component-version: scan pages + partials, generate partial.
450
+ // -----------------------------------------------------------------------
451
+ for (const [component, versions] of componentVersions) {
452
+ for (const version of versions) {
453
+ const scanFiles = contentCatalog.getFiles().filter((f) => f.src.component === component &&
454
+ f.src.version === version &&
455
+ (f.src.family === 'page' || f.src.family === 'partial'));
456
+ if (scanFiles.length === 0)
457
+ continue;
458
+ // Concatenate all source text for this component-version.
459
+ const combinedText = scanFiles
460
+ .map((f) => f.contents.toString('utf8'))
461
+ .join('\n');
462
+ const found = findTrademarks(combinedText, trademarks);
463
+ logger.debug(`trademark-it: ${component}@${version} — scanned ${scanFiles.length} files, found ${found.size} trademark(s)`);
464
+ const partialContent = generateTrademarkPartial(found, trademarks, cfg.cols);
465
+ // -----------------------------------------------------------------------
466
+ // 4. Inject generated partial into catalog.
467
+ // -----------------------------------------------------------------------
468
+ const relative = cfg.output_partial;
469
+ const basename = relative.split('/').pop() ?? relative;
470
+ const stem = basename.replace(/\.[^.]+$/, '');
471
+ const extname = basename.includes('.') ? `.${basename.split('.').pop()}` : '';
472
+ contentCatalog.addFile({
473
+ contents: Buffer.from(partialContent, 'utf8'),
474
+ src: {
475
+ component,
476
+ version,
477
+ module: 'ROOT',
478
+ family: 'partial',
479
+ relative,
480
+ path: `modules/ROOT/partials/${relative}`,
481
+ basename,
482
+ stem,
483
+ extname,
484
+ mediaType: 'text/asciidoc',
485
+ origin: undefined,
486
+ },
487
+ });
488
+ logger.debug(`trademark-it: injected partial$${relative} into ${component}@${version}`);
489
+ }
490
+ }
491
+ logger.event('trademark-it finished');
492
+ });
493
+ }
494
+ // ---------------------------------------------------------------------------
495
+ // Helpers
496
+ // ---------------------------------------------------------------------------
497
+ /**
498
+ * Locate the trademark definition file.
499
+ *
500
+ * Tries three strategies in order:
501
+ * 1. Antora resource ID lookup via getFiles() filter.
502
+ * 2. Filesystem path (absolute or playbook-relative).
503
+ * 3. Filename-only match across all catalog partials.
504
+ */
505
+ function resolveTrademarkFile(trademarkFileRef, contentCatalog, playbook, logger) {
506
+ // Strategy 1: catalog lookup by partial path / resource ID components.
507
+ // Accept formats like: "ROOT:partial$trademark-table.adoc"
508
+ // or "1.0@trademarks:ROOT:partial$trademark-table.adoc"
509
+ const catalogFile = contentCatalog.getFiles().find((f) => {
510
+ if (f.src.family !== 'partial')
511
+ return false;
512
+ const rel = f.src.relative ?? '';
513
+ const resourceId = `${f.src.module ?? 'ROOT'}:partial$${rel}`;
514
+ // Match against the end of the provided ref so short refs work.
515
+ return (resourceId === trademarkFileRef ||
516
+ resourceId.endsWith(trademarkFileRef) ||
517
+ rel === trademarkFileRef ||
518
+ rel.endsWith(trademarkFileRef));
519
+ });
520
+ if (catalogFile) {
521
+ logger.debug(`trademark-it: trademark file resolved from catalog (${catalogFile.src.path})`);
522
+ return catalogFile.contents.toString('utf8');
523
+ }
524
+ // Strategy 2: filesystem path.
525
+ const fsPath = trademarkFileRef.startsWith('/')
526
+ ? trademarkFileRef
527
+ : `${playbook.dir}/${trademarkFileRef}`;
528
+ if (fs.existsSync(fsPath)) {
529
+ logger.debug(`trademark-it: trademark file resolved from filesystem (${fsPath})`);
530
+ return fs.readFileSync(fsPath, 'utf8');
531
+ }
532
+ // Strategy 3: basename-only match against all catalog partials.
533
+ const basename = trademarkFileRef.split(/[\\/]/).pop() ?? trademarkFileRef;
534
+ const fallback = contentCatalog.getFiles().find((f) => f.src.family === 'partial' && f.src.basename === basename);
535
+ if (fallback) {
536
+ logger.debug(`trademark-it: trademark file resolved by basename fallback (${fallback.src.path})`);
537
+ return fallback.contents.toString('utf8');
538
+ }
539
+ return null;
540
+ }
541
+ /**
542
+ * Derive the set of unique component-version pairs from the catalog.
543
+ * Returns a Map<component, Set<version>>.
544
+ */
545
+ function getComponentVersions(contentCatalog) {
546
+ const result = new Map();
547
+ for (const f of contentCatalog.getFiles()) {
548
+ const c = f.src.component;
549
+ const v = f.src.version;
550
+ if (!c || !v)
551
+ continue;
552
+ const versions = result.get(c) ?? new Set();
553
+ versions.add(v);
554
+ result.set(c, versions);
555
+ }
556
+ return result;
557
+ }
558
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/trademark-it/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.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "Antora extensions and AsciiDoc macros for Baiyibai documentation",
5
5
  "keywords": [
6
6
  "antora",
@@ -50,6 +50,10 @@
50
50
  "./list-of-site": {
51
51
  "require": "./dist/extensions/list-of-site/index.js",
52
52
  "types": "./dist/extensions/list-of-site/index.d.ts"
53
+ },
54
+ "./trademark-it": {
55
+ "require": "./dist/extensions/trademark-it/index.js",
56
+ "types": "./dist/extensions/trademark-it/index.d.ts"
53
57
  }
54
58
  },
55
59
  "files": [