@json-to-office/core-docx 4.5.0 → 5.4.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.
@@ -0,0 +1,693 @@
1
+ {
2
+ "id": "technical-report",
3
+ "format": "docx",
4
+ "title": "Technical report",
5
+ "description": "A technical report or memo for engineers and their managers: numbered sections under a running head that numbers the pages, a contents list, a summary first, method and results with a chart and a runs table, recommendations, a readiness or decision statement, references last; or a memo that opens with To, From, Date and Subject and argues one recommendation in two pages.",
6
+ "whenToUse": "A load-test or audit report, a migration or capacity plan, a post-incident report, a standard, a security review, or a short memo recommending one option. Not for a client's periodic report, which reads for the conclusion first and rarely cites a method.",
7
+ "theme": "consulting",
8
+ "profile": "technical-report",
9
+ "definitions": "technical-report-blocks.docx.json",
10
+ "numbering": "sections",
11
+ "toc": true,
12
+ "variants": {
13
+ "data-heavy": {
14
+ "description": "Evidence-led: summary, scope and method with its assumptions, results with a chart and two sub-headed findings and a runs table, recommendations with a risk note, a readiness statement, references.",
15
+ "whenToUse": "The brief comes with measurements: runs, findings, incidents, timings, anything the reader will check against a figure.",
16
+ "pages": {
17
+ "min": 4,
18
+ "max": 10
19
+ },
20
+ "metadata": {
21
+ "title": "{{Title: as on the cover}}",
22
+ "author": "{{Author or team}}",
23
+ "company": "{{Team or client name}}",
24
+ "date": "{{Month YYYY}}"
25
+ },
26
+ "children": [
27
+ {
28
+ "name": "section",
29
+ "children": [
30
+ {
31
+ "name": "block",
32
+ "props": {
33
+ "ref": "cover",
34
+ "slots": {
35
+ "title": "{{Title: the report's conclusion in one sentence}}",
36
+ "subtitle": "{{Subtitle: what was examined, for whom}}",
37
+ "client": "{{Team or client name}}",
38
+ "date": "{{Month YYYY}}",
39
+ "confidentiality": "{{Confidentiality: Internal, or Confidential}}"
40
+ }
41
+ }
42
+ }
43
+ ]
44
+ },
45
+ {
46
+ "name": "section",
47
+ "children": [
48
+ {
49
+ "name": "block",
50
+ "props": {
51
+ "ref": "running-head",
52
+ "slots": {
53
+ "confidentiality": "{{Confidentiality: as on the cover}}",
54
+ "date": "{{Month YYYY}}"
55
+ }
56
+ }
57
+ },
58
+ {
59
+ "name": "toc",
60
+ "props": {
61
+ "scope": "document",
62
+ "title": "Contents",
63
+ "depth": {
64
+ "from": 1,
65
+ "to": 2
66
+ }
67
+ }
68
+ },
69
+ {
70
+ "name": "block",
71
+ "props": {
72
+ "ref": "section-opener",
73
+ "slots": {
74
+ "number": "1",
75
+ "title": "{{Section title: the conclusion, as a statement}}"
76
+ }
77
+ }
78
+ },
79
+ {
80
+ "name": "block",
81
+ "props": {
82
+ "ref": "key-takeaways",
83
+ "slots": {
84
+ "label": "Summary",
85
+ "items": [
86
+ "{{Finding 1: one claim, one sentence, with its number}}",
87
+ "{{Finding 2: one claim, one sentence, with its number}}",
88
+ "{{Finding 3: the recommendation that follows}}"
89
+ ]
90
+ }
91
+ }
92
+ },
93
+ {
94
+ "name": "paragraph",
95
+ "props": {
96
+ "text": "{{Body: what was examined, what was found and what is recommended, in one paragraph}}"
97
+ }
98
+ }
99
+ ]
100
+ },
101
+ {
102
+ "name": "section",
103
+ "children": [
104
+ {
105
+ "name": "block",
106
+ "props": {
107
+ "ref": "section-opener",
108
+ "slots": {
109
+ "number": "2",
110
+ "title": "{{Section title: scope and method}}"
111
+ }
112
+ }
113
+ },
114
+ {
115
+ "name": "paragraph",
116
+ "props": {
117
+ "text": "{{Body: what was measured, under which conditions, with which instruments, and what was left out}}"
118
+ }
119
+ },
120
+ {
121
+ "name": "block",
122
+ "props": {
123
+ "ref": "callout",
124
+ "slots": {
125
+ "label": "{{Note label: Assumptions, or Limitations}}",
126
+ "text": "{{Note: the assumption or limit the results rest on}}"
127
+ }
128
+ }
129
+ }
130
+ ]
131
+ },
132
+ {
133
+ "name": "section",
134
+ "children": [
135
+ {
136
+ "name": "block",
137
+ "props": {
138
+ "ref": "section-opener",
139
+ "slots": {
140
+ "number": "3",
141
+ "title": "{{Section title: results, as the headline finding}}"
142
+ }
143
+ }
144
+ },
145
+ {
146
+ "name": "paragraph",
147
+ "props": {
148
+ "text": "{{Body: what the figure shows and the number that matters}}"
149
+ }
150
+ },
151
+ {
152
+ "name": "block",
153
+ "props": {
154
+ "ref": "chart-figure",
155
+ "slots": {
156
+ "chart": {
157
+ "name": "highcharts",
158
+ "props": {
159
+ "width": "100%",
160
+ "options": {
161
+ "chart": {
162
+ "type": "column",
163
+ "width": 900,
164
+ "height": 460
165
+ },
166
+ "title": {
167
+ "text": null
168
+ },
169
+ "xAxis": {
170
+ "categories": [
171
+ "{{Condition 1}}",
172
+ "{{Condition 2}}",
173
+ "{{Condition 3}}"
174
+ ],
175
+ "title": {
176
+ "text": "{{Independent variable (unit)}}"
177
+ }
178
+ },
179
+ "yAxis": {
180
+ "min": 0,
181
+ "title": {
182
+ "text": "{{Measure (unit)}}"
183
+ }
184
+ },
185
+ "series": [
186
+ {
187
+ "name": "{{Series name}}",
188
+ "data": [0, 0, 0]
189
+ }
190
+ ],
191
+ "credits": {
192
+ "enabled": false
193
+ }
194
+ }
195
+ }
196
+ },
197
+ "caption": "{{Caption: what the chart shows, as a statement}}",
198
+ "takeaway": "{{Takeaway: the one sentence the reader should keep}}",
199
+ "source": "{{Source: system, run or document, date}}"
200
+ }
201
+ }
202
+ },
203
+ {
204
+ "name": "heading",
205
+ "props": {
206
+ "level": 2,
207
+ "text": "{{Sub-heading 3.1: the first result, as a statement}}"
208
+ }
209
+ },
210
+ {
211
+ "name": "paragraph",
212
+ "props": {
213
+ "text": "{{Body: the evidence for the sub-heading, with its numbers}}"
214
+ }
215
+ },
216
+ {
217
+ "name": "heading",
218
+ "props": {
219
+ "level": 2,
220
+ "text": "{{Sub-heading 3.2: the second result, as a statement}}"
221
+ }
222
+ },
223
+ {
224
+ "name": "paragraph",
225
+ "props": {
226
+ "text": "{{Body: the evidence for the sub-heading, with its numbers}}"
227
+ }
228
+ },
229
+ {
230
+ "name": "block",
231
+ "props": {
232
+ "ref": "data-table",
233
+ "slots": {
234
+ "title": "{{Table title: the runs or cases, and their conditions}}",
235
+ "labelHeader": "{{Run or case}}",
236
+ "labels": ["{{Row 1}}", "{{Row 2}}", "{{Row 3}}"],
237
+ "columns": [
238
+ {
239
+ "header": "{{Measure (unit)}}",
240
+ "cells": ["{{0.0}}", "{{0.0}}", "{{0.0}}"]
241
+ },
242
+ {
243
+ "header": "{{Measure (unit)}}",
244
+ "cells": ["{{0.0}}", "{{0.0}}", "{{0.0}}"]
245
+ }
246
+ ],
247
+ "notes": "{{Notes: definitions, conditions, exclusions the reader needs to read the figures}}",
248
+ "source": "{{Source: system, run or document, date}}"
249
+ }
250
+ }
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ "name": "section",
256
+ "children": [
257
+ {
258
+ "name": "block",
259
+ "props": {
260
+ "ref": "section-opener",
261
+ "slots": {
262
+ "number": "4",
263
+ "title": "{{Section title: recommendations, as what to do}}"
264
+ }
265
+ }
266
+ },
267
+ {
268
+ "name": "paragraph",
269
+ "props": {
270
+ "text": "{{Body: each recommendation with its expected effect, cost and owner}}"
271
+ }
272
+ },
273
+ {
274
+ "name": "block",
275
+ "props": {
276
+ "ref": "callout",
277
+ "slots": {
278
+ "label": "{{Note label: Risk, or Open question}}",
279
+ "text": "{{Note: what could invalidate the recommendation and how it will be checked}}"
280
+ }
281
+ }
282
+ }
283
+ ]
284
+ },
285
+ {
286
+ "name": "section",
287
+ "children": [
288
+ {
289
+ "name": "block",
290
+ "props": {
291
+ "ref": "section-opener",
292
+ "slots": {
293
+ "number": "5",
294
+ "title": "{{Section title: the readiness or decision statement}}"
295
+ }
296
+ }
297
+ },
298
+ {
299
+ "name": "paragraph",
300
+ "props": {
301
+ "text": "{{Body: the answer to the brief's question, with its condition}}"
302
+ }
303
+ },
304
+ {
305
+ "name": "block",
306
+ "props": {
307
+ "ref": "footnotes",
308
+ "slots": {
309
+ "title": "References"
310
+ }
311
+ }
312
+ }
313
+ ]
314
+ }
315
+ ]
316
+ },
317
+ "narrative": {
318
+ "description": "Argument-led: summary, context and constraints, an analysis section built on one comparison table, options and risks, a recommendation with next steps, references.",
319
+ "whenToUse": "The brief is a plan, a policy, a standard or an assessment with few numbers; the reader follows an argument to a decision.",
320
+ "pages": {
321
+ "min": 3,
322
+ "max": 8
323
+ },
324
+ "metadata": {
325
+ "title": "{{Title: as on the cover}}",
326
+ "author": "{{Author or team}}",
327
+ "company": "{{Team or client name}}",
328
+ "date": "{{Month YYYY}}"
329
+ },
330
+ "children": [
331
+ {
332
+ "name": "section",
333
+ "children": [
334
+ {
335
+ "name": "block",
336
+ "props": {
337
+ "ref": "cover",
338
+ "slots": {
339
+ "title": "{{Title: the report's conclusion in one sentence}}",
340
+ "subtitle": "{{Subtitle: what was examined, for whom}}",
341
+ "client": "{{Team or client name}}",
342
+ "date": "{{Month YYYY}}",
343
+ "confidentiality": "{{Confidentiality: Internal, or Confidential}}"
344
+ }
345
+ }
346
+ }
347
+ ]
348
+ },
349
+ {
350
+ "name": "section",
351
+ "children": [
352
+ {
353
+ "name": "block",
354
+ "props": {
355
+ "ref": "running-head",
356
+ "slots": {
357
+ "confidentiality": "{{Confidentiality: as on the cover}}",
358
+ "date": "{{Month YYYY}}"
359
+ }
360
+ }
361
+ },
362
+ {
363
+ "name": "toc",
364
+ "props": {
365
+ "scope": "document",
366
+ "title": "Contents",
367
+ "depth": {
368
+ "from": 1,
369
+ "to": 2
370
+ }
371
+ }
372
+ },
373
+ {
374
+ "name": "block",
375
+ "props": {
376
+ "ref": "section-opener",
377
+ "slots": {
378
+ "number": "1",
379
+ "title": "{{Section title: the conclusion, as a statement}}"
380
+ }
381
+ }
382
+ },
383
+ {
384
+ "name": "block",
385
+ "props": {
386
+ "ref": "key-takeaways",
387
+ "slots": {
388
+ "label": "Summary",
389
+ "items": [
390
+ "{{Finding 1: one claim, one sentence, with its number}}",
391
+ "{{Finding 2: one claim, one sentence, with its number}}",
392
+ "{{Finding 3: the recommendation that follows}}"
393
+ ]
394
+ }
395
+ }
396
+ },
397
+ {
398
+ "name": "paragraph",
399
+ "props": {
400
+ "text": "{{Body: what was examined, what was found and what is recommended, in one paragraph}}"
401
+ }
402
+ }
403
+ ]
404
+ },
405
+ {
406
+ "name": "section",
407
+ "children": [
408
+ {
409
+ "name": "block",
410
+ "props": {
411
+ "ref": "section-opener",
412
+ "slots": {
413
+ "number": "2",
414
+ "title": "{{Section title: context and constraints}}"
415
+ }
416
+ }
417
+ },
418
+ {
419
+ "name": "paragraph",
420
+ "props": {
421
+ "text": "{{Body: the system or situation as it is, with the numbers that bound it}}"
422
+ }
423
+ },
424
+ {
425
+ "name": "paragraph",
426
+ "props": {
427
+ "text": "{{Body: the requirement or question this report answers}}"
428
+ }
429
+ }
430
+ ]
431
+ },
432
+ {
433
+ "name": "section",
434
+ "children": [
435
+ {
436
+ "name": "block",
437
+ "props": {
438
+ "ref": "section-opener",
439
+ "slots": {
440
+ "number": "3",
441
+ "title": "{{Section title: analysis, as the headline finding}}"
442
+ }
443
+ }
444
+ },
445
+ {
446
+ "name": "paragraph",
447
+ "props": {
448
+ "text": "{{Body: the argument, opening with its claim}}"
449
+ }
450
+ },
451
+ {
452
+ "name": "block",
453
+ "props": {
454
+ "ref": "data-table",
455
+ "slots": {
456
+ "title": "{{Table title: what it compares, and the conditions}}",
457
+ "labelHeader": "{{Option or case}}",
458
+ "labels": ["{{Row 1}}", "{{Row 2}}", "{{Row 3}}"],
459
+ "columns": [
460
+ {
461
+ "header": "{{Measure (unit)}}",
462
+ "cells": ["{{0.0}}", "{{0.0}}", "{{0.0}}"]
463
+ },
464
+ {
465
+ "header": "{{Measure (unit)}}",
466
+ "cells": ["{{0.0}}", "{{0.0}}", "{{0.0}}"]
467
+ }
468
+ ],
469
+ "notes": "{{Notes: definitions, conditions, exclusions the reader needs to read the figures}}",
470
+ "source": "{{Source: system, run or document, date}}"
471
+ }
472
+ }
473
+ },
474
+ {
475
+ "name": "paragraph",
476
+ "props": {
477
+ "text": "{{Body: what the table settles and what it leaves open}}"
478
+ }
479
+ }
480
+ ]
481
+ },
482
+ {
483
+ "name": "section",
484
+ "children": [
485
+ {
486
+ "name": "block",
487
+ "props": {
488
+ "ref": "section-opener",
489
+ "slots": {
490
+ "number": "4",
491
+ "title": "{{Section title: options and risks}}"
492
+ }
493
+ }
494
+ },
495
+ {
496
+ "name": "paragraph",
497
+ "props": {
498
+ "text": "{{Body: each option with its cost, its risk and what it forecloses}}"
499
+ }
500
+ },
501
+ {
502
+ "name": "block",
503
+ "props": {
504
+ "ref": "callout",
505
+ "slots": {
506
+ "label": "{{Note label: Risk, or Open question}}",
507
+ "text": "{{Note: what could invalidate the recommendation and how it will be checked}}"
508
+ }
509
+ }
510
+ }
511
+ ]
512
+ },
513
+ {
514
+ "name": "section",
515
+ "children": [
516
+ {
517
+ "name": "block",
518
+ "props": {
519
+ "ref": "section-opener",
520
+ "slots": {
521
+ "number": "5",
522
+ "title": "{{Section title: recommendation and next steps}}"
523
+ }
524
+ }
525
+ },
526
+ {
527
+ "name": "paragraph",
528
+ "props": {
529
+ "text": "{{Body: the recommendation, its condition and the first three steps with owners and dates}}"
530
+ }
531
+ },
532
+ {
533
+ "name": "block",
534
+ "props": {
535
+ "ref": "footnotes",
536
+ "slots": {
537
+ "title": "References"
538
+ }
539
+ }
540
+ }
541
+ ]
542
+ }
543
+ ]
544
+ },
545
+ "memo": {
546
+ "description": "A memo in one flowing section: To, From, Date and Subject in place of a cover, the recommendation first, then the question, the options against the requirements in one table, and what would change the answer; references last. No contents list.",
547
+ "whenToUse": "One decision for one reader, argued in under three pages: a vendor or option choice, a go or no-go, a change of approach.",
548
+ "pages": {
549
+ "min": 1,
550
+ "max": 3
551
+ },
552
+ "metadata": {
553
+ "title": "{{Title: the subject line}}",
554
+ "author": "{{Author or team}}",
555
+ "company": "{{Team or client name}}",
556
+ "date": "{{Month YYYY}}"
557
+ },
558
+ "children": [
559
+ {
560
+ "name": "section",
561
+ "children": [
562
+ {
563
+ "name": "block",
564
+ "props": {
565
+ "ref": "memo-header",
566
+ "slots": {
567
+ "subject": "{{Subject: the recommendation in one line}}",
568
+ "to": "{{To: the person or group who decides}}",
569
+ "from": "{{From: author or team}}",
570
+ "date": "{{D Month YYYY}}"
571
+ }
572
+ }
573
+ },
574
+ {
575
+ "name": "block",
576
+ "props": {
577
+ "ref": "running-head",
578
+ "slots": {
579
+ "confidentiality": "{{Confidentiality: Internal, or Confidential}}",
580
+ "date": "{{Month YYYY}}"
581
+ }
582
+ }
583
+ },
584
+ {
585
+ "name": "block",
586
+ "props": {
587
+ "ref": "key-takeaways",
588
+ "slots": {
589
+ "label": "Recommendation",
590
+ "items": [
591
+ "{{Recommendation: what to do, in one sentence}}",
592
+ "{{Reason 1: the requirement it meets, with its number}}",
593
+ "{{Reason 2: the cost or risk accepted, with its number}}"
594
+ ]
595
+ }
596
+ }
597
+ },
598
+ {
599
+ "name": "block",
600
+ "props": {
601
+ "ref": "section-opener",
602
+ "slots": {
603
+ "number": "1",
604
+ "title": "{{Section title: the question and its constraints}}"
605
+ }
606
+ }
607
+ },
608
+ {
609
+ "name": "paragraph",
610
+ "props": {
611
+ "text": "{{Body: the requirements, each with its number, and what was considered}}"
612
+ }
613
+ },
614
+ {
615
+ "name": "block",
616
+ "props": {
617
+ "ref": "section-opener",
618
+ "slots": {
619
+ "number": "2",
620
+ "title": "{{Section title: the options against the requirements}}"
621
+ }
622
+ }
623
+ },
624
+ {
625
+ "name": "block",
626
+ "props": {
627
+ "ref": "data-table",
628
+ "slots": {
629
+ "title": "{{Table title: options against the requirements}}",
630
+ "labelHeader": "{{Option}}",
631
+ "labels": ["{{Row 1}}", "{{Row 2}}", "{{Row 3}}"],
632
+ "columns": [
633
+ {
634
+ "header": "{{Measure (unit)}}",
635
+ "cells": ["{{0.0}}", "{{0.0}}", "{{0.0}}"]
636
+ },
637
+ {
638
+ "header": "{{Measure (unit)}}",
639
+ "cells": ["{{0.0}}", "{{0.0}}", "{{0.0}}"]
640
+ }
641
+ ],
642
+ "notes": "{{Notes: definitions, conditions, exclusions the reader needs to read the figures}}",
643
+ "source": "{{Source: system, run or document, date}}"
644
+ }
645
+ }
646
+ },
647
+ {
648
+ "name": "paragraph",
649
+ "props": {
650
+ "text": "{{Body: why the recommended option wins and what the others lose on}}"
651
+ }
652
+ },
653
+ {
654
+ "name": "block",
655
+ "props": {
656
+ "ref": "callout",
657
+ "slots": {
658
+ "label": "{{Note label: Assumption}}",
659
+ "text": "{{Note: the assumption the recommendation rests on}}"
660
+ }
661
+ }
662
+ },
663
+ {
664
+ "name": "block",
665
+ "props": {
666
+ "ref": "section-opener",
667
+ "slots": {
668
+ "number": "3",
669
+ "title": "{{Section title: what would change the answer}}"
670
+ }
671
+ }
672
+ },
673
+ {
674
+ "name": "paragraph",
675
+ "props": {
676
+ "text": "{{Body: the two or three facts that would reverse the recommendation, and who checks them}}"
677
+ }
678
+ },
679
+ {
680
+ "name": "block",
681
+ "props": {
682
+ "ref": "footnotes",
683
+ "slots": {
684
+ "title": "References"
685
+ }
686
+ }
687
+ }
688
+ ]
689
+ }
690
+ ]
691
+ }
692
+ }
693
+ }