docrev 0.9.3 → 0.9.5

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.
Files changed (100) hide show
  1. package/bin/rev.js +5 -12
  2. package/dist/bin/rev.js +2 -2
  3. package/dist/lib/build.d.ts +2 -0
  4. package/dist/lib/build.d.ts.map +1 -1
  5. package/dist/lib/build.js +128 -2
  6. package/dist/lib/build.js.map +1 -1
  7. package/dist/lib/commands/comments.d.ts.map +1 -1
  8. package/dist/lib/commands/comments.js +19 -27
  9. package/dist/lib/commands/comments.js.map +1 -1
  10. package/dist/lib/commands/context.d.ts +1 -0
  11. package/dist/lib/commands/context.d.ts.map +1 -1
  12. package/dist/lib/commands/context.js +1 -2
  13. package/dist/lib/commands/context.js.map +1 -1
  14. package/dist/lib/commands/sections.d.ts.map +1 -1
  15. package/dist/lib/commands/sections.js +13 -0
  16. package/dist/lib/commands/sections.js.map +1 -1
  17. package/dist/lib/commands/utilities.d.ts.map +1 -1
  18. package/dist/lib/commands/utilities.js +20 -53
  19. package/dist/lib/commands/utilities.js.map +1 -1
  20. package/dist/lib/comment-realign.d.ts.map +1 -1
  21. package/dist/lib/comment-realign.js +0 -7
  22. package/dist/lib/comment-realign.js.map +1 -1
  23. package/dist/lib/crossref.d.ts +15 -0
  24. package/dist/lib/crossref.d.ts.map +1 -1
  25. package/dist/lib/crossref.js +54 -1
  26. package/dist/lib/crossref.js.map +1 -1
  27. package/dist/lib/dependencies.d.ts.map +1 -1
  28. package/dist/lib/dependencies.js +11 -23
  29. package/dist/lib/dependencies.js.map +1 -1
  30. package/dist/lib/git.d.ts.map +1 -1
  31. package/dist/lib/git.js +18 -28
  32. package/dist/lib/git.js.map +1 -1
  33. package/dist/lib/import.d.ts.map +1 -1
  34. package/dist/lib/import.js +1 -10
  35. package/dist/lib/import.js.map +1 -1
  36. package/dist/lib/journals.d.ts.map +1 -1
  37. package/dist/lib/journals.js +13 -0
  38. package/dist/lib/journals.js.map +1 -1
  39. package/dist/lib/merge.d.ts.map +1 -1
  40. package/dist/lib/merge.js +29 -117
  41. package/dist/lib/merge.js.map +1 -1
  42. package/dist/lib/pdf-comments.d.ts.map +1 -1
  43. package/dist/lib/pdf-comments.js +1 -13
  44. package/dist/lib/pdf-comments.js.map +1 -1
  45. package/dist/lib/pptx-themes.d.ts.map +1 -1
  46. package/dist/lib/pptx-themes.js +0 -403
  47. package/dist/lib/pptx-themes.js.map +1 -1
  48. package/dist/lib/protect-restore.d.ts.map +1 -1
  49. package/dist/lib/protect-restore.js +34 -36
  50. package/dist/lib/protect-restore.js.map +1 -1
  51. package/dist/lib/slides.d.ts.map +1 -1
  52. package/dist/lib/slides.js +0 -35
  53. package/dist/lib/slides.js.map +1 -1
  54. package/dist/lib/trackchanges.d.ts.map +1 -1
  55. package/dist/lib/trackchanges.js +1 -11
  56. package/dist/lib/trackchanges.js.map +1 -1
  57. package/dist/lib/tui.d.ts +36 -45
  58. package/dist/lib/tui.d.ts.map +1 -1
  59. package/dist/lib/tui.js +92 -108
  60. package/dist/lib/tui.js.map +1 -1
  61. package/dist/lib/types.d.ts +2 -0
  62. package/dist/lib/types.d.ts.map +1 -1
  63. package/dist/lib/undo.d.ts +3 -4
  64. package/dist/lib/undo.d.ts.map +1 -1
  65. package/dist/lib/undo.js +0 -7
  66. package/dist/lib/undo.js.map +1 -1
  67. package/dist/lib/utils.d.ts +12 -0
  68. package/dist/lib/utils.d.ts.map +1 -1
  69. package/dist/lib/utils.js +26 -0
  70. package/dist/lib/utils.js.map +1 -1
  71. package/dist/lib/wordcomments.d.ts.map +1 -1
  72. package/dist/lib/wordcomments.js +1 -8
  73. package/dist/lib/wordcomments.js.map +1 -1
  74. package/dist/package.json +137 -0
  75. package/lib/build.ts +143 -2
  76. package/lib/commands/comments.ts +20 -25
  77. package/lib/commands/context.ts +1 -2
  78. package/lib/commands/sections.ts +13 -0
  79. package/lib/commands/utilities.ts +30 -53
  80. package/lib/comment-realign.ts +0 -8
  81. package/lib/crossref.ts +62 -1
  82. package/lib/dependencies.ts +12 -20
  83. package/lib/git.ts +24 -31
  84. package/lib/import.ts +1 -11
  85. package/lib/journals.ts +14 -0
  86. package/lib/merge.ts +42 -132
  87. package/lib/pdf-comments.ts +2 -14
  88. package/lib/pptx-themes.ts +0 -413
  89. package/lib/protect-restore.ts +48 -44
  90. package/lib/slides.ts +0 -37
  91. package/lib/trackchanges.ts +1 -12
  92. package/lib/{tui.js → tui.ts} +139 -126
  93. package/lib/types.ts +2 -0
  94. package/lib/undo.ts +3 -12
  95. package/lib/utils.ts +28 -0
  96. package/lib/wordcomments.ts +1 -9
  97. package/package.json +37 -37
  98. package/scripts/postbuild.js +28 -0
  99. package/skill/REFERENCE.md +1 -1
  100. package/skill/SKILL.md +1 -1
@@ -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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"}
@@ -0,0 +1,137 @@
1
+ {
2
+ "name": "docrev",
3
+ "version": "0.9.4",
4
+ "description": "Academic paper revision workflow: Word ↔ Markdown round-trips, DOI validation, reviewer comments",
5
+ "type": "module",
6
+ "types": "dist/lib/types.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/lib/annotations.d.ts",
10
+ "import": "./dist/lib/annotations.js"
11
+ },
12
+ "./annotations": {
13
+ "types": "./dist/lib/annotations.d.ts",
14
+ "import": "./dist/lib/annotations.js"
15
+ },
16
+ "./build": {
17
+ "types": "./dist/lib/build.d.ts",
18
+ "import": "./dist/lib/build.js"
19
+ },
20
+ "./citations": {
21
+ "types": "./dist/lib/citations.d.ts",
22
+ "import": "./dist/lib/citations.js"
23
+ },
24
+ "./crossref": {
25
+ "types": "./dist/lib/crossref.d.ts",
26
+ "import": "./dist/lib/crossref.js"
27
+ },
28
+ "./doi": {
29
+ "types": "./dist/lib/doi.d.ts",
30
+ "import": "./dist/lib/doi.js"
31
+ },
32
+ "./equations": {
33
+ "types": "./dist/lib/equations.d.ts",
34
+ "import": "./dist/lib/equations.js"
35
+ },
36
+ "./git": {
37
+ "types": "./dist/lib/git.d.ts",
38
+ "import": "./dist/lib/git.js"
39
+ },
40
+ "./journals": {
41
+ "types": "./dist/lib/journals.d.ts",
42
+ "import": "./dist/lib/journals.js"
43
+ },
44
+ "./merge": {
45
+ "types": "./dist/lib/merge.d.ts",
46
+ "import": "./dist/lib/merge.js"
47
+ },
48
+ "./sections": {
49
+ "types": "./dist/lib/sections.d.ts",
50
+ "import": "./dist/lib/sections.js"
51
+ },
52
+ "./word": {
53
+ "types": "./dist/lib/word.d.ts",
54
+ "import": "./dist/lib/word.js"
55
+ },
56
+ "./variables": {
57
+ "types": "./dist/lib/variables.d.ts",
58
+ "import": "./dist/lib/variables.js"
59
+ },
60
+ "./grammar": {
61
+ "types": "./dist/lib/grammar.d.ts",
62
+ "import": "./dist/lib/grammar.js"
63
+ },
64
+ "./trackchanges": {
65
+ "types": "./dist/lib/trackchanges.d.ts",
66
+ "import": "./dist/lib/trackchanges.js"
67
+ },
68
+ "./spelling": {
69
+ "types": "./dist/lib/spelling.d.ts",
70
+ "import": "./dist/lib/spelling.js"
71
+ },
72
+ "./wordcomments": {
73
+ "types": "./dist/lib/wordcomments.d.ts",
74
+ "import": "./dist/lib/wordcomments.js"
75
+ }
76
+ },
77
+ "engines": {
78
+ "node": ">=18.0.0"
79
+ },
80
+ "bin": {
81
+ "rev": "bin/rev.js"
82
+ },
83
+ "scripts": {
84
+ "build": "tsc && node scripts/postbuild.js",
85
+ "build:watch": "tsc --watch",
86
+ "dev": "tsx bin/rev.ts",
87
+ "test": "tsx --test test/*.test.js",
88
+ "test:ts": "tsx --test test/*.test.ts",
89
+ "test:watch": "node --test --watch test/*.test.js",
90
+ "test:coverage": "c8 --reporter=text --reporter=lcov node --test test/*.test.js",
91
+ "typecheck": "tsc --noEmit",
92
+ "prepublishOnly": "npm run build"
93
+ },
94
+ "repository": {
95
+ "type": "git",
96
+ "url": "git+https://github.com/gcol33/docrev.git"
97
+ },
98
+ "bugs": {
99
+ "url": "https://github.com/gcol33/docrev/issues"
100
+ },
101
+ "homepage": "https://github.com/gcol33/docrev#readme",
102
+ "keywords": [
103
+ "markdown",
104
+ "word",
105
+ "docx",
106
+ "track-changes",
107
+ "comments",
108
+ "academic",
109
+ "writing",
110
+ "pandoc",
111
+ "criticmarkup"
112
+ ],
113
+ "author": "Gilles Colling",
114
+ "license": "MIT",
115
+ "dependencies": {
116
+ "adm-zip": "^0.5.16",
117
+ "chalk": "^5.3.0",
118
+ "commander": "^12.0.0",
119
+ "dictionary-en": "^4.0.0",
120
+ "dictionary-en-gb": "^3.0.0",
121
+ "diff": "^8.0.2",
122
+ "mathml-to-latex": "^1.5.0",
123
+ "nspell": "^2.1.5",
124
+ "pdf-lib": "^1.17.1",
125
+ "pdfjs-dist": "^5.4.530",
126
+ "tsx": "^4.21.0",
127
+ "xml2js": "^0.6.2",
128
+ "yaml": "^2.8.2"
129
+ },
130
+ "devDependencies": {
131
+ "@types/adm-zip": "^0.5.7",
132
+ "@types/node": "^25.2.0",
133
+ "@types/xml2js": "^0.4.14",
134
+ "c8": "^10.1.2",
135
+ "typescript": "^5.9.3"
136
+ }
137
+ }
package/lib/build.ts CHANGED
@@ -13,7 +13,7 @@ import * as path from 'path';
13
13
  import { execSync, spawn, ChildProcess } from 'child_process';
14
14
  import YAML from 'yaml';
15
15
  import { stripAnnotations } from './annotations.js';
16
- import { buildRegistry, labelToDisplay, detectDynamicRefs, resolveForwardRefs } from './crossref.js';
16
+ import { buildRegistry, labelToDisplay, detectDynamicRefs, resolveForwardRefs, resolveSupplementaryRefs } from './crossref.js';
17
17
  import { processVariables, hasVariables } from './variables.js';
18
18
  import { processSlideMarkdown, hasSlideSyntax } from './slides.js';
19
19
  import { generatePptxTemplate, templateNeedsRegeneration, injectMediaIntoPptx, injectSlideNumbers, applyThemeFonts, applyCentering, applyBuildupColors } from './pptx-template.js';
@@ -50,6 +50,7 @@ export interface CrossrefConfig {
50
50
 
51
51
  export interface PdfConfig {
52
52
  template?: string | null;
53
+ headerIncludes?: string | null;
53
54
  documentclass?: string;
54
55
  fontsize?: string;
55
56
  geometry?: string;
@@ -111,6 +112,7 @@ export interface PostprocessConfig {
111
112
  export interface BuildConfig {
112
113
  title: string;
113
114
  authors: (string | Author)[];
115
+ affiliations: Record<string, string>;
114
116
  sections: string[];
115
117
  bibliography: string | null;
116
118
  csl: string | null;
@@ -189,6 +191,7 @@ interface Registry {
189
191
  export const DEFAULT_CONFIG: BuildConfig = {
190
192
  title: 'Untitled Document',
191
193
  authors: [],
194
+ affiliations: {},
192
195
  sections: [],
193
196
  bibliography: null,
194
197
  csl: null,
@@ -507,6 +510,15 @@ export function combineSections(directory: string, config: BuildConfig, options:
507
510
  // Store resolved count for optional reporting
508
511
  options._forwardRefsResolved = resolved.length;
509
512
  }
513
+
514
+ // Resolve supplementary references and strip their anchors.
515
+ // pandoc-crossref cannot produce "Figure S1" numbering — it numbers all
516
+ // figures sequentially. We resolve supplementary refs to plain text and
517
+ // remove the {#fig:...} attributes so crossref ignores them.
518
+ const supp = resolveSupplementaryRefs(paperContent, registry);
519
+ if (supp.resolved.length > 0) {
520
+ paperContent = supp.text;
521
+ }
510
522
  }
511
523
 
512
524
  const paperPath = path.join(directory, 'paper.md');
@@ -524,7 +536,9 @@ function buildFrontmatter(config: BuildConfig): Record<string, unknown> {
524
536
 
525
537
  if (config.title) fm.title = config.title;
526
538
 
527
- if (config.authors && config.authors.length > 0) {
539
+ // Skip author in frontmatter when using numbered affiliations —
540
+ // the author block is injected separately per format
541
+ if (config.authors && config.authors.length > 0 && !hasNumberedAffiliations(config)) {
528
542
  fm.author = config.authors;
529
543
  }
530
544
 
@@ -550,6 +564,114 @@ function stripFrontmatter(content: string): string {
550
564
  return content;
551
565
  }
552
566
 
567
+ /**
568
+ * Check if config uses numbered affiliation mode
569
+ * (authors have `affiliations` arrays and an affiliations map is defined)
570
+ */
571
+ function hasNumberedAffiliations(config: BuildConfig): boolean {
572
+ if (!config.affiliations || Object.keys(config.affiliations).length === 0) return false;
573
+ return config.authors.some(a => typeof a !== 'string' && a.affiliations && a.affiliations.length > 0);
574
+ }
575
+
576
+ /**
577
+ * Generate LaTeX author block using authblk package for numbered superscript affiliations.
578
+ * Returns LaTeX code to be injected via header-includes.
579
+ */
580
+ function generateLatexAuthorBlock(config: BuildConfig): string {
581
+ const lines: string[] = [];
582
+ lines.push('\\usepackage{authblk}');
583
+ lines.push('\\renewcommand\\Authfont{\\normalsize}');
584
+ lines.push('\\renewcommand\\Affilfont{\\small}');
585
+ lines.push('');
586
+
587
+ // Map affiliation keys to numbers
588
+ const affiliationKeys = Object.keys(config.affiliations);
589
+ const keyToNum = new Map<string, number>();
590
+ affiliationKeys.forEach((key, i) => keyToNum.set(key, i + 1));
591
+
592
+ // Authors
593
+ for (const author of config.authors) {
594
+ if (typeof author === 'string') {
595
+ lines.push(`\\author{${author}}`);
596
+ continue;
597
+ }
598
+ const marks = (author.affiliations || [])
599
+ .map(k => keyToNum.get(k))
600
+ .filter((n): n is number => n !== undefined);
601
+
602
+ const markStr = marks.length > 0 ? `[${marks.join(',')}]` : '';
603
+ let nameStr = author.name;
604
+ if (author.corresponding && author.email) {
605
+ nameStr += `\\thanks{Corresponding author: ${author.email}}`;
606
+ } else if (author.corresponding) {
607
+ nameStr += '\\thanks{Corresponding author}';
608
+ }
609
+ lines.push(`\\author${markStr}{${nameStr}}`);
610
+ }
611
+
612
+ // Affiliations
613
+ for (const [key, text] of Object.entries(config.affiliations)) {
614
+ const num = keyToNum.get(key);
615
+ if (num !== undefined) {
616
+ lines.push(`\\affil[${num}]{${text}}`);
617
+ }
618
+ }
619
+
620
+ return lines.join('\n');
621
+ }
622
+
623
+ /**
624
+ * Generate markdown author block for DOCX output with superscript affiliations.
625
+ * Returns markdown text to insert after the YAML frontmatter.
626
+ */
627
+ function generateMarkdownAuthorBlock(config: BuildConfig): string {
628
+ const lines: string[] = [];
629
+
630
+ // Map affiliation keys to numbers
631
+ const affiliationKeys = Object.keys(config.affiliations);
632
+ const keyToNum = new Map<string, number>();
633
+ affiliationKeys.forEach((key, i) => keyToNum.set(key, i + 1));
634
+
635
+ // Author line: Name^1,2^, Name^3^, ...
636
+ const authorParts: string[] = [];
637
+ for (const author of config.authors) {
638
+ if (typeof author === 'string') {
639
+ authorParts.push(author);
640
+ continue;
641
+ }
642
+ const marks = (author.affiliations || [])
643
+ .map(k => keyToNum.get(k))
644
+ .filter((n): n is number => n !== undefined);
645
+ let entry = author.name;
646
+ const superParts = marks.map(String);
647
+ if (author.corresponding) superParts.push('\\*');
648
+ if (superParts.length > 0) {
649
+ entry += `^${superParts.join(',')}^`;
650
+ }
651
+ authorParts.push(entry);
652
+ }
653
+ lines.push(authorParts.join(', '));
654
+ lines.push('');
655
+
656
+ // Affiliation lines: ^1^ Department of ...
657
+ for (const [key, text] of Object.entries(config.affiliations)) {
658
+ const num = keyToNum.get(key);
659
+ if (num !== undefined) {
660
+ lines.push(`^${num}^ ${text}`);
661
+ }
662
+ }
663
+
664
+ // Corresponding author footnote
665
+ const corresponding = config.authors.find(a => typeof a !== 'string' && a.corresponding) as Author | undefined;
666
+ if (corresponding?.email) {
667
+ lines.push('');
668
+ lines.push(`^\\*^ Corresponding author: ${corresponding.email}`);
669
+ }
670
+
671
+ lines.push('');
672
+ return lines.join('\n');
673
+ }
674
+
553
675
  /**
554
676
  * Process markdown tables to apply nowrap formatting to specified columns.
555
677
  * Converts distribution notation (Normal, Student-t, Gamma) to LaTeX math.
@@ -672,12 +794,28 @@ export function prepareForFormat(
672
794
 
673
795
  // Process tables for nowrap columns (convert Normal() → $\mathcal{N}()$ etc.)
674
796
  content = processTablesForFormat(content, config.tables, format);
797
+
798
+ // Inject LaTeX author block with numbered affiliations
799
+ if (hasNumberedAffiliations(config)) {
800
+ const latexBlock = generateLatexAuthorBlock(config);
801
+ // Inject as header-includes in the YAML frontmatter
802
+ content = content.replace(/^(---\r?\n[\s\S]*?)(---\r?\n)/, (match, yamlContent, closing) => {
803
+ return `${yamlContent}header-includes: |\n${latexBlock.split('\n').map(l => ' ' + l).join('\n')}\n${closing}`;
804
+ });
805
+ }
675
806
  } else if (format === 'docx') {
676
807
  // Strip track changes, optionally keep comments
677
808
  content = stripAnnotations(content, { keepComments: config.docx.keepComments });
678
809
 
679
810
  // Convert @fig:label to "Figure 1" for Word readers
680
811
  content = convertDynamicRefsToDisplay(content, registry);
812
+
813
+ // Inject markdown author block with superscript affiliations
814
+ if (hasNumberedAffiliations(config)) {
815
+ const mdBlock = generateMarkdownAuthorBlock(config);
816
+ // Insert after YAML frontmatter, before body content
817
+ content = content.replace(/^(---\r?\n[\s\S]*?---\r?\n)/, `$1\n${mdBlock}\n`);
818
+ }
681
819
  } else if (format === 'beamer' || format === 'pptx') {
682
820
  // Strip annotations for slide output
683
821
  content = stripAnnotations(content);
@@ -759,6 +897,9 @@ export function buildPandocArgs(format: string, config: BuildConfig, outputPath:
759
897
  args.push('-V', `documentclass=${config.pdf.documentclass}`);
760
898
  args.push('-V', `fontsize=${config.pdf.fontsize}`);
761
899
  args.push('-V', `geometry:${config.pdf.geometry}`);
900
+ if (config.pdf.headerIncludes) {
901
+ args.push('-H', config.pdf.headerIncludes);
902
+ }
762
903
  if (config.pdf.linestretch !== 1) {
763
904
  args.push('-V', `linestretch=${config.pdf.linestretch}`);
764
905
  }
@@ -19,7 +19,7 @@ import {
19
19
  applyDecision,
20
20
  cleanupOrphanedMarkers,
21
21
  interactiveCommentReview,
22
- // tuiCommentReview, // TUI module not yet migrated
22
+ tuiCommentReview,
23
23
  getUserName,
24
24
  exitWithError,
25
25
  getAnnotationSuggestions,
@@ -176,31 +176,26 @@ export function register(program: Command): void {
176
176
 
177
177
  // TUI review mode
178
178
  if (options.tui) {
179
- console.error(chalk.yellow('TUI mode is temporarily unavailable (module migration in progress)'));
180
- console.error(chalk.dim('Use --interactive mode instead: rev comments --interactive ' + file));
181
- process.exit(1);
179
+ let author = options.author || getUserName();
180
+ if (!author) {
181
+ exitWithError('No user name set for replies', getAnnotationSuggestions('no_author'));
182
+ }
182
183
 
183
- // TODO: Re-enable when tui.ts is migrated
184
- // let author = options.author || getUserName();
185
- // if (!author) {
186
- // exitWithError('No user name set for replies', getAnnotationSuggestions('no_author'));
187
- // }
188
- //
189
- // const result = await tuiCommentReview(text, {
190
- // author,
191
- // addReply: (txt: string, comment: Comment, auth: string, msg: string) => {
192
- // const replyAnnotation = `{>>${auth}: ${msg}<<}`;
193
- // const insertPos = comment.position + comment.match.length;
194
- // return txt.slice(0, insertPos) + ' ' + replyAnnotation + txt.slice(insertPos);
195
- // },
196
- // setStatus: setCommentStatus,
197
- // });
198
- //
199
- // if (result.resolved > 0 || result.replied > 0) {
200
- // fs.writeFileSync(file, result.text, 'utf-8');
201
- // console.log(fmt.status('success', `Changes saved to ${file}`));
202
- // }
203
- // return;
184
+ const result = await tuiCommentReview(text, {
185
+ author,
186
+ addReply: (txt: string, comment: Annotation, auth: string, msg: string) => {
187
+ const replyAnnotation = `{>>${auth}: ${msg}<<}`;
188
+ const insertPos = comment.position + comment.match.length;
189
+ return txt.slice(0, insertPos) + ' ' + replyAnnotation + txt.slice(insertPos);
190
+ },
191
+ setStatus: setCommentStatus,
192
+ });
193
+
194
+ if (result.resolved > 0 || result.replied > 0) {
195
+ fs.writeFileSync(file, result.text, 'utf-8');
196
+ console.log(fmt.status('success', `Changes saved to ${file}`));
197
+ }
198
+ return;
204
199
  }
205
200
 
206
201
  // Interactive review mode
@@ -171,5 +171,4 @@ export {
171
171
  getPluginDirs,
172
172
  } from '../plugins.js';
173
173
 
174
- // TUI module not yet migrated to TypeScript
175
- // export { tuiCommentReview } from '../tui.js';
174
+ export { tuiCommentReview } from '../tui.js';
@@ -873,6 +873,19 @@ export function register(program: Command): void {
873
873
  });
874
874
 
875
875
  if (!options.dryRun) {
876
+ // Preserve any preamble content (YAML frontmatter, author blocks, metadata)
877
+ // that exists before the first heading in the original file.
878
+ // This content is never included in the Word build output, so it won't
879
+ // appear in the Word doc and would otherwise be lost during sync.
880
+ const originalContent = fs.readFileSync(sectionPath, 'utf-8');
881
+ const firstHeadingMatch = originalContent.match(/^(#\s)/m);
882
+ if (firstHeadingMatch && firstHeadingMatch.index !== undefined && firstHeadingMatch.index > 0) {
883
+ const preamble = originalContent.slice(0, firstHeadingMatch.index);
884
+ // Only prepend if preamble has non-whitespace content
885
+ if (preamble.trim().length > 0) {
886
+ annotated = preamble + annotated;
887
+ }
888
+ }
876
889
  fs.writeFileSync(sectionPath, annotated, 'utf-8');
877
890
  }
878
891
  }
@@ -26,6 +26,34 @@ import {
26
26
  // Use the actual BuildConfig from build.ts which allows string|Author[]
27
27
  type BuildConfig = ReturnType<typeof loadBuildConfig>;
28
28
 
29
+ interface ZipLike {
30
+ addLocalFile(localPath: string, zipPath?: string): void;
31
+ }
32
+
33
+ /**
34
+ * Recursively add directory contents to a zip archive, filtering by predicate
35
+ */
36
+ function addDirToZip(
37
+ zip: ZipLike,
38
+ dir: string,
39
+ shouldInclude: (name: string) => boolean,
40
+ zipPath = '',
41
+ ): void {
42
+ const entries = fs.readdirSync(dir, { withFileTypes: true });
43
+ for (const entry of entries) {
44
+ const fullPath = path.join(dir, entry.name);
45
+ const entryZipPath = path.join(zipPath, entry.name);
46
+
47
+ if (!shouldInclude(entry.name)) continue;
48
+
49
+ if (entry.isDirectory()) {
50
+ addDirToZip(zip, fullPath, shouldInclude, entryZipPath);
51
+ } else {
52
+ zip.addLocalFile(fullPath, zipPath || undefined);
53
+ }
54
+ }
55
+ }
56
+
29
57
  // Type definitions for package.json
30
58
  interface PackageJson {
31
59
  version?: string;
@@ -523,33 +551,7 @@ export function register(program: Command, pkg?: PackageJson): void {
523
551
  return true;
524
552
  };
525
553
 
526
- const addDir = (dir: string, zipPath = ''): void => {
527
- const entries = fs.readdirSync(dir, { withFileTypes: true });
528
- for (const entry of entries) {
529
- const fullPath = path.join(dir, entry.name);
530
- const entryZipPath = path.join(zipPath, entry.name);
531
-
532
- if (!shouldInclude(entry.name)) continue;
533
-
534
- if (entry.isDirectory()) {
535
- addDir(fullPath, entryZipPath);
536
- } else {
537
- zip.addLocalFile(fullPath, zipPath || undefined);
538
- }
539
- }
540
- };
541
-
542
- // Add current directory
543
- const entries = fs.readdirSync('.', { withFileTypes: true });
544
- for (const entry of entries) {
545
- if (!shouldInclude(entry.name)) continue;
546
-
547
- if (entry.isDirectory()) {
548
- addDir(entry.name, entry.name);
549
- } else if (entry.isFile()) {
550
- zip.addLocalFile(entry.name);
551
- }
552
- }
554
+ addDirToZip(zip, '.', shouldInclude);
553
555
 
554
556
  zip.writeZip(outputPath);
555
557
  console.log(fmt.status('success', `Backup created: ${outputPath}`));
@@ -741,32 +743,7 @@ export function register(program: Command, pkg?: PackageJson): void {
741
743
  return true;
742
744
  };
743
745
 
744
- const addDir = (dir: string, zipPath = ''): void => {
745
- const entries = fs.readdirSync(dir, { withFileTypes: true });
746
- for (const entry of entries) {
747
- const fullPath = path.join(dir, entry.name);
748
- const entryZipPath = path.join(zipPath, entry.name);
749
-
750
- if (!shouldInclude(entry.name)) continue;
751
-
752
- if (entry.isDirectory()) {
753
- addDir(fullPath, entryZipPath);
754
- } else {
755
- zip.addLocalFile(fullPath, zipPath || undefined);
756
- }
757
- }
758
- };
759
-
760
- const entries = fs.readdirSync('.', { withFileTypes: true });
761
- for (const entry of entries) {
762
- if (!shouldInclude(entry.name)) continue;
763
-
764
- if (entry.isDirectory()) {
765
- addDir(entry.name, entry.name);
766
- } else if (entry.isFile()) {
767
- zip.addLocalFile(entry.name);
768
- }
769
- }
746
+ addDirToZip(zip, '.', shouldInclude);
770
747
 
771
748
  zip.writeZip(outputPath);
772
749
  console.log(fmt.status('success', `Exported: ${outputPath}`));
@@ -213,14 +213,6 @@ function parseMdParagraphs(markdown: string): MdParagraph[] {
213
213
  return paragraphs;
214
214
  }
215
215
 
216
- /**
217
- * Strip existing comments from a specific author
218
- */
219
- function stripAuthorComments(text: string, author: string): string {
220
- const pattern = new RegExp(`\\s*\\{>>${author}:[^<]*<<\\}`, 'g');
221
- return text.replace(pattern, '');
222
- }
223
-
224
216
  /**
225
217
  * Normalize text for matching (remove citations, extra whitespace)
226
218
  */