@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,274 @@
|
|
|
1
|
+
# minimax-docx Environment Setup & Initialization Script (Windows PowerShell)
|
|
2
|
+
# Supports: Windows 10/11, Windows Server 2019+
|
|
3
|
+
# License: MIT
|
|
4
|
+
#Requires -Version 5.1
|
|
5
|
+
|
|
6
|
+
param(
|
|
7
|
+
[switch]$Minimal,
|
|
8
|
+
[switch]$SkipVerify,
|
|
9
|
+
[switch]$Help
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
$ErrorActionPreference = "Stop"
|
|
13
|
+
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
|
14
|
+
$ProjectDir = Split-Path -Parent $ScriptDir
|
|
15
|
+
$DotnetDir = Join-Path $ScriptDir "dotnet"
|
|
16
|
+
$LogFile = Join-Path $ProjectDir ".setup.log"
|
|
17
|
+
|
|
18
|
+
# --- Output Helpers ---
|
|
19
|
+
function Log { Write-Host "[OK] $args" -ForegroundColor Green }
|
|
20
|
+
function Warn { Write-Host "[WARN] $args" -ForegroundColor Yellow }
|
|
21
|
+
function Fail { Write-Host "[FAIL] $args" -ForegroundColor Red }
|
|
22
|
+
function Info { Write-Host "[INFO] $args" -ForegroundColor Cyan }
|
|
23
|
+
function Step { Write-Host "`n=== $args ===" -ForegroundColor Blue }
|
|
24
|
+
|
|
25
|
+
if ($Help) {
|
|
26
|
+
Write-Host @"
|
|
27
|
+
Usage: setup.ps1 [options]
|
|
28
|
+
-Minimal Only install critical dependencies (skip pandoc, soffice, fonts)
|
|
29
|
+
-SkipVerify Skip the verification test at the end
|
|
30
|
+
-Help Show this help
|
|
31
|
+
"@
|
|
32
|
+
exit 0
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
Write-Host "============================================"
|
|
36
|
+
Write-Host " minimax-docx Setup & Initialization (Windows)"
|
|
37
|
+
Write-Host " $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')"
|
|
38
|
+
Write-Host "============================================"
|
|
39
|
+
|
|
40
|
+
"" | Set-Content $LogFile
|
|
41
|
+
|
|
42
|
+
# --- Detect Package Manager ---
|
|
43
|
+
$HasWinget = $null -ne (Get-Command winget -ErrorAction SilentlyContinue)
|
|
44
|
+
$HasChoco = $null -ne (Get-Command choco -ErrorAction SilentlyContinue)
|
|
45
|
+
$HasScoop = $null -ne (Get-Command scoop -ErrorAction SilentlyContinue)
|
|
46
|
+
|
|
47
|
+
if ($HasWinget) { Info "Package manager: winget" }
|
|
48
|
+
elseif ($HasChoco) { Info "Package manager: chocolatey" }
|
|
49
|
+
elseif ($HasScoop) { Info "Package manager: scoop" }
|
|
50
|
+
else { Warn "No package manager found (winget/choco/scoop). Manual install may be needed." }
|
|
51
|
+
|
|
52
|
+
# --- .NET SDK ---
|
|
53
|
+
Step "Checking .NET SDK"
|
|
54
|
+
|
|
55
|
+
$dotnetCmd = Get-Command dotnet -ErrorAction SilentlyContinue
|
|
56
|
+
if ($dotnetCmd) {
|
|
57
|
+
$dotnetVer = & dotnet --version 2>$null
|
|
58
|
+
$majorVer = [int]($dotnetVer -split '\.')[0]
|
|
59
|
+
if ($majorVer -ge 8) {
|
|
60
|
+
Log "dotnet $dotnetVer already installed (>= 8.0 OK)"
|
|
61
|
+
} else {
|
|
62
|
+
Warn "dotnet $dotnetVer found but < 8.0, upgrading..."
|
|
63
|
+
$dotnetCmd = $null
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (-not $dotnetCmd -or $majorVer -lt 8) {
|
|
68
|
+
Info "Installing .NET SDK..."
|
|
69
|
+
if ($HasWinget) {
|
|
70
|
+
winget install Microsoft.DotNet.SDK.8 --accept-source-agreements --accept-package-agreements 2>>$LogFile
|
|
71
|
+
} elseif ($HasChoco) {
|
|
72
|
+
choco install dotnet-sdk -y 2>>$LogFile
|
|
73
|
+
} elseif ($HasScoop) {
|
|
74
|
+
scoop install dotnet-sdk 2>>$LogFile
|
|
75
|
+
} else {
|
|
76
|
+
Fail "Cannot auto-install .NET SDK. Download from: https://dotnet.microsoft.com/download"
|
|
77
|
+
Fail "After installing, restart PowerShell and re-run this script."
|
|
78
|
+
exit 1
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
# Refresh PATH
|
|
82
|
+
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path", "User")
|
|
83
|
+
|
|
84
|
+
if (Get-Command dotnet -ErrorAction SilentlyContinue) {
|
|
85
|
+
Log "dotnet $(dotnet --version) installed"
|
|
86
|
+
} else {
|
|
87
|
+
Fail "dotnet installation failed. Restart PowerShell and retry, or install manually."
|
|
88
|
+
exit 1
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
# --- Pandoc (Optional) ---
|
|
93
|
+
if (-not $Minimal) {
|
|
94
|
+
Step "Checking pandoc (optional: content preview)"
|
|
95
|
+
|
|
96
|
+
if (Get-Command pandoc -ErrorAction SilentlyContinue) {
|
|
97
|
+
$pandocVer = (pandoc --version | Select-Object -First 1) -replace '.*?(\d+\.\d+(\.\d+)?)', '$1'
|
|
98
|
+
Log "pandoc $pandocVer already installed"
|
|
99
|
+
} else {
|
|
100
|
+
Info "Installing pandoc..."
|
|
101
|
+
if ($HasWinget) { winget install JohnMacFarlane.Pandoc --accept-source-agreements 2>>$LogFile }
|
|
102
|
+
elseif ($HasChoco) { choco install pandoc -y 2>>$LogFile }
|
|
103
|
+
elseif ($HasScoop) { scoop install pandoc 2>>$LogFile }
|
|
104
|
+
else { Warn "Install pandoc manually: https://pandoc.org/installing.html" }
|
|
105
|
+
|
|
106
|
+
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", "Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path", "User")
|
|
107
|
+
|
|
108
|
+
if (Get-Command pandoc -ErrorAction SilentlyContinue) {
|
|
109
|
+
Log "pandoc installed"
|
|
110
|
+
} else {
|
|
111
|
+
Warn "pandoc not found after install (optional, will degrade gracefully)"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
# --- LibreOffice (Optional) ---
|
|
117
|
+
if (-not $Minimal) {
|
|
118
|
+
Step "Checking LibreOffice/soffice (optional: .doc conversion)"
|
|
119
|
+
|
|
120
|
+
$sofficeFound = $false
|
|
121
|
+
|
|
122
|
+
# Check common Windows install paths
|
|
123
|
+
$sofficePaths = @(
|
|
124
|
+
"C:\Program Files\LibreOffice\program\soffice.exe",
|
|
125
|
+
"C:\Program Files (x86)\LibreOffice\program\soffice.exe",
|
|
126
|
+
"${env:LOCALAPPDATA}\Programs\LibreOffice\program\soffice.exe"
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
if (Get-Command soffice -ErrorAction SilentlyContinue) {
|
|
130
|
+
Log "soffice found in PATH"
|
|
131
|
+
$sofficeFound = $true
|
|
132
|
+
} else {
|
|
133
|
+
foreach ($p in $sofficePaths) {
|
|
134
|
+
if (Test-Path $p) {
|
|
135
|
+
Log "soffice found at: $p"
|
|
136
|
+
Info "Tip: Add to PATH: `$env:Path += ';$(Split-Path $p)'"
|
|
137
|
+
$sofficeFound = $true
|
|
138
|
+
break
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (-not $sofficeFound) {
|
|
144
|
+
Info "Installing LibreOffice (this may take a while)..."
|
|
145
|
+
if ($HasWinget) { winget install TheDocumentFoundation.LibreOffice --accept-source-agreements 2>>$LogFile }
|
|
146
|
+
elseif ($HasChoco) { choco install libreoffice-fresh -y 2>>$LogFile }
|
|
147
|
+
else { Warn "Install LibreOffice manually: https://www.libreoffice.org/download/" }
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
# --- NuGet Configuration ---
|
|
152
|
+
Step "Checking NuGet configuration"
|
|
153
|
+
|
|
154
|
+
$nugetSources = & dotnet nuget list source 2>$null
|
|
155
|
+
if ($nugetSources -match "nuget.org") {
|
|
156
|
+
Log "nuget.org source is configured"
|
|
157
|
+
} else {
|
|
158
|
+
Warn "nuget.org not in sources. Adding..."
|
|
159
|
+
& dotnet nuget add source "https://api.nuget.org/v3/index.json" --name "nuget.org" 2>>$LogFile
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
# --- Encoding Check ---
|
|
163
|
+
Step "Checking console encoding"
|
|
164
|
+
|
|
165
|
+
$currentEncoding = [Console]::OutputEncoding.EncodingName
|
|
166
|
+
if ($currentEncoding -match "UTF-8|Unicode") {
|
|
167
|
+
Log "Console encoding: $currentEncoding (UTF-8 compatible)"
|
|
168
|
+
} else {
|
|
169
|
+
Warn "Console encoding: $currentEncoding (may cause issues with CJK text)"
|
|
170
|
+
Info "To fix: [Console]::OutputEncoding = [System.Text.Encoding]::UTF8"
|
|
171
|
+
Info "Or set system-wide: Settings > Time & Language > Language > Administrative > Change system locale > Beta: UTF-8"
|
|
172
|
+
# Apply for this session
|
|
173
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
174
|
+
Log "Set UTF-8 encoding for this session"
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
# --- Font Check ---
|
|
178
|
+
if (-not $Minimal) {
|
|
179
|
+
Step "Checking fonts"
|
|
180
|
+
|
|
181
|
+
$fonts = [System.Drawing.FontFamily]::Families 2>$null
|
|
182
|
+
if ($fonts) {
|
|
183
|
+
$fontNames = $fonts | ForEach-Object { $_.Name }
|
|
184
|
+
$hasCalibri = $fontNames -contains "Calibri"
|
|
185
|
+
$hasTimes = $fontNames -contains "Times New Roman"
|
|
186
|
+
$hasCJK = ($fontNames | Where-Object { $_ -match "SimSun|Microsoft YaHei|MS Mincho|Malgun Gothic" }).Count -gt 0
|
|
187
|
+
|
|
188
|
+
if ($hasCalibri) { Log "Western fonts: Calibri found" } else { Warn "Calibri not found (install Microsoft Office or fonts)" }
|
|
189
|
+
if ($hasTimes) { Log "Western fonts: Times New Roman found" } else { Warn "Times New Roman not found" }
|
|
190
|
+
if ($hasCJK) { Log "CJK fonts: available" } else { Warn "CJK fonts not found (install language packs for Chinese/Japanese/Korean)" }
|
|
191
|
+
} else {
|
|
192
|
+
Info "Cannot enumerate fonts (System.Drawing not loaded). Skipping font check."
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
# --- Build Project ---
|
|
197
|
+
Step "Building minimax-docx .NET project"
|
|
198
|
+
|
|
199
|
+
if (-not (Test-Path $DotnetDir)) {
|
|
200
|
+
Fail "Dotnet project directory not found: $DotnetDir"
|
|
201
|
+
exit 1
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
Push-Location $DotnetDir
|
|
205
|
+
|
|
206
|
+
Info "Restoring NuGet packages..."
|
|
207
|
+
$restoreResult = & dotnet restore --verbosity quiet 2>&1
|
|
208
|
+
if ($LASTEXITCODE -ne 0) {
|
|
209
|
+
Fail "NuGet restore failed:"
|
|
210
|
+
$restoreResult | ForEach-Object { Fail " $_" }
|
|
211
|
+
Fail "Common causes:"
|
|
212
|
+
Fail " - No internet (NuGet needs to download packages)"
|
|
213
|
+
Fail " - Corporate proxy/firewall blocking nuget.org"
|
|
214
|
+
Fail " - Insufficient disk space"
|
|
215
|
+
Fail "Try: dotnet restore --verbosity detailed"
|
|
216
|
+
Pop-Location
|
|
217
|
+
exit 1
|
|
218
|
+
}
|
|
219
|
+
Log "NuGet packages restored"
|
|
220
|
+
|
|
221
|
+
Info "Building project..."
|
|
222
|
+
$buildResult = & dotnet build --verbosity quiet --no-restore 2>&1
|
|
223
|
+
if ($LASTEXITCODE -ne 0) {
|
|
224
|
+
Fail "Build failed:"
|
|
225
|
+
$buildResult | ForEach-Object { Fail " $_" }
|
|
226
|
+
Pop-Location
|
|
227
|
+
exit 1
|
|
228
|
+
}
|
|
229
|
+
Log "Project built successfully"
|
|
230
|
+
|
|
231
|
+
Pop-Location
|
|
232
|
+
|
|
233
|
+
# --- Verification ---
|
|
234
|
+
if (-not $SkipVerify) {
|
|
235
|
+
Step "Verification Test"
|
|
236
|
+
|
|
237
|
+
$testOutput = Join-Path $env:TEMP "minimax-docx-setup-test-$PID.docx"
|
|
238
|
+
|
|
239
|
+
Info "Creating a test document..."
|
|
240
|
+
Push-Location $DotnetDir
|
|
241
|
+
$testResult = & dotnet run --project MiniMaxAIDocx.Cli -- create --type report --output $testOutput --title "Setup Test" 2>&1
|
|
242
|
+
$testExitCode = $LASTEXITCODE
|
|
243
|
+
Pop-Location
|
|
244
|
+
|
|
245
|
+
if ($testExitCode -eq 0 -and (Test-Path $testOutput)) {
|
|
246
|
+
Log "Test document created: $testOutput"
|
|
247
|
+
|
|
248
|
+
if (Get-Command pandoc -ErrorAction SilentlyContinue) {
|
|
249
|
+
$preview = & pandoc -f docx -t plain $testOutput 2>$null | Select-Object -First 3
|
|
250
|
+
if ($preview) { Log "Preview working: `"$($preview -join ' ')`"" }
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
Remove-Item $testOutput -Force
|
|
254
|
+
Log "Test passed - minimax-docx is ready to use!"
|
|
255
|
+
} else {
|
|
256
|
+
Fail "Test document creation failed. Output:"
|
|
257
|
+
$testResult | ForEach-Object { Fail " $_" }
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
# --- Summary ---
|
|
262
|
+
Step "Setup Complete"
|
|
263
|
+
|
|
264
|
+
Write-Host ""
|
|
265
|
+
Write-Host " Environment: Windows $([System.Environment]::OSVersion.Version)"
|
|
266
|
+
Write-Host " .NET SDK: $(dotnet --version 2>$null)"
|
|
267
|
+
$pandocInfo = if (Get-Command pandoc -ErrorAction SilentlyContinue) { pandoc --version | Select-Object -First 1 } else { "not installed (optional)" }
|
|
268
|
+
Write-Host " pandoc: $pandocInfo"
|
|
269
|
+
Write-Host " Project: $DotnetDir"
|
|
270
|
+
Write-Host ""
|
|
271
|
+
Write-Host " Usage:"
|
|
272
|
+
Write-Host " dotnet run --project $DotnetDir\MiniMaxAIDocx.Cli -- create --type report --output my_report.docx"
|
|
273
|
+
Write-Host ""
|
|
274
|
+
Write-Host " Log file: $LogFile"
|