docrev 0.9.14 → 0.9.16

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.
Files changed (43) hide show
  1. package/README.md +66 -51
  2. package/dist/lib/wordcomments.d.ts.map +1 -1
  3. package/dist/lib/wordcomments.js +25 -2
  4. package/dist/lib/wordcomments.js.map +1 -1
  5. package/docs-src/build.py +113 -0
  6. package/docs-src/extra.css +208 -0
  7. package/docs-src/md-to-html.lua +6 -0
  8. package/docs-src/template.html +116 -0
  9. package/lib/wordcomments.ts +25 -2
  10. package/mkdocs.yml +64 -0
  11. package/package.json +1 -1
  12. package/site/assets/extra.css +208 -0
  13. package/site/commands.html +926 -0
  14. package/site/configuration.html +469 -0
  15. package/site/index.html +288 -0
  16. package/site/troubleshooting.html +461 -0
  17. package/site/workflow.html +518 -0
  18. package/skill/REFERENCE.md +44 -2
  19. package/skill/SKILL.md +20 -4
  20. package/dev_notes/bug_repro_comment_parser.md +0 -71
  21. package/dev_notes/stress2/adversarial.docx +0 -0
  22. package/dev_notes/stress2/build_adversarial.ts +0 -186
  23. package/dev_notes/stress2/drift_matcher.ts +0 -62
  24. package/dev_notes/stress2/probe_anchors.ts +0 -35
  25. package/dev_notes/stress2/project/adversarial.docx +0 -0
  26. package/dev_notes/stress2/project/discussion.before.md +0 -3
  27. package/dev_notes/stress2/project/discussion.md +0 -3
  28. package/dev_notes/stress2/project/methods.before.md +0 -20
  29. package/dev_notes/stress2/project/methods.md +0 -20
  30. package/dev_notes/stress2/project/rev.yaml +0 -5
  31. package/dev_notes/stress2/project/sections.yaml +0 -4
  32. package/dev_notes/stress2/sections.yaml +0 -5
  33. package/dev_notes/stress2/trace_placement.ts +0 -50
  34. package/dev_notes/stresstest_boundaries.ts +0 -27
  35. package/dev_notes/stresstest_drift_apply.ts +0 -43
  36. package/dev_notes/stresstest_drift_compare.ts +0 -43
  37. package/dev_notes/stresstest_drift_v2.ts +0 -54
  38. package/dev_notes/stresstest_inspect.ts +0 -54
  39. package/dev_notes/stresstest_pstyle.ts +0 -55
  40. package/dev_notes/stresstest_section_debug.ts +0 -23
  41. package/dev_notes/stresstest_split.ts +0 -70
  42. package/dev_notes/stresstest_trace.ts +0 -19
  43. package/dev_notes/stresstest_verify_no_overwrite.ts +0 -40
@@ -0,0 +1,469 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" data-bs-theme="light">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Configuration — docrev</title>
7
+ <meta name="description" content="CLI for writing documents in Markdown while collaborating with Word users.">
8
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootswatch@5.3.3/dist/sandstone/bootstrap.min.css">
9
+ <style>
10
+ html { -webkit-text-size-adjust: 100%; }
11
+ pre > code.sourceCode { white-space: pre; position: relative; }
12
+ pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
13
+ pre > code.sourceCode > span:empty { height: 1.2em; }
14
+ .sourceCode { overflow: visible; }
15
+ code.sourceCode > span { color: inherit; text-decoration: inherit; }
16
+ div.sourceCode { margin: 1em 0; }
17
+ pre.sourceCode { margin: 0; }
18
+ @media screen {
19
+ div.sourceCode { overflow: auto; }
20
+ }
21
+ @media print {
22
+ pre > code.sourceCode { white-space: pre-wrap; }
23
+ pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
24
+ }
25
+ pre.numberSource code
26
+ { counter-reset: source-line 0; }
27
+ pre.numberSource code > span
28
+ { position: relative; left: -4em; counter-increment: source-line; }
29
+ pre.numberSource code > span > a:first-child::before
30
+ { content: counter(source-line);
31
+ position: relative; left: -1em; text-align: right; vertical-align: baseline;
32
+ border: none; display: inline-block;
33
+ -webkit-touch-callout: none; -webkit-user-select: none;
34
+ -khtml-user-select: none; -moz-user-select: none;
35
+ -ms-user-select: none; user-select: none;
36
+ padding: 0 4px; width: 4em;
37
+ color: #aaaaaa;
38
+ }
39
+ pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
40
+ div.sourceCode
41
+ { }
42
+ @media screen {
43
+ pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
44
+ }
45
+ code span.al { color: #ff0000; font-weight: bold; } /* Alert */
46
+ code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
47
+ code span.at { color: #7d9029; } /* Attribute */
48
+ code span.bn { color: #40a070; } /* BaseN */
49
+ code span.bu { color: #008000; } /* BuiltIn */
50
+ code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
51
+ code span.ch { color: #4070a0; } /* Char */
52
+ code span.cn { color: #880000; } /* Constant */
53
+ code span.co { color: #60a0b0; font-style: italic; } /* Comment */
54
+ code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
55
+ code span.do { color: #ba2121; font-style: italic; } /* Documentation */
56
+ code span.dt { color: #902000; } /* DataType */
57
+ code span.dv { color: #40a070; } /* DecVal */
58
+ code span.er { color: #ff0000; font-weight: bold; } /* Error */
59
+ code span.ex { } /* Extension */
60
+ code span.fl { color: #40a070; } /* Float */
61
+ code span.fu { color: #06287e; } /* Function */
62
+ code span.im { color: #008000; font-weight: bold; } /* Import */
63
+ code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
64
+ code span.kw { color: #007020; font-weight: bold; } /* Keyword */
65
+ code span.op { color: #666666; } /* Operator */
66
+ code span.ot { color: #007020; } /* Other */
67
+ code span.pp { color: #bc7a00; } /* Preprocessor */
68
+ code span.sc { color: #4070a0; } /* SpecialChar */
69
+ code span.ss { color: #bb6688; } /* SpecialString */
70
+ code span.st { color: #4070a0; } /* String */
71
+ code span.va { color: #19177c; } /* Variable */
72
+ code span.vs { color: #4070a0; } /* VerbatimString */
73
+ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
74
+ </style>
75
+ <link rel="stylesheet" href="assets/extra.css">
76
+ </head>
77
+ <body>
78
+
79
+ <nav class="navbar navbar-expand-lg fixed-top" aria-label="Site navigation">
80
+ <div class="container">
81
+ <a class="navbar-brand me-2" href="index.html">docrev</a>
82
+ <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-main" aria-controls="navbar-main" aria-expanded="false" aria-label="Toggle navigation">
83
+ <span class="navbar-toggler-icon"></span>
84
+ </button>
85
+ <div class="collapse navbar-collapse" id="navbar-main">
86
+ <ul class="navbar-nav me-auto">
87
+ <li class="nav-item">
88
+ <a class="nav-link" href="index.html">Home</a>
89
+ </li>
90
+ <li class="nav-item">
91
+ <a class="nav-link" href="workflow.html">Get Started</a>
92
+ </li>
93
+ <li class="nav-item">
94
+ <a class="nav-link" href="commands.html">Commands</a>
95
+ </li>
96
+ <li class="nav-item">
97
+ <a class="nav-link active" aria-current="page" href="configuration.html">Configuration</a>
98
+ </li>
99
+ <li class="nav-item">
100
+ <a class="nav-link" href="troubleshooting.html">Troubleshooting</a>
101
+ </li>
102
+ </ul>
103
+ <ul class="navbar-nav">
104
+ <li class="nav-item">
105
+ <button id="theme-toggle" class="btn btn-link nav-link border-0" aria-label="Toggle dark mode">
106
+ <svg id="icon-sun" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
107
+ <path d="M8 11a3 3 0 1 1 0-6 3 3 0 0 1 0 6m0 1a4 4 0 1 0 0-8 4 4 0 0 0 0 8M8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0m0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13m8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5M3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8m10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0m-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0m9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707M4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707"/>
108
+ </svg>
109
+ <svg id="icon-moon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16" style="display:none">
110
+ <path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278"/>
111
+ </svg>
112
+ </button>
113
+ </li>
114
+ <li class="nav-item">
115
+ <a class="nav-link" href="https://github.com/gcol33/docrev" aria-label="GitHub">
116
+ <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 16 16">
117
+ <path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8"/>
118
+ </svg>
119
+ </a>
120
+ </li>
121
+ <li class="nav-item">
122
+ <a class="nav-link" href="https://www.npmjs.com/package/docrev" aria-label="npm">
123
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 16 16">
124
+ <path d="M0 0v16h16V0zm5.333 13.333H2.667V5.333h2.666v5.334H8V5.333h2.667v8H5.333z"/>
125
+ </svg>
126
+ </a>
127
+ </li>
128
+ </ul>
129
+ </div>
130
+ </div>
131
+ </nav>
132
+
133
+ <div class="container template-article">
134
+ <div class="row">
135
+ <main id="main" class="col-md-9">
136
+ <h1 id="configuration">Configuration</h1>
137
+ <h2 id="rev.yaml">rev.yaml</h2>
138
+ <p>The project configuration file.</p>
139
+ <div class="sourceCode" id="cb1"><pre
140
+ class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span><span class="kw">:</span><span class="at"> </span><span class="st">&quot;Your Paper Title&quot;</span></span>
141
+ <span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="fu">version</span><span class="kw">:</span><span class="at"> </span><span class="st">&quot;1.0&quot;</span></span>
142
+ <span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a></span>
143
+ <span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="fu">authors</span><span class="kw">:</span></span>
144
+ <span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> </span><span class="fu">name</span><span class="kw">:</span><span class="at"> First Author</span></span>
145
+ <span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">affiliation</span><span class="kw">:</span><span class="at"> Institution</span></span>
146
+ <span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">email</span><span class="kw">:</span><span class="at"> author@example.com</span></span>
147
+ <span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> </span><span class="fu">name</span><span class="kw">:</span><span class="at"> Second Author</span></span>
148
+ <span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">affiliation</span><span class="kw">:</span><span class="at"> Another Institution</span></span>
149
+ <span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a></span>
150
+ <span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a><span class="fu">sections</span><span class="kw">:</span></span>
151
+ <span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> introduction.md</span></span>
152
+ <span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> methods.md</span></span>
153
+ <span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> results.md</span></span>
154
+ <span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> discussion.md</span></span>
155
+ <span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a></span>
156
+ <span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a><span class="fu">bibliography</span><span class="kw">:</span><span class="at"> references.bib</span></span>
157
+ <span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a><span class="fu">csl</span><span class="kw">:</span><span class="at"> nature.csl</span><span class="co"> # Citation style (optional)</span></span>
158
+ <span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a></span>
159
+ <span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a><span class="co"># Cross-reference settings (pandoc-crossref)</span></span>
160
+ <span id="cb1-21"><a href="#cb1-21" aria-hidden="true" tabindex="-1"></a><span class="fu">crossref</span><span class="kw">:</span></span>
161
+ <span id="cb1-22"><a href="#cb1-22" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">figureTitle</span><span class="kw">:</span><span class="at"> Figure</span></span>
162
+ <span id="cb1-23"><a href="#cb1-23" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">tableTitle</span><span class="kw">:</span><span class="at"> Table</span></span>
163
+ <span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">figPrefix</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">Fig.</span><span class="kw">,</span><span class="at"> Figs.</span><span class="kw">]</span></span>
164
+ <span id="cb1-25"><a href="#cb1-25" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">tblPrefix</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">Table</span><span class="kw">,</span><span class="at"> Tables</span><span class="kw">]</span></span>
165
+ <span id="cb1-26"><a href="#cb1-26" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">eqnPrefix</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">Eq.</span><span class="kw">,</span><span class="at"> Eqs.</span><span class="kw">]</span></span>
166
+ <span id="cb1-27"><a href="#cb1-27" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">secPrefix</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">Section</span><span class="kw">,</span><span class="at"> Sections</span><span class="kw">]</span></span>
167
+ <span id="cb1-28"><a href="#cb1-28" aria-hidden="true" tabindex="-1"></a></span>
168
+ <span id="cb1-29"><a href="#cb1-29" aria-hidden="true" tabindex="-1"></a><span class="co"># PDF output settings</span></span>
169
+ <span id="cb1-30"><a href="#cb1-30" aria-hidden="true" tabindex="-1"></a><span class="fu">pdf</span><span class="kw">:</span></span>
170
+ <span id="cb1-31"><a href="#cb1-31" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">documentclass</span><span class="kw">:</span><span class="at"> article</span></span>
171
+ <span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">fontsize</span><span class="kw">:</span><span class="at"> 12pt</span></span>
172
+ <span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">geometry</span><span class="kw">:</span><span class="at"> margin=1in</span></span>
173
+ <span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">linestretch</span><span class="kw">:</span><span class="at"> </span><span class="fl">1.5</span></span>
174
+ <span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">toc</span><span class="kw">:</span><span class="at"> </span><span class="ch">false</span></span>
175
+ <span id="cb1-36"><a href="#cb1-36" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">numbersections</span><span class="kw">:</span><span class="at"> </span><span class="ch">true</span></span>
176
+ <span id="cb1-37"><a href="#cb1-37" aria-hidden="true" tabindex="-1"></a></span>
177
+ <span id="cb1-38"><a href="#cb1-38" aria-hidden="true" tabindex="-1"></a><span class="co"># Word output settings</span></span>
178
+ <span id="cb1-39"><a href="#cb1-39" aria-hidden="true" tabindex="-1"></a><span class="fu">docx</span><span class="kw">:</span></span>
179
+ <span id="cb1-40"><a href="#cb1-40" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">reference</span><span class="kw">:</span><span class="at"> template.docx</span><span class="co"> # Optional reference doc for styling</span></span>
180
+ <span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">keepComments</span><span class="kw">:</span><span class="at"> </span><span class="ch">true</span><span class="co"> # Preserve CriticMarkup comments</span></span>
181
+ <span id="cb1-42"><a href="#cb1-42" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">toc</span><span class="kw">:</span><span class="at"> </span><span class="ch">false</span></span></code></pre></div>
182
+ <h2 id="template-variables">Template Variables</h2>
183
+ <p>Use in section files (processed during build):</p>
184
+ <table>
185
+ <thead>
186
+ <tr>
187
+ <th>Variable</th>
188
+ <th>Description</th>
189
+ <th>Example Output</th>
190
+ </tr>
191
+ </thead>
192
+ <tbody>
193
+ <tr>
194
+ <td><code>{{date}}</code></td>
195
+ <td>Current date</td>
196
+ <td>2025-12-30</td>
197
+ </tr>
198
+ <tr>
199
+ <td><code>{{date:MMMM D, YYYY}}</code></td>
200
+ <td>Custom format</td>
201
+ <td>December 30, 2025</td>
202
+ </tr>
203
+ <tr>
204
+ <td><code>{{year}}</code></td>
205
+ <td>Current year</td>
206
+ <td>2025</td>
207
+ </tr>
208
+ <tr>
209
+ <td><code>{{version}}</code></td>
210
+ <td>From rev.yaml</td>
211
+ <td>1.0</td>
212
+ </tr>
213
+ <tr>
214
+ <td><code>{{title}}</code></td>
215
+ <td>Document title</td>
216
+ <td>Your Paper Title</td>
217
+ </tr>
218
+ <tr>
219
+ <td><code>{{author}}</code></td>
220
+ <td>First author</td>
221
+ <td>First Author</td>
222
+ </tr>
223
+ <tr>
224
+ <td><code>{{authors}}</code></td>
225
+ <td>All authors</td>
226
+ <td>First Author, Second Author</td>
227
+ </tr>
228
+ <tr>
229
+ <td><code>{{word_count}}</code></td>
230
+ <td>Total words</td>
231
+ <td>5,432</td>
232
+ </tr>
233
+ </tbody>
234
+ </table>
235
+ <p><strong>Example usage:</strong></p>
236
+ <div class="sourceCode" id="cb2"><pre
237
+ class="sourceCode markdown"><code class="sourceCode markdown"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="fu"># Methods</span></span>
238
+ <span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a></span>
239
+ <span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a>Last updated: {{date:MMMM D, YYYY}}</span>
240
+ <span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a></span>
241
+ <span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a>Word count: {{word_count}}</span></code></pre></div>
242
+ <h2 id="user-configuration">User Configuration</h2>
243
+ <p>Set your name for comment replies:</p>
244
+ <div class="sourceCode" id="cb3"><pre
245
+ class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> config user <span class="st">&quot;Your Name&quot;</span></span></code></pre></div>
246
+ <p>Set default sections for new projects:</p>
247
+ <div class="sourceCode" id="cb4"><pre
248
+ class="sourceCode bash"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> config sections <span class="st">&quot;intro,methods,results,discussion&quot;</span></span></code></pre></div>
249
+ <p>This creates <code>~/.revrc</code>:</p>
250
+ <div class="sourceCode" id="cb5"><pre
251
+ class="sourceCode json"><code class="sourceCode json"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">{</span></span>
252
+ <span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;userName&quot;</span><span class="fu">:</span> <span class="st">&quot;Your Name&quot;</span><span class="fu">,</span></span>
253
+ <span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">&quot;defaultSections&quot;</span><span class="fu">:</span> <span class="ot">[</span><span class="st">&quot;intro&quot;</span><span class="ot">,</span> <span class="st">&quot;methods&quot;</span><span class="ot">,</span> <span class="st">&quot;results&quot;</span><span class="ot">,</span> <span class="st">&quot;discussion&quot;</span><span class="ot">]</span></span>
254
+ <span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a><span class="fu">}</span></span></code></pre></div>
255
+ <p>When <code>defaultSections</code> is set, <code>rev new</code>
256
+ uses these sections automatically. When not set,
257
+ <code>rev new</code> prompts for sections interactively.</p>
258
+ <h2 id="dictionaries">Dictionaries</h2>
259
+ <p><strong>Global dictionary</strong>
260
+ (<code>~/.rev-dictionary</code>):</p>
261
+ <div class="sourceCode" id="cb6"><pre
262
+ class="sourceCode bash"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> spelling <span class="at">--learn</span> myword <span class="co"># Add word</span></span>
263
+ <span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> spelling <span class="at">--forget</span> myword <span class="co"># Remove word</span></span>
264
+ <span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> spelling <span class="at">--list</span> <span class="co"># Show dictionary</span></span></code></pre></div>
265
+ <p><strong>Project dictionary</strong>
266
+ (<code>.rev-dictionary</code> in project root):</p>
267
+ <div class="sourceCode" id="cb7"><pre
268
+ class="sourceCode bash"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> spelling <span class="at">--learn-project</span> myterm</span></code></pre></div>
269
+ <p><strong>Grammar dictionary</strong> (same locations):</p>
270
+ <div class="sourceCode" id="cb8"><pre
271
+ class="sourceCode bash"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> grammar <span class="at">--learn</span> acronym</span>
272
+ <span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> grammar <span class="at">--forget</span> acronym</span></code></pre></div>
273
+ <h2 id="journal-profiles">Journal Profiles</h2>
274
+ <p>21 built-in journal profiles for validation. Six also provide
275
+ <strong>build formatting defaults</strong> (CSL citation style,
276
+ PDF settings):</p>
277
+ <div class="sourceCode" id="cb9"><pre
278
+ class="sourceCode bash"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> validate <span class="at">--list</span> <span class="co"># List all profiles ([formatting] = build support)</span></span>
279
+ <span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> validate <span class="at">-j</span> nature <span class="co"># Check against Nature requirements</span></span>
280
+ <span id="cb9-3"><a href="#cb9-3" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> word-count <span class="at">-j</span> ecology-letters <span class="co"># Use journal word limit</span></span></code></pre></div>
281
+ <p>Profiles include: nature, science, pnas, elife, cell, plos-one,
282
+ ecology-letters, global-change-biology, etc.</p>
283
+ <h3 id="setting-a-journal">Setting a Journal</h3>
284
+ <p>In <code>rev.yaml</code>:</p>
285
+ <div class="sourceCode" id="cb10"><pre
286
+ class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="fu">journal</span><span class="kw">:</span><span class="at"> nature</span></span></code></pre></div>
287
+ <p>Or via CLI flag (overrides rev.yaml):</p>
288
+ <div class="sourceCode" id="cb11"><pre
289
+ class="sourceCode bash"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> build pdf docx <span class="at">-j</span> nature</span></code></pre></div>
290
+ <h3 id="config-cascade">Config Cascade</h3>
291
+ <p>When a journal with formatting is set, settings are applied in
292
+ three layers:</p>
293
+ <ol type="1">
294
+ <li><strong>Defaults</strong> — docrev built-in defaults (12pt,
295
+ margin=1in, linestretch=1.5, etc.)</li>
296
+ <li><strong>Journal formatting</strong> — from the journal profile
297
+ (e.g., Nature uses 11pt, 2.5cm margins, double spacing)</li>
298
+ <li><strong>Your rev.yaml</strong> — explicit settings always
299
+ win</li>
300
+ </ol>
301
+ <p>This means you can set <code>journal: nature</code> and still
302
+ override individual settings:</p>
303
+ <div class="sourceCode" id="cb12"><pre
304
+ class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">journal</span><span class="kw">:</span><span class="at"> nature</span></span>
305
+ <span id="cb12-2"><a href="#cb12-2" aria-hidden="true" tabindex="-1"></a><span class="fu">pdf</span><span class="kw">:</span></span>
306
+ <span id="cb12-3"><a href="#cb12-3" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">linestretch</span><span class="kw">:</span><span class="at"> </span><span class="fl">1.5</span><span class="co"> # override Nature&#39;s double spacing</span></span></code></pre></div>
307
+ <h3 id="csl-citation-styles">CSL Citation Styles</h3>
308
+ <p>Journal profiles specify a CSL style name. docrev resolves CSL
309
+ files in this order:</p>
310
+ <ol type="1">
311
+ <li>File path in project directory (e.g.,
312
+ <code>nature.csl</code>)</li>
313
+ <li>Cached file in <code>~/.rev/csl/</code></li>
314
+ <li>Bare name passed to pandoc –citeproc (works for some built-in
315
+ styles)</li>
316
+ </ol>
317
+ <p>Download and cache a style:</p>
318
+ <div class="sourceCode" id="cb13"><pre
319
+ class="sourceCode bash"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> profiles <span class="at">--fetch-csl</span> nature <span class="co"># downloads to ~/.rev/csl/nature.csl</span></span>
320
+ <span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> profiles <span class="at">--fetch-csl</span> apa <span class="co"># works with short names</span></span>
321
+ <span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> profiles <span class="at">--list-csl</span> <span class="co"># list cached files</span></span></code></pre></div>
322
+ <p>Known short names: apa, chicago, vancouver, ieee, nature,
323
+ science, cell, pnas, plos, elife, ecology-letters, ama, acs,
324
+ harvard, mla, elsevier, springer, biomed-central.</p>
325
+ <h3 id="custom-profiles-with-formatting">Custom Profiles with
326
+ Formatting</h3>
327
+ <p>Custom profiles (YAML files in <code>~/.rev/profiles/</code> or
328
+ <code>.rev/profiles/</code>) can include a <code>formatting</code>
329
+ section:</p>
330
+ <div class="sourceCode" id="cb14"><pre
331
+ class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="fu">id</span><span class="kw">:</span><span class="at"> my-journal</span></span>
332
+ <span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a><span class="fu">name</span><span class="kw">:</span><span class="at"> </span><span class="st">&quot;My Journal&quot;</span></span>
333
+ <span id="cb14-3"><a href="#cb14-3" aria-hidden="true" tabindex="-1"></a><span class="fu">url</span><span class="kw">:</span><span class="at"> </span><span class="st">&quot;https://journal.example.com/guidelines&quot;</span></span>
334
+ <span id="cb14-4"><a href="#cb14-4" aria-hidden="true" tabindex="-1"></a></span>
335
+ <span id="cb14-5"><a href="#cb14-5" aria-hidden="true" tabindex="-1"></a><span class="co"># Validation requirements</span></span>
336
+ <span id="cb14-6"><a href="#cb14-6" aria-hidden="true" tabindex="-1"></a><span class="fu">wordLimit</span><span class="kw">:</span></span>
337
+ <span id="cb14-7"><a href="#cb14-7" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">main</span><span class="kw">:</span><span class="at"> </span><span class="dv">6000</span></span>
338
+ <span id="cb14-8"><a href="#cb14-8" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">abstract</span><span class="kw">:</span><span class="at"> </span><span class="dv">250</span></span>
339
+ <span id="cb14-9"><a href="#cb14-9" aria-hidden="true" tabindex="-1"></a><span class="fu">references</span><span class="kw">:</span></span>
340
+ <span id="cb14-10"><a href="#cb14-10" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">max</span><span class="kw">:</span><span class="at"> </span><span class="dv">50</span></span>
341
+ <span id="cb14-11"><a href="#cb14-11" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">doiRequired</span><span class="kw">:</span><span class="at"> </span><span class="ch">true</span></span>
342
+ <span id="cb14-12"><a href="#cb14-12" aria-hidden="true" tabindex="-1"></a><span class="fu">sections</span><span class="kw">:</span></span>
343
+ <span id="cb14-13"><a href="#cb14-13" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">required</span><span class="kw">:</span></span>
344
+ <span id="cb14-14"><a href="#cb14-14" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> Abstract</span></span>
345
+ <span id="cb14-15"><a href="#cb14-15" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> Introduction</span></span>
346
+ <span id="cb14-16"><a href="#cb14-16" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> Methods</span></span>
347
+ <span id="cb14-17"><a href="#cb14-17" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> Results</span></span>
348
+ <span id="cb14-18"><a href="#cb14-18" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> Discussion</span></span>
349
+ <span id="cb14-19"><a href="#cb14-19" aria-hidden="true" tabindex="-1"></a></span>
350
+ <span id="cb14-20"><a href="#cb14-20" aria-hidden="true" tabindex="-1"></a><span class="co"># Build formatting defaults</span></span>
351
+ <span id="cb14-21"><a href="#cb14-21" aria-hidden="true" tabindex="-1"></a><span class="fu">formatting</span><span class="kw">:</span></span>
352
+ <span id="cb14-22"><a href="#cb14-22" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">csl</span><span class="kw">:</span><span class="at"> </span><span class="st">&quot;vancouver&quot;</span></span>
353
+ <span id="cb14-23"><a href="#cb14-23" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">pdf</span><span class="kw">:</span></span>
354
+ <span id="cb14-24"><a href="#cb14-24" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">fontsize</span><span class="kw">:</span><span class="at"> 11pt</span></span>
355
+ <span id="cb14-25"><a href="#cb14-25" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">geometry</span><span class="kw">:</span><span class="at"> margin=2cm</span></span>
356
+ <span id="cb14-26"><a href="#cb14-26" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">linestretch</span><span class="kw">:</span><span class="at"> </span><span class="dv">2</span></span>
357
+ <span id="cb14-27"><a href="#cb14-27" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">numbersections</span><span class="kw">:</span><span class="at"> </span><span class="ch">false</span></span>
358
+ <span id="cb14-28"><a href="#cb14-28" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">docx</span><span class="kw">:</span></span>
359
+ <span id="cb14-29"><a href="#cb14-29" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">reference</span><span class="kw">:</span><span class="at"> </span><span class="ch">null</span></span>
360
+ <span id="cb14-30"><a href="#cb14-30" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">crossref</span><span class="kw">:</span></span>
361
+ <span id="cb14-31"><a href="#cb14-31" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">figPrefix</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">Fig.</span><span class="kw">,</span><span class="at"> Figs.</span><span class="kw">]</span></span>
362
+ <span id="cb14-32"><a href="#cb14-32" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">tblPrefix</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">Table</span><span class="kw">,</span><span class="at"> Tables</span><span class="kw">]</span></span></code></pre></div>
363
+ <p>Create a new profile template (includes formatting
364
+ section):</p>
365
+ <div class="sourceCode" id="cb15"><pre
366
+ class="sourceCode bash"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">rev</span> profiles <span class="at">--new</span> <span class="st">&quot;My Journal&quot;</span></span></code></pre></div>
367
+ <h3 id="cli-reference">CLI Reference</h3>
368
+ <table>
369
+ <thead>
370
+ <tr>
371
+ <th>Command</th>
372
+ <th>Description</th>
373
+ </tr>
374
+ </thead>
375
+ <tbody>
376
+ <tr>
377
+ <td><code>rev validate --list</code></td>
378
+ <td>List all profiles with formatting tags</td>
379
+ </tr>
380
+ <tr>
381
+ <td><code>rev validate -j nature</code></td>
382
+ <td>Validate against journal requirements</td>
383
+ </tr>
384
+ <tr>
385
+ <td><code>rev build -j nature</code></td>
386
+ <td>Build with journal formatting defaults</td>
387
+ </tr>
388
+ <tr>
389
+ <td><code>rev profiles --new "Name"</code></td>
390
+ <td>Create custom profile template</td>
391
+ </tr>
392
+ <tr>
393
+ <td><code>rev profiles --fetch-csl name</code></td>
394
+ <td>Download CSL style to cache</td>
395
+ </tr>
396
+ <tr>
397
+ <td><code>rev profiles --list-csl</code></td>
398
+ <td>List cached CSL styles</td>
399
+ </tr>
400
+ <tr>
401
+ <td><code>rev profiles --dirs</code></td>
402
+ <td>Show profile directory locations</td>
403
+ </tr>
404
+ </tbody>
405
+ </table>
406
+ </main>
407
+ <aside class="col-md-3 d-none d-md-block">
408
+ <nav id="toc" data-toggle="toc" aria-label="On this page">
409
+ <h2 class="h6">On this page</h2>
410
+ <div class="toc"><ul>
411
+ <li><a href="#configuration" id="toc-configuration">Configuration</a>
412
+ <ul>
413
+ <li><a href="#rev.yaml" id="toc-rev.yaml">rev.yaml</a></li>
414
+ <li><a href="#template-variables" id="toc-template-variables">Template
415
+ Variables</a></li>
416
+ <li><a href="#user-configuration" id="toc-user-configuration">User
417
+ Configuration</a></li>
418
+ <li><a href="#dictionaries" id="toc-dictionaries">Dictionaries</a></li>
419
+ <li><a href="#journal-profiles" id="toc-journal-profiles">Journal
420
+ Profiles</a>
421
+ <ul>
422
+ <li><a href="#setting-a-journal" id="toc-setting-a-journal">Setting a
423
+ Journal</a></li>
424
+ <li><a href="#config-cascade" id="toc-config-cascade">Config
425
+ Cascade</a></li>
426
+ <li><a href="#csl-citation-styles" id="toc-csl-citation-styles">CSL
427
+ Citation Styles</a></li>
428
+ <li><a href="#custom-profiles-with-formatting"
429
+ id="toc-custom-profiles-with-formatting">Custom Profiles with
430
+ Formatting</a></li>
431
+ <li><a href="#cli-reference" id="toc-cli-reference">CLI
432
+ Reference</a></li>
433
+ </ul></li>
434
+ </ul></li>
435
+ </ul></div>
436
+ </nav>
437
+ </aside>
438
+ </div>
439
+ </div>
440
+
441
+ <footer class="border-top py-3 mt-auto">
442
+ <div class="container d-flex justify-content-between align-items-center text-muted" style="font-size:.85rem">
443
+ <span>docrev 0.9.15</span>
444
+ <span>Built with <a href="https://pandoc.org" class="text-muted">pandoc</a></span>
445
+ </div>
446
+ </footer>
447
+
448
+ <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
449
+ <script>
450
+ (function () {
451
+ var html = document.documentElement;
452
+ var sun = document.getElementById('icon-sun');
453
+ var moon = document.getElementById('icon-moon');
454
+ function apply(t) {
455
+ html.setAttribute('data-bs-theme', t);
456
+ sun.style.display = t === 'dark' ? 'none' : '';
457
+ moon.style.display = t === 'dark' ? '' : 'none';
458
+ }
459
+ apply(localStorage.getItem('docrev-theme') || 'light');
460
+ document.getElementById('theme-toggle').addEventListener('click', function () {
461
+ var next = html.getAttribute('data-bs-theme') === 'dark' ? 'light' : 'dark';
462
+ localStorage.setItem('docrev-theme', next);
463
+ apply(next);
464
+ });
465
+ })();
466
+ </script>
467
+
468
+ </body>
469
+ </html>