docrev 0.9.17 → 0.10.0
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 +15 -0
- package/README.md +25 -0
- package/dist/lib/build.d.ts +119 -1
- package/dist/lib/build.d.ts.map +1 -1
- package/dist/lib/build.js +409 -23
- package/dist/lib/build.js.map +1 -1
- package/dist/lib/commands/build.d.ts.map +1 -1
- package/dist/lib/commands/build.js +25 -10
- package/dist/lib/commands/build.js.map +1 -1
- package/dist/lib/macro-filter.lua +201 -0
- package/dist/lib/macros.d.ts +102 -0
- package/dist/lib/macros.d.ts.map +1 -0
- package/dist/lib/macros.js +218 -0
- package/dist/lib/macros.js.map +1 -0
- package/dist/lib/pptx-color-filter.lua +37 -0
- package/dist/lib/schema.d.ts.map +1 -1
- package/dist/lib/schema.js +71 -0
- package/dist/lib/schema.js.map +1 -1
- package/lib/build.ts +484 -24
- package/lib/commands/build.ts +32 -10
- package/lib/macro-filter.lua +201 -0
- package/lib/macros.ts +273 -0
- package/lib/schema.ts +71 -0
- package/package.json +1 -1
- package/scripts/postbuild.js +21 -2
- package/skill/REFERENCE.md +66 -0
- package/skill/SKILL.md +25 -4
- package/.claude/settings.local.json +0 -9
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,21 @@ 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.10.0] - 2026-05-20
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Placeholder macros.** Built-in `\tofill{X}` renders as bold orange `[X]` across DOCX, PDF/TeX/Beamer, and HTML — drop the LaTeX-style command anywhere in a section file and the build expands it per format. No more copying a `tofill_filter.lua` + `\providecommand` boilerplate into each project. Users can add their own one-argument macros under `macros:` in `rev.yaml` (color, bold/italic, bracket wrap, prefix/suffix, per-format overrides). See `docs/configuration.md` for the schema.
|
|
12
|
+
- **`lib/macros.ts` + `lib/macro-filter.lua`** — registry-style implementation. Built-ins and user macros merge by name; user entries override built-ins. The lua filter loads its macro list from a JSON sidecar via the `DOCREV_MACROS_FILE` env var.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- **Silent DOCX color drop.** Pandoc 3.x's docx writer does NOT honor `Span` with `style="color: #..."`, so a lua filter returning `pandoc.Span(pandoc.Strong(...), pandoc.Attr("", {}, {style="color: #C2410C"}))` produced zero `<w:color>` runs and the highlight vanished. The new filter emits raw OpenXML `<w:r>` nodes directly (the same pattern as the existing `pptx-color-filter.lua`), which produces real colored runs in Word.
|
|
16
|
+
- **Silent DOCX paragraph drop.** Wrapping a `\tofill{X}` line in raw LaTeX like `\noindent \textit{\small ...}` made pandoc drop the entire paragraph from DOCX output, including the `\tofill` inside. The built-in `\providecommand` + lua-filter mechanism removes the need for any wrapper at all — placeholders survive every format.
|
|
17
|
+
- **Filter path resolution on Windows paths with spaces.** `lib/build.ts` resolved `pptx-color-filter.lua` via `new URL(import.meta.url).pathname`, which returns URL-encoded `%20` for spaces, so `fs.existsSync` silently returned false on paths like `C:\Users\Gilles Colling\...`. Switched both pptx and macro filter resolution to `fileURLToPath`. PPTX color highlighting now actually works under default installs on user-named directories.
|
|
18
|
+
- **Lua filter not shipped to runtime.** `scripts/postbuild.js` left `.lua` files in `lib/` only; the compiled `dist/lib/build.js` looked for them next to itself. PPTX colour filter (and now the macro filter) are now copied to `dist/lib/` during build.
|
|
19
|
+
|
|
20
|
+
### Notes for `\tofill` migration
|
|
21
|
+
Projects that ship their own `tofill_filter.lua` and `\providecommand{\tofill}{...}` in a custom header keep working — docrev's preamble uses `\providecommand`, so user `\renewcommand` (or pre-existing `\providecommand`) takes priority. To migrate, delete the local lua filter and any markdown wrappers like `\noindent \textit{\small ...}`; docrev's built-in covers all three formats. Override the color or style by adding the macro under `macros:` in `rev.yaml`.
|
|
22
|
+
|
|
8
23
|
## [0.9.11] - 2026-04-30
|
|
9
24
|
|
|
10
25
|
### Fixed
|
package/README.md
CHANGED
|
@@ -243,6 +243,31 @@ tables:
|
|
|
243
243
|
Distribution notation in nowrap columns is auto-converted to LaTeX math:
|
|
244
244
|
`Normal(0, 0.5)` → `$\mathcal{N}(0, 0.5)$`
|
|
245
245
|
|
|
246
|
+
### Placeholder Macros
|
|
247
|
+
|
|
248
|
+
Mark unfinished spots in a draft with `\tofill{X}` and they highlight as bold
|
|
249
|
+
orange `[X]` in every output format:
|
|
250
|
+
|
|
251
|
+
```markdown
|
|
252
|
+
We collected data from \tofill{N sites} between \tofill{date range}.
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
The macro works in DOCX, PDF, TeX, Beamer, and HTML without any per-project
|
|
256
|
+
filter setup. Add custom macros (e.g. `\note`, `\citeNeeded`) under `macros:`
|
|
257
|
+
in `rev.yaml`:
|
|
258
|
+
|
|
259
|
+
```yaml
|
|
260
|
+
macros:
|
|
261
|
+
- name: note
|
|
262
|
+
default:
|
|
263
|
+
color: "1E40AF" # 6-digit hex, no '#'
|
|
264
|
+
bold: true
|
|
265
|
+
prefix: "NOTE: "
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
See [docs/configuration.md](docs/configuration.md) for the full schema and
|
|
269
|
+
per-format overrides.
|
|
270
|
+
|
|
246
271
|
### Postprocess Scripts
|
|
247
272
|
|
|
248
273
|
Run custom scripts after output generation:
|
package/dist/lib/build.d.ts
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* - Runs pandoc with crossref filter
|
|
9
9
|
*/
|
|
10
10
|
import type { Author, JournalFormatting } from './types.js';
|
|
11
|
+
import { type MacroDef } from './macros.js';
|
|
11
12
|
export interface CrossrefConfig {
|
|
12
13
|
figureTitle?: string;
|
|
13
14
|
tableTitle?: string;
|
|
@@ -37,15 +38,26 @@ export interface PdfConfig {
|
|
|
37
38
|
sansfont?: string;
|
|
38
39
|
/** Monospace font (xelatex/lualatex only). */
|
|
39
40
|
monofont?: string;
|
|
41
|
+
/** Extra pandoc args appended for this format (after top-level pandocArgs). */
|
|
42
|
+
pandocArgs?: string[];
|
|
40
43
|
}
|
|
41
44
|
export interface DocxConfig {
|
|
42
45
|
reference?: string | null;
|
|
43
46
|
keepComments?: boolean;
|
|
44
47
|
affiliationNewline?: boolean;
|
|
45
48
|
toc?: boolean;
|
|
49
|
+
pandocArgs?: string[];
|
|
50
|
+
/**
|
|
51
|
+
* Auto-translate the common-shape raw `\begin{figure}...\end{figure}` block
|
|
52
|
+
* to portable `{#fig:label width=N%}` markdown so figures
|
|
53
|
+
* survive the docx build (pandoc otherwise drops raw LaTeX silently).
|
|
54
|
+
* Default true. Set false to opt out — blocks then warn and are left alone.
|
|
55
|
+
*/
|
|
56
|
+
translateRawFigures?: boolean;
|
|
46
57
|
}
|
|
47
58
|
export interface TexConfig {
|
|
48
59
|
standalone?: boolean;
|
|
60
|
+
pandocArgs?: string[];
|
|
49
61
|
}
|
|
50
62
|
export interface BeamerConfig {
|
|
51
63
|
theme?: string;
|
|
@@ -56,6 +68,7 @@ export interface BeamerConfig {
|
|
|
56
68
|
section?: boolean;
|
|
57
69
|
notes?: string | false;
|
|
58
70
|
fit_images?: boolean;
|
|
71
|
+
pandocArgs?: string[];
|
|
59
72
|
}
|
|
60
73
|
export interface PptxConfig {
|
|
61
74
|
theme?: string;
|
|
@@ -70,6 +83,7 @@ export interface PptxConfig {
|
|
|
70
83
|
accent?: string;
|
|
71
84
|
enabled?: boolean;
|
|
72
85
|
};
|
|
86
|
+
pandocArgs?: string[];
|
|
73
87
|
}
|
|
74
88
|
export interface TablesConfig {
|
|
75
89
|
nowrap?: string[];
|
|
@@ -98,12 +112,32 @@ export interface BuildConfig {
|
|
|
98
112
|
pptx: PptxConfig;
|
|
99
113
|
tables: TablesConfig;
|
|
100
114
|
postprocess: PostprocessConfig;
|
|
115
|
+
/**
|
|
116
|
+
* User-declared placeholder macros. Merged with the built-in macros
|
|
117
|
+
* (currently \tofill). Each entry overrides a built-in by name.
|
|
118
|
+
*
|
|
119
|
+
* See lib/macros.ts for the per-format rendering rules.
|
|
120
|
+
*/
|
|
121
|
+
macros?: MacroDef[];
|
|
101
122
|
/**
|
|
102
123
|
* Directory (relative to the project) where final outputs land. Created on
|
|
103
124
|
* demand. Set to null/empty to keep outputs alongside paper.md (legacy
|
|
104
125
|
* behavior).
|
|
105
126
|
*/
|
|
106
127
|
outputDir?: string | null;
|
|
128
|
+
/**
|
|
129
|
+
* Per-format output filenames. Keys are format names (pdf/docx/tex/beamer/
|
|
130
|
+
* pptx); values are paths. Relative paths resolve under outputDir; absolute
|
|
131
|
+
* paths are honored as-is. Extension is added if missing. CLI `-o` wins
|
|
132
|
+
* over this map.
|
|
133
|
+
*/
|
|
134
|
+
output?: Record<string, string>;
|
|
135
|
+
/**
|
|
136
|
+
* Extra pandoc args applied to every format. Format-specific args
|
|
137
|
+
* (e.g. docx.pandocArgs) are appended *after* these, and CLI --pandoc-arg
|
|
138
|
+
* values are appended last.
|
|
139
|
+
*/
|
|
140
|
+
pandocArgs?: string[];
|
|
107
141
|
_configPath?: string | null;
|
|
108
142
|
}
|
|
109
143
|
export interface BuildResult {
|
|
@@ -115,8 +149,20 @@ export interface BuildResult {
|
|
|
115
149
|
interface BuildOptions {
|
|
116
150
|
verbose?: boolean;
|
|
117
151
|
config?: BuildConfig;
|
|
152
|
+
/**
|
|
153
|
+
* Internal: forces the exact output path. Used by dual-mode/temp builds that
|
|
154
|
+
* route to specific temp files. Bypasses the `output:` resolver.
|
|
155
|
+
*/
|
|
118
156
|
outputPath?: string;
|
|
157
|
+
/**
|
|
158
|
+
* CLI override (`-o, --output <path>`). Beats `config.output[format]` but
|
|
159
|
+
* loses to `options.outputPath`. Relative paths resolve under outputDir;
|
|
160
|
+
* absolute paths bypass outputDir.
|
|
161
|
+
*/
|
|
162
|
+
output?: string;
|
|
119
163
|
crossref?: boolean;
|
|
164
|
+
/** Extra pandoc args from CLI (--pandoc-arg). Appended after config args. */
|
|
165
|
+
pandocArgs?: string[];
|
|
120
166
|
_refsAutoInjected?: boolean;
|
|
121
167
|
_forwardRefsResolved?: number;
|
|
122
168
|
}
|
|
@@ -204,14 +250,86 @@ export declare function applyFormatTransforms(content: string, format: string, c
|
|
|
204
250
|
*/
|
|
205
251
|
export declare function prepareForFormat(paperPath: string, format: string, config: BuildConfig, _options?: BuildOptions): string;
|
|
206
252
|
/**
|
|
207
|
-
*
|
|
253
|
+
* A raw LaTeX `\begin{figure}...\end{figure}` block found in source markdown.
|
|
254
|
+
* `exotic` blocks contain features we don't auto-translate (multiple
|
|
255
|
+
* `\includegraphics`, `\subfloat`, `\rotatebox`, unrecognised width units);
|
|
256
|
+
* pandoc strips raw LaTeX silently in docx output, so users get warned about
|
|
257
|
+
* anything that won't be translated.
|
|
258
|
+
*/
|
|
259
|
+
export interface RawLatexFigure {
|
|
260
|
+
file?: string;
|
|
261
|
+
line: number;
|
|
262
|
+
block: string;
|
|
263
|
+
exotic: boolean;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Find raw LaTeX figure blocks containing `\includegraphics` in markdown.
|
|
267
|
+
* `file`, if given, is attached to each result. `line` is 1-based within the
|
|
268
|
+
* supplied content (the line where `\begin{figure}` sits).
|
|
269
|
+
*/
|
|
270
|
+
export declare function detectRawLatexFigures(content: string, file?: string): RawLatexFigure[];
|
|
271
|
+
/**
|
|
272
|
+
* Translate the 80% case: single `\includegraphics` figure with optional
|
|
273
|
+
* `\caption{...}` and `\label{...}`, wrapped in `\begin{figure}...\end{figure}`,
|
|
274
|
+
* to portable `{#fig:label width=N%}` markdown. Exotic blocks
|
|
275
|
+
* (see `isExoticFigureBlock`) are left untouched.
|
|
276
|
+
*/
|
|
277
|
+
export declare function translateRawLatexFigures(content: string): {
|
|
278
|
+
translated: string;
|
|
279
|
+
translatedCount: number;
|
|
280
|
+
};
|
|
281
|
+
/**
|
|
282
|
+
* Walk section files and gather a warning for any raw LaTeX figure blocks that
|
|
283
|
+
* won't survive the docx build. Returns null when there's nothing to warn about.
|
|
284
|
+
*/
|
|
285
|
+
export declare function collectRawLatexFigureWarning(directory: string, config: BuildConfig): string | null;
|
|
286
|
+
/**
|
|
287
|
+
* Build pandoc arguments for format.
|
|
288
|
+
*
|
|
289
|
+
* Returns only the built-in args derived from config. Passthrough args
|
|
290
|
+
* (config.pandocArgs, config[format].pandocArgs, CLI --pandoc-arg) are
|
|
291
|
+
* appended later in runPandoc so they win against pptx/crossref defaults
|
|
292
|
+
* added there.
|
|
208
293
|
*/
|
|
209
294
|
export declare function buildPandocArgs(format: string, config: BuildConfig, outputPath: string): string[];
|
|
295
|
+
/**
|
|
296
|
+
* Collect passthrough pandoc args for a format in the canonical order:
|
|
297
|
+
* top-level config → format-specific config → CLI extras. Later wins for
|
|
298
|
+
* repeated flags.
|
|
299
|
+
*/
|
|
300
|
+
export declare function collectPandocPassthroughArgs(format: string, config: BuildConfig, extraArgs?: string[]): string[];
|
|
210
301
|
/**
|
|
211
302
|
* Resolve the absolute directory where final outputs should land.
|
|
212
303
|
* Honors config.outputDir; falls back to the project directory when null/empty.
|
|
213
304
|
*/
|
|
214
305
|
export declare function resolveOutputDir(directory: string, config: BuildConfig): string;
|
|
306
|
+
/** Get file extension for a format, defaulting to `.pdf`. */
|
|
307
|
+
export declare function getFormatExtension(format: string): string;
|
|
308
|
+
/**
|
|
309
|
+
* Slugify a title for use as a default output filename. Lowercases, replaces
|
|
310
|
+
* non-alphanumeric runs with `-`, and truncates at the last `-` boundary
|
|
311
|
+
* at-or-before MAX_TITLE_FILENAME_LENGTH so words stay whole (the old blind
|
|
312
|
+
* `.slice` cut mid-word).
|
|
313
|
+
*/
|
|
314
|
+
export declare function slugifyTitle(title: string): string;
|
|
315
|
+
/**
|
|
316
|
+
* Resolve the final output path for a build.
|
|
317
|
+
*
|
|
318
|
+
* Priority: `options.outputPath` (internal force) > `cliOverride` (-o flag) >
|
|
319
|
+
* `config.output[format]` > slugified title fallback.
|
|
320
|
+
*
|
|
321
|
+
* Relative paths from `cliOverride`/`config.output` resolve under outputDir;
|
|
322
|
+
* absolute paths bypass outputDir. The fallback path always lives under
|
|
323
|
+
* outputDir.
|
|
324
|
+
*
|
|
325
|
+
* @param suffix - Appended before the extension (e.g. "-changes", "-slides").
|
|
326
|
+
* Suppressed when user supplied an explicit name via CLI or
|
|
327
|
+
* config — they pick their own suffix.
|
|
328
|
+
*/
|
|
329
|
+
export declare function resolveOutputPath(directory: string, config: BuildConfig, format: string, options?: {
|
|
330
|
+
cliOverride?: string;
|
|
331
|
+
suffix?: string;
|
|
332
|
+
}): string;
|
|
215
333
|
/**
|
|
216
334
|
* Run pandoc build
|
|
217
335
|
*/
|
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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"}
|