zengen 0.1.31 → 0.1.32

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.
@@ -21,7 +21,7 @@
21
21
  4. **构建 zengen**:构建本地 zengen 包
22
22
  5. **安装 zengen**:将本地构建的 zengen 安装为全局工具
23
23
  6. **测试 zengen CLI**:验证 CLI 工具正常工作
24
- 7. **构建文档站点**:使用 `zengen build demo/src --out docs-dist` 构建文档,包含自动回退机制
24
+ 7. **构建文档站点**:使用 `cd demo/src && zengen build` 构建文档,输出到 `.zen/dist` 目录
25
25
  7. **配置 Pages**:设置 GitHub Pages
26
26
  8. **上传制品**:将构建的文档站点上传为 Pages 制品
27
27
  9. **部署到 GitHub Pages**:自动部署到 GitHub Pages
@@ -50,7 +50,8 @@ echo "docs.example.com" > docs-dist/CNAME
50
50
  当前使用的构建命令:
51
51
 
52
52
  ```bash
53
- zengen build demo/src --out docs-dist --clean --verbose
53
+ cd demo/src
54
+ zengen build --clean --verbose
54
55
  ```
55
56
 
56
57
  可用的选项:
@@ -73,12 +74,12 @@ zengen build demo/src --out docs-dist --clean --verbose
73
74
  1. **检查 Node.js 版本**:确保使用支持的 Node.js 版本
74
75
  2. **验证依赖安装**:确保 `npm ci` 成功执行
75
76
  3. **检查构建输出**:查看 `zengen build` 的详细输出
76
- 4. **CLI 输出目录问题**:如果 `--out` 参数未生效,构建可能输出到 `dist` 目录而不是指定目录。工作流程包含自动检测和修复机制。
77
+ 4. **CLI 输出目录问题**:ZEN 现在强制输出到 `.zen/dist` 目录,不再支持 `--out` 参数。
77
78
 
78
79
  ### 部署失败
79
80
 
80
81
  1. **检查权限**:确保工作流程有正确的 Pages 写入权限
81
- 2. **验证制品**:确保 `docs-dist` 目录包含有效的 HTML 文件
82
+ 2. **验证制品**:确保 `.zen/dist` 目录包含有效的 HTML 文件
82
83
  3. **查看日志**:检查 GitHub Actions 日志获取详细错误信息
83
84
 
84
85
  ### 文档未更新
@@ -46,57 +46,10 @@ jobs:
46
46
  - name: Install dependencies
47
47
  run: npm ci
48
48
 
49
- - name: Build zengen package
50
- run: npm run build
51
-
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
49
  - name: Create documentation site
67
50
  run: |
68
- # 使用 zengen 构建文档站点
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
51
+ cd demo/src
52
+ npx --no-install zengen build
100
53
 
101
54
  - name: Setup Pages
102
55
  uses: actions/configure-pages@v4
@@ -104,7 +57,7 @@ jobs:
104
57
  - name: Upload artifact
105
58
  uses: actions/upload-pages-artifact@v3
106
59
  with:
107
- path: './docs-dist'
60
+ path: './demo/src/.zen/dist'
108
61
 
109
62
  deploy:
110
63
  environment:
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ZEN - 简洁的 Markdown 文档站点构建工具
2
2
 
3
- > 📖 **阅读提示**: 本 README 采用中英文分离排版。中文版本在上方,英文版本在下方分隔线之后。
3
+ > 📖 **阅读提示**: 本 README 为中文版本。英文版本将由 AI 自动翻译生成。
4
4
 
5
5
  ## 项目初衷
6
6
 
@@ -51,12 +51,14 @@ zengen init
51
51
 
52
52
  2. **构建文档站点**:
53
53
  ```bash
54
- zengen build ./docs
54
+ cd /path/to/your/markdown/files
55
+ zengen build
55
56
  ```
56
57
 
57
58
  3. **实时预览(监听文件变化)**:
58
59
  ```bash
59
- zengen build ./docs --watch
60
+ cd /path/to/your/markdown/files
61
+ zengen build --watch
60
62
  ```
61
63
 
62
64
  4. **查看帮助**:
@@ -64,75 +66,8 @@ zengen build ./docs --watch
64
66
  zengen --help
65
67
  ```
66
68
 
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
- ```
69
+ **注意**:ZEN 现在强制使用当前目录作为源目录,输出到 `.zen/dist` 目录。不再支持指定源目录和输出目录参数。
134
70
 
135
71
  ---
136
72
 
137
73
  **ZEN** - 让文档回归本质,让写作回归宁静。
138
- **ZEN** - Return documentation to its essence, return writing to tranquility.
@@ -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;AAU5E,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;IAqFjD;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAoGjD;;OAEG;YACW,eAAe;IAsB7B;;OAEG;YACW,eAAe;IAU7B;;OAEG;YACW,sBAAsB;IAUpC;;OAEG;YACW,gBAAgB;IA6B9B;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1C;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE;CAuB5C"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4B,SAAS,EAAE,MAAM,SAAS,CAAC;AAU5E,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;IAgGjD;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAuGjD;;OAEG;YACW,eAAe;IAsB7B;;OAEG;YACW,eAAe;IAU7B;;OAEG;YACW,sBAAsB;IAUpC;;OAEG;YACW,gBAAgB;IA6B9B;;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
@@ -50,18 +50,20 @@ class ZenBuilder {
50
50
  this.config = config;
51
51
  this.markdownConverter = new markdown_1.MarkdownConverter(config.processors || []);
52
52
  this.templateEngine = new template_1.TemplateEngine();
53
- this.navigationGenerator = new navigation_1.NavigationGenerator();
53
+ this.navigationGenerator = new navigation_1.NavigationGenerator(config.baseUrl);
54
54
  }
55
55
  /**
56
56
  * 构建文档站点
57
57
  */
58
58
  async build(options) {
59
59
  const startTime = Date.now();
60
- const { srcDir, outDir, template, verbose = false } = options;
60
+ const { srcDir, outDir, template, verbose = false, baseUrl } = options;
61
61
  if (verbose) {
62
62
  console.log(`🚀 Starting ZEN build...`);
63
63
  console.log(`📁 Source: ${srcDir}`);
64
64
  console.log(`📁 Output: ${outDir}`);
65
+ console.log(`🔗 Base URL: ${baseUrl || '(not set)'}`);
66
+ console.log(`🔍 Verbose mode enabled`);
65
67
  }
66
68
  // 验证源目录
67
69
  try {
@@ -82,6 +84,17 @@ class ZenBuilder {
82
84
  }
83
85
  if (verbose)
84
86
  console.log(`✅ Found ${files.length} Markdown files`);
87
+ // 更新导航生成器的 baseUrl(优先使用命令行参数)
88
+ if (baseUrl !== undefined) {
89
+ if (verbose)
90
+ console.log(`🔗 Using baseUrl: ${baseUrl}`);
91
+ this.navigationGenerator.setBaseUrl(baseUrl);
92
+ }
93
+ else if (this.config.baseUrl) {
94
+ if (verbose)
95
+ console.log(`🔗 Using config baseUrl: ${this.config.baseUrl}`);
96
+ this.navigationGenerator.setBaseUrl(this.config.baseUrl);
97
+ }
85
98
  // 生成导航
86
99
  if (verbose)
87
100
  console.log(`🗺️ Generating navigation...`);
@@ -134,7 +147,7 @@ class ZenBuilder {
134
147
  * 监听文件变化并自动重建
135
148
  */
136
149
  async watch(options) {
137
- const { srcDir, outDir, template, verbose = false, serve = false, port = 3000, host = 'localhost' } = options;
150
+ const { srcDir, outDir, template, verbose = false, serve = false, port = 3000, host = 'localhost', baseUrl } = options;
138
151
  console.log(`👀 Watching for changes in ${srcDir}...`);
139
152
  console.log(`Press Ctrl+C to stop watching`);
140
153
  // 初始构建
@@ -145,9 +158,12 @@ class ZenBuilder {
145
158
  server = await this.startHttpServer(outDir, port, host);
146
159
  console.log(`🌐 HTTP server started at http://${host}:${port}`);
147
160
  }
148
- // 设置文件监听
161
+ // 设置文件监听,忽略隐藏文件和 .zen 目录
149
162
  const watcher = chokidar.watch(srcDir, {
150
- ignored: /(^|[\/\\])\../, // 忽略隐藏文件
163
+ ignored: [
164
+ /(^|[\/\\])\../, // 忽略隐藏文件
165
+ /(^|[\/\\])\.zen($|[\/\\])/ // 忽略 .zen 目录
166
+ ],
151
167
  persistent: true,
152
168
  ignoreInitial: true
153
169
  });
@@ -251,7 +267,7 @@ class ZenBuilder {
251
267
  */
252
268
  async generateSitemap(files, outDir) {
253
269
  try {
254
- const sitemapXml = this.navigationGenerator.generateSitemap(files);
270
+ const sitemapXml = this.navigationGenerator.generateSitemap(files, this.config.baseUrl);
255
271
  const sitemapPath = path.join(outDir, 'sitemap.xml');
256
272
  await fs.writeFile(sitemapPath, sitemapXml, 'utf-8');
257
273
  }
@@ -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":"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"}
package/dist/cli.js CHANGED
@@ -51,9 +51,7 @@ program
51
51
  // 构建命令
52
52
  program
53
53
  .command('build')
54
- .description('Build documentation site from Markdown files')
55
- .argument('<src-dir>', 'Source directory containing Markdown files')
56
- .option('-o, --out <dir>', 'Output directory for generated HTML', 'dist')
54
+ .description('Build documentation site from Markdown files in current directory')
57
55
  .option('-t, --template <file>', 'Custom template file')
58
56
  .option('-w, --watch', 'Watch for changes and rebuild automatically')
59
57
  .option('-s, --serve', 'Start HTTP server for preview (requires --watch)')
@@ -61,8 +59,9 @@ program
61
59
  .option('--host <host>', 'HTTP server host', 'localhost')
62
60
  .option('-v, --verbose', 'Show detailed output')
63
61
  .option('-c, --config <file>', 'Configuration file')
62
+ .option('--base-url <url>', 'Base URL for generated links (e.g., https://example.com/docs)')
64
63
  .option('--clean', 'Clean output directory before building')
65
- .action(async (srcDir, options) => {
64
+ .action(async (options) => {
66
65
  try {
67
66
  // 加载配置文件
68
67
  let config = {};
@@ -77,16 +76,20 @@ program
77
76
  process.exit(1);
78
77
  }
79
78
  }
79
+ // 强制使用当前目录作为 src 目录,输出到 .zen/dist 目录
80
+ const currentDir = process.cwd();
81
+ const outDir = path.join(currentDir, '.zen', 'dist');
80
82
  // 合并命令行参数和配置
81
83
  const buildOptions = {
82
- srcDir: path.resolve(srcDir),
83
- outDir: path.resolve(options.out),
84
+ srcDir: currentDir,
85
+ outDir: outDir,
84
86
  template: options.template ? path.resolve(options.template) : undefined,
85
87
  watch: options.watch,
86
88
  serve: options.serve,
87
89
  port: parseInt(options.port, 10),
88
90
  host: options.host,
89
- verbose: options.verbose
91
+ verbose: options.verbose,
92
+ baseUrl: options.baseUrl || config.baseUrl
90
93
  };
91
94
  const builder = new builder_1.ZenBuilder(config);
92
95
  // 验证配置
@@ -121,12 +124,13 @@ program
121
124
  // 清理命令
122
125
  program
123
126
  .command('clean')
124
- .description('Clean output directory')
125
- .argument('<dir>', 'Directory to clean')
126
- .action(async (dir) => {
127
+ .description('Clean .zen/dist output directory')
128
+ .action(async () => {
127
129
  try {
128
130
  const builder = new builder_1.ZenBuilder();
129
- await builder.clean(path.resolve(dir));
131
+ const currentDir = process.cwd();
132
+ const outDir = path.join(currentDir, '.zen', 'dist');
133
+ await builder.clean(outDir);
130
134
  }
131
135
  catch (error) {
132
136
  console.error('❌ Clean failed:', error);
@@ -142,7 +146,6 @@ program
142
146
  try {
143
147
  const targetDir = path.resolve(options.dir);
144
148
  // 创建目录结构
145
- await fs.mkdir(path.join(targetDir, 'docs'), { recursive: true });
146
149
  await fs.mkdir(path.join(targetDir, 'static'), { recursive: true });
147
150
  // 创建示例文档
148
151
  const exampleDoc = `# Welcome to ZEN
@@ -151,9 +154,9 @@ This is an example documentation page generated by ZEN.
151
154
 
152
155
  ## Getting Started
153
156
 
154
- 1. Write your documentation in Markdown format
155
- 2. Run \`zengen build docs --out dist\`
156
- 3. Open the generated HTML files in your browser
157
+ 1. Write your documentation in Markdown format in current directory
158
+ 2. Run \`zengen build\`
159
+ 3. Open the generated HTML files in your browser at .zen/dist
157
160
 
158
161
  ## Features
159
162
 
@@ -172,11 +175,9 @@ console.log('Hello ZEN!');
172
175
  ---
173
176
 
174
177
  *Happy documenting!*`;
175
- await fs.writeFile(path.join(targetDir, 'docs', 'index.md'), exampleDoc, 'utf-8');
178
+ await fs.writeFile(path.join(targetDir, 'index.md'), exampleDoc, 'utf-8');
176
179
  // 创建配置文件
177
180
  const config = {
178
- srcDir: './docs',
179
- outDir: './dist',
180
181
  template: undefined,
181
182
  i18n: {
182
183
  sourceLang: 'en-US',
@@ -191,10 +192,10 @@ console.log('Hello ZEN!');
191
192
  if (!packageJson.scripts) {
192
193
  packageJson.scripts = {};
193
194
  }
194
- packageJson.scripts.build = 'zengen build docs --out dist';
195
- packageJson.scripts['build:watch'] = 'zengen build docs --out dist --watch';
196
- packageJson.scripts['build:serve'] = 'zengen build docs --out dist --watch --serve';
197
- packageJson.scripts.clean = 'zengen clean dist';
195
+ packageJson.scripts.build = 'zengen build';
196
+ packageJson.scripts['build:watch'] = 'zengen build --watch';
197
+ packageJson.scripts['build:serve'] = 'zengen build --watch --serve';
198
+ packageJson.scripts.clean = 'zengen clean';
198
199
  await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2), 'utf-8');
199
200
  }
200
201
  catch (error) {
@@ -203,10 +204,10 @@ console.log('Hello ZEN!');
203
204
  name: 'zen-docs',
204
205
  version: '1.0.0',
205
206
  scripts: {
206
- build: 'zengen build docs --out dist',
207
- 'build:watch': 'zengen build docs --out dist --watch',
208
- 'build:serve': 'zengen build docs --out dist --watch --serve',
209
- clean: 'zengen clean dist'
207
+ build: 'zengen build',
208
+ 'build:watch': 'zengen build --watch',
209
+ 'build:serve': 'zengen build --watch --serve',
210
+ clean: 'zengen clean'
210
211
  }
211
212
  };
212
213
  await fs.writeFile(packageJsonPath, JSON.stringify(simplePackageJson, null, 2), 'utf-8');
@@ -215,15 +216,14 @@ console.log('Hello ZEN!');
215
216
  🎉 ZEN project initialized successfully!
216
217
 
217
218
  Next steps:
218
- 1. Add your Markdown files to the 'docs' directory
219
- 2. Run 'npm run build' to generate the site
219
+ 1. Add your Markdown files to the current directory
220
+ 2. Run 'npm run build' to generate the site (output will be in .zen/dist)
220
221
  3. Run 'npm run build:watch' for development with auto-reload
221
222
  4. Run 'npm run build:serve' for development with auto-reload and HTTP server
222
223
 
223
224
  Project structure:
224
225
  ${targetDir}/
225
- ├── docs/ # Your documentation files
226
- │ └── index.md # Example document
226
+ ├── index.md # Example document (in current directory)
227
227
  ├── static/ # Static assets (images, CSS, JS)
228
228
  ├── zen.config.json # Configuration file
229
229
  └── package.json # npm scripts
@@ -263,60 +263,16 @@ Commands:
263
263
  info Show this information
264
264
 
265
265
  Examples:
266
- $ zengen build ./docs --out ./dist
267
- $ zengen build ./docs --out ./dist --watch
268
- $ zengen build ./docs --out ./dist --watch --serve
269
- $ zengen build ./docs --out ./dist --watch --serve --port 8080
266
+ $ zengen build
267
+ $ zengen build --watch
268
+ $ zengen build --watch --serve
269
+ $ zengen build --watch --serve --port 8080
270
270
  $ zengen init --dir ./my-docs
271
- $ zengen clean ./dist
271
+ $ zengen clean
272
272
 
273
273
  For more help, run: zengen --help
274
274
  `);
275
275
  });
276
- // 默认命令(兼容旧格式)
277
- program
278
- .argument('[src-dir]', 'Source directory')
279
- .option('-o, --out <dir>', 'Output directory')
280
- .option('-t, --template <file>', 'Custom template file')
281
- .option('-w, --watch', 'Watch for changes')
282
- .option('-s, --serve', 'Start HTTP server for preview (requires --watch)')
283
- .option('-p, --port <number>', 'HTTP server port', '3000')
284
- .option('--host <host>', 'HTTP server host', 'localhost')
285
- .option('-v, --verbose', 'Show detailed output')
286
- .action(async (srcDir, options) => {
287
- if (!srcDir) {
288
- program.help();
289
- return;
290
- }
291
- try {
292
- const builder = new builder_1.ZenBuilder();
293
- const buildOptions = {
294
- srcDir: path.resolve(srcDir),
295
- outDir: path.resolve(options.out || 'dist'),
296
- template: options.template ? path.resolve(options.template) : undefined,
297
- watch: options.watch,
298
- serve: options.serve,
299
- port: parseInt(options.port, 10),
300
- host: options.host,
301
- verbose: options.verbose
302
- };
303
- // 警告 --serve 选项需要 --watch 选项
304
- if (options.serve && !options.watch) {
305
- console.warn('⚠️ Warning: --serve option requires --watch option, ignoring --serve');
306
- buildOptions.serve = false;
307
- }
308
- if (options.watch) {
309
- await builder.watch(buildOptions);
310
- }
311
- else {
312
- await builder.build(buildOptions);
313
- }
314
- }
315
- catch (error) {
316
- console.error('❌ Build failed:', error);
317
- process.exit(1);
318
- }
319
- });
320
276
  // 错误处理
321
277
  program.showHelpAfterError();
322
278
  program.showSuggestionAfterError();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,uCAAuC;AAEvC,2CAA6B;AAC7B,gDAAkC;AAIlC,4BAA4B;AAC5B,uCAAuC;AACvC,SAAS,UAAU;IACjB,OAAO,OAAO,CAAC,CAAC,cAAc;AAChC,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,wDAAwD,CAAC;KACrE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;AAEzB,OAAO;AACP,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,QAAQ,CAAC,WAAW,EAAE,4CAA4C,CAAC;KACnE,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,EAAE,MAAM,CAAC;KACxE,MAAM,CAAC,uBAAuB,EAAE,sBAAsB,CAAC;KACvD,MAAM,CAAC,aAAa,EAAE,6CAA6C,CAAC;KACpE,MAAM,CAAC,aAAa,EAAE,kDAAkD,CAAC;KACzE,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,CAAC;KACzD,MAAM,CAAC,eAAe,EAAE,kBAAkB,EAAE,WAAW,CAAC;KACxD,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;KACnD,MAAM,CAAC,SAAS,EAAE,wCAAwC,CAAC;KAC3D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,IAAI,CAAC;QACH,SAAS;QACT,IAAI,MAAM,GAAc,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC7D,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,aAAa;QACb,MAAM,YAAY,GAAG;YACnB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;YACjC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACvE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QAGF,MAAM,OAAO,GAAG,IAAI,oBAAU,CAAC,MAAM,CAAC,CAAC;QAEvC,OAAO;QACP,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,6BAA6B;QAC7B,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YACrF,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,CAAC;QAED,SAAS;QACT,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,QAAQ;QACR,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;AACP,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,wBAAwB,CAAC;KACrC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;KACvC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACpB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,oBAAU,EAAE,CAAC;QACjC,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,QAAQ;AACR,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,GAAG,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE5C,SAAS;QACT,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,SAAS;QACT,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;qBA0BJ,CAAC;QAEhB,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EACxC,UAAU,EACV,OAAO,CACR,CAAC;QAEF,SAAS;QACT,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,SAAS;YACnB,IAAI,EAAE;gBACJ,UAAU,EAAE,OAAO;gBACnB,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;aAChC;SACF,CAAC;QAEF,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EACvC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAC/B,OAAO,CACR,CAAC;QAEF,4BAA4B;QAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;YAE5E,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;YAC3B,CAAC;YAED,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,8BAA8B,CAAC;YAC3D,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,sCAAsC,CAAC;YAC5E,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,8CAA8C,CAAC;YACpF,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,mBAAmB,CAAC;YAEhD,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2BAA2B;YAC3B,MAAM,iBAAiB,GAAG;gBACxB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE;oBACP,KAAK,EAAE,8BAA8B;oBACrC,aAAa,EAAE,sCAAsC;oBACrD,aAAa,EAAE,8CAA8C;oBAC7D,KAAK,EAAE,mBAAmB;iBAC3B;aACF,CAAC;YAEF,MAAM,EAAE,CAAC,SAAS,CAChB,eAAe,EACf,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,EAC1C,OAAO,CACR,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;EAUhB,SAAS;;;;;;;;OAQJ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;AACP,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8BX,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,cAAc;AACd,OAAO;KACJ,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;KACzC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;KAC7C,MAAM,CAAC,uBAAuB,EAAE,sBAAsB,CAAC;KACvD,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;KAC1C,MAAM,CAAC,aAAa,EAAE,kDAAkD,CAAC;KACzE,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,CAAC;KACzD,MAAM,CAAC,eAAe,EAAE,kBAAkB,EAAE,WAAW,CAAC;KACxD,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAChC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,oBAAU,EAAE,CAAC;QAEjC,MAAM,YAAY,GAAG;YACnB,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC;YAC3C,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACvE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QAEF,6BAA6B;QAC7B,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YACrF,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;AACP,OAAO,CAAC,kBAAkB,EAAE,CAAC;AAC7B,OAAO,CAAC,wBAAwB,EAAE,CAAC;AAEnC,UAAU;AACV,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,cAAc;AACd,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA0BtD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAA2B;gBAEjC,UAAU,GAAE,iBAAiB,EAAO;IAIhD;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAIhD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgBpB;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiCpD;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAiB1D;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiBhF;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CA+B7D"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA0BtD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAA2B;gBAEjC,UAAU,GAAE,iBAAiB,EAAO;IAIhD;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAIhD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqBxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgBpB;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiCpD;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAiB1D;;OAEG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiBhF;;OAEG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAoC7D"}
package/dist/markdown.js CHANGED
@@ -183,6 +183,10 @@ class MarkdownConverter {
183
183
  const entries = await fs.readdir(currentPath, { withFileTypes: true });
184
184
  for (const entry of entries) {
185
185
  const fullPath = path.join(currentPath, entry.name);
186
+ // 忽略 .zen 目录
187
+ if (entry.name === '.zen') {
188
+ continue;
189
+ }
186
190
  if (entry.isDirectory()) {
187
191
  await scanDirectory(fullPath);
188
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAgC;AAChC,gEAAgC;AAEhC,gDAAkC;AAClC,2CAA6B;AAC7B,2CAA6B;AAE7B,mCAAmC;AACnC,eAAM,CAAC,UAAU,CAAC;IAChB,SAAS,EAAE,UAAS,IAAY,EAAE,IAAY;QAC5C,IAAI,IAAI,IAAI,sBAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,OAAO,sBAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;YACxD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,0CAA0C,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,OAAO,sBAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IACxC,CAAC;IACD,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,KAAK;IAClB,KAAK,EAAE,KAAK;CACN,CAAC,CAAC;AAEV,MAAa,iBAAiB;IAG5B,YAAY,aAAkC,EAAE;QAFxC,eAAU,GAAwB,EAAE,CAAC;QAG3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAA4B;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,OAAe;QAItC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;QACzD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,OAAe;QAClC,YAAY;QACZ,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,qBAAqB;QACrB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,QAAkB;QAC9B,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEpE,UAAU;QACV,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;gBAC1B,OAAO,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,GAAG,eAAM,CAAC,KAAK,CAAC,OAAO,CAAW,CAAC;QAE3C,UAAU;QACV,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gBACzB,IAAI,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO;YACL,GAAG,QAAQ;YACX,OAAO;YACP,IAAI;YACJ,QAAQ;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,KAAiB;QAClC,MAAM,OAAO,GAAe,EAAE,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;gBAC7D,mBAAmB;gBACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,UAAkB,EAAE;QAC1D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAa;YACzB,IAAI,EAAE,QAAQ;YACd,YAAY;YACZ,IAAI;YACJ,GAAG;YACH,OAAO;SACR,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,MAAM,KAAK,GAAe,EAAE,CAAC;QAE7B,KAAK,UAAU,aAAa,CAAC,WAAmB;YAC9C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAEvE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEpD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChC,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACrD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACtD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBAE5C,KAAK,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,QAAQ;wBACd,YAAY;wBACZ,IAAI;wBACJ,GAAG;wBACH,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;CACF;AAvKD,8CAuKC"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../src/markdown.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import { NavigationItem, FileInfo } from './types';
2
2
  export declare class NavigationGenerator {
3
+ private baseUrl;
4
+ constructor(baseUrl?: string);
5
+ /**
6
+ * 更新 baseUrl
7
+ */
8
+ setBaseUrl(baseUrl: string): void;
3
9
  /**
4
10
  * 从文件信息生成导航结构
5
11
  */
@@ -8,6 +14,10 @@ export declare class NavigationGenerator {
8
14
  * 将文件添加到导航树中
9
15
  */
10
16
  private addFileToNavigation;
17
+ /**
18
+ * 生成带 baseUrl 的路径
19
+ */
20
+ private generatePath;
11
21
  /**
12
22
  * 格式化标题(将连字符/下划线转换为空格并首字母大写)
13
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnD,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE;IAgB7C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoD3B;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE;IAYjD;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;IA4BrF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,GAAE,MAA8B,GAAG,MAAM;IAmBnF;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM;CAIlD"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGnD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,GAAE,MAAW;IAIhC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE;IAgB7C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE;IAajD;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;IA4BrF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAoB5D;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM;CAIlD"}
@@ -2,6 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NavigationGenerator = void 0;
4
4
  class NavigationGenerator {
5
+ constructor(baseUrl = '') {
6
+ this.baseUrl = baseUrl;
7
+ }
8
+ /**
9
+ * 更新 baseUrl
10
+ */
11
+ setBaseUrl(baseUrl) {
12
+ this.baseUrl = baseUrl;
13
+ }
5
14
  /**
6
15
  * 从文件信息生成导航结构
7
16
  */
@@ -30,9 +39,10 @@ class NavigationGenerator {
30
39
  // 生成标题(使用文件名或 metadata 中的标题)
31
40
  const title = file.metadata?.title || this.formatTitle(displayName);
32
41
  // 生成路径
33
- const itemPath = isMarkdownFile
42
+ const rawPath = isMarkdownFile
34
43
  ? `/${file.relativePath.replace(/\.md$/, '.html')}`
35
44
  : `/${parts.slice(0, i + 1).join('/')}`;
45
+ const itemPath = this.generatePath(rawPath);
36
46
  if (isLastPart) {
37
47
  // 添加文件节点
38
48
  currentLevel.push({
@@ -60,6 +70,18 @@ class NavigationGenerator {
60
70
  }
61
71
  }
62
72
  }
73
+ /**
74
+ * 生成带 baseUrl 的路径
75
+ */
76
+ generatePath(path) {
77
+ if (!this.baseUrl) {
78
+ return path;
79
+ }
80
+ // 确保 baseUrl 不以斜杠结尾,路径以斜杠开头
81
+ const cleanBaseUrl = this.baseUrl.replace(/\/$/, '');
82
+ const cleanPath = path.startsWith('/') ? path : `/${path}`;
83
+ return `${cleanBaseUrl}${cleanPath}`;
84
+ }
63
85
  /**
64
86
  * 格式化标题(将连字符/下划线转换为空格并首字母大写)
65
87
  */
@@ -80,7 +102,8 @@ class NavigationGenerator {
80
102
  generateFlat(files) {
81
103
  return files.map(file => {
82
104
  const title = file.metadata?.title || this.formatTitle(file.name);
83
- const itemPath = `/${file.relativePath.replace(/\.md$/, '.html')}`;
105
+ const rawPath = `/${file.relativePath.replace(/\.md$/, '.html')}`;
106
+ const itemPath = this.generatePath(rawPath);
84
107
  return {
85
108
  title,
86
109
  path: itemPath
@@ -132,12 +155,13 @@ class NavigationGenerator {
132
155
  /**
133
156
  * 生成站点地图 XML
134
157
  */
135
- generateSitemap(files, baseUrl = 'https://example.com') {
158
+ generateSitemap(files, baseUrl) {
159
+ const effectiveBaseUrl = baseUrl || this.baseUrl || 'https://example.com';
136
160
  const urls = files.map(file => {
137
161
  const path = `/${file.relativePath.replace(/\.md$/, '.html')}`;
138
162
  const lastmod = file.metadata?.last_modified || file.metadata?.date || new Date().toISOString().split('T')[0];
139
163
  return ` <url>
140
- <loc>${baseUrl}${path}</loc>
164
+ <loc>${effectiveBaseUrl}${path}</loc>
141
165
  <lastmod>${lastmod}</lastmod>
142
166
  <changefreq>weekly</changefreq>
143
167
  <priority>0.8</priority>
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../src/navigation.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -7,6 +7,7 @@ export interface BuildOptions {
7
7
  serve?: boolean;
8
8
  port?: number;
9
9
  host?: string;
10
+ baseUrl?: string;
10
11
  }
11
12
  export interface FileInfo {
12
13
  path: string;
@@ -37,6 +38,7 @@ export interface ZenConfig {
37
38
  srcDir?: string;
38
39
  outDir?: string;
39
40
  template?: string;
41
+ baseUrl?: string;
40
42
  i18n?: {
41
43
  sourceLang: string;
42
44
  targetLangs: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,UAAU,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zengen",
3
- "version": "0.1.31",
3
+ "version": "0.1.32",
4
4
  "description": "ZEN - A minimalist Markdown documentation site builder",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,7 +8,7 @@
8
8
  "zengen": "dist/cli.js"
9
9
  },
10
10
  "scripts": {
11
- "build": "tsc",
11
+ "build": "npx rimraf dist && tsc",
12
12
  "dev": "ts-node src/cli.ts",
13
13
  "test": "npm run test:types && npm run test:build && npm run test:cli",
14
14
  "test:types": "tsc --noEmit",
package/src/builder.ts CHANGED
@@ -18,7 +18,7 @@ export class ZenBuilder {
18
18
  this.config = config;
19
19
  this.markdownConverter = new MarkdownConverter(config.processors || []);
20
20
  this.templateEngine = new TemplateEngine();
21
- this.navigationGenerator = new NavigationGenerator();
21
+ this.navigationGenerator = new NavigationGenerator(config.baseUrl);
22
22
  }
23
23
 
24
24
  /**
@@ -26,12 +26,14 @@ export class ZenBuilder {
26
26
  */
27
27
  async build(options: BuildOptions): Promise<void> {
28
28
  const startTime = Date.now();
29
- const { srcDir, outDir, template, verbose = false } = options;
29
+ const { srcDir, outDir, template, verbose = false, baseUrl } = options;
30
30
 
31
31
  if (verbose) {
32
32
  console.log(`🚀 Starting ZEN build...`);
33
33
  console.log(`📁 Source: ${srcDir}`);
34
34
  console.log(`📁 Output: ${outDir}`);
35
+ console.log(`🔗 Base URL: ${baseUrl || '(not set)'}`);
36
+ console.log(`🔍 Verbose mode enabled`);
35
37
  }
36
38
 
37
39
  // 验证源目录
@@ -55,6 +57,15 @@ export class ZenBuilder {
55
57
 
56
58
  if (verbose) console.log(`✅ Found ${files.length} Markdown files`);
57
59
 
60
+ // 更新导航生成器的 baseUrl(优先使用命令行参数)
61
+ if (baseUrl !== undefined) {
62
+ if (verbose) console.log(`🔗 Using baseUrl: ${baseUrl}`);
63
+ this.navigationGenerator.setBaseUrl(baseUrl);
64
+ } else if (this.config.baseUrl) {
65
+ if (verbose) console.log(`🔗 Using config baseUrl: ${this.config.baseUrl}`);
66
+ this.navigationGenerator.setBaseUrl(this.config.baseUrl);
67
+ }
68
+
58
69
  // 生成导航
59
70
  if (verbose) console.log(`🗺️ Generating navigation...`);
60
71
  const navigation = this.navigationGenerator.generate(files);
@@ -113,7 +124,7 @@ export class ZenBuilder {
113
124
  * 监听文件变化并自动重建
114
125
  */
115
126
  async watch(options: BuildOptions): Promise<void> {
116
- const { srcDir, outDir, template, verbose = false, serve = false, port = 3000, host = 'localhost' } = options;
127
+ const { srcDir, outDir, template, verbose = false, serve = false, port = 3000, host = 'localhost', baseUrl } = options;
117
128
 
118
129
  console.log(`👀 Watching for changes in ${srcDir}...`);
119
130
  console.log(`Press Ctrl+C to stop watching`);
@@ -128,9 +139,12 @@ export class ZenBuilder {
128
139
  console.log(`🌐 HTTP server started at http://${host}:${port}`);
129
140
  }
130
141
 
131
- // 设置文件监听
142
+ // 设置文件监听,忽略隐藏文件和 .zen 目录
132
143
  const watcher = chokidar.watch(srcDir, {
133
- ignored: /(^|[\/\\])\../, // 忽略隐藏文件
144
+ ignored: [
145
+ /(^|[\/\\])\../, // 忽略隐藏文件
146
+ /(^|[\/\\])\.zen($|[\/\\])/ // 忽略 .zen 目录
147
+ ],
134
148
  persistent: true,
135
149
  ignoreInitial: true
136
150
  });
@@ -242,7 +256,7 @@ export class ZenBuilder {
242
256
  */
243
257
  private async generateSitemap(files: FileInfo[], outDir: string): Promise<void> {
244
258
  try {
245
- const sitemapXml = this.navigationGenerator.generateSitemap(files);
259
+ const sitemapXml = this.navigationGenerator.generateSitemap(files, this.config.baseUrl);
246
260
  const sitemapPath = path.join(outDir, 'sitemap.xml');
247
261
  await fs.writeFile(sitemapPath, sitemapXml, 'utf-8');
248
262
  } catch (error) {
package/src/cli.ts CHANGED
@@ -24,9 +24,7 @@ program
24
24
  // 构建命令
25
25
  program
26
26
  .command('build')
27
- .description('Build documentation site from Markdown files')
28
- .argument('<src-dir>', 'Source directory containing Markdown files')
29
- .option('-o, --out <dir>', 'Output directory for generated HTML', 'dist')
27
+ .description('Build documentation site from Markdown files in current directory')
30
28
  .option('-t, --template <file>', 'Custom template file')
31
29
  .option('-w, --watch', 'Watch for changes and rebuild automatically')
32
30
  .option('-s, --serve', 'Start HTTP server for preview (requires --watch)')
@@ -34,8 +32,9 @@ program
34
32
  .option('--host <host>', 'HTTP server host', 'localhost')
35
33
  .option('-v, --verbose', 'Show detailed output')
36
34
  .option('-c, --config <file>', 'Configuration file')
35
+ .option('--base-url <url>', 'Base URL for generated links (e.g., https://example.com/docs)')
37
36
  .option('--clean', 'Clean output directory before building')
38
- .action(async (srcDir, options) => {
37
+ .action(async (options) => {
39
38
  try {
40
39
  // 加载配置文件
41
40
  let config: ZenConfig = {};
@@ -50,16 +49,21 @@ program
50
49
  }
51
50
  }
52
51
 
52
+ // 强制使用当前目录作为 src 目录,输出到 .zen/dist 目录
53
+ const currentDir = process.cwd();
54
+ const outDir = path.join(currentDir, '.zen', 'dist');
55
+
53
56
  // 合并命令行参数和配置
54
57
  const buildOptions = {
55
- srcDir: path.resolve(srcDir),
56
- outDir: path.resolve(options.out),
58
+ srcDir: currentDir,
59
+ outDir: outDir,
57
60
  template: options.template ? path.resolve(options.template) : undefined,
58
61
  watch: options.watch,
59
62
  serve: options.serve,
60
63
  port: parseInt(options.port, 10),
61
64
  host: options.host,
62
- verbose: options.verbose
65
+ verbose: options.verbose,
66
+ baseUrl: options.baseUrl || config.baseUrl
63
67
  };
64
68
 
65
69
 
@@ -99,12 +103,13 @@ program
99
103
  // 清理命令
100
104
  program
101
105
  .command('clean')
102
- .description('Clean output directory')
103
- .argument('<dir>', 'Directory to clean')
104
- .action(async (dir) => {
106
+ .description('Clean .zen/dist output directory')
107
+ .action(async () => {
105
108
  try {
106
109
  const builder = new ZenBuilder();
107
- await builder.clean(path.resolve(dir));
110
+ const currentDir = process.cwd();
111
+ const outDir = path.join(currentDir, '.zen', 'dist');
112
+ await builder.clean(outDir);
108
113
  } catch (error) {
109
114
  console.error('❌ Clean failed:', error);
110
115
  process.exit(1);
@@ -121,7 +126,6 @@ program
121
126
  const targetDir = path.resolve(options.dir);
122
127
 
123
128
  // 创建目录结构
124
- await fs.mkdir(path.join(targetDir, 'docs'), { recursive: true });
125
129
  await fs.mkdir(path.join(targetDir, 'static'), { recursive: true });
126
130
 
127
131
  // 创建示例文档
@@ -131,9 +135,9 @@ This is an example documentation page generated by ZEN.
131
135
 
132
136
  ## Getting Started
133
137
 
134
- 1. Write your documentation in Markdown format
135
- 2. Run \`zengen build docs --out dist\`
136
- 3. Open the generated HTML files in your browser
138
+ 1. Write your documentation in Markdown format in current directory
139
+ 2. Run \`zengen build\`
140
+ 3. Open the generated HTML files in your browser at .zen/dist
137
141
 
138
142
  ## Features
139
143
 
@@ -154,15 +158,13 @@ console.log('Hello ZEN!');
154
158
  *Happy documenting!*`;
155
159
 
156
160
  await fs.writeFile(
157
- path.join(targetDir, 'docs', 'index.md'),
161
+ path.join(targetDir, 'index.md'),
158
162
  exampleDoc,
159
163
  'utf-8'
160
164
  );
161
165
 
162
166
  // 创建配置文件
163
167
  const config = {
164
- srcDir: './docs',
165
- outDir: './dist',
166
168
  template: undefined,
167
169
  i18n: {
168
170
  sourceLang: 'en-US',
@@ -185,10 +187,10 @@ console.log('Hello ZEN!');
185
187
  packageJson.scripts = {};
186
188
  }
187
189
 
188
- packageJson.scripts.build = 'zengen build docs --out dist';
189
- packageJson.scripts['build:watch'] = 'zengen build docs --out dist --watch';
190
- packageJson.scripts['build:serve'] = 'zengen build docs --out dist --watch --serve';
191
- packageJson.scripts.clean = 'zengen clean dist';
190
+ packageJson.scripts.build = 'zengen build';
191
+ packageJson.scripts['build:watch'] = 'zengen build --watch';
192
+ packageJson.scripts['build:serve'] = 'zengen build --watch --serve';
193
+ packageJson.scripts.clean = 'zengen clean';
192
194
 
193
195
  await fs.writeFile(packageJsonPath, JSON.stringify(packageJson, null, 2), 'utf-8');
194
196
  } catch (error) {
@@ -197,10 +199,10 @@ console.log('Hello ZEN!');
197
199
  name: 'zen-docs',
198
200
  version: '1.0.0',
199
201
  scripts: {
200
- build: 'zengen build docs --out dist',
201
- 'build:watch': 'zengen build docs --out dist --watch',
202
- 'build:serve': 'zengen build docs --out dist --watch --serve',
203
- clean: 'zengen clean dist'
202
+ build: 'zengen build',
203
+ 'build:watch': 'zengen build --watch',
204
+ 'build:serve': 'zengen build --watch --serve',
205
+ clean: 'zengen clean'
204
206
  }
205
207
  };
206
208
 
@@ -215,15 +217,14 @@ console.log('Hello ZEN!');
215
217
  🎉 ZEN project initialized successfully!
216
218
 
217
219
  Next steps:
218
- 1. Add your Markdown files to the 'docs' directory
219
- 2. Run 'npm run build' to generate the site
220
+ 1. Add your Markdown files to the current directory
221
+ 2. Run 'npm run build' to generate the site (output will be in .zen/dist)
220
222
  3. Run 'npm run build:watch' for development with auto-reload
221
223
  4. Run 'npm run build:serve' for development with auto-reload and HTTP server
222
224
 
223
225
  Project structure:
224
226
  ${targetDir}/
225
- ├── docs/ # Your documentation files
226
- │ └── index.md # Example document
227
+ ├── index.md # Example document (in current directory)
227
228
  ├── static/ # Static assets (images, CSS, JS)
228
229
  ├── zen.config.json # Configuration file
229
230
  └── package.json # npm scripts
@@ -263,63 +264,17 @@ Commands:
263
264
  info Show this information
264
265
 
265
266
  Examples:
266
- $ zengen build ./docs --out ./dist
267
- $ zengen build ./docs --out ./dist --watch
268
- $ zengen build ./docs --out ./dist --watch --serve
269
- $ zengen build ./docs --out ./dist --watch --serve --port 8080
267
+ $ zengen build
268
+ $ zengen build --watch
269
+ $ zengen build --watch --serve
270
+ $ zengen build --watch --serve --port 8080
270
271
  $ zengen init --dir ./my-docs
271
- $ zengen clean ./dist
272
+ $ zengen clean
272
273
 
273
274
  For more help, run: zengen --help
274
275
  `);
275
276
  });
276
277
 
277
- // 默认命令(兼容旧格式)
278
- program
279
- .argument('[src-dir]', 'Source directory')
280
- .option('-o, --out <dir>', 'Output directory')
281
- .option('-t, --template <file>', 'Custom template file')
282
- .option('-w, --watch', 'Watch for changes')
283
- .option('-s, --serve', 'Start HTTP server for preview (requires --watch)')
284
- .option('-p, --port <number>', 'HTTP server port', '3000')
285
- .option('--host <host>', 'HTTP server host', 'localhost')
286
- .option('-v, --verbose', 'Show detailed output')
287
- .action(async (srcDir, options) => {
288
- if (!srcDir) {
289
- program.help();
290
- return;
291
- }
292
-
293
- try {
294
- const builder = new ZenBuilder();
295
-
296
- const buildOptions = {
297
- srcDir: path.resolve(srcDir),
298
- outDir: path.resolve(options.out || 'dist'),
299
- template: options.template ? path.resolve(options.template) : undefined,
300
- watch: options.watch,
301
- serve: options.serve,
302
- port: parseInt(options.port, 10),
303
- host: options.host,
304
- verbose: options.verbose
305
- };
306
-
307
- // 警告 --serve 选项需要 --watch 选项
308
- if (options.serve && !options.watch) {
309
- console.warn('⚠️ Warning: --serve option requires --watch option, ignoring --serve');
310
- buildOptions.serve = false;
311
- }
312
-
313
- if (options.watch) {
314
- await builder.watch(buildOptions);
315
- } else {
316
- await builder.build(buildOptions);
317
- }
318
- } catch (error) {
319
- console.error('❌ Build failed:', error);
320
- process.exit(1);
321
- }
322
- });
323
278
 
324
279
  // 错误处理
325
280
  program.showHelpAfterError();
package/src/markdown.ts CHANGED
@@ -171,6 +171,11 @@ export class MarkdownConverter {
171
171
  for (const entry of entries) {
172
172
  const fullPath = path.join(currentPath, entry.name);
173
173
 
174
+ // 忽略 .zen 目录
175
+ if (entry.name === '.zen') {
176
+ continue;
177
+ }
178
+
174
179
  if (entry.isDirectory()) {
175
180
  await scanDirectory(fullPath);
176
181
  } else if (entry.isFile() && entry.name.endsWith('.md')) {
package/src/navigation.ts CHANGED
@@ -2,6 +2,19 @@ import { NavigationItem, FileInfo } from './types';
2
2
  import * as path from 'path';
3
3
 
4
4
  export class NavigationGenerator {
5
+ private baseUrl: string;
6
+
7
+ constructor(baseUrl: string = '') {
8
+ this.baseUrl = baseUrl;
9
+ }
10
+
11
+ /**
12
+ * 更新 baseUrl
13
+ */
14
+ setBaseUrl(baseUrl: string): void {
15
+ this.baseUrl = baseUrl;
16
+ }
17
+
5
18
  /**
6
19
  * 从文件信息生成导航结构
7
20
  */
@@ -40,9 +53,10 @@ export class NavigationGenerator {
40
53
  const title = file.metadata?.title || this.formatTitle(displayName);
41
54
 
42
55
  // 生成路径
43
- const itemPath = isMarkdownFile
56
+ const rawPath = isMarkdownFile
44
57
  ? `/${file.relativePath.replace(/\.md$/, '.html')}`
45
58
  : `/${parts.slice(0, i + 1).join('/')}`;
59
+ const itemPath = this.generatePath(rawPath);
46
60
 
47
61
  if (isLastPart) {
48
62
  // 添加文件节点
@@ -76,6 +90,21 @@ export class NavigationGenerator {
76
90
  }
77
91
  }
78
92
 
93
+ /**
94
+ * 生成带 baseUrl 的路径
95
+ */
96
+ private generatePath(path: string): string {
97
+ if (!this.baseUrl) {
98
+ return path;
99
+ }
100
+
101
+ // 确保 baseUrl 不以斜杠结尾,路径以斜杠开头
102
+ const cleanBaseUrl = this.baseUrl.replace(/\/$/, '');
103
+ const cleanPath = path.startsWith('/') ? path : `/${path}`;
104
+
105
+ return `${cleanBaseUrl}${cleanPath}`;
106
+ }
107
+
79
108
  /**
80
109
  * 格式化标题(将连字符/下划线转换为空格并首字母大写)
81
110
  */
@@ -99,7 +128,8 @@ export class NavigationGenerator {
99
128
  generateFlat(files: FileInfo[]): NavigationItem[] {
100
129
  return files.map(file => {
101
130
  const title = file.metadata?.title || this.formatTitle(file.name);
102
- const itemPath = `/${file.relativePath.replace(/\.md$/, '.html')}`;
131
+ const rawPath = `/${file.relativePath.replace(/\.md$/, '.html')}`;
132
+ const itemPath = this.generatePath(rawPath);
103
133
 
104
134
  return {
105
135
  title,
@@ -162,13 +192,14 @@ export class NavigationGenerator {
162
192
  /**
163
193
  * 生成站点地图 XML
164
194
  */
165
- generateSitemap(files: FileInfo[], baseUrl: string = 'https://example.com'): string {
195
+ generateSitemap(files: FileInfo[], baseUrl?: string): string {
196
+ const effectiveBaseUrl = baseUrl || this.baseUrl || 'https://example.com';
166
197
  const urls = files.map(file => {
167
198
  const path = `/${file.relativePath.replace(/\.md$/, '.html')}`;
168
199
  const lastmod = file.metadata?.last_modified || file.metadata?.date || new Date().toISOString().split('T')[0];
169
200
 
170
201
  return ` <url>
171
- <loc>${baseUrl}${path}</loc>
202
+ <loc>${effectiveBaseUrl}${path}</loc>
172
203
  <lastmod>${lastmod}</lastmod>
173
204
  <changefreq>weekly</changefreq>
174
205
  <priority>0.8</priority>
package/src/types.ts CHANGED
@@ -7,6 +7,7 @@ export interface BuildOptions {
7
7
  serve?: boolean;
8
8
  port?: number;
9
9
  host?: string;
10
+ baseUrl?: string;
10
11
  }
11
12
 
12
13
  export interface FileInfo {
@@ -42,6 +43,7 @@ export interface ZenConfig {
42
43
  srcDir?: string;
43
44
  outDir?: string;
44
45
  template?: string;
46
+ baseUrl?: string;
45
47
  i18n?: {
46
48
  sourceLang: string;
47
49
  targetLangs: string[];
@@ -0,0 +1 @@
1
+ # Test Document