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,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User configuration management
|
|
3
|
+
* Stores user preferences in ~/.revrc
|
|
4
|
+
*/
|
|
5
|
+
import type { UserConfig } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Load user config
|
|
8
|
+
* @returns User configuration object
|
|
9
|
+
*/
|
|
10
|
+
export declare function loadUserConfig(): UserConfig;
|
|
11
|
+
/**
|
|
12
|
+
* Save user config
|
|
13
|
+
* @param config - User configuration to save
|
|
14
|
+
*/
|
|
15
|
+
export declare function saveUserConfig(config: UserConfig): void;
|
|
16
|
+
/**
|
|
17
|
+
* Get user name
|
|
18
|
+
* @returns User name or null if not set
|
|
19
|
+
*/
|
|
20
|
+
export declare function getUserName(): string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Set user name
|
|
23
|
+
* @param name - User name to set
|
|
24
|
+
*/
|
|
25
|
+
export declare function setUserName(name: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Get config file path
|
|
28
|
+
* @returns Absolute path to config file
|
|
29
|
+
*/
|
|
30
|
+
export declare function getConfigPath(): string;
|
|
31
|
+
/**
|
|
32
|
+
* Get default sections for new projects
|
|
33
|
+
* @returns Array of section names or null if not set
|
|
34
|
+
*/
|
|
35
|
+
export declare function getDefaultSections(): string[] | null;
|
|
36
|
+
/**
|
|
37
|
+
* Set default sections for new projects
|
|
38
|
+
* @param sections - Array of section names (without .md extension)
|
|
39
|
+
*/
|
|
40
|
+
export declare function setDefaultSections(sections: string[]): void;
|
|
41
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAO7C;;;GAGG;AACH,wBAAgB,cAAc,IAAI,UAAU,CAa3C;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAEvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAG3C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAI9C;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,GAAG,IAAI,CAGpD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAI3D"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User configuration management
|
|
3
|
+
* Stores user preferences in ~/.revrc
|
|
4
|
+
*/
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
import * as os from 'os';
|
|
8
|
+
const CONFIG_PATH = path.join(os.homedir(), '.revrc');
|
|
9
|
+
/**
|
|
10
|
+
* Load user config
|
|
11
|
+
* @returns User configuration object
|
|
12
|
+
*/
|
|
13
|
+
export function loadUserConfig() {
|
|
14
|
+
try {
|
|
15
|
+
if (fs.existsSync(CONFIG_PATH)) {
|
|
16
|
+
const content = fs.readFileSync(CONFIG_PATH, 'utf-8');
|
|
17
|
+
return JSON.parse(content);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
if (process.env.DEBUG) {
|
|
22
|
+
const error = e;
|
|
23
|
+
console.warn('config: Failed to parse ~/.revrc:', error.message);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Save user config
|
|
30
|
+
* @param config - User configuration to save
|
|
31
|
+
*/
|
|
32
|
+
export function saveUserConfig(config) {
|
|
33
|
+
fs.writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2), 'utf-8');
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get user name
|
|
37
|
+
* @returns User name or null if not set
|
|
38
|
+
*/
|
|
39
|
+
export function getUserName() {
|
|
40
|
+
const config = loadUserConfig();
|
|
41
|
+
return config.userName || null;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Set user name
|
|
45
|
+
* @param name - User name to set
|
|
46
|
+
*/
|
|
47
|
+
export function setUserName(name) {
|
|
48
|
+
const config = loadUserConfig();
|
|
49
|
+
config.userName = name;
|
|
50
|
+
saveUserConfig(config);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get config file path
|
|
54
|
+
* @returns Absolute path to config file
|
|
55
|
+
*/
|
|
56
|
+
export function getConfigPath() {
|
|
57
|
+
return CONFIG_PATH;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Get default sections for new projects
|
|
61
|
+
* @returns Array of section names or null if not set
|
|
62
|
+
*/
|
|
63
|
+
export function getDefaultSections() {
|
|
64
|
+
const config = loadUserConfig();
|
|
65
|
+
return config.defaultSections || null;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Set default sections for new projects
|
|
69
|
+
* @param sections - Array of section names (without .md extension)
|
|
70
|
+
*/
|
|
71
|
+
export function setDefaultSections(sections) {
|
|
72
|
+
const config = loadUserConfig();
|
|
73
|
+
config.defaultSections = sections;
|
|
74
|
+
saveUserConfig(config);
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAEtD;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAe,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,CAAU,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC/C,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,cAAc,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,OAAO,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAkB;IACnD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,cAAc,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-reference handling - dynamic figure/table references
|
|
3
|
+
*
|
|
4
|
+
* Enables:
|
|
5
|
+
* - @fig:label syntax in source (auto-numbered)
|
|
6
|
+
* - Conversion to "Figure 1" in Word output
|
|
7
|
+
* - Auto-conversion back during import
|
|
8
|
+
*/
|
|
9
|
+
import type { DynamicRef, Registry, RefStatus, ConversionResult } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Parsed reference number components
|
|
12
|
+
*/
|
|
13
|
+
interface ParsedRefNumber {
|
|
14
|
+
isSupp: boolean;
|
|
15
|
+
num: number;
|
|
16
|
+
suffix: string | null;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Detected reference with parsed numbers
|
|
20
|
+
*/
|
|
21
|
+
interface DetectedRef {
|
|
22
|
+
type: 'fig' | 'tbl' | 'eq';
|
|
23
|
+
match: string;
|
|
24
|
+
numbers: ParsedRefNumber[];
|
|
25
|
+
position: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Normalize a reference type to standard form
|
|
29
|
+
*/
|
|
30
|
+
export declare function normalizeType(typeStr: string): 'fig' | 'tbl' | 'eq' | string;
|
|
31
|
+
/**
|
|
32
|
+
* Parse a reference number, handling supplementary (S1, S2) and letter suffixes (1a, 1b)
|
|
33
|
+
*/
|
|
34
|
+
export declare function parseRefNumber(numStr: string, suffix?: string | null): ParsedRefNumber;
|
|
35
|
+
/**
|
|
36
|
+
* Parse a reference list string like "1, 2, and 3" or "1a-c" or "1a-3b"
|
|
37
|
+
* Returns an array of {num, isSupp, suffix} objects
|
|
38
|
+
*/
|
|
39
|
+
export declare function parseReferenceList(listStr: string): ParsedRefNumber[];
|
|
40
|
+
/**
|
|
41
|
+
* Build a registry of figure/table labels from .md files
|
|
42
|
+
* Scans for {#fig:label} and {#tbl:label} anchors
|
|
43
|
+
*
|
|
44
|
+
* IMPORTANT: This function requires either explicit sections or a rev.yaml/sections.yaml config.
|
|
45
|
+
* It will NOT guess by scanning all .md files, as this leads to incorrect numbering
|
|
46
|
+
* when temporary files (paper_clean.md, etc.) exist in the directory.
|
|
47
|
+
*/
|
|
48
|
+
export declare function buildRegistry(directory: string, sections?: string[]): Registry;
|
|
49
|
+
/**
|
|
50
|
+
* Get the display string for a label (e.g., "Figure 1", "Table S2")
|
|
51
|
+
*/
|
|
52
|
+
export declare function labelToDisplay(type: 'fig' | 'tbl' | 'eq', label: string, registry: Registry): string | null;
|
|
53
|
+
/**
|
|
54
|
+
* Get the label for a display number (e.g., "fig:heatmap" from Figure 1)
|
|
55
|
+
*/
|
|
56
|
+
export declare function numberToLabel(type: 'fig' | 'tbl' | 'eq', num: number, isSupp: boolean, registry: Registry): string | null;
|
|
57
|
+
/**
|
|
58
|
+
* Detect all hardcoded references in text
|
|
59
|
+
*/
|
|
60
|
+
export declare function detectHardcodedRefs(text: string): DetectedRef[];
|
|
61
|
+
/**
|
|
62
|
+
* Convert hardcoded references to @-style references
|
|
63
|
+
*/
|
|
64
|
+
export declare function convertHardcodedRefs(text: string, registry: Registry): ConversionResult;
|
|
65
|
+
/**
|
|
66
|
+
* Detect @-style references in text
|
|
67
|
+
*/
|
|
68
|
+
export declare function detectDynamicRefs(text: string): DynamicRef[];
|
|
69
|
+
/**
|
|
70
|
+
* Get reference status for a file/text
|
|
71
|
+
*/
|
|
72
|
+
export declare function getRefStatus(text: string, registry: Registry): RefStatus;
|
|
73
|
+
/**
|
|
74
|
+
* Detect forward references in combined text
|
|
75
|
+
* A forward reference is a @ref that appears before its {#anchor} definition
|
|
76
|
+
*/
|
|
77
|
+
export declare function detectForwardRefs(text: string): {
|
|
78
|
+
forwardRefs: Array<{
|
|
79
|
+
type: string;
|
|
80
|
+
label: string;
|
|
81
|
+
match: string;
|
|
82
|
+
position: number;
|
|
83
|
+
}>;
|
|
84
|
+
anchorPositions: Map<string, number>;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Resolve forward references to display format
|
|
88
|
+
* Only resolves refs that appear before their anchor definition
|
|
89
|
+
* Leaves other refs for pandoc-crossref to handle (preserves clickable links)
|
|
90
|
+
*/
|
|
91
|
+
export declare function resolveForwardRefs(text: string, registry: Registry): {
|
|
92
|
+
text: string;
|
|
93
|
+
resolved: Array<{
|
|
94
|
+
from: string;
|
|
95
|
+
to: string;
|
|
96
|
+
position: number;
|
|
97
|
+
}>;
|
|
98
|
+
unresolved: Array<{
|
|
99
|
+
ref: string;
|
|
100
|
+
position: number;
|
|
101
|
+
}>;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Format registry for display
|
|
105
|
+
*/
|
|
106
|
+
export declare function formatRegistry(registry: Registry): string;
|
|
107
|
+
export {};
|
|
108
|
+
//# sourceMappingURL=crossref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crossref.d.ts","sourceRoot":"","sources":["../../lib/crossref.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAGV,UAAU,EAEV,QAAQ,EACR,SAAS,EACT,gBAAgB,EACjB,MAAM,YAAY,CAAC;AA0BpB;;GAEG;AACH,UAAU,eAAe;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,UAAU,WAAW;IACnB,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AA2GD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAS5E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,eAAe,CAW5F;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,CA4GrE;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,QAAQ,CA8F9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,EAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,GACjB,MAAM,GAAG,IAAI,CAaf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,EAC1B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,QAAQ,GACjB,MAAM,GAAG,IAAI,CAKf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAmC/D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,gBAAgB,CAgDvF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAsB5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAuBxE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAC/C,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrF,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,CA4BA;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,GACjB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,UAAU,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD,CA6BA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAiCzD"}
|