docrev 0.10.2 → 0.11.1
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.md +13 -0
- package/README.md +2 -0
- 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 +52 -0
- package/dist/lib/build.d.ts.map +1 -1
- package/dist/lib/build.js +135 -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 +39 -12
- 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/trackchanges.d.ts +41 -25
- package/dist/lib/trackchanges.d.ts.map +1 -1
- package/dist/lib/trackchanges.js +90 -151
- package/dist/lib/trackchanges.js.map +1 -1
- package/dist/lib/types.d.ts +9 -8
- 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/lib/anchor-match.ts +6 -7
- package/lib/annotations.ts +28 -8
- package/lib/build.ts +196 -6
- package/lib/commands/build.ts +42 -12
- 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/trackchanges.ts +102 -183
- package/lib/types.ts +9 -13
- package/lib/word-extraction.ts +49 -330
- package/lib/word.ts +86 -203
- package/lib/wordcomments.ts +53 -104
- package/package.json +137 -137
- package/skill/REFERENCE.md +14 -3
- package/skill/SKILL.md +12 -5
- package/types/index.d.ts +16 -10
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,19 @@ All notable changes to docrev will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.11.1] - 2026-07-05
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **`rev build docx --dual --show-changes` emits tracked changes and threaded comments in one file (#6).** The standard "return to senior author" artifact — my `{++..++}`/`{--..--}` edits as Word tracked changes alongside the reviewer's `{>>..<<}` comments with my threaded replies — now builds as a single `<title>-changes.docx`. Previously the two were mutually exclusive: `--show-changes` dropped comments, `--dual` accepted all changes. A new `buildReviewedDocx` runs one pandoc pass through the full filter chain, then threads comments into the same file. Add `--reference <docx>` to realign comment anchors first.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- **Track changes now use pandoc-native `w:ins`/`w:del` revisions.** `--show-changes` (and `rev apply`) previously injected revision XML by string-replacing text markers, which nested `<w:ins>`/`<w:del>` inside `<w:t>` (malformed OOXML) and bypassed crossref/citeproc/the reference-doc. CriticMarkup is now converted to pandoc `.insertion`/`.deletion` spans and emitted as well-formed run-level revisions through the full filter chain.
|
|
15
|
+
|
|
16
|
+
## [0.11.0] - 2026-07-05
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- **Parser-backed OOXML layer, unified placement engine, boundary hardening.** One structural OOXML tokenizer (`lib/ooxml.ts`) now backs every Word reader and the comment injector, collapsing the divergent `extractCommentAnchors`/`extractWordComments` paths onto a single namespace-aware engine (matches WordprocessingML by URI, decodes entities, excludes `instrText` field codes, enumerates footnote/endnote parts, finds runs structurally). Section comment placement is offset-first, with proportional estimates demoted to a flagged last resort surfaced by `sync`. Rate-limiter gains a per-request timeout and HTTP-date `Retry-After` parsing; `checkDoi` reports unreachable distinctly from invalid; PPTX post-processing failures warn instead of being swallowed.
|
|
20
|
+
|
|
8
21
|
## [0.10.2] - 2026-06-22
|
|
9
22
|
|
|
10
23
|
### Fixed
|
package/README.md
CHANGED
|
@@ -133,6 +133,7 @@ rev comments # list all comments
|
|
|
133
133
|
rev reply methods.md -n 1 -m "Added clarification"
|
|
134
134
|
rev resolve methods.md -n 1 # mark as resolved
|
|
135
135
|
rev build docx --dual # clean + annotated versions
|
|
136
|
+
rev build docx --dual --show-changes # one file: tracked changes + threaded comments
|
|
136
137
|
```
|
|
137
138
|
|
|
138
139
|
PDF annotations work the same way:
|
|
@@ -361,6 +362,7 @@ Cross-references: `@fig:label`, `@tbl:label`, `@eq:label` → "Figure 1", "Table
|
|
|
361
362
|
| Build PDF | `rev build pdf` |
|
|
362
363
|
| Build clean + annotated | `rev build docx --dual` |
|
|
363
364
|
| Build with visible track changes | `rev build docx --show-changes` |
|
|
365
|
+
| Build tracked changes + comments in one file | `rev build docx --dual --show-changes` |
|
|
364
366
|
| Sync Word feedback | `rev sync reviewed.docx` |
|
|
365
367
|
| Sync PDF comments | `rev sync annotated.pdf` |
|
|
366
368
|
| Extract PDF comments | `rev pdf-comments annotated.pdf` |
|
|
@@ -14,7 +14,9 @@ export interface AnchorSearchResult {
|
|
|
14
14
|
/**
|
|
15
15
|
* Strip CriticMarkup so the matcher sees plain prose instead of
|
|
16
16
|
* `{++inserted++}`/`{--deleted--}`/etc. Used when an anchor lives
|
|
17
|
-
* underneath previously imported track changes.
|
|
17
|
+
* underneath previously imported track changes. Delegates to the single
|
|
18
|
+
* annotation stripper so the matcher and the build path resolve markup the
|
|
19
|
+
* same way — a payload containing `+`, `-`, or `~` is handled correctly.
|
|
18
20
|
*/
|
|
19
21
|
export declare function stripCriticMarkup(text: string): string;
|
|
20
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-match.d.ts","sourceRoot":"","sources":["../../lib/anchor-match.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"anchor-match.d.ts","sourceRoot":"","sources":["../../lib/anchor-match.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,YAAY,GACZ,UAAU,GACV,eAAe,GACf,wBAAwB,GACxB,gBAAgB,GAChB,yBAAyB,GACzB,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,cAAc,GACd,QAAQ,CAAC;AAEb,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;GAIG;AACH;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,MAAM,CAqBR;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAS7E;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,MAAW,EACnB,KAAK,GAAE,MAAW,GACjB,kBAAkB,CAuKpB;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,OAAO,GAAG,cAAc,GAAG,WAAW,CAAC;AAElF,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAsBlG"}
|
package/dist/lib/anchor-match.js
CHANGED
|
@@ -4,18 +4,16 @@
|
|
|
4
4
|
* anchor string and surrounding context, locate candidate positions in
|
|
5
5
|
* a target text using progressively looser strategies.
|
|
6
6
|
*/
|
|
7
|
+
import { stripAnnotations } from './annotations.js';
|
|
7
8
|
/**
|
|
8
9
|
* Strip CriticMarkup so the matcher sees plain prose instead of
|
|
9
10
|
* `{++inserted++}`/`{--deleted--}`/etc. Used when an anchor lives
|
|
10
|
-
* underneath previously imported track changes.
|
|
11
|
+
* underneath previously imported track changes. Delegates to the single
|
|
12
|
+
* annotation stripper so the matcher and the build path resolve markup the
|
|
13
|
+
* same way — a payload containing `+`, `-`, or `~` is handled correctly.
|
|
11
14
|
*/
|
|
12
15
|
export function stripCriticMarkup(text) {
|
|
13
|
-
return text
|
|
14
|
-
.replace(/\{\+\+([^+]*)\+\+\}/g, '$1') // insertions: keep new text
|
|
15
|
-
.replace(/\{--([^-]*)--\}/g, '') // deletions: remove old text
|
|
16
|
-
.replace(/\{~~([^~]*)~>([^~]*)~~\}/g, '$2') // substitutions: keep new text
|
|
17
|
-
.replace(/\{>>[\s\S]*?<<\}/g, '') // comments: remove (non-greedy; comment text may contain '<')
|
|
18
|
-
.replace(/\[([^\]]*)\]\{\.mark\}/g, '$1'); // marked text: keep text
|
|
16
|
+
return stripAnnotations(text);
|
|
19
17
|
}
|
|
20
18
|
/**
|
|
21
19
|
* Return every starting index where `needle` occurs in `haystack`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-match.js","sourceRoot":"","sources":["../../lib/anchor-match.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"anchor-match.js","sourceRoot":"","sources":["../../lib/anchor-match.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,12 +33,6 @@ export declare function stripAnnotations(text: string, options?: StripOptions):
|
|
|
33
33
|
* @throws TypeError If text is not a string
|
|
34
34
|
*/
|
|
35
35
|
export declare function stripToSingleSpace(text: string): string;
|
|
36
|
-
/**
|
|
37
|
-
* Check if text contains any CriticMarkup annotations
|
|
38
|
-
* @param text - Text to check
|
|
39
|
-
* @returns True if text contains any annotations
|
|
40
|
-
* @throws TypeError If text is not a string
|
|
41
|
-
*/
|
|
42
36
|
export declare function hasAnnotations(text: string): boolean;
|
|
43
37
|
/**
|
|
44
38
|
* Apply a decision to a single annotation (accept or reject)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../lib/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAuHnG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CA6G3D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAyFjF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqDvD;
|
|
1
|
+
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../lib/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAuHnG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CA6G3D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,MAAM,CAyFjF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqDvD;AAmBD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMpD;AAeD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAiD3F;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAG1D;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,UAAU,EAAE,CAyB1F;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAmB7F;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAwB/D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA6C3D"}
|
package/dist/lib/annotations.js
CHANGED
|
@@ -359,15 +359,33 @@ export function stripToSingleSpace(text) {
|
|
|
359
359
|
* @returns True if text contains any annotations
|
|
360
360
|
* @throws TypeError If text is not a string
|
|
361
361
|
*/
|
|
362
|
+
// Non-global copies for membership tests. `.test()` on a global regex advances
|
|
363
|
+
// its lastIndex, so reusing PATTERNS here would make the result depend on prior
|
|
364
|
+
// calls and intermittently miss real annotations.
|
|
365
|
+
const ANNOTATION_TESTERS = [
|
|
366
|
+
PATTERNS.insert,
|
|
367
|
+
PATTERNS.delete,
|
|
368
|
+
PATTERNS.substitute,
|
|
369
|
+
PATTERNS.comment,
|
|
370
|
+
PATTERNS.highlight,
|
|
371
|
+
].map((re) => new RegExp(re.source, re.flags.replace('g', '')));
|
|
362
372
|
export function hasAnnotations(text) {
|
|
363
373
|
if (typeof text !== 'string') {
|
|
364
374
|
throw new TypeError(`text must be a string, got ${typeof text}`);
|
|
365
375
|
}
|
|
366
|
-
return
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
376
|
+
return ANNOTATION_TESTERS.some((re) => re.test(text));
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Replace the specific annotation occurrence at `position` rather than the
|
|
380
|
+
* first textual match. Two identical annotations (e.g. the same `{++the++}`
|
|
381
|
+
* twice) would otherwise have the wrong one edited. Falls back to a
|
|
382
|
+
* first-occurrence replace only if the recorded position no longer lines up.
|
|
383
|
+
*/
|
|
384
|
+
function replaceAnnotationAt(text, match, position, replacement) {
|
|
385
|
+
if (position >= 0 && text.startsWith(match, position)) {
|
|
386
|
+
return text.slice(0, position) + replacement + text.slice(position + match.length);
|
|
387
|
+
}
|
|
388
|
+
return text.replace(match, replacement);
|
|
371
389
|
}
|
|
372
390
|
/**
|
|
373
391
|
* Apply a decision to a single annotation (accept or reject)
|
|
@@ -425,7 +443,7 @@ export function applyDecision(text, annotation, accept) {
|
|
|
425
443
|
default:
|
|
426
444
|
return text;
|
|
427
445
|
}
|
|
428
|
-
return text
|
|
446
|
+
return replaceAnnotationAt(text, annotation.match, annotation.position, replacement);
|
|
429
447
|
}
|
|
430
448
|
/**
|
|
431
449
|
* Get track changes only (no comments)
|
|
@@ -487,12 +505,12 @@ export function setCommentStatus(text, comment, resolved) {
|
|
|
487
505
|
if (resolved) {
|
|
488
506
|
// Add [RESOLVED] marker before the closing <<
|
|
489
507
|
const newMatch = originalMatch.replace(/<<\}$/, ' [RESOLVED]<<}');
|
|
490
|
-
return text
|
|
508
|
+
return replaceAnnotationAt(text, originalMatch, comment.position, newMatch);
|
|
491
509
|
}
|
|
492
510
|
else {
|
|
493
511
|
// Remove resolved markers
|
|
494
512
|
const newMatch = originalMatch.replace(/\s*\[(RESOLVED|✓)\]<<\}$/, '<<}');
|
|
495
|
-
return text
|
|
513
|
+
return replaceAnnotationAt(text, originalMatch, comment.position, newMatch);
|
|
496
514
|
}
|
|
497
515
|
}
|
|
498
516
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../lib/annotations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../lib/annotations.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/build.d.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* - Strips annotations appropriately per output format
|
|
8
8
|
* - Runs pandoc with crossref filter
|
|
9
9
|
*/
|
|
10
|
+
import { type NativeTrackChangeStats } from './trackchanges.js';
|
|
10
11
|
import type { Author, JournalFormatting } from './types.js';
|
|
11
12
|
import { type MacroDef } from './macros.js';
|
|
12
13
|
export interface CrossrefConfig {
|
|
@@ -249,6 +250,57 @@ export declare function applyFormatTransforms(content: string, format: string, c
|
|
|
249
250
|
* Prepare paper.md for specific output format
|
|
250
251
|
*/
|
|
251
252
|
export declare function prepareForFormat(paperPath: string, format: string, config: BuildConfig, _options?: BuildOptions): string;
|
|
253
|
+
export interface ReviewedDocxOptions {
|
|
254
|
+
/** Final output path for the reviewed docx. */
|
|
255
|
+
outputPath: string;
|
|
256
|
+
/** Author name attached to the tracked revisions. */
|
|
257
|
+
author?: string;
|
|
258
|
+
/**
|
|
259
|
+
* Thread `{>>...<<}` comments into the same file (parent + reply via
|
|
260
|
+
* commentsExtended.xml). When false, comments are stripped and only tracked
|
|
261
|
+
* changes are emitted.
|
|
262
|
+
*/
|
|
263
|
+
includeComments?: boolean;
|
|
264
|
+
/**
|
|
265
|
+
* Optional reference docx: realign comment anchors against its text before
|
|
266
|
+
* injecting, matching the `--reference` behaviour of `--dual`. Only used
|
|
267
|
+
* when includeComments is true.
|
|
268
|
+
*/
|
|
269
|
+
referencePath?: string | null;
|
|
270
|
+
/** Extra pandoc args (CLI --pandoc-arg), applied to the single pandoc pass. */
|
|
271
|
+
pandocArgs?: string[];
|
|
272
|
+
verbose?: boolean;
|
|
273
|
+
}
|
|
274
|
+
export interface ReviewedDocxResult {
|
|
275
|
+
success: boolean;
|
|
276
|
+
error?: string;
|
|
277
|
+
outputPath: string;
|
|
278
|
+
stats: NativeTrackChangeStats;
|
|
279
|
+
/** Number of parent comments threaded (0 when includeComments is false). */
|
|
280
|
+
commentCount: number;
|
|
281
|
+
replyCount: number;
|
|
282
|
+
/** Comments that could not be anchored (markers not found in the docx). */
|
|
283
|
+
skippedComments: number;
|
|
284
|
+
/** Realigned comment count when a reference docx was supplied. */
|
|
285
|
+
realigned?: number;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Build a single reviewed docx containing pandoc-native tracked changes and,
|
|
289
|
+
* optionally, threaded Word comments.
|
|
290
|
+
*
|
|
291
|
+
* One pandoc pass through the full rev filter chain (crossref, citeproc,
|
|
292
|
+
* reference-doc, macros) emits the `w:ins`/`w:del` revisions from native
|
|
293
|
+
* `.insertion`/`.deletion` spans; the same file is then post-processed to
|
|
294
|
+
* thread `{>>...<<}` comments (parent + reply). This is the `--dual
|
|
295
|
+
* --show-changes` artifact: my edits as tracked changes *and* the reviewer's
|
|
296
|
+
* comments with my replies, in the one file a supervisor opens and hands back.
|
|
297
|
+
*
|
|
298
|
+
* @param directory - Project directory
|
|
299
|
+
* @param paperPath - Combined paper.md (from combineSections)
|
|
300
|
+
* @param config - Build config
|
|
301
|
+
* @param options - Output path, author, comment handling
|
|
302
|
+
*/
|
|
303
|
+
export declare function buildReviewedDocx(directory: string, paperPath: string, config: BuildConfig, options: ReviewedDocxOptions): Promise<ReviewedDocxResult>;
|
|
252
304
|
/**
|
|
253
305
|
* A raw LaTeX `\begin{figure}...\end{figure}` block found in source markdown.
|
|
254
306
|
* `exotic` blocks contain features we don't auto-translate (multiple
|
package/dist/lib/build.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../lib/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../lib/build.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/build.js
CHANGED
|
@@ -13,6 +13,8 @@ import { fileURLToPath } from 'url';
|
|
|
13
13
|
import { spawn } from 'child_process';
|
|
14
14
|
import YAML from 'yaml';
|
|
15
15
|
import { stripAnnotations } from './annotations.js';
|
|
16
|
+
import { criticToNativeTrackChanges, enableTrackRevisions } from './trackchanges.js';
|
|
17
|
+
import { prepareMarkdownWithMarkers, injectCommentsAtMarkers } from './wordcomments.js';
|
|
16
18
|
import { buildRegistry, labelToDisplay, detectDynamicRefs, resolveForwardRefs, resolveSupplementaryRefs } from './crossref.js';
|
|
17
19
|
import { processVariables, hasVariables } from './variables.js';
|
|
18
20
|
import { processSlideMarkdown, hasSlideSyntax } from './slides.js';
|
|
@@ -653,6 +655,130 @@ export function prepareForFormat(paperPath, format, config, _options = {}) {
|
|
|
653
655
|
fs.writeFileSync(preparedPath, content, 'utf-8');
|
|
654
656
|
return preparedPath;
|
|
655
657
|
}
|
|
658
|
+
/**
|
|
659
|
+
* Build a single reviewed docx containing pandoc-native tracked changes and,
|
|
660
|
+
* optionally, threaded Word comments.
|
|
661
|
+
*
|
|
662
|
+
* One pandoc pass through the full rev filter chain (crossref, citeproc,
|
|
663
|
+
* reference-doc, macros) emits the `w:ins`/`w:del` revisions from native
|
|
664
|
+
* `.insertion`/`.deletion` spans; the same file is then post-processed to
|
|
665
|
+
* thread `{>>...<<}` comments (parent + reply). This is the `--dual
|
|
666
|
+
* --show-changes` artifact: my edits as tracked changes *and* the reviewer's
|
|
667
|
+
* comments with my replies, in the one file a supervisor opens and hands back.
|
|
668
|
+
*
|
|
669
|
+
* @param directory - Project directory
|
|
670
|
+
* @param paperPath - Combined paper.md (from combineSections)
|
|
671
|
+
* @param config - Build config
|
|
672
|
+
* @param options - Output path, author, comment handling
|
|
673
|
+
*/
|
|
674
|
+
export async function buildReviewedDocx(directory, paperPath, config, options) {
|
|
675
|
+
const { outputPath, author = 'Author', includeComments = false, referencePath = null, pandocArgs, verbose, } = options;
|
|
676
|
+
const emptyStats = { insertions: 0, deletions: 0, substitutions: 0 };
|
|
677
|
+
let markdown = fs.readFileSync(paperPath, 'utf-8');
|
|
678
|
+
let realigned;
|
|
679
|
+
// Realign comment anchors from a reference docx (parity with --dual).
|
|
680
|
+
if (includeComments && referencePath && fs.existsSync(referencePath)) {
|
|
681
|
+
try {
|
|
682
|
+
const { realignMarkdown } = await import('./comment-realign.js');
|
|
683
|
+
const res = await realignMarkdown(referencePath, markdown);
|
|
684
|
+
if (res.success) {
|
|
685
|
+
markdown = res.markdown;
|
|
686
|
+
realigned = res.insertions;
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
catch {
|
|
690
|
+
// Non-fatal — fall back to the anchors already in the markdown.
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
// 1. CriticMarkup ins/del/subst → pandoc-native track-change spans.
|
|
694
|
+
const { text: withSpans, stats } = criticToNativeTrackChanges(markdown, { author });
|
|
695
|
+
// 2. Strip remaining annotations (highlights, and comments unless threading
|
|
696
|
+
// them). The native spans are inert to stripAnnotations — it only touches
|
|
697
|
+
// CriticMarkup and `.mark` spans, which are gone or preserved as needed.
|
|
698
|
+
let content = stripAnnotations(withSpans, { keepComments: includeComments });
|
|
699
|
+
// 3. Shared DOCX transforms (author block, @fig: → "Figure 1", raw figures).
|
|
700
|
+
const registry = buildRegistry(directory, config.sections);
|
|
701
|
+
content = applyFormatTransforms(content, 'docx', config, registry);
|
|
702
|
+
// 4. Comment markers (parents get ⟦CMS⟧ ranges; replies drop out for later
|
|
703
|
+
// threading). No-op when not including comments.
|
|
704
|
+
let comments = [];
|
|
705
|
+
if (includeComments) {
|
|
706
|
+
const prepared = prepareMarkdownWithMarkers(content);
|
|
707
|
+
content = prepared.markedMarkdown;
|
|
708
|
+
comments = prepared.comments;
|
|
709
|
+
}
|
|
710
|
+
const preparedPath = path.join(directory, '.paper-reviewed.md');
|
|
711
|
+
const tempDocx = path.join(directory, '.paper-reviewed.docx');
|
|
712
|
+
try {
|
|
713
|
+
fs.writeFileSync(preparedPath, content, 'utf-8');
|
|
714
|
+
// 5. Single pandoc pass — emits native tracked changes with full filter chain.
|
|
715
|
+
const pandocResult = await runPandoc(preparedPath, 'docx', config, {
|
|
716
|
+
outputPath: tempDocx,
|
|
717
|
+
pandocArgs,
|
|
718
|
+
verbose,
|
|
719
|
+
});
|
|
720
|
+
if (!pandocResult.success) {
|
|
721
|
+
return {
|
|
722
|
+
success: false,
|
|
723
|
+
error: pandocResult.error,
|
|
724
|
+
outputPath,
|
|
725
|
+
stats: emptyStats,
|
|
726
|
+
commentCount: 0,
|
|
727
|
+
replyCount: 0,
|
|
728
|
+
skippedComments: 0,
|
|
729
|
+
realigned,
|
|
730
|
+
};
|
|
731
|
+
}
|
|
732
|
+
const hasTrackChanges = stats.insertions + stats.deletions + stats.substitutions > 0;
|
|
733
|
+
if (hasTrackChanges)
|
|
734
|
+
enableTrackRevisions(tempDocx);
|
|
735
|
+
// 6. Thread comments into the same file (or just move it into place).
|
|
736
|
+
if (comments.length > 0) {
|
|
737
|
+
const injection = await injectCommentsAtMarkers(tempDocx, comments, outputPath);
|
|
738
|
+
if (!injection.success) {
|
|
739
|
+
return {
|
|
740
|
+
success: false,
|
|
741
|
+
error: injection.error,
|
|
742
|
+
outputPath,
|
|
743
|
+
stats,
|
|
744
|
+
commentCount: 0,
|
|
745
|
+
replyCount: 0,
|
|
746
|
+
skippedComments: 0,
|
|
747
|
+
realigned,
|
|
748
|
+
};
|
|
749
|
+
}
|
|
750
|
+
return {
|
|
751
|
+
success: true,
|
|
752
|
+
outputPath,
|
|
753
|
+
stats,
|
|
754
|
+
commentCount: injection.commentCount,
|
|
755
|
+
replyCount: injection.replyCount ?? 0,
|
|
756
|
+
skippedComments: injection.skippedComments,
|
|
757
|
+
realigned,
|
|
758
|
+
};
|
|
759
|
+
}
|
|
760
|
+
fs.copyFileSync(tempDocx, outputPath);
|
|
761
|
+
return {
|
|
762
|
+
success: true,
|
|
763
|
+
outputPath,
|
|
764
|
+
stats,
|
|
765
|
+
commentCount: 0,
|
|
766
|
+
replyCount: 0,
|
|
767
|
+
skippedComments: 0,
|
|
768
|
+
realigned,
|
|
769
|
+
};
|
|
770
|
+
}
|
|
771
|
+
finally {
|
|
772
|
+
if (!process.env.DEBUG) {
|
|
773
|
+
for (const tmp of [preparedPath, tempDocx]) {
|
|
774
|
+
try {
|
|
775
|
+
fs.unlinkSync(tmp);
|
|
776
|
+
}
|
|
777
|
+
catch { /* best-effort */ }
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
}
|
|
656
782
|
/**
|
|
657
783
|
* Convert @fig:label references to display format (Figure 1)
|
|
658
784
|
*/
|
|
@@ -1253,21 +1379,24 @@ export async function runPandoc(inputPath, format, config, options = {}) {
|
|
|
1253
1379
|
pandoc.on('close', async (code) => {
|
|
1254
1380
|
cleanupMacroTempFiles();
|
|
1255
1381
|
if (code === 0) {
|
|
1256
|
-
// For PPTX, post-process to add slide numbers, buildup colors, and logos
|
|
1382
|
+
// For PPTX, post-process to add slide numbers, buildup colors, and logos.
|
|
1383
|
+
// These steps enhance an already-written deck; a failure degrades the
|
|
1384
|
+
// output rather than aborting it, so each is reported as a warning
|
|
1385
|
+
// instead of silently swallowed — otherwise the user gets a deck
|
|
1386
|
+
// missing slide numbers / colors / logos with no indication why.
|
|
1257
1387
|
if (format === 'pptx') {
|
|
1388
|
+
const warn = (step, e) => console.warn(`Warning: PPTX ${step} failed; deck written without it (${e.message})`);
|
|
1258
1389
|
try {
|
|
1259
|
-
// Inject slide numbers into content slides only
|
|
1260
1390
|
await injectSlideNumbers(outputPath);
|
|
1261
1391
|
}
|
|
1262
1392
|
catch (e) {
|
|
1263
|
-
|
|
1393
|
+
warn('slide numbering', e);
|
|
1264
1394
|
}
|
|
1265
1395
|
try {
|
|
1266
1396
|
// Apply colors (default text color, title color, buildup greying)
|
|
1267
1397
|
const pptxConfig = config.pptx || {};
|
|
1268
1398
|
const colorsConfig = pptxConfig.colors || {};
|
|
1269
1399
|
const buildupConfig = pptxConfig.buildup || {};
|
|
1270
|
-
// Merge colors and buildup config for applyBuildupColors
|
|
1271
1400
|
const colorConfig = {
|
|
1272
1401
|
default: colorsConfig.default,
|
|
1273
1402
|
title: colorsConfig.title,
|
|
@@ -1278,7 +1407,7 @@ export async function runPandoc(inputPath, format, config, options = {}) {
|
|
|
1278
1407
|
await applyBuildupColors(outputPath, colorConfig);
|
|
1279
1408
|
}
|
|
1280
1409
|
catch (e) {
|
|
1281
|
-
|
|
1410
|
+
warn('color application', e);
|
|
1282
1411
|
}
|
|
1283
1412
|
// Inject logos into cover slide (if media dir configured)
|
|
1284
1413
|
if (pptxMediaDir) {
|
|
@@ -1286,7 +1415,7 @@ export async function runPandoc(inputPath, format, config, options = {}) {
|
|
|
1286
1415
|
await injectMediaIntoPptx(outputPath, pptxMediaDir);
|
|
1287
1416
|
}
|
|
1288
1417
|
catch (e) {
|
|
1289
|
-
|
|
1418
|
+
warn('logo injection', e);
|
|
1290
1419
|
}
|
|
1291
1420
|
}
|
|
1292
1421
|
}
|