docrev 0.11.0 → 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/package.json CHANGED
@@ -1,137 +1,137 @@
1
- {
2
- "name": "docrev",
3
- "version": "0.11.0",
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
- }
1
+ {
2
+ "name": "docrev",
3
+ "version": "0.11.1",
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
+ }
@@ -0,0 +1,208 @@
1
+ /* ── Base ──────────────────────────────────────────────── */
2
+ html, body {
3
+ height: 100%;
4
+ }
5
+
6
+ body {
7
+ background-color: #F5F6F8;
8
+ color: #3E3F3A;
9
+ display: flex;
10
+ flex-direction: column;
11
+ min-height: 100vh;
12
+ padding-top: 4rem;
13
+ font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
14
+ }
15
+
16
+ .container { flex: 1; }
17
+ footer { margin-top: auto; }
18
+
19
+ /* ── Navbar (pkgdown-style subtle tint, not bg-primary) ── */
20
+ .navbar {
21
+ background: color-mix(in oklab, color-mix(in oklab, var(--bs-body-bg) 95%, var(--bs-primary)) 95%, var(--bs-body-color));
22
+ border-bottom: 1px solid #DFD7CA;
23
+ line-height: initial;
24
+ }
25
+
26
+ .navbar .nav-link.active {
27
+ font-weight: 600;
28
+ color: var(--bs-primary) !important;
29
+ }
30
+
31
+ /* ── Links ─────────────────────────────────────────────── */
32
+ a { color: #325D88; }
33
+ a:hover { color: #1E3D5C; }
34
+
35
+ /* ── Headings ──────────────────────────────────────────── */
36
+ h1 { font-size: 2rem; font-weight: 600; margin-bottom: 1rem; }
37
+ h2 {
38
+ font-size: 1.4rem; font-weight: 600;
39
+ margin-top: 2rem; margin-bottom: .65rem;
40
+ padding-bottom: .3rem;
41
+ border-bottom: 1px solid #DFD7CA;
42
+ }
43
+ h3 { font-size: 1.1rem; font-weight: 600; margin-top: 1.5rem; }
44
+ h4 { font-size: 1rem; font-weight: 600; margin-top: 1.2rem; }
45
+
46
+ /* ── Code ──────────────────────────────────────────────── */
47
+ pre, div.sourceCode {
48
+ background-color: #EEEEED;
49
+ border: 1px solid #DFD7CA;
50
+ border-radius: .375rem;
51
+ padding: .9rem 1.1rem;
52
+ font-size: .85rem;
53
+ overflow-x: auto;
54
+ margin: 1em 0;
55
+ }
56
+
57
+ code {
58
+ background-color: #EEEEED;
59
+ color: #3E3F3A;
60
+ border-radius: .25rem;
61
+ padding: .1em .35em;
62
+ font-size: .875em;
63
+ }
64
+
65
+ pre code, div.sourceCode code {
66
+ background: none;
67
+ padding: 0;
68
+ border-radius: 0;
69
+ font-size: inherit;
70
+ color: inherit;
71
+ }
72
+
73
+ div.sourceCode { padding: 0; }
74
+ div.sourceCode pre { border: none; margin: 0; }
75
+
76
+ /* ── Tables ────────────────────────────────────────────── */
77
+ table {
78
+ width: 100%;
79
+ border-collapse: collapse;
80
+ margin: 1em 0;
81
+ font-size: .9rem;
82
+ }
83
+
84
+ thead th {
85
+ background-color: #DFD7CA;
86
+ color: #3E3F3A;
87
+ font-weight: 600;
88
+ padding: .5rem .75rem;
89
+ border-bottom: 2px solid #c8c0b4;
90
+ text-align: left;
91
+ }
92
+
93
+ td, th { padding: .4rem .75rem; border-bottom: 1px solid #e8e2d8; }
94
+ tbody tr:hover { background-color: rgba(223,215,202,.2); }
95
+
96
+ /* ── TOC sidebar ───────────────────────────────────────── */
97
+ aside#toc, aside .toc, aside nav.toc { font-size: .875rem; }
98
+
99
+ aside h2.h6 {
100
+ text-transform: uppercase;
101
+ font-size: .68rem;
102
+ letter-spacing: .07em;
103
+ color: #6c757d;
104
+ font-weight: 600;
105
+ margin-bottom: .5rem;
106
+ border: none;
107
+ padding: 0;
108
+ }
109
+
110
+ aside .toc, aside #TOC {
111
+ position: sticky;
112
+ top: 5rem;
113
+ max-height: calc(100vh - 6rem);
114
+ overflow-y: auto;
115
+ }
116
+
117
+ aside ul {
118
+ list-style: none;
119
+ padding-left: .9rem;
120
+ margin: 0;
121
+ }
122
+ aside > nav > .toc > ul,
123
+ aside .toc > ul { padding-left: 0; }
124
+
125
+ aside li { margin: .1rem 0; }
126
+
127
+ aside a {
128
+ color: #6c757d;
129
+ text-decoration: none;
130
+ display: block;
131
+ line-height: 1.55;
132
+ }
133
+ aside a:hover { color: #325D88; }
134
+
135
+ /* ── Home page cards ───────────────────────────────────── */
136
+ .doc-card {
137
+ border: 1px solid #DFD7CA;
138
+ border-radius: .375rem;
139
+ padding: 1.1rem 1.25rem;
140
+ height: 100%;
141
+ background: #fff;
142
+ transition: border-color .15s, box-shadow .15s;
143
+ }
144
+ .doc-card:hover {
145
+ border-color: #325D88;
146
+ box-shadow: 0 2px 8px rgba(50,93,136,.1);
147
+ }
148
+ .doc-card h5 { font-size: 1rem; font-weight: 600; margin-bottom: .4rem; }
149
+ .doc-card p { font-size: .875rem; color: #6c757d; margin-bottom: .6rem; }
150
+ .doc-card a.stretched-link::after { z-index: 1; }
151
+
152
+ /* ── Badges row ────────────────────────────────────────── */
153
+ .badge-row { margin-bottom: 1rem; line-height: 2; }
154
+ .badge-row img { margin-right: .25rem; }
155
+
156
+ /* ── ── ── DARK MODE ── ── ── ──────────────────────────── */
157
+
158
+ [data-bs-theme="dark"] body { background-color: #343739; color: #DFD7CA; }
159
+
160
+ [data-bs-theme="dark"] .navbar {
161
+ background: color-mix(in oklab, color-mix(in oklab, #343739 92%, var(--bs-primary)) 95%, #DFD7CA);
162
+ border-bottom-color: #495057;
163
+ }
164
+
165
+ [data-bs-theme="dark"] a { color: #7ba8d0; }
166
+ [data-bs-theme="dark"] a:hover { color: #a5c4e8; }
167
+
168
+ [data-bs-theme="dark"] .navbar .nav-link.active { color: #7ba8d0 !important; }
169
+
170
+ [data-bs-theme="dark"] h1,
171
+ [data-bs-theme="dark"] h2,
172
+ [data-bs-theme="dark"] h3,
173
+ [data-bs-theme="dark"] h4 { color: #DFD7CA; }
174
+
175
+ [data-bs-theme="dark"] h2 { border-color: #495057; }
176
+
177
+ [data-bs-theme="dark"] pre,
178
+ [data-bs-theme="dark"] div.sourceCode {
179
+ background-color: #2C2F31;
180
+ border-color: #495057;
181
+ color: #DFD7CA;
182
+ }
183
+
184
+ [data-bs-theme="dark"] code {
185
+ background-color: #2C2F31;
186
+ color: #DFD7CA;
187
+ }
188
+
189
+ [data-bs-theme="dark"] div.sourceCode span[class] { color: #DFD7CA !important; }
190
+
191
+ [data-bs-theme="dark"] thead th {
192
+ background-color: #3d4043;
193
+ color: #DFD7CA;
194
+ border-color: #495057;
195
+ }
196
+ [data-bs-theme="dark"] td,
197
+ [data-bs-theme="dark"] th { border-color: #3d4043; }
198
+ [data-bs-theme="dark"] tbody tr:hover { background-color: rgba(73,80,87,.3); }
199
+
200
+ [data-bs-theme="dark"] aside a { color: #8e9499; }
201
+ [data-bs-theme="dark"] aside a:hover { color: #7ba8d0; }
202
+
203
+ [data-bs-theme="dark"] .doc-card {
204
+ background: #2C2F31;
205
+ border-color: #495057;
206
+ }
207
+ [data-bs-theme="dark"] .doc-card:hover { border-color: #7ba8d0; }
208
+ [data-bs-theme="dark"] .doc-card p { color: #8e9499; }