zengen 0.1.31 → 0.1.33
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/.github/workflows/ci.yml +0 -5
- package/.github/workflows/pages.yml +3 -58
- package/.husky/pre-commit +1 -0
- package/.prettierignore +14 -0
- package/.prettierrc.json +11 -0
- package/README.md +12 -89
- package/dist/builder.d.ts +5 -0
- package/dist/builder.d.ts.map +1 -1
- package/dist/builder.js +115 -10
- package/dist/builder.js.map +1 -1
- package/dist/cli.js +112 -271
- package/dist/cli.js.map +1 -1
- package/dist/gitignore.d.ts +40 -0
- package/dist/gitignore.d.ts.map +1 -0
- package/dist/gitignore.js +184 -0
- package/dist/gitignore.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/markdown.d.ts.map +1 -1
- package/dist/markdown.js +16 -4
- package/dist/markdown.js.map +1 -1
- package/dist/navigation.d.ts +10 -0
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +50 -14
- package/dist/navigation.js.map +1 -1
- package/dist/template.d.ts.map +1 -1
- package/dist/template.js +1 -1
- package/dist/template.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/{.github/README-CI.md → docs/ci/github-ci-cd.md} +9 -2
- package/{.github/workflows/README-PAGES.md → docs/deployment/github-pages.md} +12 -8
- package/docs/guides/api.md +277 -0
- package/{demo/src → docs/guides}/best-practices.md +129 -35
- package/docs/guides/config.md +286 -0
- package/{demo/src → docs/guides}/index.md +12 -7
- package/docs/testing/test-document.md +1 -0
- package/package.json +16 -4
- package/src/builder.ts +133 -11
- package/src/cli.ts +105 -288
- package/src/gitignore.ts +173 -0
- package/src/index.ts +3 -3
- package/src/markdown.ts +21 -6
- package/src/navigation.ts +75 -29
- package/src/template.ts +6 -3
- package/src/types.ts +3 -1
- package/tsconfig.json +1 -1
- package/demo/src/api.md +0 -92
- package/demo/src/config.md +0 -160
package/.github/workflows/ci.yml
CHANGED
|
@@ -3,16 +3,6 @@ name: Deploy to GitHub Pages
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
5
|
branches: [main]
|
|
6
|
-
paths:
|
|
7
|
-
- 'demo/src/**'
|
|
8
|
-
- 'package.json'
|
|
9
|
-
- '.github/workflows/pages.yml'
|
|
10
|
-
pull_request:
|
|
11
|
-
branches: [main]
|
|
12
|
-
paths:
|
|
13
|
-
- 'demo/src/**'
|
|
14
|
-
- 'package.json'
|
|
15
|
-
- '.github/workflows/pages.yml'
|
|
16
6
|
workflow_dispatch: # 允许手动触发
|
|
17
7
|
|
|
18
8
|
# 设置 GITHUB_TOKEN 的权限以允许部署到 GitHub Pages
|
|
@@ -46,57 +36,12 @@ jobs:
|
|
|
46
36
|
- name: Install dependencies
|
|
47
37
|
run: npm ci
|
|
48
38
|
|
|
49
|
-
- name: Build zengen
|
|
39
|
+
- name: Build zengen
|
|
50
40
|
run: npm run build
|
|
51
41
|
|
|
52
|
-
- name: Install zengen globally (from local build)
|
|
53
|
-
run: |
|
|
54
|
-
# 从本地构建安装 zengen
|
|
55
|
-
npm install -g .
|
|
56
|
-
# 验证安装
|
|
57
|
-
zengen --version
|
|
58
|
-
|
|
59
|
-
- name: Test zengen CLI
|
|
60
|
-
run: |
|
|
61
|
-
# 测试 CLI 命令
|
|
62
|
-
echo "Testing zengen CLI..."
|
|
63
|
-
zengen --help
|
|
64
|
-
zengen build --help
|
|
65
|
-
|
|
66
42
|
- name: Create documentation site
|
|
67
43
|
run: |
|
|
68
|
-
|
|
69
|
-
echo "Building documentation site from demo/src..."
|
|
70
|
-
|
|
71
|
-
# 首先清理可能存在的旧输出(保留 dist 目录中的 CLI 文件)
|
|
72
|
-
rm -rf docs-dist
|
|
73
|
-
# 只删除 dist 目录中的 HTML 文件,保留 CLI 文件
|
|
74
|
-
find dist -name "*.html" -delete 2>/dev/null || true
|
|
75
|
-
find dist -name "*.json" -delete 2>/dev/null || true
|
|
76
|
-
find dist -name "*.xml" -delete 2>/dev/null || true
|
|
77
|
-
|
|
78
|
-
# 使用 zengen 构建
|
|
79
|
-
zengen build demo/src --out docs-dist --clean --verbose
|
|
80
|
-
|
|
81
|
-
# 检查构建结果
|
|
82
|
-
echo "Checking build output..."
|
|
83
|
-
if [ -d "docs-dist" ] && [ -f "docs-dist/index.html" ]; then
|
|
84
|
-
echo "✅ Build successful - docs-dist directory exists with index.html"
|
|
85
|
-
ls -la docs-dist/
|
|
86
|
-
else
|
|
87
|
-
echo "⚠️ Build may have output to dist directory instead"
|
|
88
|
-
if [ -d "dist" ] && [ -f "dist/index.html" ]; then
|
|
89
|
-
echo "Found output in dist directory, copying to docs-dist"
|
|
90
|
-
cp -r dist docs-dist
|
|
91
|
-
ls -la docs-dist/
|
|
92
|
-
else
|
|
93
|
-
echo "❌ Build failed - no output found"
|
|
94
|
-
exit 1
|
|
95
|
-
fi
|
|
96
|
-
fi
|
|
97
|
-
|
|
98
|
-
# 创建 CNAME 文件(如果需要自定义域名)
|
|
99
|
-
# echo "docs.example.com" > docs-dist/CNAME
|
|
44
|
+
npx --no-install zengen build --base-url /ZEN
|
|
100
45
|
|
|
101
46
|
- name: Setup Pages
|
|
102
47
|
uses: actions/configure-pages@v4
|
|
@@ -104,7 +49,7 @@ jobs:
|
|
|
104
49
|
- name: Upload artifact
|
|
105
50
|
uses: actions/upload-pages-artifact@v3
|
|
106
51
|
with:
|
|
107
|
-
path: '
|
|
52
|
+
path: './.zen/dist'
|
|
108
53
|
|
|
109
54
|
deploy:
|
|
110
55
|
environment:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
npx lint-staged
|
package/.prettierignore
ADDED
package/.prettierrc.json
ADDED
package/README.md
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
# ZEN - 简洁的 Markdown 文档站点构建工具
|
|
2
2
|
|
|
3
|
-
> 📖 **阅读提示**: 本 README
|
|
3
|
+
> 📖 **阅读提示**: 本 README 为中文版本。英文版本将由 AI 自动翻译生成。
|
|
4
4
|
|
|
5
5
|
## 项目初衷
|
|
6
6
|
|
|
7
7
|
### 回归内容
|
|
8
|
+
|
|
8
9
|
我喜欢沉思,但不想要配置复杂的构建工具,折腾复杂的文档配置,不喜欢复杂的结构。
|
|
9
10
|
|
|
10
11
|
### 回归母语
|
|
12
|
+
|
|
11
13
|
生命苦短,我用 AI 翻译。与世界保持连接。
|
|
12
14
|
|
|
13
15
|
## 基本功能
|
|
@@ -30,109 +32,30 @@
|
|
|
30
32
|
|
|
31
33
|
## 快速开始
|
|
32
34
|
|
|
33
|
-
###
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
npm install -g zengen
|
|
37
|
-
```
|
|
35
|
+
### 推荐使用方式
|
|
38
36
|
|
|
39
|
-
|
|
37
|
+
**推荐用户切换到包含 Markdown 文件的目录下,直接使用以下命令开始构建:**
|
|
40
38
|
|
|
41
39
|
```bash
|
|
42
|
-
|
|
40
|
+
npx zengen build
|
|
43
41
|
```
|
|
44
42
|
|
|
45
|
-
###
|
|
43
|
+
### 其他用法
|
|
46
44
|
|
|
47
|
-
1.
|
|
48
|
-
```bash
|
|
49
|
-
zengen init
|
|
50
|
-
```
|
|
45
|
+
1. **实时预览(监听文件变化)**:
|
|
51
46
|
|
|
52
|
-
2. **构建文档站点**:
|
|
53
47
|
```bash
|
|
54
|
-
zengen build
|
|
48
|
+
npx zengen build --watch
|
|
55
49
|
```
|
|
56
50
|
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
zengen build ./docs --watch
|
|
60
|
-
```
|
|
51
|
+
2. **查看更多参数或帮助**:
|
|
61
52
|
|
|
62
|
-
4. **查看帮助**:
|
|
63
53
|
```bash
|
|
64
|
-
zengen
|
|
54
|
+
npx zengen
|
|
65
55
|
```
|
|
66
56
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
# ZEN - A minimalist Markdown documentation site builder
|
|
70
|
-
|
|
71
|
-
> 📖 **Reading Note**: This README uses separated Chinese/English layout. Chinese version is above, English version is below the separator line.
|
|
72
|
-
|
|
73
|
-
## Project Philosophy
|
|
74
|
-
|
|
75
|
-
### Return to Content
|
|
76
|
-
I enjoy contemplation, but don't want complex build tools, complicated documentation configurations, or intricate structures.
|
|
77
|
-
|
|
78
|
-
### Return to Native Language
|
|
79
|
-
Life is short, I use AI translation. Stay connected with the world.
|
|
80
|
-
|
|
81
|
-
## Core Features
|
|
82
|
-
|
|
83
|
-
1. **Static Site Generation**
|
|
84
|
-
- Build any folder containing Markdown files into a static HTML site
|
|
85
|
-
|
|
86
|
-
2. **Smart Navigation**
|
|
87
|
-
- Generate sitemap and navigation without preserving the original Markdown directory structure
|
|
88
|
-
|
|
89
|
-
3. **Incremental i18n Translation**
|
|
90
|
-
- Use LLM for incremental i18n translation, allowing users to write Markdown in their native language while supporting multilingual audiences
|
|
91
|
-
|
|
92
|
-
## Design Principles
|
|
93
|
-
|
|
94
|
-
- **Minimalism**: Minimum configuration, maximum flexibility
|
|
95
|
-
- **Content First**: Focus on writing, not tool configuration
|
|
96
|
-
- **AI Empowered**: Leverage AI for translation and content organization
|
|
97
|
-
- **Cross-Language**: Support multilingual content creation and presentation
|
|
98
|
-
|
|
99
|
-
## Quick Start
|
|
100
|
-
|
|
101
|
-
### Installation
|
|
102
|
-
|
|
103
|
-
```bash
|
|
104
|
-
npm install -g zengen
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
Or install as a project dependency:
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
npm install zengen
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Usage
|
|
114
|
-
|
|
115
|
-
1. **Initialize a project**:
|
|
116
|
-
```bash
|
|
117
|
-
zengen init
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
2. **Build documentation site**:
|
|
121
|
-
```bash
|
|
122
|
-
zengen build ./docs
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
3. **Live preview (watch for changes)**:
|
|
126
|
-
```bash
|
|
127
|
-
zengen build ./docs --watch
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
4. **View help**:
|
|
131
|
-
```bash
|
|
132
|
-
zengen --help
|
|
133
|
-
```
|
|
57
|
+
**注意**:ZEN 强制使用当前目录作为源目录,输出到 `.zen/dist` 目录。不再支持指定源目录和输出目录参数。
|
|
134
58
|
|
|
135
59
|
---
|
|
136
60
|
|
|
137
61
|
**ZEN** - 让文档回归本质,让写作回归宁静。
|
|
138
|
-
**ZEN** - Return documentation to its essence, return writing to tranquility.
|
package/dist/builder.d.ts
CHANGED
package/dist/builder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4B,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4B,SAAS,EAAE,MAAM,SAAS,CAAC;AAW5E,qBAAa,UAAU;IACrB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,GAAE,SAAc;IAOlC;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoGjD;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAqIjD;;OAEG;YACW,eAAe;IAsB7B;;OAEG;YACW,eAAe;IAU7B;;OAEG;YACW,sBAAsB;IAUpC;;OAEG;YACW,gBAAgB;IA6B9B;;;OAGG;YACW,wBAAwB;IAqEtC;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1C;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE;CAuB5C"}
|
package/dist/builder.js
CHANGED
|
@@ -40,6 +40,7 @@ exports.ZenBuilder = void 0;
|
|
|
40
40
|
const markdown_1 = require("./markdown");
|
|
41
41
|
const template_1 = require("./template");
|
|
42
42
|
const navigation_1 = require("./navigation");
|
|
43
|
+
const gitignore_1 = require("./gitignore");
|
|
43
44
|
const fs = __importStar(require("fs/promises"));
|
|
44
45
|
const path = __importStar(require("path"));
|
|
45
46
|
const chokidar = __importStar(require("chokidar"));
|
|
@@ -50,18 +51,20 @@ class ZenBuilder {
|
|
|
50
51
|
this.config = config;
|
|
51
52
|
this.markdownConverter = new markdown_1.MarkdownConverter(config.processors || []);
|
|
52
53
|
this.templateEngine = new template_1.TemplateEngine();
|
|
53
|
-
this.navigationGenerator = new navigation_1.NavigationGenerator();
|
|
54
|
+
this.navigationGenerator = new navigation_1.NavigationGenerator(config.baseUrl);
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
57
|
* 构建文档站点
|
|
57
58
|
*/
|
|
58
59
|
async build(options) {
|
|
59
60
|
const startTime = Date.now();
|
|
60
|
-
const { srcDir, outDir, template, verbose = false } = options;
|
|
61
|
+
const { srcDir, outDir, template, verbose = false, baseUrl } = options;
|
|
61
62
|
if (verbose) {
|
|
62
63
|
console.log(`🚀 Starting ZEN build...`);
|
|
63
64
|
console.log(`📁 Source: ${srcDir}`);
|
|
64
65
|
console.log(`📁 Output: ${outDir}`);
|
|
66
|
+
console.log(`🔗 Base URL: ${baseUrl || '(not set)'}`);
|
|
67
|
+
console.log(`🔍 Verbose mode enabled`);
|
|
65
68
|
}
|
|
66
69
|
// 验证源目录
|
|
67
70
|
try {
|
|
@@ -82,6 +85,17 @@ class ZenBuilder {
|
|
|
82
85
|
}
|
|
83
86
|
if (verbose)
|
|
84
87
|
console.log(`✅ Found ${files.length} Markdown files`);
|
|
88
|
+
// 更新导航生成器的 baseUrl(优先使用命令行参数)
|
|
89
|
+
if (baseUrl !== undefined) {
|
|
90
|
+
if (verbose)
|
|
91
|
+
console.log(`🔗 Using baseUrl: ${baseUrl}`);
|
|
92
|
+
this.navigationGenerator.setBaseUrl(baseUrl);
|
|
93
|
+
}
|
|
94
|
+
else if (this.config.baseUrl) {
|
|
95
|
+
if (verbose)
|
|
96
|
+
console.log(`🔗 Using config baseUrl: ${this.config.baseUrl}`);
|
|
97
|
+
this.navigationGenerator.setBaseUrl(this.config.baseUrl);
|
|
98
|
+
}
|
|
85
99
|
// 生成导航
|
|
86
100
|
if (verbose)
|
|
87
101
|
console.log(`🗺️ Generating navigation...`);
|
|
@@ -119,6 +133,10 @@ class ZenBuilder {
|
|
|
119
133
|
await this.generateNavigationJson(files, outDir);
|
|
120
134
|
// 复制静态资源(如果存在)
|
|
121
135
|
await this.copyStaticAssets(srcDir, outDir);
|
|
136
|
+
// 确保每个目录都有 index.html
|
|
137
|
+
if (verbose)
|
|
138
|
+
console.log(`📁 Ensuring index.html in all directories...`);
|
|
139
|
+
await this.ensureDirectoryIndexHtml(outDir);
|
|
122
140
|
const duration = Date.now() - startTime;
|
|
123
141
|
if (verbose) {
|
|
124
142
|
console.log(`🎉 Build completed!`);
|
|
@@ -134,7 +152,7 @@ class ZenBuilder {
|
|
|
134
152
|
* 监听文件变化并自动重建
|
|
135
153
|
*/
|
|
136
154
|
async watch(options) {
|
|
137
|
-
const { srcDir, outDir, template, verbose = false, serve = false, port = 3000, host = 'localhost' } = options;
|
|
155
|
+
const { srcDir, outDir, template, verbose = false, serve = false, port = 3000, host = 'localhost', baseUrl, } = options;
|
|
138
156
|
console.log(`👀 Watching for changes in ${srcDir}...`);
|
|
139
157
|
console.log(`Press Ctrl+C to stop watching`);
|
|
140
158
|
// 初始构建
|
|
@@ -145,11 +163,30 @@ class ZenBuilder {
|
|
|
145
163
|
server = await this.startHttpServer(outDir, port, host);
|
|
146
164
|
console.log(`🌐 HTTP server started at http://${host}:${port}`);
|
|
147
165
|
}
|
|
148
|
-
//
|
|
166
|
+
// 创建 GitIgnoreProcessor 并加载 .gitignore 文件
|
|
167
|
+
const gitignoreProcessor = new gitignore_1.GitIgnoreProcessor(srcDir);
|
|
168
|
+
await gitignoreProcessor.loadFromFile();
|
|
169
|
+
// 获取 .gitignore 模式并转换为 chokidar 兼容的正则表达式
|
|
170
|
+
const gitignorePatterns = gitignoreProcessor.getPatterns();
|
|
171
|
+
const gitignoreRegexes = gitignorePatterns.map(pattern => {
|
|
172
|
+
// 将 glob 模式转换为正则表达式
|
|
173
|
+
// 注意:这是一个简化的转换,对于复杂的 glob 模式可能需要更复杂的处理
|
|
174
|
+
const regexPattern = pattern
|
|
175
|
+
.replace(/\./g, '\\.')
|
|
176
|
+
.replace(/\*/g, '.*')
|
|
177
|
+
.replace(/\?/g, '.')
|
|
178
|
+
.replace(/\*\*/g, '.*');
|
|
179
|
+
return new RegExp(`(^|[\\/\\\\])${regexPattern}([\\/\\\\].*)?$`);
|
|
180
|
+
});
|
|
181
|
+
// 设置文件监听,忽略隐藏文件、.zen 目录和 .gitignore 中的文件
|
|
149
182
|
const watcher = chokidar.watch(srcDir, {
|
|
150
|
-
ignored:
|
|
183
|
+
ignored: [
|
|
184
|
+
/(^|[\/\\])\../, // 忽略隐藏文件
|
|
185
|
+
/(^|[\/\\])\.zen($|[\/\\])/, // 忽略 .zen 目录
|
|
186
|
+
...gitignoreRegexes, // 忽略 .gitignore 中的文件
|
|
187
|
+
],
|
|
151
188
|
persistent: true,
|
|
152
|
-
ignoreInitial: true
|
|
189
|
+
ignoreInitial: true,
|
|
153
190
|
});
|
|
154
191
|
let isBuilding = false;
|
|
155
192
|
let buildQueue = [];
|
|
@@ -183,7 +220,8 @@ class ZenBuilder {
|
|
|
183
220
|
};
|
|
184
221
|
watcher
|
|
185
222
|
.on('add', (filePath) => {
|
|
186
|
-
|
|
223
|
+
// 双重检查:确保文件是 .md 文件且不被 .gitignore 忽略
|
|
224
|
+
if (filePath.endsWith('.md') && !gitignoreProcessor.shouldIgnore(filePath)) {
|
|
187
225
|
if (verbose)
|
|
188
226
|
console.log(`📄 File added: ${filePath}`);
|
|
189
227
|
buildQueue.push(filePath);
|
|
@@ -191,7 +229,8 @@ class ZenBuilder {
|
|
|
191
229
|
}
|
|
192
230
|
})
|
|
193
231
|
.on('change', (filePath) => {
|
|
194
|
-
|
|
232
|
+
// 双重检查:确保文件是 .md 文件且不被 .gitignore 忽略
|
|
233
|
+
if (filePath.endsWith('.md') && !gitignoreProcessor.shouldIgnore(filePath)) {
|
|
195
234
|
if (verbose)
|
|
196
235
|
console.log(`📄 File changed: ${filePath}`);
|
|
197
236
|
buildQueue.push(filePath);
|
|
@@ -199,7 +238,8 @@ class ZenBuilder {
|
|
|
199
238
|
}
|
|
200
239
|
})
|
|
201
240
|
.on('unlink', (filePath) => {
|
|
202
|
-
|
|
241
|
+
// 双重检查:确保文件是 .md 文件且不被 .gitignore 忽略
|
|
242
|
+
if (filePath.endsWith('.md') && !gitignoreProcessor.shouldIgnore(filePath)) {
|
|
203
243
|
if (verbose)
|
|
204
244
|
console.log(`📄 File removed: ${filePath}`);
|
|
205
245
|
buildQueue.push(filePath);
|
|
@@ -251,7 +291,7 @@ class ZenBuilder {
|
|
|
251
291
|
*/
|
|
252
292
|
async generateSitemap(files, outDir) {
|
|
253
293
|
try {
|
|
254
|
-
const sitemapXml = this.navigationGenerator.generateSitemap(files);
|
|
294
|
+
const sitemapXml = this.navigationGenerator.generateSitemap(files, this.config.baseUrl);
|
|
255
295
|
const sitemapPath = path.join(outDir, 'sitemap.xml');
|
|
256
296
|
await fs.writeFile(sitemapPath, sitemapXml, 'utf-8');
|
|
257
297
|
}
|
|
@@ -300,6 +340,71 @@ class ZenBuilder {
|
|
|
300
340
|
// 静态目录不存在是正常的,忽略错误
|
|
301
341
|
}
|
|
302
342
|
}
|
|
343
|
+
/**
|
|
344
|
+
* 确保每个目录都有 index.html 文件
|
|
345
|
+
* 为缺少 index.html 的目录创建重定向页面
|
|
346
|
+
*/
|
|
347
|
+
async ensureDirectoryIndexHtml(outDir) {
|
|
348
|
+
try {
|
|
349
|
+
// 递归遍历所有目录
|
|
350
|
+
async function processDirectory(dirPath) {
|
|
351
|
+
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
352
|
+
// 检查当前目录是否有 index.html
|
|
353
|
+
const hasIndexHtml = entries.some(entry => entry.isFile() && entry.name === 'index.html');
|
|
354
|
+
if (!hasIndexHtml) {
|
|
355
|
+
// 查找当前目录下的第一个 .html 文件(不包括 index.html)
|
|
356
|
+
const htmlFiles = entries
|
|
357
|
+
.filter(entry => entry.isFile() && entry.name.endsWith('.html') && entry.name !== 'index.html')
|
|
358
|
+
.map(entry => entry.name)
|
|
359
|
+
.sort();
|
|
360
|
+
let redirectTarget;
|
|
361
|
+
if (htmlFiles.length > 0) {
|
|
362
|
+
// 重定向到第一个 .html 文件
|
|
363
|
+
redirectTarget = htmlFiles[0];
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
// 如果没有 .html 文件,重定向到父目录
|
|
367
|
+
const parentDir = path.dirname(dirPath);
|
|
368
|
+
if (parentDir === dirPath) {
|
|
369
|
+
// 已经是根目录,重定向到根目录的 index.html(如果存在)
|
|
370
|
+
redirectTarget = 'index.html';
|
|
371
|
+
}
|
|
372
|
+
else {
|
|
373
|
+
// 计算相对路径到父目录
|
|
374
|
+
const relativePath = path.relative(dirPath, parentDir);
|
|
375
|
+
redirectTarget = path.join(relativePath, 'index.html');
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
// 创建重定向 HTML
|
|
379
|
+
const redirectHtml = `<!DOCTYPE html>
|
|
380
|
+
<html lang="zh-CN">
|
|
381
|
+
<head>
|
|
382
|
+
<meta charset="UTF-8">
|
|
383
|
+
<meta http-equiv="refresh" content="0; url=${redirectTarget}">
|
|
384
|
+
<title>Redirecting...</title>
|
|
385
|
+
<script>
|
|
386
|
+
window.location.href = "${redirectTarget}";
|
|
387
|
+
</script>
|
|
388
|
+
</head>
|
|
389
|
+
<body>
|
|
390
|
+
<p>正在重定向到 <a href="${redirectTarget}">${redirectTarget}</a>...</p>
|
|
391
|
+
</body>
|
|
392
|
+
</html>`;
|
|
393
|
+
await fs.writeFile(path.join(dirPath, 'index.html'), redirectHtml, 'utf-8');
|
|
394
|
+
}
|
|
395
|
+
// 递归处理子目录
|
|
396
|
+
for (const entry of entries) {
|
|
397
|
+
if (entry.isDirectory()) {
|
|
398
|
+
await processDirectory(path.join(dirPath, entry.name));
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
await processDirectory(outDir);
|
|
403
|
+
}
|
|
404
|
+
catch (error) {
|
|
405
|
+
console.warn(`⚠️ Failed to ensure index.html in directories:`, error);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
303
408
|
/**
|
|
304
409
|
* 清理输出目录
|
|
305
410
|
*/
|
package/dist/builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,yCAA+C;AAC/C,yCAA4C;AAC5C,6CAAmD;AACnD,2CAAiD;AACjD,gDAAkC;AAClC,2CAA6B;AAC7B,mDAAqC;AACrC,sDAA8B;AAG9B,MAAa,UAAU;IAMrB,YAAY,SAAoB,EAAE;QAF1B,WAAM,GAAc,EAAE,CAAC;QAG7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,IAAI,4BAAiB,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,GAAG,IAAI,yBAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,IAAI,gCAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAEvE,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,IAAI,WAAW,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACzC,CAAC;QAED,QAAQ;QACR,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,WAAW;QACX,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5C,oBAAoB;QACpB,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAEnE,8BAA8B;QAC9B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO;QACP,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE5D,SAAS;QACT,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAClD,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,SAAS;gBACT,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAEhF,OAAO;gBACP,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;gBAEtE,SAAS;gBACT,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAEnE,OAAO;gBACP,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAEvD,cAAc,EAAE,CAAC;gBAEjB,IAAI,OAAO,IAAI,cAAc,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,IAAI,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,SAAS;QACT,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAE1C,eAAe;QACf,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEjD,eAAe;QACf,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE5C,sBAAsB;QACtB,IAAI,OAAO;YAAE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QACzE,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,cAAc,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,IAAI,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,WAAW,cAAc,aAAa,MAAM,OAAO,QAAQ,IAAI,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC/B,MAAM,EACJ,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,WAAW,EAClB,OAAO,GACR,GAAG,OAAO,CAAC;QAEZ,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,KAAK,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAE7C,OAAO;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1B,oBAAoB;QACpB,IAAI,MAAM,GAAuB,IAAI,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,0CAA0C;QAC1C,MAAM,kBAAkB,GAAG,IAAI,8BAAkB,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,kBAAkB,CAAC,YAAY,EAAE,CAAC;QAExC,yCAAyC;QACzC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;QAC3D,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACvD,oBAAoB;YACpB,uCAAuC;YACvC,MAAM,YAAY,GAAG,OAAO;iBACzB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;iBACrB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;iBACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;iBACnB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC1B,OAAO,IAAI,MAAM,CAAC,gBAAgB,YAAY,iBAAiB,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE;YACrC,OAAO,EAAE;gBACP,eAAe,EAAE,SAAS;gBAC1B,2BAA2B,EAAE,aAAa;gBAC1C,GAAG,gBAAgB,EAAE,qBAAqB;aAC3C;YACD,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,UAAU,GAAa,EAAE,CAAC;QAE9B,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;YAChC,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO;YACT,CAAC;YAED,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,YAAY,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;YACrC,UAAU,GAAG,EAAE,CAAC;YAEhB,IAAI,CAAC;gBACH,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,sCAAsC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/E,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;gBACpC,CAAC;gBAED,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAC5C,CAAC;oBAAS,CAAC;gBACT,UAAU,GAAG,KAAK,CAAC;gBAEnB,iBAAiB;gBACjB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,OAAO;aACJ,EAAE,CAAC,KAAK,EAAE,CAAC,QAAgB,EAAE,EAAE;YAC9B,qCAAqC;YACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3E,IAAI,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;gBACvD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE;YACjC,qCAAqC;YACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3E,IAAI,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;gBACzD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAgB,EAAE,EAAE;YACjC,qCAAqC;YACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3E,IAAI,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;gBACzD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,CAAC,KAAc,EAAE,EAAE;YAC9B,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEL,SAAS;QACT,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO,CAAC,KAAK,EAAE,CAAC;YAEhB,oBAAoB;YACpB,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;oBAChB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;oBACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,IAAY,EAAE,IAAY;QACtE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;YAEtB,WAAW;YACX,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAEhC,oCAAoC;YACpC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAoB,EAAE,GAAqB,EAAE,EAAE;gBAC3D,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;gBACzC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,KAAiB,EAAE,MAAc;QAC7D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YACrD,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,KAAiB,EAAE,MAAc;QACpE,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACrD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,MAAc;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE9C,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE3B,UAAU;YACV,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,MAAc;gBACnD,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAElE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBAE/C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,MAAM,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,mBAAmB;QACrB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,wBAAwB,CAAC,MAAc;QACnD,IAAI,CAAC;YACH,WAAW;YACX,KAAK,UAAU,gBAAgB,CAAC,OAAe;gBAC7C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEnE,uBAAuB;gBACvB,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;gBAE1F,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,uCAAuC;oBACvC,MAAM,SAAS,GAAG,OAAO;yBACtB,MAAM,CACL,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CACvF;yBACA,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;yBACxB,IAAI,EAAE,CAAC;oBAEV,IAAI,cAAsB,CAAC;oBAE3B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzB,mBAAmB;wBACnB,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAChC,CAAC;yBAAM,CAAC;wBACN,wBAAwB;wBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACxC,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;4BAC1B,mCAAmC;4BACnC,cAAc,GAAG,YAAY,CAAC;wBAChC,CAAC;6BAAM,CAAC;4BACN,aAAa;4BACb,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;4BACvD,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;wBACzD,CAAC;oBACH,CAAC;oBAED,aAAa;oBACb,MAAM,YAAY,GAAG;;;;+CAIgB,cAAc;;;8BAG/B,cAAc;;;;uBAIrB,cAAc,KAAK,cAAc;;QAEhD,CAAC;oBAEC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC9E,CAAC;gBAED,UAAU;gBACV,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,MAAc;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAiB;QAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA9bD,gCA8bC"}
|