docrev 0.8.1 → 0.8.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.
- package/.claude/settings.local.json +9 -0
- package/PLAN-tables-and-postprocess.md +850 -0
- package/README.md +33 -0
- package/bin/rev.js +12 -131
- package/bin/rev.ts +145 -0
- package/dist/bin/rev.d.ts +9 -0
- package/dist/bin/rev.d.ts.map +1 -0
- package/dist/bin/rev.js +118 -0
- package/dist/bin/rev.js.map +1 -0
- package/dist/lib/annotations.d.ts +91 -0
- package/dist/lib/annotations.d.ts.map +1 -0
- package/dist/lib/annotations.js +554 -0
- package/dist/lib/annotations.js.map +1 -0
- package/dist/lib/build.d.ts +171 -0
- package/dist/lib/build.d.ts.map +1 -0
- package/dist/lib/build.js +755 -0
- package/dist/lib/build.js.map +1 -0
- package/dist/lib/citations.d.ts +34 -0
- package/dist/lib/citations.d.ts.map +1 -0
- package/dist/lib/citations.js +140 -0
- package/dist/lib/citations.js.map +1 -0
- package/dist/lib/commands/build.d.ts +13 -0
- package/dist/lib/commands/build.d.ts.map +1 -0
- package/dist/lib/commands/build.js +678 -0
- package/dist/lib/commands/build.js.map +1 -0
- package/dist/lib/commands/citations.d.ts +11 -0
- package/dist/lib/commands/citations.d.ts.map +1 -0
- package/dist/lib/commands/citations.js +428 -0
- package/dist/lib/commands/citations.js.map +1 -0
- package/dist/lib/commands/comments.d.ts +11 -0
- package/dist/lib/commands/comments.d.ts.map +1 -0
- package/dist/lib/commands/comments.js +883 -0
- package/dist/lib/commands/comments.js.map +1 -0
- package/dist/lib/commands/context.d.ts +35 -0
- package/dist/lib/commands/context.d.ts.map +1 -0
- package/dist/lib/commands/context.js +59 -0
- package/dist/lib/commands/context.js.map +1 -0
- package/dist/lib/commands/core.d.ts +11 -0
- package/dist/lib/commands/core.d.ts.map +1 -0
- package/dist/lib/commands/core.js +246 -0
- package/dist/lib/commands/core.js.map +1 -0
- package/dist/lib/commands/doi.d.ts +11 -0
- package/dist/lib/commands/doi.d.ts.map +1 -0
- package/dist/lib/commands/doi.js +373 -0
- package/dist/lib/commands/doi.js.map +1 -0
- package/dist/lib/commands/history.d.ts +11 -0
- package/dist/lib/commands/history.d.ts.map +1 -0
- package/dist/lib/commands/history.js +245 -0
- package/dist/lib/commands/history.js.map +1 -0
- package/dist/lib/commands/index.d.ts +28 -0
- package/dist/lib/commands/index.d.ts.map +1 -0
- package/dist/lib/commands/index.js +35 -0
- package/dist/lib/commands/index.js.map +1 -0
- package/dist/lib/commands/init.d.ts +11 -0
- package/dist/lib/commands/init.d.ts.map +1 -0
- package/dist/lib/commands/init.js +209 -0
- package/dist/lib/commands/init.js.map +1 -0
- package/dist/lib/commands/response.d.ts +11 -0
- package/dist/lib/commands/response.d.ts.map +1 -0
- package/dist/lib/commands/response.js +317 -0
- package/dist/lib/commands/response.js.map +1 -0
- package/dist/lib/commands/sections.d.ts +11 -0
- package/dist/lib/commands/sections.d.ts.map +1 -0
- package/dist/lib/commands/sections.js +1071 -0
- package/dist/lib/commands/sections.js.map +1 -0
- package/dist/lib/commands/utilities.d.ts +19 -0
- package/dist/lib/commands/utilities.d.ts.map +1 -0
- package/dist/lib/commands/utilities.js +2009 -0
- package/dist/lib/commands/utilities.js.map +1 -0
- package/dist/lib/comment-realign.d.ts +50 -0
- package/dist/lib/comment-realign.d.ts.map +1 -0
- package/dist/lib/comment-realign.js +372 -0
- package/dist/lib/comment-realign.js.map +1 -0
- package/dist/lib/config.d.ts +41 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +76 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/crossref.d.ts +108 -0
- package/dist/lib/crossref.d.ts.map +1 -0
- package/dist/lib/crossref.js +597 -0
- package/dist/lib/crossref.js.map +1 -0
- package/dist/lib/dependencies.d.ts +30 -0
- package/dist/lib/dependencies.d.ts.map +1 -0
- package/dist/lib/dependencies.js +95 -0
- package/dist/lib/dependencies.js.map +1 -0
- package/dist/lib/doi-cache.d.ts +29 -0
- package/dist/lib/doi-cache.d.ts.map +1 -0
- package/dist/lib/doi-cache.js +104 -0
- package/dist/lib/doi-cache.js.map +1 -0
- package/dist/lib/doi.d.ts +65 -0
- package/dist/lib/doi.d.ts.map +1 -0
- package/dist/lib/doi.js +710 -0
- package/dist/lib/doi.js.map +1 -0
- package/dist/lib/equations.d.ts +61 -0
- package/dist/lib/equations.d.ts.map +1 -0
- package/dist/lib/equations.js +445 -0
- package/dist/lib/equations.js.map +1 -0
- package/dist/lib/errors.d.ts +60 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +303 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/format.d.ts +104 -0
- package/dist/lib/format.d.ts.map +1 -0
- package/dist/lib/format.js +416 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/git.d.ts +88 -0
- package/dist/lib/git.d.ts.map +1 -0
- package/dist/lib/git.js +304 -0
- package/dist/lib/git.js.map +1 -0
- package/dist/lib/grammar.d.ts +62 -0
- package/dist/lib/grammar.d.ts.map +1 -0
- package/dist/lib/grammar.js +244 -0
- package/dist/lib/grammar.js.map +1 -0
- package/dist/lib/image-registry.d.ts +68 -0
- package/dist/lib/image-registry.d.ts.map +1 -0
- package/dist/lib/image-registry.js +112 -0
- package/dist/lib/image-registry.js.map +1 -0
- package/dist/lib/import.d.ts +184 -0
- package/dist/lib/import.d.ts.map +1 -0
- package/dist/lib/import.js +1581 -0
- package/dist/lib/import.js.map +1 -0
- package/dist/lib/journals.d.ts +55 -0
- package/dist/lib/journals.d.ts.map +1 -0
- package/dist/lib/journals.js +417 -0
- package/dist/lib/journals.js.map +1 -0
- package/dist/lib/merge.d.ts +138 -0
- package/dist/lib/merge.d.ts.map +1 -0
- package/dist/lib/merge.js +603 -0
- package/dist/lib/merge.js.map +1 -0
- package/dist/lib/orcid.d.ts +36 -0
- package/dist/lib/orcid.d.ts.map +1 -0
- package/dist/lib/orcid.js +117 -0
- package/dist/lib/orcid.js.map +1 -0
- package/dist/lib/pdf-comments.d.ts +95 -0
- package/dist/lib/pdf-comments.d.ts.map +1 -0
- package/dist/lib/pdf-comments.js +192 -0
- package/dist/lib/pdf-comments.js.map +1 -0
- package/dist/lib/pdf-import.d.ts +118 -0
- package/dist/lib/pdf-import.d.ts.map +1 -0
- package/dist/lib/pdf-import.js +397 -0
- package/dist/lib/pdf-import.js.map +1 -0
- package/dist/lib/plugins.d.ts +76 -0
- package/dist/lib/plugins.d.ts.map +1 -0
- package/dist/lib/plugins.js +235 -0
- package/dist/lib/plugins.js.map +1 -0
- package/dist/lib/postprocess.d.ts +42 -0
- package/dist/lib/postprocess.d.ts.map +1 -0
- package/dist/lib/postprocess.js +138 -0
- package/dist/lib/postprocess.js.map +1 -0
- package/dist/lib/pptx-template.d.ts +59 -0
- package/dist/lib/pptx-template.d.ts.map +1 -0
- package/dist/lib/pptx-template.js +613 -0
- package/dist/lib/pptx-template.js.map +1 -0
- package/dist/lib/pptx-themes.d.ts +80 -0
- package/dist/lib/pptx-themes.d.ts.map +1 -0
- package/dist/lib/pptx-themes.js +818 -0
- package/dist/lib/pptx-themes.js.map +1 -0
- package/dist/lib/protect-restore.d.ts +137 -0
- package/dist/lib/protect-restore.d.ts.map +1 -0
- package/dist/lib/protect-restore.js +394 -0
- package/dist/lib/protect-restore.js.map +1 -0
- package/dist/lib/rate-limiter.d.ts +27 -0
- package/dist/lib/rate-limiter.d.ts.map +1 -0
- package/dist/lib/rate-limiter.js +79 -0
- package/dist/lib/rate-limiter.js.map +1 -0
- package/dist/lib/response.d.ts +41 -0
- package/dist/lib/response.d.ts.map +1 -0
- package/dist/lib/response.js +150 -0
- package/dist/lib/response.js.map +1 -0
- package/dist/lib/review.d.ts +35 -0
- package/dist/lib/review.d.ts.map +1 -0
- package/dist/lib/review.js +263 -0
- package/dist/lib/review.js.map +1 -0
- package/dist/lib/schema.d.ts +66 -0
- package/dist/lib/schema.d.ts.map +1 -0
- package/dist/lib/schema.js +339 -0
- package/dist/lib/schema.js.map +1 -0
- package/dist/lib/scientific-words.d.ts +6 -0
- package/dist/lib/scientific-words.d.ts.map +1 -0
- package/dist/lib/scientific-words.js +66 -0
- package/dist/lib/scientific-words.js.map +1 -0
- package/dist/lib/sections.d.ts +40 -0
- package/dist/lib/sections.d.ts.map +1 -0
- package/dist/lib/sections.js +288 -0
- package/dist/lib/sections.js.map +1 -0
- package/dist/lib/slides.d.ts +86 -0
- package/dist/lib/slides.d.ts.map +1 -0
- package/dist/lib/slides.js +676 -0
- package/dist/lib/slides.js.map +1 -0
- package/dist/lib/spelling.d.ts +76 -0
- package/dist/lib/spelling.d.ts.map +1 -0
- package/dist/lib/spelling.js +272 -0
- package/dist/lib/spelling.js.map +1 -0
- package/dist/lib/templates.d.ts +30 -0
- package/dist/lib/templates.d.ts.map +1 -0
- package/dist/lib/templates.js +504 -0
- package/dist/lib/templates.js.map +1 -0
- package/dist/lib/themes.d.ts +85 -0
- package/dist/lib/themes.d.ts.map +1 -0
- package/dist/lib/themes.js +652 -0
- package/dist/lib/themes.js.map +1 -0
- package/dist/lib/trackchanges.d.ts +51 -0
- package/dist/lib/trackchanges.d.ts.map +1 -0
- package/dist/lib/trackchanges.js +202 -0
- package/dist/lib/trackchanges.js.map +1 -0
- package/dist/lib/tui.d.ts +76 -0
- package/dist/lib/tui.d.ts.map +1 -0
- package/dist/lib/tui.js +377 -0
- package/dist/lib/tui.js.map +1 -0
- package/dist/lib/types.d.ts +447 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +6 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/undo.d.ts +57 -0
- package/dist/lib/undo.d.ts.map +1 -0
- package/dist/lib/undo.js +185 -0
- package/dist/lib/undo.js.map +1 -0
- package/dist/lib/utils.d.ts +16 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +40 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/variables.d.ts +42 -0
- package/dist/lib/variables.d.ts.map +1 -0
- package/dist/lib/variables.js +141 -0
- package/dist/lib/variables.js.map +1 -0
- package/dist/lib/word.d.ts +80 -0
- package/dist/lib/word.d.ts.map +1 -0
- package/dist/lib/word.js +360 -0
- package/dist/lib/word.js.map +1 -0
- package/dist/lib/wordcomments.d.ts +51 -0
- package/dist/lib/wordcomments.d.ts.map +1 -0
- package/dist/lib/wordcomments.js +587 -0
- package/dist/lib/wordcomments.js.map +1 -0
- package/eslint.config.js +27 -0
- package/lib/annotations.ts +622 -0
- package/lib/apply-buildup-colors.py +88 -0
- package/lib/build.ts +1013 -0
- package/lib/{citations.js → citations.ts} +38 -27
- package/lib/commands/{build.js → build.ts} +80 -27
- package/lib/commands/{citations.js → citations.ts} +36 -18
- package/lib/commands/{comments.js → comments.ts} +187 -54
- package/lib/commands/{context.js → context.ts} +18 -8
- package/lib/commands/{core.js → core.ts} +34 -20
- package/lib/commands/{doi.js → doi.ts} +32 -16
- package/lib/commands/{history.js → history.ts} +25 -12
- package/lib/commands/{index.js → index.ts} +9 -5
- package/lib/commands/{init.js → init.ts} +20 -8
- package/lib/commands/{response.js → response.ts} +47 -20
- package/lib/commands/{sections.js → sections.ts} +273 -68
- package/lib/commands/{utilities.js → utilities.ts} +338 -158
- package/lib/{comment-realign.js → comment-realign.ts} +117 -45
- package/lib/config.ts +84 -0
- package/lib/{crossref.js → crossref.ts} +213 -138
- package/lib/dependencies.ts +106 -0
- package/lib/doi-cache.ts +115 -0
- package/lib/{doi.js → doi.ts} +115 -281
- package/lib/{equations.js → equations.ts} +60 -64
- package/lib/{errors.js → errors.ts} +56 -48
- package/lib/{format.js → format.ts} +137 -63
- package/lib/{git.js → git.ts} +66 -63
- package/lib/{grammar.js → grammar.ts} +45 -32
- package/lib/image-registry.ts +180 -0
- package/lib/import.ts +2060 -0
- package/lib/journals.ts +505 -0
- package/lib/{merge.js → merge.ts} +185 -135
- package/lib/{orcid.js → orcid.ts} +17 -22
- package/lib/{pdf-comments.js → pdf-comments.ts} +76 -18
- package/lib/{pdf-import.js → pdf-import.ts} +148 -70
- package/lib/{plugins.js → plugins.ts} +82 -39
- package/lib/postprocess.ts +188 -0
- package/lib/pptx-color-filter.lua +37 -0
- package/lib/pptx-template.ts +625 -0
- package/lib/pptx-themes/academic.pptx +0 -0
- package/lib/pptx-themes/corporate.pptx +0 -0
- package/lib/pptx-themes/dark.pptx +0 -0
- package/lib/pptx-themes/default.pptx +0 -0
- package/lib/pptx-themes/minimal.pptx +0 -0
- package/lib/pptx-themes/plant.pptx +0 -0
- package/lib/pptx-themes.ts +896 -0
- package/lib/protect-restore.ts +516 -0
- package/lib/rate-limiter.ts +94 -0
- package/lib/{response.js → response.ts} +36 -21
- package/lib/{review.js → review.ts} +53 -43
- package/lib/{schema.js → schema.ts} +70 -25
- package/lib/{sections.js → sections.ts} +71 -76
- package/lib/slides.ts +793 -0
- package/lib/{spelling.js → spelling.ts} +43 -59
- package/lib/{templates.js → templates.ts} +20 -17
- package/lib/themes.ts +742 -0
- package/lib/{trackchanges.js → trackchanges.ts} +52 -23
- package/lib/types.ts +509 -0
- package/lib/{undo.js → undo.ts} +75 -52
- package/lib/utils.ts +41 -0
- package/lib/{variables.js → variables.ts} +60 -54
- package/lib/word.ts +428 -0
- package/lib/{wordcomments.js → wordcomments.ts} +94 -40
- package/package.json +15 -5
- package/skill/REFERENCE.md +67 -0
- package/tsconfig.json +26 -0
- package/lib/annotations.js +0 -414
- package/lib/build.js +0 -639
- package/lib/config.js +0 -79
- package/lib/import.js +0 -1145
- package/lib/journals.js +0 -629
- package/lib/word.js +0 -225
- /package/lib/{scientific-words.js → scientific-words.ts} +0 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image registry utilities for tracking figures and tables in markdown documents
|
|
3
|
+
*
|
|
4
|
+
* The registry maps figure/table labels and display numbers to source paths,
|
|
5
|
+
* enabling Word import to match rendered figures back to original sources.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Image registry entry
|
|
9
|
+
*/
|
|
10
|
+
interface ImageEntry {
|
|
11
|
+
caption: string;
|
|
12
|
+
path: string;
|
|
13
|
+
label: string | null;
|
|
14
|
+
type: 'fig' | 'tbl';
|
|
15
|
+
number?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Image registry
|
|
19
|
+
*/
|
|
20
|
+
interface ImageRegistry {
|
|
21
|
+
figures: ImageEntry[];
|
|
22
|
+
byLabel: Map<string, ImageEntry>;
|
|
23
|
+
byNumber: Map<string, ImageEntry>;
|
|
24
|
+
byCaption: Map<string, ImageEntry>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Crossref registry info
|
|
28
|
+
*/
|
|
29
|
+
interface CrossrefInfo {
|
|
30
|
+
num: number;
|
|
31
|
+
isSupp: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Crossref registry
|
|
35
|
+
*/
|
|
36
|
+
interface CrossrefRegistry {
|
|
37
|
+
figures: Map<string, CrossrefInfo>;
|
|
38
|
+
tables: Map<string, CrossrefInfo>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Saved registry data
|
|
42
|
+
*/
|
|
43
|
+
interface RegistryData {
|
|
44
|
+
version: number;
|
|
45
|
+
created: string;
|
|
46
|
+
figures: ImageEntry[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Pattern to extract markdown images with optional pandoc-crossref anchors
|
|
50
|
+
* Captures: {#fig:label} or 
|
|
51
|
+
* Groups: [1] = caption, [2] = path, [3] = label type (fig/tbl), [4] = label
|
|
52
|
+
*/
|
|
53
|
+
export declare const IMAGE_PATTERN: RegExp;
|
|
54
|
+
/**
|
|
55
|
+
* Build image registry from markdown content
|
|
56
|
+
* Maps figure labels and display numbers to source paths
|
|
57
|
+
*/
|
|
58
|
+
export declare function buildImageRegistry(content: string, crossrefRegistry?: CrossrefRegistry | null): ImageRegistry;
|
|
59
|
+
/**
|
|
60
|
+
* Write image registry to .rev directory
|
|
61
|
+
*/
|
|
62
|
+
export declare function writeImageRegistry(directory: string, registry: ImageRegistry): string;
|
|
63
|
+
/**
|
|
64
|
+
* Read image registry from .rev directory
|
|
65
|
+
*/
|
|
66
|
+
export declare function readImageRegistry(directory: string): (ImageRegistry & RegistryData) | null;
|
|
67
|
+
export {};
|
|
68
|
+
//# sourceMappingURL=image-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-registry.d.ts","sourceRoot":"","sources":["../../lib/image-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,UAAU,gBAAgB;IACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAyD,CAAC;AAEpF;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,gBAAgB,GAAE,gBAAgB,GAAG,IAAW,GAC/C,aAAa,CA6Cf;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,CAiBrF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,aAAa,GAAG,YAAY,CAAC,GAAG,IAAI,CAqC1F"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Image registry utilities for tracking figures and tables in markdown documents
|
|
3
|
+
*
|
|
4
|
+
* The registry maps figure/table labels and display numbers to source paths,
|
|
5
|
+
* enabling Word import to match rendered figures back to original sources.
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
/**
|
|
10
|
+
* Pattern to extract markdown images with optional pandoc-crossref anchors
|
|
11
|
+
* Captures: {#fig:label} or 
|
|
12
|
+
* Groups: [1] = caption, [2] = path, [3] = label type (fig/tbl), [4] = label
|
|
13
|
+
*/
|
|
14
|
+
export const IMAGE_PATTERN = /!\[([^\]]*)\]\(([^)]+)\)(?:\{#(fig|tbl):([^}]+)\})?/g;
|
|
15
|
+
/**
|
|
16
|
+
* Build image registry from markdown content
|
|
17
|
+
* Maps figure labels and display numbers to source paths
|
|
18
|
+
*/
|
|
19
|
+
export function buildImageRegistry(content, crossrefRegistry = null) {
|
|
20
|
+
const figures = [];
|
|
21
|
+
const byLabel = new Map();
|
|
22
|
+
const byNumber = new Map();
|
|
23
|
+
const byCaption = new Map();
|
|
24
|
+
IMAGE_PATTERN.lastIndex = 0;
|
|
25
|
+
let match;
|
|
26
|
+
while ((match = IMAGE_PATTERN.exec(content)) !== null) {
|
|
27
|
+
const caption = match[1];
|
|
28
|
+
const imagePath = match[2];
|
|
29
|
+
const labelType = match[3]; // 'fig' or 'tbl' or undefined
|
|
30
|
+
const label = match[4]; // label without prefix
|
|
31
|
+
const entry = {
|
|
32
|
+
caption,
|
|
33
|
+
path: imagePath,
|
|
34
|
+
label: label || null,
|
|
35
|
+
type: labelType || 'fig',
|
|
36
|
+
};
|
|
37
|
+
// Add display number if we have a crossref registry
|
|
38
|
+
if (label && crossrefRegistry) {
|
|
39
|
+
const info = crossrefRegistry.figures.get(label) || crossrefRegistry.tables.get(label);
|
|
40
|
+
if (info) {
|
|
41
|
+
entry.number = info.isSupp ? `S${info.num}` : `${info.num}`;
|
|
42
|
+
byNumber.set(`${entry.type}:${entry.number}`, entry);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
figures.push(entry);
|
|
46
|
+
if (label) {
|
|
47
|
+
byLabel.set(`${labelType || 'fig'}:${label}`, entry);
|
|
48
|
+
}
|
|
49
|
+
// Index by first 50 chars of caption for fuzzy matching
|
|
50
|
+
if (caption) {
|
|
51
|
+
const captionKey = caption.slice(0, 50).toLowerCase().trim();
|
|
52
|
+
byCaption.set(captionKey, entry);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return { figures, byLabel, byNumber, byCaption };
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Write image registry to .rev directory
|
|
59
|
+
*/
|
|
60
|
+
export function writeImageRegistry(directory, registry) {
|
|
61
|
+
const revDir = path.join(directory, '.rev');
|
|
62
|
+
if (!fs.existsSync(revDir)) {
|
|
63
|
+
fs.mkdirSync(revDir, { recursive: true });
|
|
64
|
+
}
|
|
65
|
+
// Convert Maps to objects for JSON serialization
|
|
66
|
+
const data = {
|
|
67
|
+
version: 1,
|
|
68
|
+
created: new Date().toISOString(),
|
|
69
|
+
figures: registry.figures,
|
|
70
|
+
};
|
|
71
|
+
const registryPath = path.join(revDir, 'image-registry.json');
|
|
72
|
+
fs.writeFileSync(registryPath, JSON.stringify(data, null, 2), 'utf-8');
|
|
73
|
+
return registryPath;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Read image registry from .rev directory
|
|
77
|
+
*/
|
|
78
|
+
export function readImageRegistry(directory) {
|
|
79
|
+
const registryPath = path.join(directory, '.rev', 'image-registry.json');
|
|
80
|
+
if (!fs.existsSync(registryPath)) {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const data = JSON.parse(fs.readFileSync(registryPath, 'utf-8'));
|
|
85
|
+
// Rebuild lookup maps from figures array
|
|
86
|
+
const byLabel = new Map();
|
|
87
|
+
const byNumber = new Map();
|
|
88
|
+
const byCaption = new Map();
|
|
89
|
+
for (const entry of data.figures || []) {
|
|
90
|
+
if (entry.label) {
|
|
91
|
+
byLabel.set(`${entry.type || 'fig'}:${entry.label}`, entry);
|
|
92
|
+
}
|
|
93
|
+
if (entry.number) {
|
|
94
|
+
byNumber.set(`${entry.type || 'fig'}:${entry.number}`, entry);
|
|
95
|
+
}
|
|
96
|
+
if (entry.caption) {
|
|
97
|
+
const captionKey = entry.caption.slice(0, 50).toLowerCase().trim();
|
|
98
|
+
byCaption.set(captionKey, entry);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return {
|
|
102
|
+
...data,
|
|
103
|
+
byLabel,
|
|
104
|
+
byNumber,
|
|
105
|
+
byCaption,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=image-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-registry.js","sourceRoot":"","sources":["../../lib/image-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Import functionality - convert Word docs to annotated Markdown
|
|
3
|
+
*/
|
|
4
|
+
interface WordComment {
|
|
5
|
+
id: string;
|
|
6
|
+
author: string;
|
|
7
|
+
date: string;
|
|
8
|
+
text: string;
|
|
9
|
+
}
|
|
10
|
+
interface CommentAnchorData {
|
|
11
|
+
anchor: string;
|
|
12
|
+
before: string;
|
|
13
|
+
after: string;
|
|
14
|
+
docPosition: number;
|
|
15
|
+
docLength: number;
|
|
16
|
+
isEmpty: boolean;
|
|
17
|
+
}
|
|
18
|
+
interface CommentAnchorsResult {
|
|
19
|
+
anchors: Map<string, CommentAnchorData>;
|
|
20
|
+
fullDocText: string;
|
|
21
|
+
}
|
|
22
|
+
interface WordTable {
|
|
23
|
+
markdown: string;
|
|
24
|
+
rowCount: number;
|
|
25
|
+
colCount: number;
|
|
26
|
+
}
|
|
27
|
+
interface ExtractFromWordOptions {
|
|
28
|
+
mediaDir?: string;
|
|
29
|
+
skipMediaExtraction?: boolean;
|
|
30
|
+
}
|
|
31
|
+
interface ExtractMessage {
|
|
32
|
+
type: 'info' | 'warning';
|
|
33
|
+
message: string;
|
|
34
|
+
}
|
|
35
|
+
interface ExtractFromWordResult {
|
|
36
|
+
text: string;
|
|
37
|
+
comments: WordComment[];
|
|
38
|
+
anchors: Map<string, CommentAnchorData>;
|
|
39
|
+
messages: ExtractMessage[];
|
|
40
|
+
extractedMedia: string[];
|
|
41
|
+
tables: WordTable[];
|
|
42
|
+
hasTrackChanges: boolean;
|
|
43
|
+
trackChangeStats: {
|
|
44
|
+
insertions: number;
|
|
45
|
+
deletions: number;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
interface InsertCommentsOptions {
|
|
49
|
+
quiet?: boolean;
|
|
50
|
+
sectionBoundary?: {
|
|
51
|
+
start: number;
|
|
52
|
+
end: number;
|
|
53
|
+
} | null;
|
|
54
|
+
}
|
|
55
|
+
interface GenerateSmartDiffOptions {
|
|
56
|
+
wordTables?: WordTable[];
|
|
57
|
+
imageRegistry?: any;
|
|
58
|
+
}
|
|
59
|
+
interface RestoreCrossrefResult {
|
|
60
|
+
text: string;
|
|
61
|
+
restored: number;
|
|
62
|
+
messages: string[];
|
|
63
|
+
restoredLabels: Set<string>;
|
|
64
|
+
}
|
|
65
|
+
interface RestoreImagesResult {
|
|
66
|
+
text: string;
|
|
67
|
+
restored: number;
|
|
68
|
+
messages: string[];
|
|
69
|
+
}
|
|
70
|
+
interface ImportWordWithTrackChangesOptions {
|
|
71
|
+
mediaDir?: string;
|
|
72
|
+
projectDir?: string;
|
|
73
|
+
}
|
|
74
|
+
interface ImportWordWithTrackChangesResult {
|
|
75
|
+
text: string;
|
|
76
|
+
stats: {
|
|
77
|
+
insertions: number;
|
|
78
|
+
deletions: number;
|
|
79
|
+
substitutions: number;
|
|
80
|
+
comments: number;
|
|
81
|
+
total: number;
|
|
82
|
+
hasTrackChanges: boolean;
|
|
83
|
+
trackChangeStats: {
|
|
84
|
+
insertions: number;
|
|
85
|
+
deletions: number;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
extractedMedia: string[];
|
|
89
|
+
comments: WordComment[];
|
|
90
|
+
}
|
|
91
|
+
interface ImportFromWordOptions {
|
|
92
|
+
author?: string;
|
|
93
|
+
sectionContent?: string;
|
|
94
|
+
figuresDir?: string;
|
|
95
|
+
wordTables?: WordTable[];
|
|
96
|
+
}
|
|
97
|
+
interface ImportFromWordResult {
|
|
98
|
+
annotated: string;
|
|
99
|
+
stats: {
|
|
100
|
+
insertions: number;
|
|
101
|
+
deletions: number;
|
|
102
|
+
substitutions: number;
|
|
103
|
+
comments: number;
|
|
104
|
+
total: number;
|
|
105
|
+
};
|
|
106
|
+
extractedMedia: string[];
|
|
107
|
+
}
|
|
108
|
+
interface MovedFile {
|
|
109
|
+
from: string;
|
|
110
|
+
to: string;
|
|
111
|
+
name: string;
|
|
112
|
+
}
|
|
113
|
+
interface MoveExtractedMediaResult {
|
|
114
|
+
moved: MovedFile[];
|
|
115
|
+
errors: string[];
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Extract comments directly from Word docx comments.xml
|
|
119
|
+
*/
|
|
120
|
+
export declare function extractWordComments(docxPath: string): Promise<WordComment[]>;
|
|
121
|
+
/**
|
|
122
|
+
* Extract comment anchor texts from document.xml with surrounding context
|
|
123
|
+
* Returns map of comment ID -> {anchor, before, after, docPosition, isEmpty} for better matching
|
|
124
|
+
* Also returns fullDocText for section boundary matching
|
|
125
|
+
*/
|
|
126
|
+
export declare function extractCommentAnchors(docxPath: string): Promise<CommentAnchorsResult>;
|
|
127
|
+
/**
|
|
128
|
+
* Extract tables directly from Word document XML and convert to markdown pipe tables
|
|
129
|
+
*/
|
|
130
|
+
export declare function extractWordTables(docxPath: string): Promise<WordTable[]>;
|
|
131
|
+
/**
|
|
132
|
+
* Extract text from Word document using pandoc with track changes preserved
|
|
133
|
+
*/
|
|
134
|
+
export declare function extractFromWord(docxPath: string, options?: ExtractFromWordOptions): Promise<ExtractFromWordResult>;
|
|
135
|
+
/**
|
|
136
|
+
* Insert comments into markdown text based on anchor texts with context
|
|
137
|
+
*/
|
|
138
|
+
export declare function insertCommentsIntoMarkdown(markdown: string, comments: WordComment[], anchors: Map<string, CommentAnchorData | string>, options?: InsertCommentsOptions): string;
|
|
139
|
+
/**
|
|
140
|
+
* Generate annotated markdown by diffing original MD against Word text
|
|
141
|
+
*/
|
|
142
|
+
export declare function generateAnnotatedDiff(originalMd: string, wordText: string, author?: string): string;
|
|
143
|
+
/**
|
|
144
|
+
* Smart paragraph-level diff that preserves markdown structure
|
|
145
|
+
*/
|
|
146
|
+
export declare function generateSmartDiff(originalMd: string, wordText: string, author?: string, options?: GenerateSmartDiffOptions): string;
|
|
147
|
+
/**
|
|
148
|
+
* Clean up redundant adjacent annotations
|
|
149
|
+
*/
|
|
150
|
+
export declare function cleanupAnnotations(text: string): string;
|
|
151
|
+
/**
|
|
152
|
+
* Parse visible comment markers from Word text
|
|
153
|
+
*/
|
|
154
|
+
export declare function parseVisibleComments(text: string): Array<{
|
|
155
|
+
author: string;
|
|
156
|
+
text: string;
|
|
157
|
+
position: number;
|
|
158
|
+
}>;
|
|
159
|
+
/**
|
|
160
|
+
* Convert visible comments to CriticMarkup format
|
|
161
|
+
*/
|
|
162
|
+
export declare function convertVisibleComments(text: string): string;
|
|
163
|
+
/**
|
|
164
|
+
* Restore pandoc-crossref figure/table references from Word-rendered format
|
|
165
|
+
*/
|
|
166
|
+
export declare function restoreCrossrefFromWord(text: string, projectDir: string, restoredLabels?: Set<string> | null): RestoreCrossrefResult;
|
|
167
|
+
/**
|
|
168
|
+
* Restore proper markdown image syntax from Word-extracted text using image registry
|
|
169
|
+
*/
|
|
170
|
+
export declare function restoreImagesFromRegistry(text: string, projectDir: string, restoredLabels?: Set<string> | null): RestoreImagesResult;
|
|
171
|
+
/**
|
|
172
|
+
* Import Word document with track changes directly as CriticMarkup
|
|
173
|
+
*/
|
|
174
|
+
export declare function importWordWithTrackChanges(docxPath: string, options?: ImportWordWithTrackChangesOptions): Promise<ImportWordWithTrackChangesResult>;
|
|
175
|
+
/**
|
|
176
|
+
* Legacy import function: Word doc → annotated MD via diff
|
|
177
|
+
*/
|
|
178
|
+
export declare function importFromWord(docxPath: string, originalMdPath: string, options?: ImportFromWordOptions): Promise<ImportFromWordResult>;
|
|
179
|
+
/**
|
|
180
|
+
* Move extracted media files to a figures directory with better names
|
|
181
|
+
*/
|
|
182
|
+
export declare function moveExtractedMedia(mediaFiles: string[], figuresDir: string, prefix?: string): MoveExtractedMediaResult;
|
|
183
|
+
export {};
|
|
184
|
+
//# sourceMappingURL=import.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../lib/import.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmCH,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAUD,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,oBAAoB;IAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAOD,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D;AAED,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACzD;AA0BD,UAAU,wBAAwB;IAChC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,UAAU,iCAAiC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,gCAAgC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,eAAe,EAAE,OAAO,CAAC;QACzB,gBAAgB,EAAE;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7D,CAAC;IACF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,UAAU,oBAAoB;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,wBAAwB;IAChC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAMD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAoFlF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA6J3F;AA2GD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA2C9E;AAqCD;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA4HhC;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAAC,EAChD,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAwVR;AAmHD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAmB,GAAG,MAAM,CAmB/G;AAiDD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAmB,EAC3B,OAAO,GAAE,wBAA6B,GACrC,MAAM,CA0IR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqGvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAc5G;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,cAAc,GAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAW,GACxC,qBAAqB,CAkEvB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,cAAc,GAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAW,GACxC,mBAAmB,CAwGrB;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,gCAAgC,CAAC,CA4F3C;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CA8I/B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAiB,GACxB,wBAAwB,CAuB1B"}
|