dimcode-darwin-arm64 0.2.19-beta.0 → 0.2.20-beta.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.
Files changed (109) hide show
  1. package/bin/dimcode +0 -0
  2. package/bin/skills-assets/chrome-control/SKILL.md +96 -0
  3. package/bin/skills-assets/dim-workflow/SKILL.md +78 -30
  4. package/bin/skills-assets/officecli/SKILL.md +423 -0
  5. package/package.json +1 -1
  6. package/bin/skills-assets/docx/SKILL.md +0 -273
  7. package/bin/skills-assets/docx/assets/styles/academic_styles.xml +0 -250
  8. package/bin/skills-assets/docx/assets/styles/corporate_styles.xml +0 -284
  9. package/bin/skills-assets/docx/assets/styles/default_styles.xml +0 -449
  10. package/bin/skills-assets/docx/assets/xsd/aesthetic-rules.xsd +0 -470
  11. package/bin/skills-assets/docx/assets/xsd/business-rules.xsd +0 -130
  12. package/bin/skills-assets/docx/assets/xsd/common-types.xsd +0 -159
  13. package/bin/skills-assets/docx/assets/xsd/wml-subset.xsd +0 -589
  14. package/bin/skills-assets/docx/references/cjk_typography.md +0 -357
  15. package/bin/skills-assets/docx/references/cjk_university_template_guide.md +0 -184
  16. package/bin/skills-assets/docx/references/comments_guide.md +0 -191
  17. package/bin/skills-assets/docx/references/design_good_bad_examples.md +0 -829
  18. package/bin/skills-assets/docx/references/design_principles.md +0 -819
  19. package/bin/skills-assets/docx/references/openxml_element_order.md +0 -308
  20. package/bin/skills-assets/docx/references/openxml_encyclopedia_part1.md +0 -4061
  21. package/bin/skills-assets/docx/references/openxml_encyclopedia_part2.md +0 -2820
  22. package/bin/skills-assets/docx/references/openxml_encyclopedia_part3.md +0 -3381
  23. package/bin/skills-assets/docx/references/openxml_namespaces.md +0 -82
  24. package/bin/skills-assets/docx/references/openxml_units.md +0 -72
  25. package/bin/skills-assets/docx/references/scenario_a_create.md +0 -284
  26. package/bin/skills-assets/docx/references/scenario_b_edit_content.md +0 -295
  27. package/bin/skills-assets/docx/references/scenario_c_apply_template.md +0 -456
  28. package/bin/skills-assets/docx/references/track_changes_guide.md +0 -200
  29. package/bin/skills-assets/docx/references/troubleshooting.md +0 -506
  30. package/bin/skills-assets/docx/references/typography_guide.md +0 -294
  31. package/bin/skills-assets/docx/references/xsd_validation_guide.md +0 -158
  32. package/bin/skills-assets/docx/scripts/doc_to_docx.sh +0 -40
  33. package/bin/skills-assets/docx/scripts/docx_preview.sh +0 -37
  34. package/bin/skills-assets/docx/scripts/dotnet/Docx.Cli/Docx.Cli.csproj +0 -19
  35. package/bin/skills-assets/docx/scripts/dotnet/Docx.Cli/Program.cs +0 -18
  36. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Commands/AnalyzeCommand.cs +0 -147
  37. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Commands/ApplyTemplateCommand.cs +0 -322
  38. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Commands/CreateCommand.cs +0 -324
  39. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Commands/DiffCommand.cs +0 -155
  40. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Commands/EditContentCommand.cs +0 -487
  41. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Commands/FixOrderCommand.cs +0 -108
  42. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Commands/MergeRunsCommand.cs +0 -122
  43. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Commands/ValidateCommand.cs +0 -107
  44. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Docx.Core.csproj +0 -15
  45. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/OpenXml/CommentSynchronizer.cs +0 -169
  46. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/OpenXml/ElementOrder.cs +0 -80
  47. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/OpenXml/NamespaceConstants.cs +0 -42
  48. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/OpenXml/RunMerger.cs +0 -81
  49. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/OpenXml/StyleAnalyzer.cs +0 -81
  50. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/OpenXml/TrackChangesHelper.cs +0 -99
  51. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/OpenXml/UnitConverter.cs +0 -23
  52. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/AestheticRecipeSamples.cs +0 -1832
  53. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/AestheticRecipeSamples_Batch1.cs +0 -910
  54. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/AestheticRecipeSamples_Batch2.cs +0 -999
  55. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/AestheticRecipeSamples_Batch3.cs +0 -1048
  56. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/AestheticRecipeSamples_Batch4.cs +0 -1038
  57. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/CharacterFormattingSamples.cs +0 -1020
  58. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/DocumentCreationSamples.cs +0 -1121
  59. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/FieldAndTocSamples.cs +0 -624
  60. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/FootnoteAndCommentSamples.cs +0 -675
  61. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/HeaderFooterSamples.cs +0 -838
  62. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/ImageSamples.cs +0 -917
  63. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/ListAndNumberingSamples.cs +0 -826
  64. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/ParagraphFormattingSamples.cs +0 -1199
  65. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/StyleSystemSamples.cs +0 -1487
  66. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/TableSamples.cs +0 -1163
  67. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Samples/TrackChangesSamples.cs +0 -595
  68. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Typography/CjkHelper.cs +0 -39
  69. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Typography/FontDefaults.cs +0 -24
  70. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Typography/PageSizes.cs +0 -20
  71. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Validation/BusinessRuleValidator.cs +0 -224
  72. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Validation/GateCheckValidator.cs +0 -148
  73. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Validation/ValidationResult.cs +0 -23
  74. package/bin/skills-assets/docx/scripts/dotnet/Docx.Core/Validation/XsdValidator.cs +0 -69
  75. package/bin/skills-assets/docx/scripts/dotnet/Docx.slnx +0 -4
  76. package/bin/skills-assets/docx/scripts/env_check.sh +0 -196
  77. package/bin/skills-assets/docx/scripts/setup.ps1 +0 -274
  78. package/bin/skills-assets/docx/scripts/setup.sh +0 -504
  79. package/bin/skills-assets/pptx-generator/SKILL.md +0 -248
  80. package/bin/skills-assets/pptx-generator/references/design-system.md +0 -392
  81. package/bin/skills-assets/pptx-generator/references/editing.md +0 -162
  82. package/bin/skills-assets/pptx-generator/references/pitfalls.md +0 -112
  83. package/bin/skills-assets/pptx-generator/references/pptxgenjs.md +0 -420
  84. package/bin/skills-assets/pptx-generator/references/slide-types.md +0 -413
  85. package/bin/skills-assets/xlsx/SKILL.md +0 -137
  86. package/bin/skills-assets/xlsx/references/create.md +0 -691
  87. package/bin/skills-assets/xlsx/references/edit.md +0 -684
  88. package/bin/skills-assets/xlsx/references/fix.md +0 -37
  89. package/bin/skills-assets/xlsx/references/format.md +0 -768
  90. package/bin/skills-assets/xlsx/references/ooxml-cheatsheet.md +0 -231
  91. package/bin/skills-assets/xlsx/references/read-analyze.md +0 -97
  92. package/bin/skills-assets/xlsx/references/validate.md +0 -772
  93. package/bin/skills-assets/xlsx/scripts/formula_check.py +0 -422
  94. package/bin/skills-assets/xlsx/scripts/libreoffice_recalc.py +0 -248
  95. package/bin/skills-assets/xlsx/scripts/shared_strings_builder.py +0 -163
  96. package/bin/skills-assets/xlsx/scripts/style_audit.py +0 -575
  97. package/bin/skills-assets/xlsx/scripts/xlsx_add_column.py +0 -395
  98. package/bin/skills-assets/xlsx/scripts/xlsx_insert_row.py +0 -274
  99. package/bin/skills-assets/xlsx/scripts/xlsx_pack.py +0 -87
  100. package/bin/skills-assets/xlsx/scripts/xlsx_reader.py +0 -362
  101. package/bin/skills-assets/xlsx/scripts/xlsx_shift_rows.py +0 -396
  102. package/bin/skills-assets/xlsx/scripts/xlsx_unpack.py +0 -130
  103. package/bin/skills-assets/xlsx/templates/minimal_xlsx/[Content_Types].xml +0 -9
  104. package/bin/skills-assets/xlsx/templates/minimal_xlsx/_rels/.rels +0 -6
  105. package/bin/skills-assets/xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +0 -19
  106. package/bin/skills-assets/xlsx/templates/minimal_xlsx/xl/sharedStrings.xml +0 -33
  107. package/bin/skills-assets/xlsx/templates/minimal_xlsx/xl/styles.xml +0 -160
  108. package/bin/skills-assets/xlsx/templates/minimal_xlsx/xl/workbook.xml +0 -30
  109. package/bin/skills-assets/xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml +0 -70
@@ -1,82 +0,0 @@
1
- # OpenXML Namespaces, Relationship Types, and Content Types
2
-
3
- ## Core Namespaces
4
-
5
- | Prefix | URI | Used In |
6
- |--------|-----|---------|
7
- | `w` | `http://schemas.openxmlformats.org/wordprocessingml/2006/main` | document.xml, styles.xml, numbering.xml, headers, footers |
8
- | `r` | `http://schemas.openxmlformats.org/officeDocument/2006/relationships` | Relationship references (r:id) |
9
- | `wp` | `http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing` | Image/drawing placement in document |
10
- | `a` | `http://schemas.openxmlformats.org/drawingml/2006/main` | DrawingML core (shapes, images, themes) |
11
- | `pic` | `http://schemas.openxmlformats.org/drawingml/2006/picture` | Picture element in DrawingML |
12
- | `v` | `urn:schemas-microsoft-com:vml` | VML (legacy shapes, watermarks) |
13
- | `o` | `urn:schemas-microsoft-com:office:office` | Office VML extensions |
14
- | `m` | `http://schemas.openxmlformats.org/officeDocument/2006/math` | Math equations (OMML) |
15
- | `mc` | `http://schemas.openxmlformats.org/markup-compatibility/2006` | Markup compatibility (Ignorable, AlternateContent) |
16
-
17
- ## Extended Namespaces
18
-
19
- | Prefix | URI | Purpose |
20
- |--------|-----|---------|
21
- | `w14` | `http://schemas.microsoft.com/office/word/2010/wordml` | Word 2010 extensions (contentPart, etc.) |
22
- | `w15` | `http://schemas.microsoft.com/office/word/2012/wordml` | Word 2013 extensions (commentEx, etc.) |
23
- | `w16cid` | `http://schemas.microsoft.com/office/word/2016/wordml/cid` | Comment IDs (durable IDs) |
24
- | `w16cex` | `http://schemas.microsoft.com/office/word/2018/wordml/cex` | Comment extensible |
25
- | `w16se` | `http://schemas.microsoft.com/office/word/2015/wordml/symex` | Symbol extensions |
26
- | `wps` | `http://schemas.microsoft.com/office/word/2010/wordprocessingShape` | WordprocessingML shapes |
27
- | `wpc` | `http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas` | Drawing canvas |
28
-
29
- ## Relationship Types
30
-
31
- | Relationship | Type URI |
32
- |-------------|----------|
33
- | Document | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument` |
34
- | Styles | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles` |
35
- | Numbering | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering` |
36
- | Font Table | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable` |
37
- | Settings | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings` |
38
- | Theme | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme` |
39
- | Image | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/image` |
40
- | Hyperlink | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink` |
41
- | Header | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/header` |
42
- | Footer | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer` |
43
- | Comments | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments` |
44
- | CommentsExtended | `http://schemas.microsoft.com/office/2011/relationships/commentsExtended` |
45
- | CommentsIds | `http://schemas.microsoft.com/office/2016/09/relationships/commentsIds` |
46
- | CommentsExtensible | `http://schemas.microsoft.com/office/2018/08/relationships/commentsExtensible` |
47
- | Footnotes | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes` |
48
- | Endnotes | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes` |
49
- | Glossary | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/glossaryDocument` |
50
- | Web Settings | `http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings` |
51
-
52
- ## Content Types (`[Content_Types].xml`)
53
-
54
- ### Default Extensions
55
-
56
- ```xml
57
- <Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" />
58
- <Default Extension="xml" ContentType="application/xml" />
59
- <Default Extension="png" ContentType="image/png" />
60
- <Default Extension="jpeg" ContentType="image/jpeg" />
61
- <Default Extension="gif" ContentType="image/gif" />
62
- <Default Extension="emf" ContentType="image/x-emf" />
63
- ```
64
-
65
- ### Part Overrides
66
-
67
- | Part | Content Type |
68
- |------|-------------|
69
- | `/word/document.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml` |
70
- | `/word/styles.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml` |
71
- | `/word/numbering.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml` |
72
- | `/word/settings.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml` |
73
- | `/word/fontTable.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml` |
74
- | `/word/theme/theme1.xml` | `application/vnd.openxmlformats-officedocument.theme+xml` |
75
- | `/word/header1.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml` |
76
- | `/word/footer1.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml` |
77
- | `/word/comments.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml` |
78
- | `/word/commentsExtended.xml` | `application/vnd.ms-word.commentsExtended+xml` |
79
- | `/word/commentsIds.xml` | `application/vnd.ms-word.commentsIds+xml` |
80
- | `/word/commentsExtensible.xml` | `application/vnd.ms-word.commentsExtensible+xml` |
81
- | `/word/footnotes.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml` |
82
- | `/word/endnotes.xml` | `application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml` |
@@ -1,72 +0,0 @@
1
- # OpenXML Unit Conversion Quick Reference
2
-
3
- ## Master Conversion Table
4
-
5
- | Unit | 1 inch | 1 cm | 1 mm | 1 pt | Description |
6
- |------|--------|------|------|------|-------------|
7
- | DXA (twips) | 1440 | 567 | 56.7 | 20 | 1/20 of a point. Used for margins, indents, spacing, page size. |
8
- | EMU | 914400 | 360000 | 36000 | 12700 | English Metric Unit. Used for images, drawings, shapes. |
9
- | Half-points | 144 | 56.7 | 5.67 | 2 | Used for font sizes (`w:sz`, `w:szCs`). |
10
- | Points | 72 | 28.35 | 2.835 | 1 | Standard typographic unit. Not used directly in most attributes. |
11
- | Eighths of a point | 576 | 226.8 | 22.68 | 8 | Used for `w:spacing` character spacing. |
12
-
13
- ## Common Page Sizes
14
-
15
- | Size | Width (DXA) | Height (DXA) | Width (mm) | Height (mm) |
16
- |------|-------------|--------------|------------|-------------|
17
- | A4 | 11906 | 16838 | 210 | 297 |
18
- | Letter | 12240 | 15840 | 215.9 | 279.4 |
19
- | Legal | 12240 | 20160 | 215.9 | 355.6 |
20
- | A3 | 16838 | 23811 | 297 | 420 |
21
- | A5 | 8391 | 11906 | 148 | 210 |
22
-
23
- ## Common Margin Values
24
-
25
- | Margin | DXA | Inches | cm |
26
- |--------|-----|--------|----|
27
- | 0.5 inch | 720 | 0.5 | 1.27 |
28
- | 0.75 inch | 1080 | 0.75 | 1.91 |
29
- | 1 inch | 1440 | 1.0 | 2.54 |
30
- | 1.25 inch | 1800 | 1.25 | 3.18 |
31
- | 1.5 inch | 2160 | 1.5 | 3.81 |
32
-
33
- ## Font Size Values (`w:sz`)
34
-
35
- | Display Size | w:sz value | Notes |
36
- |-------------|-----------|-------|
37
- | 8pt | 16 | |
38
- | 9pt | 18 | |
39
- | 10pt | 20 | |
40
- | 10.5pt | 21 | Common CJK body size |
41
- | 11pt | 22 | Default Calibri body |
42
- | 12pt | 24 | Default TNR body |
43
- | 14pt | 28 | Small heading |
44
- | 16pt | 32 | |
45
- | 18pt | 36 | |
46
- | 20pt | 40 | |
47
- | 24pt | 48 | |
48
- | 28pt | 56 | |
49
- | 36pt | 72 | |
50
-
51
- ## Line Spacing Values
52
-
53
- Line spacing in `w:spacing` uses the `w:line` attribute in 240ths of a line (when `w:lineRule="auto"`):
54
-
55
- | Spacing | w:line value | w:lineRule |
56
- |---------|-------------|-----------|
57
- | Single | 240 | auto |
58
- | 1.15 (Word default) | 276 | auto |
59
- | 1.5 | 360 | auto |
60
- | Double | 480 | auto |
61
- | Exact 12pt | 240 | exact |
62
- | At least 12pt | 240 | atLeast |
63
-
64
- Note: When `lineRule="exact"` or `"atLeast"`, `w:line` is in **twips** (DXA), not 240ths. So `line="240"` with `lineRule="exact"` means exactly 12pt (240/20 = 12pt).
65
-
66
- ## Conversion Formulas
67
-
68
- ```
69
- DXA = inches × 1440 = cm × 567 = pt × 20
70
- EMU = inches × 914400 = cm × 360000 = pt × 12700
71
- sz = pt × 2 (half-points)
72
- ```
@@ -1,284 +0,0 @@
1
- # Scenario A: Creating a New DOCX from Scratch
2
-
3
- ## When to Use
4
-
5
- Use Scenario A when:
6
- - The user has no existing file and wants a brand new document
7
- - The user provides content (text, tables, images) and wants it assembled into a DOCX
8
- - The user specifies a document type (report, letter, memo, academic) or describes a custom layout
9
-
10
- Do NOT use when: the user already has a DOCX they want to modify (→ Scenario B) or wants to restyle an existing document (→ Scenario C).
11
-
12
- ---
13
-
14
- ## Step-by-Step Workflow
15
-
16
- ### 1. Determine Document Type
17
-
18
- Ask or infer the document type from the user's request:
19
-
20
- | Type | Typical Signals |
21
- |------|----------------|
22
- | Report | "report", "analysis", "whitepaper", sections with headings |
23
- | Letter | "letter", "dear", address block, salutation |
24
- | Memo | "memo", "memorandum", To/From/Subject fields |
25
- | Academic | "paper", "essay", "thesis", APA/MLA/Chicago mention |
26
- | Custom | None of the above, or user specifies exact formatting |
27
-
28
- ### 2. Gather Content Requirements
29
-
30
- Collect from the user:
31
- - Title and subtitle (if any)
32
- - Author / organization
33
- - Section structure (headings and nesting)
34
- - Body content per section
35
- - Tables (headers + rows)
36
- - Images (file paths or placeholders)
37
- - Special elements: TOC, page numbers, watermark, headers/footers
38
-
39
- ### 3. Select Style Set
40
-
41
- Based on document type, load the matching styles XML asset:
42
- - Report → `assets/styles/default_styles.xml` or `assets/styles/corporate_styles.xml`
43
- - Academic → `assets/styles/academic_styles.xml`
44
- - Letter / Memo / Custom → `assets/styles/default_styles.xml` (with overrides)
45
-
46
- ### 4. Configure Page Setup
47
-
48
- Set `w:sectPr` values based on document type defaults (see below) or user overrides.
49
-
50
- ```xml
51
- <w:sectPr>
52
- <w:pgSz w:w="11906" w:h="16838" /> <!-- A4 -->
53
- <w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440"
54
- w:header="720" w:footer="720" w:gutter="0" />
55
- </w:sectPr>
56
- ```
57
-
58
- ### 5. Build Document Structure
59
-
60
- Assemble `word/document.xml` with:
61
- 1. `w:body` as root container
62
- 2. Paragraphs (`w:p`) with heading styles for section titles
63
- 3. Body paragraphs with `Normal` style
64
- 4. Tables, images, and other elements as needed
65
- 5. Final `w:sectPr` as last child of `w:body`
66
-
67
- ### 6. Apply Typography Defaults
68
-
69
- Set document-level defaults in `styles.xml` under `w:docDefaults`:
70
- ```xml
71
- <w:docDefaults>
72
- <w:rPrDefault>
73
- <w:rPr>
74
- <w:rFonts w:ascii="Calibri" w:hAnsi="Calibri" w:eastAsia="SimSun" w:cs="Arial" />
75
- <w:sz w:val="22" /> <!-- 11pt -->
76
- <w:szCs w:val="22" />
77
- </w:rPr>
78
- </w:rPrDefault>
79
- <w:pPrDefault>
80
- <w:pPr>
81
- <w:spacing w:after="160" w:line="259" w:lineRule="auto" />
82
- </w:pPr>
83
- </w:pPrDefault>
84
- </w:docDefaults>
85
- ```
86
-
87
- ### 7. Add Complex Elements
88
-
89
- See the Complex Elements Guide section below.
90
-
91
- ### 8. Run Validation Pipeline
92
-
93
- ```
94
- dotnet run ... validate --xsd wml-subset.xsd
95
- dotnet run ... validate --xsd business-rules.xsd # if applying a template
96
- ```
97
-
98
- ---
99
-
100
- ## Document Type Defaults
101
-
102
- ### Report
103
- | Property | Value |
104
- |----------|-------|
105
- | Body font | Calibri 11pt |
106
- | Heading font | Calibri Light |
107
- | H1 / H2 / H3 / H4 size | 28pt / 24pt / 18pt / 14pt |
108
- | Heading color | #2F5496 (corporate blue) |
109
- | Margins | 1 inch (1440 DXA) all sides |
110
- | Page size | A4 (11906 × 16838 DXA) |
111
- | Line spacing | Single (line="240") |
112
- | Paragraph spacing | 0pt before, 8pt after body |
113
-
114
- ### Letter
115
- | Property | Value |
116
- |----------|-------|
117
- | Font | Calibri 11pt |
118
- | Page size | Letter (12240 × 15840 DXA) |
119
- | Margins | 1 inch all sides |
120
- | Structure | Date → Address → Salutation → Body → Closing → Signature |
121
- | Line spacing | Single |
122
-
123
- ### Memo
124
- | Property | Value |
125
- |----------|-------|
126
- | Font | Arial 11pt |
127
- | Page size | Letter |
128
- | Margins | 0.75 inch (1080 DXA) |
129
- | Header | "MEMO" centered, bold, 16pt |
130
- | Fields | To, From, Date, Subject (bold labels, tab-aligned values) |
131
-
132
- ### Academic
133
- | Property | Value |
134
- |----------|-------|
135
- | Font | Times New Roman 12pt |
136
- | Line spacing | Double (line="480") |
137
- | Margins | 1 inch all sides |
138
- | Page size | Letter |
139
- | Headings | Bold, same font, 14/13/12pt for H1/H2/H3 |
140
- | First line indent | 0.5 inch (720 DXA) |
141
- | Heading color | Black (no color) |
142
-
143
- ---
144
-
145
- ## Content Configuration JSON Format
146
-
147
- The CLI `create` command accepts a JSON config:
148
-
149
- ```json
150
- {
151
- "type": "report",
152
- "title": "Quarterly Revenue Analysis",
153
- "subtitle": "Q1 2026",
154
- "author": "Finance Team",
155
- "pageSize": "A4",
156
- "margins": { "top": 1440, "right": 1440, "bottom": 1440, "left": 1440 },
157
- "sections": [
158
- {
159
- "heading": "Executive Summary",
160
- "level": 1,
161
- "content": [
162
- { "type": "paragraph", "text": "Revenue grew 12% year-over-year..." },
163
- {
164
- "type": "table",
165
- "headers": ["Region", "Revenue", "Growth"],
166
- "rows": [
167
- ["North America", "$4.2M", "+15%"],
168
- ["Europe", "$2.8M", "+8%"],
169
- ["Asia Pacific", "$1.9M", "+18%"]
170
- ]
171
- },
172
- { "type": "image", "path": "charts/revenue.png", "width": "5in", "alt": "Revenue chart" }
173
- ]
174
- },
175
- {
176
- "heading": "Detailed Analysis",
177
- "level": 1,
178
- "content": [
179
- { "type": "paragraph", "text": "Breaking down by product line..." }
180
- ]
181
- }
182
- ]
183
- }
184
- ```
185
-
186
- Supported content types:
187
- - `paragraph` — body text (applies Normal style)
188
- - `table` — headers + rows (applies TableGrid style)
189
- - `image` — inline image with width/height control
190
- - `list` — bulleted or numbered list items
191
- - `pageBreak` — forces a page break
192
-
193
- ---
194
-
195
- ## Complex Elements Guide
196
-
197
- ### Table of Contents
198
-
199
- Insert a TOC field code. Word will update the actual entries when the file is opened:
200
-
201
- ```xml
202
- <w:p>
203
- <w:pPr><w:pStyle w:val="TOCHeading" /></w:pPr>
204
- <w:r><w:t>Table of Contents</w:t></w:r>
205
- </w:p>
206
- <w:p>
207
- <w:r>
208
- <w:fldChar w:fldCharType="begin" />
209
- </w:r>
210
- <w:r>
211
- <w:instrText xml:space="preserve"> TOC \o "1-3" \h \z \u </w:instrText>
212
- </w:r>
213
- <w:r>
214
- <w:fldChar w:fldCharType="separate" />
215
- </w:r>
216
- <w:r>
217
- <w:t>[Table of contents — update to populate]</w:t>
218
- </w:r>
219
- <w:r>
220
- <w:fldChar w:fldCharType="end" />
221
- </w:r>
222
- </w:p>
223
- ```
224
-
225
- ### Page Numbers in Footer
226
-
227
- Add a footer part (`word/footer1.xml`) and reference it in `w:sectPr`:
228
-
229
- ```xml
230
- <!-- In footer1.xml -->
231
- <w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
232
- <w:p>
233
- <w:pPr><w:jc w:val="center" /></w:pPr>
234
- <w:r>
235
- <w:fldChar w:fldCharType="begin" />
236
- </w:r>
237
- <w:r>
238
- <w:instrText>PAGE</w:instrText>
239
- </w:r>
240
- <w:r>
241
- <w:fldChar w:fldCharType="separate" />
242
- </w:r>
243
- <w:r><w:t>1</w:t></w:r>
244
- <w:r>
245
- <w:fldChar w:fldCharType="end" />
246
- </w:r>
247
- </w:p>
248
- </w:ftr>
249
-
250
- <!-- In sectPr -->
251
- <w:footerReference w:type="default" r:id="rId8" />
252
- ```
253
-
254
- ### Watermark
255
-
256
- Add a header part with a shape behind the text:
257
-
258
- ```xml
259
- <w:hdr>
260
- <w:p>
261
- <w:r>
262
- <w:pict>
263
- <v:shape style="position:absolute;margin-left:0;margin-top:0;width:468pt;height:180pt;
264
- z-index:-251657216;mso-position-horizontal:center;
265
- mso-position-vertical:center"
266
- fillcolor="silver" stroked="f">
267
- <v:textpath style="font-family:'Calibri';font-size:1pt" string="DRAFT" />
268
- </v:shape>
269
- </w:pict>
270
- </w:r>
271
- </w:p>
272
- </w:hdr>
273
- ```
274
-
275
- ---
276
-
277
- ## Post-Creation Checklist
278
-
279
- 1. **Validate** against `wml-subset.xsd` — all elements in correct order, required attributes present
280
- 2. **Merge adjacent runs** with identical formatting to keep XML clean
281
- 3. **Verify relationships** — every `r:id` in document.xml has a matching entry in `document.xml.rels`
282
- 4. **Check content types** — every part in the package is registered in `[Content_Types].xml`
283
- 5. **Preview** — open in Word or LibreOffice to visually confirm layout
284
- 6. **File size** — confirm images are reasonably sized (compress if > 2MB each)