docrev 0.10.2 → 0.11.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/dist/lib/anchor-match.d.ts +3 -1
- package/dist/lib/anchor-match.d.ts.map +1 -1
- package/dist/lib/anchor-match.js +5 -7
- package/dist/lib/anchor-match.js.map +1 -1
- package/dist/lib/annotations.d.ts +0 -6
- package/dist/lib/annotations.d.ts.map +1 -1
- package/dist/lib/annotations.js +26 -8
- package/dist/lib/annotations.js.map +1 -1
- package/dist/lib/build.d.ts.map +1 -1
- package/dist/lib/build.js +9 -6
- package/dist/lib/build.js.map +1 -1
- package/dist/lib/commands/build.d.ts.map +1 -1
- package/dist/lib/commands/build.js +5 -0
- package/dist/lib/commands/build.js.map +1 -1
- package/dist/lib/commands/doi.d.ts.map +1 -1
- package/dist/lib/commands/doi.js +14 -2
- package/dist/lib/commands/doi.js.map +1 -1
- package/dist/lib/commands/sync.d.ts.map +1 -1
- package/dist/lib/commands/sync.js +24 -11
- package/dist/lib/commands/sync.js.map +1 -1
- package/dist/lib/comment-realign.d.ts +12 -21
- package/dist/lib/comment-realign.d.ts.map +1 -1
- package/dist/lib/comment-realign.js +40 -348
- package/dist/lib/comment-realign.js.map +1 -1
- package/dist/lib/dependencies.d.ts +10 -0
- package/dist/lib/dependencies.d.ts.map +1 -1
- package/dist/lib/dependencies.js +41 -9
- package/dist/lib/dependencies.js.map +1 -1
- package/dist/lib/doi.d.ts.map +1 -1
- package/dist/lib/doi.js +68 -80
- package/dist/lib/doi.js.map +1 -1
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +3 -1
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/import.d.ts +7 -4
- package/dist/lib/import.d.ts.map +1 -1
- package/dist/lib/import.js +58 -62
- package/dist/lib/import.js.map +1 -1
- package/dist/lib/ooxml.d.ts +207 -0
- package/dist/lib/ooxml.d.ts.map +1 -0
- package/dist/lib/ooxml.js +634 -0
- package/dist/lib/ooxml.js.map +1 -0
- package/dist/lib/rate-limiter.d.ts +8 -0
- package/dist/lib/rate-limiter.d.ts.map +1 -1
- package/dist/lib/rate-limiter.js +41 -4
- package/dist/lib/rate-limiter.js.map +1 -1
- package/dist/lib/types.d.ts +9 -1
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/word-extraction.d.ts.map +1 -1
- package/dist/lib/word-extraction.js +48 -307
- package/dist/lib/word-extraction.js.map +1 -1
- package/dist/lib/word.d.ts.map +1 -1
- package/dist/lib/word.js +80 -175
- package/dist/lib/word.js.map +1 -1
- package/dist/lib/wordcomments.d.ts.map +1 -1
- package/dist/lib/wordcomments.js +53 -92
- package/dist/lib/wordcomments.js.map +1 -1
- package/docs-src/build.py +113 -113
- package/docs-src/extra.css +208 -208
- package/docs-src/md-to-html.lua +6 -6
- package/docs-src/template.html +116 -116
- package/lib/anchor-match.ts +6 -7
- package/lib/annotations.ts +28 -8
- package/lib/build.ts +10 -6
- package/lib/commands/build.ts +5 -0
- package/lib/commands/doi.ts +17 -1
- package/lib/commands/sync.ts +26 -13
- package/lib/comment-realign.ts +46 -464
- package/lib/dependencies.ts +43 -9
- package/lib/doi.ts +76 -94
- package/lib/errors.ts +5 -1
- package/lib/import.ts +65 -70
- package/lib/ooxml.ts +768 -0
- package/lib/rate-limiter.ts +37 -4
- package/lib/types.ts +9 -1
- package/lib/word-extraction.ts +49 -330
- package/lib/word.ts +86 -203
- package/lib/wordcomments.ts +53 -104
- package/mkdocs.yml +64 -64
- package/package.json +1 -1
- package/issues.md +0 -180
- package/site/assets/extra.css +0 -208
- package/site/commands.html +0 -926
- package/site/configuration.html +0 -469
- package/site/index.html +0 -288
- package/site/troubleshooting.html +0 -461
- package/site/workflow.html +0 -518
package/dist/lib/wordcomments.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
import * as fs from 'fs';
|
|
13
13
|
import AdmZip from 'adm-zip';
|
|
14
14
|
import { escapeXml } from './utils.js';
|
|
15
|
+
import { indexTextRuns } from './ooxml.js';
|
|
15
16
|
const MARKER_START_PREFIX = '⟦CMS:';
|
|
16
17
|
const MARKER_END_PREFIX = '⟦CME:';
|
|
17
18
|
const MARKER_SUFFIX = '⟧';
|
|
@@ -383,7 +384,25 @@ export async function injectCommentsAtMarkers(docxPath, comments, outputPath) {
|
|
|
383
384
|
}
|
|
384
385
|
}
|
|
385
386
|
const injectedIds = new Set();
|
|
386
|
-
//
|
|
387
|
+
// Locate the enclosing run of each marker structurally, so placement never
|
|
388
|
+
// scans backwards for the nearest `<w:r`. Markers that pandoc duplicated
|
|
389
|
+
// into attributes (e.g. <wp:docPr descr="...">) are not inside a <w:t>, so
|
|
390
|
+
// they never appear in the index and cannot mislead the placement.
|
|
391
|
+
// See: https://github.com/gcol33/docrev/issues/4
|
|
392
|
+
//
|
|
393
|
+
// The index is rebuilt each iteration against the current document: two
|
|
394
|
+
// markers can share one run, so splicing one run invalidates offsets into
|
|
395
|
+
// it for the next marker.
|
|
396
|
+
const findMarkerSlot = (slots, marker) => {
|
|
397
|
+
for (const slot of slots) {
|
|
398
|
+
const rel = slot.content.indexOf(marker);
|
|
399
|
+
if (rel >= 0)
|
|
400
|
+
return { slot, rel };
|
|
401
|
+
}
|
|
402
|
+
return null;
|
|
403
|
+
};
|
|
404
|
+
// Process only parent comments (non-replies) for document ranges, from the
|
|
405
|
+
// last document position backwards.
|
|
387
406
|
const parentComments = commentsWithIds.filter(c => !c.isReply);
|
|
388
407
|
for (let i = parentComments.length - 1; i >= 0; i--) {
|
|
389
408
|
const comment = parentComments[i];
|
|
@@ -392,71 +411,17 @@ export async function injectCommentsAtMarkers(docxPath, comments, outputPath) {
|
|
|
392
411
|
const idx = comment.commentIdx;
|
|
393
412
|
const startMarker = `${MARKER_START_PREFIX}${idx}${MARKER_SUFFIX}`;
|
|
394
413
|
const endMarker = `${MARKER_END_PREFIX}${idx}${MARKER_SUFFIX}`;
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
// is inside an XML tag (last unbalanced '<' before position).
|
|
400
|
-
// See: https://github.com/gcol33/docrev/issues/4
|
|
401
|
-
function findInTextContent(haystack, needle, fromIdx = 0) {
|
|
402
|
-
let i = fromIdx;
|
|
403
|
-
while (true) {
|
|
404
|
-
const p = haystack.indexOf(needle, i);
|
|
405
|
-
if (p < 0)
|
|
406
|
-
return -1;
|
|
407
|
-
const lastLt = haystack.lastIndexOf('<', p);
|
|
408
|
-
const lastGt = haystack.lastIndexOf('>', p);
|
|
409
|
-
if (lastLt > lastGt) {
|
|
410
|
-
i = p + 1;
|
|
411
|
-
continue;
|
|
412
|
-
}
|
|
413
|
-
return p;
|
|
414
|
-
}
|
|
415
|
-
}
|
|
416
|
-
const startPos = findInTextContent(documentXml, startMarker);
|
|
417
|
-
const endPos = startPos === -1
|
|
418
|
-
? -1
|
|
419
|
-
: findInTextContent(documentXml, endMarker, startPos + startMarker.length);
|
|
420
|
-
if (startPos === -1 || endPos === -1)
|
|
421
|
-
continue;
|
|
422
|
-
// Find the runs containing each marker. Pandoc may split a single
|
|
423
|
-
// markdown anchor across multiple <w:r> blocks when it applies styling
|
|
424
|
-
// mid-anchor (smart-quote substitution, *italic*, `code`, **bold**).
|
|
425
|
-
// The same-run path (current happy path) collapses into the multi-run
|
|
426
|
-
// path when start and end runs coincide.
|
|
427
|
-
const startRunOpen = Math.max(documentXml.lastIndexOf('<w:r>', startPos), documentXml.lastIndexOf('<w:r ', startPos));
|
|
428
|
-
const startRunCloseIdx = documentXml.indexOf('</w:r>', startPos);
|
|
429
|
-
const endRunOpen = Math.max(documentXml.lastIndexOf('<w:r>', endPos), documentXml.lastIndexOf('<w:r ', endPos));
|
|
430
|
-
const endRunCloseIdx = documentXml.indexOf('</w:r>', endPos);
|
|
431
|
-
if (startRunOpen === -1 || startRunCloseIdx === -1 ||
|
|
432
|
-
endRunOpen === -1 || endRunCloseIdx === -1)
|
|
414
|
+
const slots = indexTextRuns(documentXml);
|
|
415
|
+
const startHit = findMarkerSlot(slots, startMarker);
|
|
416
|
+
const endHit = startHit ? findMarkerSlot(slots, endMarker) : null;
|
|
417
|
+
if (!startHit || !endHit)
|
|
433
418
|
continue;
|
|
434
|
-
const
|
|
435
|
-
const
|
|
436
|
-
const
|
|
437
|
-
const
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
// and so the post-anchor textAfter render keeps the end run's styling.
|
|
441
|
-
function dissectRun(runXml, marker) {
|
|
442
|
-
const rPrMatch = runXml.match(/<w:rPr>[\s\S]*?<\/w:rPr>/);
|
|
443
|
-
const tMatch = runXml.match(/<w:t[^>]*>([\s\S]*?)<\/w:t>/);
|
|
444
|
-
if (!tMatch)
|
|
445
|
-
return null;
|
|
446
|
-
const tOpenMatch = tMatch[0].match(/<w:t[^>]*>/);
|
|
447
|
-
if (!tOpenMatch)
|
|
448
|
-
return null;
|
|
449
|
-
const tContent = tMatch[1] ?? '';
|
|
450
|
-
const markerInT = tContent.indexOf(marker);
|
|
451
|
-
if (markerInT === -1)
|
|
452
|
-
return null;
|
|
453
|
-
return {
|
|
454
|
-
rPr: rPrMatch ? rPrMatch[0] : '',
|
|
455
|
-
tElement: tOpenMatch[0],
|
|
456
|
-
textBefore: tContent.slice(0, markerInT),
|
|
457
|
-
textAfter: tContent.slice(markerInT + marker.length),
|
|
458
|
-
};
|
|
459
|
-
}
|
|
419
|
+
const startSlot = startHit.slot;
|
|
420
|
+
const endSlot = endHit.slot;
|
|
421
|
+
const startRunOpen = startSlot.runOpenStart;
|
|
422
|
+
const startRunClose = startSlot.runCloseEnd;
|
|
423
|
+
const endRunOpen = endSlot.runOpenStart;
|
|
424
|
+
const endRunClose = endSlot.runCloseEnd;
|
|
460
425
|
let replacement = '';
|
|
461
426
|
const replies = commentsWithIds.filter(c => c.isReply && c.parentIdx === comment?.commentIdx);
|
|
462
427
|
const emitRangeStarts = () => {
|
|
@@ -475,18 +440,16 @@ export async function injectCommentsAtMarkers(docxPath, comments, outputPath) {
|
|
|
475
440
|
}
|
|
476
441
|
};
|
|
477
442
|
if (startRunOpen === endRunOpen) {
|
|
478
|
-
// Same-run path: both markers live inside one <w:t>.
|
|
479
|
-
const
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
const
|
|
483
|
-
const endInTextRel = startInfo.textAfter.indexOf(endMarker);
|
|
443
|
+
// Same-run path: both markers live inside one <w:t>.
|
|
444
|
+
const rPr = startSlot.rPr;
|
|
445
|
+
const tElement = startSlot.tOpenTag;
|
|
446
|
+
const afterStart = startSlot.content.slice(startHit.rel + startMarker.length);
|
|
447
|
+
const endInTextRel = afterStart.indexOf(endMarker);
|
|
484
448
|
if (endInTextRel === -1)
|
|
485
449
|
continue;
|
|
486
|
-
|
|
487
|
-
let
|
|
488
|
-
let
|
|
489
|
-
let textBefore = startInfo.textBefore;
|
|
450
|
+
let textBefore = startSlot.content.slice(0, startHit.rel);
|
|
451
|
+
let anchorText = afterStart.slice(0, endInTextRel);
|
|
452
|
+
let textAfter = afterStart.slice(endInTextRel + endMarker.length);
|
|
490
453
|
// Empty anchor: borrow the next word so the comment has something
|
|
491
454
|
// to anchor on. Then normalize the trailing double space.
|
|
492
455
|
if (!anchorText && textAfter) {
|
|
@@ -499,18 +462,16 @@ export async function injectCommentsAtMarkers(docxPath, comments, outputPath) {
|
|
|
499
462
|
if (!anchorText && textBefore.endsWith(' ') && textAfter.startsWith(' ')) {
|
|
500
463
|
textAfter = textAfter.slice(1);
|
|
501
464
|
}
|
|
502
|
-
// Suppress unused warning for pre-empty-anchor fullText var
|
|
503
|
-
void fullText;
|
|
504
465
|
if (textBefore) {
|
|
505
|
-
replacement += `<w:r>${
|
|
466
|
+
replacement += `<w:r>${rPr}${tElement}${textBefore}</w:t></w:r>`;
|
|
506
467
|
}
|
|
507
468
|
emitRangeStarts();
|
|
508
469
|
if (anchorText) {
|
|
509
|
-
replacement += `<w:r>${
|
|
470
|
+
replacement += `<w:r>${rPr}${tElement}${anchorText}</w:t></w:r>`;
|
|
510
471
|
}
|
|
511
472
|
emitRangeEnds();
|
|
512
473
|
if (textAfter) {
|
|
513
|
-
replacement += `<w:r>${
|
|
474
|
+
replacement += `<w:r>${rPr}${tElement}${textAfter}</w:t></w:r>`;
|
|
514
475
|
}
|
|
515
476
|
documentXml = documentXml.slice(0, startRunOpen) + replacement + documentXml.slice(startRunClose);
|
|
516
477
|
injectedIds.add(comment.id);
|
|
@@ -520,25 +481,25 @@ export async function injectCommentsAtMarkers(docxPath, comments, outputPath) {
|
|
|
520
481
|
// applied mid-anchor styling. Split the start run at the start marker,
|
|
521
482
|
// keep all middle runs verbatim (they carry the styled anchor portions),
|
|
522
483
|
// split the end run at the end marker.
|
|
523
|
-
const
|
|
524
|
-
const
|
|
525
|
-
|
|
526
|
-
|
|
484
|
+
const startTextBefore = startSlot.content.slice(0, startHit.rel);
|
|
485
|
+
const startTextAfter = startSlot.content.slice(startHit.rel + startMarker.length);
|
|
486
|
+
const endTextBefore = endSlot.content.slice(0, endHit.rel);
|
|
487
|
+
const endTextAfter = endSlot.content.slice(endHit.rel + endMarker.length);
|
|
527
488
|
const middle = documentXml.slice(startRunClose, endRunOpen);
|
|
528
|
-
if (
|
|
529
|
-
replacement += `<w:r>${
|
|
489
|
+
if (startTextBefore) {
|
|
490
|
+
replacement += `<w:r>${startSlot.rPr}${startSlot.tOpenTag}${startTextBefore}</w:t></w:r>`;
|
|
530
491
|
}
|
|
531
492
|
emitRangeStarts();
|
|
532
|
-
if (
|
|
533
|
-
replacement += `<w:r>${
|
|
493
|
+
if (startTextAfter) {
|
|
494
|
+
replacement += `<w:r>${startSlot.rPr}${startSlot.tOpenTag}${startTextAfter}</w:t></w:r>`;
|
|
534
495
|
}
|
|
535
496
|
replacement += middle;
|
|
536
|
-
if (
|
|
537
|
-
replacement += `<w:r>${
|
|
497
|
+
if (endTextBefore) {
|
|
498
|
+
replacement += `<w:r>${endSlot.rPr}${endSlot.tOpenTag}${endTextBefore}</w:t></w:r>`;
|
|
538
499
|
}
|
|
539
500
|
emitRangeEnds();
|
|
540
|
-
if (
|
|
541
|
-
replacement += `<w:r>${
|
|
501
|
+
if (endTextAfter) {
|
|
502
|
+
replacement += `<w:r>${endSlot.rPr}${endSlot.tOpenTag}${endTextAfter}</w:t></w:r>`;
|
|
542
503
|
}
|
|
543
504
|
documentXml = documentXml.slice(0, startRunOpen) + replacement + documentXml.slice(endRunClose);
|
|
544
505
|
injectedIds.add(comment.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wordcomments.js","sourceRoot":"","sources":["../../lib/wordcomments.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wordcomments.js","sourceRoot":"","sources":["../../lib/wordcomments.ts"],"names":[],"mappings":"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"}
|
package/docs-src/build.py
CHANGED
|
@@ -1,113 +1,113 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
Build the docrev documentation site using pandoc + Bootstrap 5 Sandstone.
|
|
4
|
-
|
|
5
|
-
Usage (from project root):
|
|
6
|
-
python docs-src/build.py # build to site/
|
|
7
|
-
python docs-src/build.py --serve # build + open index.html
|
|
8
|
-
python docs-src/build.py --deploy # build + push to gh-pages
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
import argparse
|
|
12
|
-
import json
|
|
13
|
-
import shutil
|
|
14
|
-
import subprocess
|
|
15
|
-
import sys
|
|
16
|
-
import webbrowser
|
|
17
|
-
from pathlib import Path
|
|
18
|
-
|
|
19
|
-
HERE = Path(__file__).parent # docs-src/
|
|
20
|
-
PROJECT = HERE.parent # project root
|
|
21
|
-
DOCS = PROJECT / "docs"
|
|
22
|
-
SITE = PROJECT / "site"
|
|
23
|
-
TEMPLATE = HERE / "template.html"
|
|
24
|
-
EXTRA_CSS = HERE / "extra.css"
|
|
25
|
-
LUA_FILTER = HERE / "md-to-html.lua"
|
|
26
|
-
|
|
27
|
-
PAGES = [
|
|
28
|
-
# (source md, output html, page title, active-key, toc)
|
|
29
|
-
("index.md", "index.html", "Home", "active-home", False),
|
|
30
|
-
("workflow.md", "workflow.html", "Get Started", "active-workflow", True),
|
|
31
|
-
("commands.md", "commands.html", "Commands", "active-commands", True),
|
|
32
|
-
("configuration.md", "configuration.html", "Configuration", "active-configuration", True),
|
|
33
|
-
("troubleshooting.md","troubleshooting.html","Troubleshooting","active-troubleshooting",True),
|
|
34
|
-
]
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
def get_version() -> str:
|
|
38
|
-
pkg = PROJECT / "package.json"
|
|
39
|
-
if pkg.exists():
|
|
40
|
-
return json.loads(pkg.read_text())["version"]
|
|
41
|
-
return ""
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def build_page(md_name, html_name, title, active_key, use_toc, version):
|
|
45
|
-
src = DOCS / md_name
|
|
46
|
-
dst = SITE / html_name
|
|
47
|
-
|
|
48
|
-
cmd = [
|
|
49
|
-
"pandoc", str(src),
|
|
50
|
-
"--template", str(TEMPLATE),
|
|
51
|
-
"--to", "html5",
|
|
52
|
-
"--from", "markdown+smart+definition_lists",
|
|
53
|
-
"--highlight-style", "pygments",
|
|
54
|
-
"--lua-filter", str(LUA_FILTER),
|
|
55
|
-
"--metadata", f"title={title}",
|
|
56
|
-
"--metadata", f"pagetitle={title}",
|
|
57
|
-
"--metadata", f"version={version}",
|
|
58
|
-
"--metadata", f"{active_key}=true",
|
|
59
|
-
"--output", str(dst),
|
|
60
|
-
]
|
|
61
|
-
|
|
62
|
-
if use_toc:
|
|
63
|
-
cmd += ["--toc", "--toc-depth=3"]
|
|
64
|
-
|
|
65
|
-
result = subprocess.run(cmd, capture_output=True, text=True)
|
|
66
|
-
if result.returncode != 0:
|
|
67
|
-
print(f" ERROR: {md_name}")
|
|
68
|
-
print(result.stderr)
|
|
69
|
-
return False
|
|
70
|
-
|
|
71
|
-
print(f" {html_name}")
|
|
72
|
-
return True
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
def build(deploy=False, serve=False):
|
|
76
|
-
if SITE.exists():
|
|
77
|
-
shutil.rmtree(SITE)
|
|
78
|
-
SITE.mkdir()
|
|
79
|
-
assets = SITE / "assets"
|
|
80
|
-
assets.mkdir()
|
|
81
|
-
|
|
82
|
-
shutil.copy(EXTRA_CSS, assets / "extra.css")
|
|
83
|
-
|
|
84
|
-
version = get_version()
|
|
85
|
-
print(f"Building docrev {version} → site/")
|
|
86
|
-
|
|
87
|
-
ok = all(build_page(*p, version) for p in PAGES)
|
|
88
|
-
|
|
89
|
-
if not ok:
|
|
90
|
-
sys.exit(1)
|
|
91
|
-
|
|
92
|
-
print("Done.")
|
|
93
|
-
|
|
94
|
-
if serve:
|
|
95
|
-
webbrowser.open(str(SITE / "index.html"))
|
|
96
|
-
|
|
97
|
-
if deploy:
|
|
98
|
-
print("\nDeploying to gh-pages …")
|
|
99
|
-
result = subprocess.run(
|
|
100
|
-
["python", "-m", "ghp_import", "-n", "-p", "-f", str(SITE)],
|
|
101
|
-
cwd=PROJECT,
|
|
102
|
-
)
|
|
103
|
-
if result.returncode != 0:
|
|
104
|
-
sys.exit(result.returncode)
|
|
105
|
-
print("Deployed.")
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
if __name__ == "__main__":
|
|
109
|
-
parser = argparse.ArgumentParser()
|
|
110
|
-
parser.add_argument("--serve", action="store_true", help="Open index.html after build")
|
|
111
|
-
parser.add_argument("--deploy", action="store_true", help="Push site/ to gh-pages")
|
|
112
|
-
args = parser.parse_args()
|
|
113
|
-
build(deploy=args.deploy, serve=args.serve)
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Build the docrev documentation site using pandoc + Bootstrap 5 Sandstone.
|
|
4
|
+
|
|
5
|
+
Usage (from project root):
|
|
6
|
+
python docs-src/build.py # build to site/
|
|
7
|
+
python docs-src/build.py --serve # build + open index.html
|
|
8
|
+
python docs-src/build.py --deploy # build + push to gh-pages
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
import argparse
|
|
12
|
+
import json
|
|
13
|
+
import shutil
|
|
14
|
+
import subprocess
|
|
15
|
+
import sys
|
|
16
|
+
import webbrowser
|
|
17
|
+
from pathlib import Path
|
|
18
|
+
|
|
19
|
+
HERE = Path(__file__).parent # docs-src/
|
|
20
|
+
PROJECT = HERE.parent # project root
|
|
21
|
+
DOCS = PROJECT / "docs"
|
|
22
|
+
SITE = PROJECT / "site"
|
|
23
|
+
TEMPLATE = HERE / "template.html"
|
|
24
|
+
EXTRA_CSS = HERE / "extra.css"
|
|
25
|
+
LUA_FILTER = HERE / "md-to-html.lua"
|
|
26
|
+
|
|
27
|
+
PAGES = [
|
|
28
|
+
# (source md, output html, page title, active-key, toc)
|
|
29
|
+
("index.md", "index.html", "Home", "active-home", False),
|
|
30
|
+
("workflow.md", "workflow.html", "Get Started", "active-workflow", True),
|
|
31
|
+
("commands.md", "commands.html", "Commands", "active-commands", True),
|
|
32
|
+
("configuration.md", "configuration.html", "Configuration", "active-configuration", True),
|
|
33
|
+
("troubleshooting.md","troubleshooting.html","Troubleshooting","active-troubleshooting",True),
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def get_version() -> str:
|
|
38
|
+
pkg = PROJECT / "package.json"
|
|
39
|
+
if pkg.exists():
|
|
40
|
+
return json.loads(pkg.read_text())["version"]
|
|
41
|
+
return ""
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def build_page(md_name, html_name, title, active_key, use_toc, version):
|
|
45
|
+
src = DOCS / md_name
|
|
46
|
+
dst = SITE / html_name
|
|
47
|
+
|
|
48
|
+
cmd = [
|
|
49
|
+
"pandoc", str(src),
|
|
50
|
+
"--template", str(TEMPLATE),
|
|
51
|
+
"--to", "html5",
|
|
52
|
+
"--from", "markdown+smart+definition_lists",
|
|
53
|
+
"--highlight-style", "pygments",
|
|
54
|
+
"--lua-filter", str(LUA_FILTER),
|
|
55
|
+
"--metadata", f"title={title}",
|
|
56
|
+
"--metadata", f"pagetitle={title}",
|
|
57
|
+
"--metadata", f"version={version}",
|
|
58
|
+
"--metadata", f"{active_key}=true",
|
|
59
|
+
"--output", str(dst),
|
|
60
|
+
]
|
|
61
|
+
|
|
62
|
+
if use_toc:
|
|
63
|
+
cmd += ["--toc", "--toc-depth=3"]
|
|
64
|
+
|
|
65
|
+
result = subprocess.run(cmd, capture_output=True, text=True)
|
|
66
|
+
if result.returncode != 0:
|
|
67
|
+
print(f" ERROR: {md_name}")
|
|
68
|
+
print(result.stderr)
|
|
69
|
+
return False
|
|
70
|
+
|
|
71
|
+
print(f" {html_name}")
|
|
72
|
+
return True
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def build(deploy=False, serve=False):
|
|
76
|
+
if SITE.exists():
|
|
77
|
+
shutil.rmtree(SITE)
|
|
78
|
+
SITE.mkdir()
|
|
79
|
+
assets = SITE / "assets"
|
|
80
|
+
assets.mkdir()
|
|
81
|
+
|
|
82
|
+
shutil.copy(EXTRA_CSS, assets / "extra.css")
|
|
83
|
+
|
|
84
|
+
version = get_version()
|
|
85
|
+
print(f"Building docrev {version} → site/")
|
|
86
|
+
|
|
87
|
+
ok = all(build_page(*p, version) for p in PAGES)
|
|
88
|
+
|
|
89
|
+
if not ok:
|
|
90
|
+
sys.exit(1)
|
|
91
|
+
|
|
92
|
+
print("Done.")
|
|
93
|
+
|
|
94
|
+
if serve:
|
|
95
|
+
webbrowser.open(str(SITE / "index.html"))
|
|
96
|
+
|
|
97
|
+
if deploy:
|
|
98
|
+
print("\nDeploying to gh-pages …")
|
|
99
|
+
result = subprocess.run(
|
|
100
|
+
["python", "-m", "ghp_import", "-n", "-p", "-f", str(SITE)],
|
|
101
|
+
cwd=PROJECT,
|
|
102
|
+
)
|
|
103
|
+
if result.returncode != 0:
|
|
104
|
+
sys.exit(result.returncode)
|
|
105
|
+
print("Deployed.")
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
if __name__ == "__main__":
|
|
109
|
+
parser = argparse.ArgumentParser()
|
|
110
|
+
parser.add_argument("--serve", action="store_true", help="Open index.html after build")
|
|
111
|
+
parser.add_argument("--deploy", action="store_true", help="Push site/ to gh-pages")
|
|
112
|
+
args = parser.parse_args()
|
|
113
|
+
build(deploy=args.deploy, serve=args.serve)
|