@nguyenphp/antigravity-marketing 1.0.18 → 1.0.19
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/README.md +186 -78
- package/package.json +4 -3
- package/templates/.agent/skills/marketing-report-expert/SKILL.md +70 -0
- package/templates/.agent/skills/minimax-docx/LICENSE +21 -0
- package/templates/.agent/skills/minimax-docx/SKILL.md +274 -0
- package/templates/.agent/skills/minimax-docx/assets/styles/academic_styles.xml +250 -0
- package/templates/.agent/skills/minimax-docx/assets/styles/corporate_styles.xml +284 -0
- package/templates/.agent/skills/minimax-docx/assets/styles/default_styles.xml +449 -0
- package/templates/.agent/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd +470 -0
- package/templates/.agent/skills/minimax-docx/assets/xsd/business-rules.xsd +130 -0
- package/templates/.agent/skills/minimax-docx/assets/xsd/common-types.xsd +159 -0
- package/templates/.agent/skills/minimax-docx/assets/xsd/wml-subset.xsd +589 -0
- package/templates/.agent/skills/minimax-docx/references/cjk_typography.md +357 -0
- package/templates/.agent/skills/minimax-docx/references/cjk_university_template_guide.md +184 -0
- package/templates/.agent/skills/minimax-docx/references/comments_guide.md +191 -0
- package/templates/.agent/skills/minimax-docx/references/design_good_bad_examples.md +829 -0
- package/templates/.agent/skills/minimax-docx/references/design_principles.md +819 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_element_order.md +308 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part1.md +4061 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part2.md +2820 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part3.md +3381 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_namespaces.md +82 -0
- package/templates/.agent/skills/minimax-docx/references/openxml_units.md +72 -0
- package/templates/.agent/skills/minimax-docx/references/scenario_a_create.md +284 -0
- package/templates/.agent/skills/minimax-docx/references/scenario_b_edit_content.md +295 -0
- package/templates/.agent/skills/minimax-docx/references/scenario_c_apply_template.md +456 -0
- package/templates/.agent/skills/minimax-docx/references/track_changes_guide.md +200 -0
- package/templates/.agent/skills/minimax-docx/references/troubleshooting.md +506 -0
- package/templates/.agent/skills/minimax-docx/references/typography_guide.md +294 -0
- package/templates/.agent/skills/minimax-docx/references/xsd_validation_guide.md +158 -0
- package/templates/.agent/skills/minimax-docx/scripts/doc_to_docx.sh +40 -0
- package/templates/.agent/skills/minimax-docx/scripts/docx_preview.sh +37 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
- package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
- package/templates/.agent/skills/minimax-docx/scripts/env_check.sh +196 -0
- package/templates/.agent/skills/minimax-docx/scripts/setup.ps1 +274 -0
- package/templates/.agent/skills/minimax-docx/scripts/setup.sh +504 -0
- package/templates/.agent/skills/minimax-multimodal-toolkit/SKILL.md +359 -0
- package/templates/.agent/skills/minimax-pdf/README.md +222 -0
- package/templates/.agent/skills/minimax-pdf/SKILL.md +201 -0
- package/templates/.agent/skills/minimax-pdf/design/design.md +381 -0
- package/templates/.agent/skills/minimax-pdf/scripts/cover.py +1579 -0
- package/templates/.agent/skills/minimax-pdf/scripts/fill_inspect.py +200 -0
- package/templates/.agent/skills/minimax-pdf/scripts/fill_write.py +242 -0
- package/templates/.agent/skills/minimax-pdf/scripts/make.sh +491 -0
- package/templates/.agent/skills/minimax-pdf/scripts/merge.py +112 -0
- package/templates/.agent/skills/minimax-pdf/scripts/palette.py +559 -0
- package/templates/.agent/skills/minimax-pdf/scripts/reformat_parse.py +374 -0
- package/templates/.agent/skills/minimax-pdf/scripts/render_body.py +1055 -0
- package/templates/.agent/skills/minimax-pdf/scripts/render_cover.cjs +111 -0
- package/templates/.agent/skills/minimax-xlsx/SKILL.md +138 -0
- package/templates/.agent/skills/minimax-xlsx/references/create.md +691 -0
- package/templates/.agent/skills/minimax-xlsx/references/edit.md +684 -0
- package/templates/.agent/skills/minimax-xlsx/references/fix.md +37 -0
- package/templates/.agent/skills/minimax-xlsx/references/format.md +768 -0
- package/templates/.agent/skills/minimax-xlsx/references/ooxml-cheatsheet.md +231 -0
- package/templates/.agent/skills/minimax-xlsx/references/read-analyze.md +97 -0
- package/templates/.agent/skills/minimax-xlsx/references/validate.md +772 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/formula_check.py +422 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/libreoffice_recalc.py +248 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/shared_strings_builder.py +163 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/style_audit.py +575 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_add_column.py +395 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_insert_row.py +274 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_pack.py +87 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_reader.py +362 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_shift_rows.py +396 -0
- package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_unpack.py +130 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml +9 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels +6 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml +160 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml +30 -0
- package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
- package/templates/.agent/skills/pptx-generator/SKILL.md +249 -0
- package/templates/.agent/skills/pptx-generator/references/design-system.md +392 -0
- package/templates/.agent/skills/pptx-generator/references/editing.md +162 -0
- package/templates/.agent/skills/pptx-generator/references/pitfalls.md +112 -0
- package/templates/.agent/skills/pptx-generator/references/pptxgenjs.md +420 -0
- package/templates/.agent/skills/pptx-generator/references/slide-types.md +413 -0
- package/templates/.agent/skills/tutorial-video-expert/SKILL.md +88 -0
- package/templates/.agent/skills/ui-ux-pro-max/SKILL.md +170 -585
- package/templates/.agent/skills/vision-analysis/SKILL.md +174 -0
- package/templates/.agent/workflows/analyze.md +3 -0
- package/templates/.agent/workflows/brand-report.md +44 -0
- package/templates/.agent/workflows/report.md +49 -0
|
@@ -0,0 +1,82 @@
|
|
|
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` |
|
|
@@ -0,0 +1,72 @@
|
|
|
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
|
+
```
|
|
@@ -0,0 +1,284 @@
|
|
|
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)
|