zengen 0.1.35 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/bump-version.yml +112 -0
- package/.github/workflows/ci.yml +2 -2
- package/.github/workflows/pages.yml +1 -7
- package/.zen/meta.json +155 -0
- package/.zen/src/en-US/01d04f7c17b4a541ead9d759d877b30b403e15b849182a49eb1f62bd29ecd18c.md +120 -0
- package/.zen/src/en-US/1b798c44a4f353e47296ca83d5905e37e6aba3e90bbd9bc3b3d34fc12059a2ca.md +75 -0
- package/.zen/src/en-US/1e96be58d76c60056b708eb5bd8b8b81d7b5845d9cfe0b879d85068a5f11df3a.md +189 -0
- package/.zen/src/en-US/5ec990146b35e00de2630559126ee07f7cdcddeb23b0e8cab3d85b4181353e26.md +53 -0
- package/.zen/src/en-US/6124ea88edec5bde737b26b21f71ecfeffe4e73151784856edf813ee231a4baa.md +11 -0
- package/.zen/src/en-US/80ae9bed74fc6348a7c1fe9f33e86b65f5d919169721f77bcf0e1bc29fbdb4f9.md +61 -0
- package/.zen/src/en-US/f0c2799126931ccd113a0c45b1e623870b0d4f4f400becf6dd877da8f1011517.md +41 -0
- package/.zen/src/en-US/fdfca9b960d0eaa8b2b96fe988ead7481d2c0b16f66ebc94fb477139b4178cdc.md +65 -0
- package/.zen/src/zh-Hans/01d04f7c17b4a541ead9d759d877b30b403e15b849182a49eb1f62bd29ecd18c.md +120 -0
- package/.zen/src/zh-Hans/1b798c44a4f353e47296ca83d5905e37e6aba3e90bbd9bc3b3d34fc12059a2ca.md +77 -0
- package/.zen/src/zh-Hans/1e96be58d76c60056b708eb5bd8b8b81d7b5845d9cfe0b879d85068a5f11df3a.md +189 -0
- package/.zen/src/zh-Hans/5ec990146b35e00de2630559126ee07f7cdcddeb23b0e8cab3d85b4181353e26.md +55 -0
- package/.zen/src/zh-Hans/6124ea88edec5bde737b26b21f71ecfeffe4e73151784856edf813ee231a4baa.md +1 -0
- package/.zen/src/zh-Hans/6ad8db715a1b60613fe934fefb29fa981ecad9b63145593accff144d73b44bde.md +175 -0
- package/.zen/src/zh-Hans/80ae9bed74fc6348a7c1fe9f33e86b65f5d919169721f77bcf0e1bc29fbdb4f9.md +63 -0
- package/.zen/src/zh-Hans/a1580f71c6c6c1ff4a314be72d410a8507af2f087d56360c7f5048d349c21953.md +48 -0
- package/.zen/src/zh-Hans/d49012f98c4367b34034063400e2f7826bf0615952210c82396920172d468e2c.md +107 -0
- package/.zen/src/zh-Hans/f0c2799126931ccd113a0c45b1e623870b0d4f4f400becf6dd877da8f1011517.md +41 -0
- package/.zen/src/zh-Hans/fdfca9b960d0eaa8b2b96fe988ead7481d2c0b16f66ebc94fb477139b4178cdc.md +65 -0
- package/assets/templates/default/layout.html +274 -0
- package/dist/ai/extractMetadataFromMarkdown.d.ts +8 -0
- package/dist/ai/extractMetadataFromMarkdown.d.ts.map +1 -0
- package/dist/ai/extractMetadataFromMarkdown.js +88 -0
- package/dist/ai/extractMetadataFromMarkdown.js.map +1 -0
- package/dist/ai/translateMarkdown.d.ts +8 -0
- package/dist/ai/translateMarkdown.d.ts.map +1 -0
- package/dist/ai/translateMarkdown.js +29 -0
- package/dist/ai/translateMarkdown.js.map +1 -0
- package/dist/build/pipeline.d.ts +6 -0
- package/dist/build/pipeline.d.ts.map +1 -0
- package/dist/build/pipeline.js +218 -0
- package/dist/build/pipeline.js.map +1 -0
- package/dist/cli.js +17 -83
- package/dist/cli.js.map +1 -1
- package/dist/findEntries.d.ts +10 -0
- package/dist/findEntries.d.ts.map +1 -0
- package/dist/findEntries.js +38 -0
- package/dist/findEntries.js.map +1 -0
- package/dist/index.d.ts +1 -32
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -35
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +14 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +78 -0
- package/dist/metadata.js.map +1 -0
- package/dist/paths.d.ts +6 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +10 -0
- package/dist/paths.js.map +1 -0
- package/dist/process/extractMetadataByAI.d.ts +5 -0
- package/dist/process/extractMetadataByAI.d.ts.map +1 -0
- package/dist/process/extractMetadataByAI.js +31 -0
- package/dist/process/extractMetadataByAI.js.map +1 -0
- package/dist/process/template.d.ts +5 -0
- package/dist/process/template.d.ts.map +1 -0
- package/dist/process/template.js +188 -0
- package/dist/process/template.js.map +1 -0
- package/dist/scan/files.d.ts +7 -0
- package/dist/scan/files.d.ts.map +1 -0
- package/dist/scan/files.js +54 -0
- package/dist/scan/files.js.map +1 -0
- package/dist/services/openai.d.ts +41 -0
- package/dist/services/openai.d.ts.map +1 -0
- package/dist/services/openai.js +54 -0
- package/dist/services/openai.js.map +1 -0
- package/dist/types.d.ts +26 -46
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/convertMarkdownToHtml.d.ts +7 -0
- package/dist/utils/convertMarkdownToHtml.d.ts.map +1 -0
- package/dist/utils/convertMarkdownToHtml.js +39 -0
- package/dist/utils/convertMarkdownToHtml.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +6 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +22 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/docs/advanced-usage.md +39 -0
- package/docs/deployment/github-pages.md +1 -2
- package/docs/getting-started.md +26 -0
- package/docs/guides/best-practices.md +4 -117
- package/docs/guides/config.md +0 -238
- package/package.json +5 -2
- package/src/ai/extractMetadataFromMarkdown.ts +95 -0
- package/src/ai/translateMarkdown.ts +29 -0
- package/src/build/pipeline.ts +211 -0
- package/src/cli.ts +18 -94
- package/src/findEntries.ts +37 -0
- package/src/index.ts +1 -40
- package/src/metadata.ts +44 -0
- package/src/paths.ts +7 -0
- package/src/process/extractMetadataByAI.ts +29 -0
- package/src/process/template.ts +201 -0
- package/src/scan/files.ts +17 -0
- package/src/services/openai.ts +92 -0
- package/src/types.ts +29 -47
- package/src/utils/convertMarkdownToHtml.ts +32 -0
- package/src/utils/frontmatter.ts +18 -0
- package/test-multilang.js +44 -0
- package/dist/builder.d.ts +0 -46
- package/dist/builder.d.ts.map +0 -1
- package/dist/builder.js +0 -443
- package/dist/builder.js.map +0 -1
- package/dist/gitignore.d.ts +0 -40
- package/dist/gitignore.d.ts.map +0 -1
- package/dist/gitignore.js +0 -184
- package/dist/gitignore.js.map +0 -1
- package/dist/gitignore.test.d.ts +0 -2
- package/dist/gitignore.test.d.ts.map +0 -1
- package/dist/gitignore.test.js +0 -244
- package/dist/gitignore.test.js.map +0 -1
- package/dist/markdown.d.ts +0 -30
- package/dist/markdown.d.ts.map +0 -1
- package/dist/markdown.js +0 -199
- package/dist/markdown.js.map +0 -1
- package/dist/navigation.d.ts +0 -46
- package/dist/navigation.d.ts.map +0 -1
- package/dist/navigation.js +0 -196
- package/dist/navigation.js.map +0 -1
- package/dist/template.d.ts +0 -29
- package/dist/template.d.ts.map +0 -1
- package/dist/template.js +0 -385
- package/dist/template.js.map +0 -1
- package/docs/ci/github-ci-cd.md +0 -127
- package/docs/guides/api.md +0 -277
- package/src/builder.ts +0 -458
- package/src/gitignore.test.ts +0 -253
- package/src/gitignore.ts +0 -173
- package/src/markdown.ts +0 -184
- package/src/navigation.ts +0 -237
- package/src/template.ts +0 -365
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN Advanced Usage Guide
|
|
3
|
+
summary: This document introduces the advanced features of ZEN, including custom HTML templates, configuration options (such as source directory, output directory, template, base URL, and multilingual support), and the plugin system, helping users extend and customize the ZEN tool.
|
|
4
|
+
tags:
|
|
5
|
+
- ZEN
|
|
6
|
+
- Advanced Usage
|
|
7
|
+
- Custom Templates
|
|
8
|
+
- Configuration Options
|
|
9
|
+
- Plugin System
|
|
10
|
+
- Documentation Generation
|
|
11
|
+
- Multilingual Support
|
|
12
|
+
inferred_lang: en-US
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# Advanced Usage
|
|
16
|
+
|
|
17
|
+
An in-depth introduction to the advanced features and configuration options of ZEN.
|
|
18
|
+
|
|
19
|
+
## Custom Templates
|
|
20
|
+
|
|
21
|
+
ZEN supports custom HTML templates:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
zengen build --src ./docs --out ./dist --template ./custom-template.html
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Configuration Options
|
|
28
|
+
|
|
29
|
+
Can be configured in the `.zenrc` file:
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"srcDir": "./docs",
|
|
34
|
+
"outDir": "./dist",
|
|
35
|
+
"template": "./template.html",
|
|
36
|
+
"baseUrl": "https://example.com",
|
|
37
|
+
"i18n": {
|
|
38
|
+
"sourceLang": "zh-Hans",
|
|
39
|
+
"targetLangs": ["en-US", "ja-JP"]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Plugin System
|
|
45
|
+
|
|
46
|
+
ZEN supports plugin extensions:
|
|
47
|
+
|
|
48
|
+
```typescript
|
|
49
|
+
interface MarkdownProcessor {
|
|
50
|
+
beforeParse?(content: string, fileInfo: FileInfo): string | Promise<string>;
|
|
51
|
+
afterParse?(html: string, fileInfo: FileInfo): string | Promise<string>;
|
|
52
|
+
}
|
|
53
|
+
```
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN Configuration Guide
|
|
3
|
+
summary: This document introduces the configuration and usage of the ZEN tool, including basic commands such as building documentation, live preview, and starting a development server, as well as detailed explanations of command-line options like --watch, --serve, and --port.
|
|
4
|
+
tags:
|
|
5
|
+
- ZEN
|
|
6
|
+
- Configuration Guide
|
|
7
|
+
- Command Line
|
|
8
|
+
- Documentation Build
|
|
9
|
+
- Development Server
|
|
10
|
+
- Minimalism
|
|
11
|
+
inferred_lang: en-US
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Configuration Guide
|
|
15
|
+
|
|
16
|
+
ZEN is designed with a minimalist philosophy, making its configuration very simple.
|
|
17
|
+
|
|
18
|
+
## Command Line Usage
|
|
19
|
+
|
|
20
|
+
### Basic Commands
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Build documentation (recommended usage)
|
|
24
|
+
npx zengen build
|
|
25
|
+
|
|
26
|
+
# Live preview (watch for file changes)
|
|
27
|
+
npx zengen build --watch
|
|
28
|
+
|
|
29
|
+
# Start development server (requires --watch)
|
|
30
|
+
npx zengen build --watch --serve
|
|
31
|
+
|
|
32
|
+
# Custom port
|
|
33
|
+
npx zengen build --watch --serve --port 8080
|
|
34
|
+
|
|
35
|
+
# Show verbose logs
|
|
36
|
+
npx zengen build --verbose
|
|
37
|
+
|
|
38
|
+
# Set base URL
|
|
39
|
+
npx zengen build --base-url /my-docs
|
|
40
|
+
|
|
41
|
+
# View help
|
|
42
|
+
npx zengen
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Important Notes:**
|
|
46
|
+
|
|
47
|
+
- ZEN enforces the use of the current directory as the source directory, outputting to the `.zen/dist` directory
|
|
48
|
+
- Specifying source and output directories via command-line arguments is no longer supported
|
|
49
|
+
- When using `--watch` mode, modifying files triggers automatic rebuilds
|
|
50
|
+
|
|
51
|
+
### Command Line Options
|
|
52
|
+
|
|
53
|
+
| Option | Short | Description | Default |
|
|
54
|
+
| ------------ | ----- | ------------------------------------------------ | ----------- |
|
|
55
|
+
| `--watch` | `-w` | Watch for file changes and rebuild automatically | `false` |
|
|
56
|
+
| `--serve` | `-s` | Start development server (requires `--watch`) | `false` |
|
|
57
|
+
| `--port` | `-p` | Development server port | `3000` |
|
|
58
|
+
| `--host` | | Development server host | `localhost` |
|
|
59
|
+
| `--verbose` | `-v` | Show verbose logs | `false` |
|
|
60
|
+
| `--base-url` | | Site base URL | None |
|
|
61
|
+
| `--help` | `-h` | Show help information | None |
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Quick Start Guide
|
|
3
|
+
summary: This document introduces the quick start method for the ZEN documentation generator, including installation steps, basic usage workflow, and main features, helping users get started quickly.
|
|
4
|
+
tags:
|
|
5
|
+
- ZEN Documentation Generator
|
|
6
|
+
- Quick Start
|
|
7
|
+
- Installation
|
|
8
|
+
- Basic Usage
|
|
9
|
+
- Features
|
|
10
|
+
- Markdown
|
|
11
|
+
- AI-Assisted
|
|
12
|
+
- Multi-language Support
|
|
13
|
+
inferred_lang: en-US
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Quick Start Guide
|
|
17
|
+
|
|
18
|
+
This document introduces how to quickly get started with the ZEN documentation generator.
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g zengen
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Basic Usage
|
|
27
|
+
|
|
28
|
+
1. Create a documentation directory
|
|
29
|
+
2. Write Markdown files
|
|
30
|
+
3. Run the build command
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
zengen build --src ./docs --out ./dist
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Features
|
|
37
|
+
|
|
38
|
+
- Minimal configuration
|
|
39
|
+
- Built-in responsive templates
|
|
40
|
+
- AI-assisted metadata extraction
|
|
41
|
+
- Multi-language support
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN Documentation Site Example
|
|
3
|
+
summary: Introducing ZEN documentation builder, a minimalist Markdown documentation site generator, including features such as minimal configuration, content-first approach, intelligent navigation, multilingual support, as well as a quick start guide and code examples.
|
|
4
|
+
tags:
|
|
5
|
+
- ZEN
|
|
6
|
+
- Documentation Builder
|
|
7
|
+
- Markdown
|
|
8
|
+
- Site Generator
|
|
9
|
+
- Minimalism
|
|
10
|
+
- Quick Start
|
|
11
|
+
- Multilingual Support
|
|
12
|
+
inferred_lang: en-US
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN Documentation Site Example
|
|
16
|
+
|
|
17
|
+
Welcome to the ZEN documentation builder! This is a minimalist Markdown documentation site generator.
|
|
18
|
+
|
|
19
|
+
## Features
|
|
20
|
+
|
|
21
|
+
- **Minimal Configuration**: No complex configuration files required
|
|
22
|
+
- **Content-First**: Focus on writing, not tool configuration
|
|
23
|
+
- **Intelligent Navigation**: Automatically generates site maps and navigation
|
|
24
|
+
- **Multilingual Support**: Supports incremental i18n translation
|
|
25
|
+
|
|
26
|
+
## Quick Start
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Build documentation using npx (recommended)
|
|
30
|
+
npx zengen build
|
|
31
|
+
|
|
32
|
+
# Live preview (watches for file changes)
|
|
33
|
+
npx zengen build --watch
|
|
34
|
+
|
|
35
|
+
# View more parameters or help
|
|
36
|
+
npx zengen
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
**Note**: ZEN enforces the use of the current directory as the source directory and outputs to the `.zen/dist` directory. Specifying source and output directory parameters is no longer supported.
|
|
40
|
+
|
|
41
|
+
## Code Examples
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
// This is a JavaScript example
|
|
45
|
+
const zen = require('zengen');
|
|
46
|
+
|
|
47
|
+
async function buildDocs() {
|
|
48
|
+
await zen.build({
|
|
49
|
+
// ZEN now enforces using the current directory as the source directory
|
|
50
|
+
// Outputs to the .zen/dist directory
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```python
|
|
56
|
+
# This is a Python example
|
|
57
|
+
def hello_world():
|
|
58
|
+
print("Hello from ZEN!")
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Next Steps
|
|
62
|
+
|
|
63
|
+
1. Read the [API Documentation](./api.md)
|
|
64
|
+
2. Check the [Configuration Guide](./config.md)
|
|
65
|
+
3. Learn about [Best Practices](./best-practices.md)
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: GitHub Pages 部署配置
|
|
3
|
+
summary: 本文档介绍了 ZEN 项目文档站点的 GitHub Pages 部署配置,包括工作流程、触发条件、构建步骤、自定义配置、故障排除和手动触发方法。
|
|
4
|
+
tags:
|
|
5
|
+
- GitHub Pages
|
|
6
|
+
- 部署配置
|
|
7
|
+
- 工作流程
|
|
8
|
+
- 文档构建
|
|
9
|
+
- 故障排除
|
|
10
|
+
- ZEN 项目
|
|
11
|
+
inferred_lang: zh-Hans
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# GitHub Pages 部署配置
|
|
15
|
+
|
|
16
|
+
此目录包含 ZEN 项目文档站点的 GitHub Pages 部署配置。
|
|
17
|
+
|
|
18
|
+
## 工作流程
|
|
19
|
+
|
|
20
|
+
### `pages.yml`
|
|
21
|
+
|
|
22
|
+
此工作流程会自动构建 ZEN 项目的文档站点并部署到 GitHub Pages。
|
|
23
|
+
|
|
24
|
+
**触发条件:**
|
|
25
|
+
|
|
26
|
+
- 推送到 `main` 分支(当 `demo/src/`、`package.json` 或工作流程文件发生变化时)
|
|
27
|
+
- 针对 `main` 分支的 Pull Request
|
|
28
|
+
- 手动触发
|
|
29
|
+
|
|
30
|
+
**工作流程步骤:**
|
|
31
|
+
|
|
32
|
+
1. **检出代码**:从远程分支检出代码,确保代码同步
|
|
33
|
+
2. **设置 Node.js**:配置 Node.js 20.x 环境
|
|
34
|
+
3. **安装依赖**:使用 `npm ci` 安装项目依赖
|
|
35
|
+
4. **构建 zengen**:构建本地 zengen 包
|
|
36
|
+
5. **安装 zengen**:将本地构建的 zengen 安装为全局工具
|
|
37
|
+
6. **测试 zengen CLI**:验证 CLI 工具正常工作
|
|
38
|
+
7. **构建文档站点**:使用 `cd demo/src && zengen build` 构建文档,输出到 `.zen/dist` 目录
|
|
39
|
+
8. **配置 Pages**:设置 GitHub Pages
|
|
40
|
+
9. **上传制品**:将构建的文档站点上传为 Pages 制品
|
|
41
|
+
10. **部署到 GitHub Pages**:自动部署到 GitHub Pages
|
|
42
|
+
|
|
43
|
+
## 访问文档站点
|
|
44
|
+
|
|
45
|
+
部署成功后,文档站点将可通过以下 URL 访问:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
https://[用户名].github.io/[仓库名]/
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## 自定义配置
|
|
52
|
+
|
|
53
|
+
### 自定义域名
|
|
54
|
+
|
|
55
|
+
如果需要使用自定义域名,可以在构建步骤后添加 CNAME 文件:
|
|
56
|
+
|
|
57
|
+
```yaml
|
|
58
|
+
# 创建 CNAME 文件(如果需要自定义域名)
|
|
59
|
+
echo "docs.example.com" > docs-dist/CNAME
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 构建选项
|
|
63
|
+
|
|
64
|
+
当前使用的构建命令:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
cd demo/src
|
|
68
|
+
zengen build --verbose
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
可用的选项:
|
|
72
|
+
|
|
73
|
+
- `--verbose`:显示详细输出
|
|
74
|
+
- `--watch`:监听模式(不适用于 CI/CD)
|
|
75
|
+
- `--template`:指定自定义模板文件
|
|
76
|
+
- `--config`:指定配置文件
|
|
77
|
+
|
|
78
|
+
### 环境变量
|
|
79
|
+
|
|
80
|
+
工作流程使用以下环境变量:
|
|
81
|
+
|
|
82
|
+
- `GITHUB_TOKEN`:自动提供的 GitHub 令牌
|
|
83
|
+
- `NODE_VERSION`:Node.js 版本(默认为 20.x)
|
|
84
|
+
|
|
85
|
+
## 故障排除
|
|
86
|
+
|
|
87
|
+
### 构建失败
|
|
88
|
+
|
|
89
|
+
1. **检查 Node.js 版本**:确保使用支持的 Node.js 版本
|
|
90
|
+
2. **验证依赖安装**:确保 `npm ci` 成功执行
|
|
91
|
+
3. **检查构建输出**:查看 `zengen build` 的详细输出
|
|
92
|
+
4. **CLI 输出目录问题**:ZEN 现在强制输出到 `.zen/dist` 目录,不再支持 `--out` 参数。
|
|
93
|
+
|
|
94
|
+
### 部署失败
|
|
95
|
+
|
|
96
|
+
1. **检查权限**:确保工作流程有正确的 Pages 写入权限
|
|
97
|
+
2. **验证制品**:确保 `.zen/dist` 目录包含有效的 HTML 文件
|
|
98
|
+
3. **查看日志**:检查 GitHub Actions 日志获取详细错误信息
|
|
99
|
+
|
|
100
|
+
### 文档未更新
|
|
101
|
+
|
|
102
|
+
1. **检查触发条件**:确保修改了 `demo/src/` 目录下的文件
|
|
103
|
+
2. **等待部署完成**:GitHub Pages 部署可能需要几分钟
|
|
104
|
+
3. **清除浏览器缓存**:浏览器可能缓存了旧版本
|
|
105
|
+
|
|
106
|
+
## 手动触发
|
|
107
|
+
|
|
108
|
+
可以通过 GitHub Actions 界面手动触发部署:
|
|
109
|
+
|
|
110
|
+
1. 进入仓库的 "Actions" 标签页
|
|
111
|
+
2. 选择 "Deploy to GitHub Pages" 工作流程
|
|
112
|
+
3. 点击 "Run workflow" 按钮
|
|
113
|
+
4. 选择分支并运行
|
|
114
|
+
|
|
115
|
+
## 相关文件
|
|
116
|
+
|
|
117
|
+
- `demo/src/`:文档源文件(Markdown 格式)
|
|
118
|
+
- `package.json`:项目配置和依赖
|
|
119
|
+
- `src/cli.ts`:zengen CLI 工具实现
|
|
120
|
+
- `src/builder.ts`:文档构建器实现
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN - Markdown 文档站点构建工具
|
|
3
|
+
summary:
|
|
4
|
+
ZEN 是一个极简的静态站点生成工具,专注于将 Markdown 文件夹构建为 HTML 站点,支持智能导航和 AI
|
|
5
|
+
驱动的增量翻译,强调内容优先和跨语言支持,无需复杂配置。
|
|
6
|
+
tags:
|
|
7
|
+
- Markdown
|
|
8
|
+
- 静态站点生成
|
|
9
|
+
- AI 翻译
|
|
10
|
+
- 极简主义
|
|
11
|
+
- 多语言
|
|
12
|
+
- 文档工具
|
|
13
|
+
- ZEN
|
|
14
|
+
inferred_lang: zh-Hans
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# ZEN - 简洁的 Markdown 文档站点构建工具
|
|
18
|
+
|
|
19
|
+
> 📖 **阅读提示**: 本 README 为中文版本。英文版本将由 AI 自动翻译生成。
|
|
20
|
+
|
|
21
|
+
## 项目初衷
|
|
22
|
+
|
|
23
|
+
### 回归内容
|
|
24
|
+
|
|
25
|
+
我喜欢沉思,但不想要配置复杂的构建工具,折腾复杂的文档配置,不喜欢复杂的结构。
|
|
26
|
+
|
|
27
|
+
### 回归母语
|
|
28
|
+
|
|
29
|
+
生命苦短,我用 AI 翻译。与世界保持连接。
|
|
30
|
+
|
|
31
|
+
## 基本功能
|
|
32
|
+
|
|
33
|
+
1. **静态站点生成**
|
|
34
|
+
- 将任意一个包含 Markdown 的文件夹构建成一个静态 HTML 站点
|
|
35
|
+
|
|
36
|
+
2. **智能导航**
|
|
37
|
+
- 生成站点地图和导航,不需要保持原始的 Markdown 源文件的目录结构
|
|
38
|
+
|
|
39
|
+
3. **增量 i18n 翻译**
|
|
40
|
+
- 使用 LLM 进行增量 i18n 翻译,让用户使用母语编写 Markdown,但是用户可以是多语言的
|
|
41
|
+
|
|
42
|
+
## 设计理念
|
|
43
|
+
|
|
44
|
+
- **极简主义**: 最少的配置,最大的灵活性
|
|
45
|
+
- **内容优先**: 专注于写作,而不是工具配置
|
|
46
|
+
- **AI 赋能**: 利用 AI 处理翻译和内容组织
|
|
47
|
+
- **跨语言**: 支持多语言内容创作和展示
|
|
48
|
+
|
|
49
|
+
## 快速开始
|
|
50
|
+
|
|
51
|
+
### 推荐使用方式
|
|
52
|
+
|
|
53
|
+
**推荐用户切换到包含 Markdown 文件的目录下,直接使用以下命令开始构建:**
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npx zengen build
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 其他用法
|
|
60
|
+
|
|
61
|
+
1. **实时预览(监听文件变化)**:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx zengen build --watch
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
2. **查看更多参数或帮助**:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx zengen
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**注意**:ZEN 强制使用当前目录作为源目录,输出到 `.zen/dist` 目录。不再支持指定源目录和输出目录参数。
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
**ZEN** - 让文档回归本质,让写作回归宁静。
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN 文档站点最佳实践
|
|
3
|
+
summary: 本文档介绍了使用 ZEN 构建文档站点的最佳实践,涵盖多语言管理、性能优化、部署策略、维护建议、常见问题解决方案和高级技巧,旨在帮助用户高效开发和维护文档。
|
|
4
|
+
tags:
|
|
5
|
+
- ZEN
|
|
6
|
+
- 文档站点
|
|
7
|
+
- 最佳实践
|
|
8
|
+
- 性能优化
|
|
9
|
+
- 部署策略
|
|
10
|
+
- 多语言管理
|
|
11
|
+
- 维护建议
|
|
12
|
+
inferred_lang: zh-Hans
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# 最佳实践
|
|
16
|
+
|
|
17
|
+
本文档介绍使用 ZEN 构建文档站点的最佳实践。
|
|
18
|
+
|
|
19
|
+
## 多语言管理
|
|
20
|
+
|
|
21
|
+
### 翻译策略
|
|
22
|
+
|
|
23
|
+
1. **主语言优先**: 先用母语完整编写文档
|
|
24
|
+
2. **增量翻译**: 每次更新后只翻译修改部分
|
|
25
|
+
3. **术语一致**: 建立术语表保持翻译一致性
|
|
26
|
+
4. **人工校对**: AI 翻译后建议人工校对
|
|
27
|
+
|
|
28
|
+
## 性能优化
|
|
29
|
+
|
|
30
|
+
### 构建优化
|
|
31
|
+
|
|
32
|
+
1. **增量构建**: 使用 `--watch` 模式开发
|
|
33
|
+
2. **缓存利用**: ZEN 会自动缓存处理结果
|
|
34
|
+
3. **并行处理**: 多核 CPU 自动并行处理文件
|
|
35
|
+
|
|
36
|
+
### 开发工作流
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# 开发时监听变化
|
|
40
|
+
cd docs
|
|
41
|
+
npx zengen build --watch
|
|
42
|
+
|
|
43
|
+
# 启动开发服务器
|
|
44
|
+
npx zengen build --watch --serve
|
|
45
|
+
|
|
46
|
+
# 生产构建
|
|
47
|
+
npx zengen build
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## 部署策略
|
|
51
|
+
|
|
52
|
+
### CI/CD 集成
|
|
53
|
+
|
|
54
|
+
#### GitHub Actions 示例
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
name: Build and Deploy Documentation
|
|
58
|
+
on:
|
|
59
|
+
push:
|
|
60
|
+
branches: [main]
|
|
61
|
+
paths:
|
|
62
|
+
- 'docs/**'
|
|
63
|
+
- '.github/workflows/docs.yml'
|
|
64
|
+
|
|
65
|
+
jobs:
|
|
66
|
+
build:
|
|
67
|
+
runs-on: ubuntu-latest
|
|
68
|
+
steps:
|
|
69
|
+
- name: Checkout repository
|
|
70
|
+
uses: actions/checkout@v4
|
|
71
|
+
|
|
72
|
+
- name: Setup Node.js
|
|
73
|
+
uses: actions/setup-node@v4
|
|
74
|
+
with:
|
|
75
|
+
node-version: '20.x'
|
|
76
|
+
|
|
77
|
+
- name: Build documentation
|
|
78
|
+
run: |
|
|
79
|
+
cd docs
|
|
80
|
+
npx zengen build --base-url /my-docs
|
|
81
|
+
|
|
82
|
+
- name: Deploy to GitHub Pages
|
|
83
|
+
uses: peaceiris/actions-gh-pages@v3
|
|
84
|
+
with:
|
|
85
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
86
|
+
publish_dir: docs/.zen/dist
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
#### 自定义部署脚本
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
#!/bin/bash
|
|
93
|
+
# deploy-docs.sh
|
|
94
|
+
|
|
95
|
+
# 切换到文档目录
|
|
96
|
+
cd docs
|
|
97
|
+
|
|
98
|
+
# 构建文档
|
|
99
|
+
npx zengen build
|
|
100
|
+
|
|
101
|
+
# 同步到服务器
|
|
102
|
+
rsync -avz .zen/dist/ user@server:/var/www/docs/
|
|
103
|
+
|
|
104
|
+
# 清理缓存
|
|
105
|
+
rm -rf .zen/cache
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 云部署选项
|
|
109
|
+
|
|
110
|
+
- **GitHub Pages**: 免费托管文档
|
|
111
|
+
- **Vercel**: 自动部署静态站点
|
|
112
|
+
- **Netlify**: 支持表单处理和重定向
|
|
113
|
+
- **AWS S3 + CloudFront**: 企业级静态托管
|
|
114
|
+
|
|
115
|
+
## 维护建议
|
|
116
|
+
|
|
117
|
+
### 定期更新
|
|
118
|
+
|
|
119
|
+
1. **内容审核**: 每月检查文档准确性
|
|
120
|
+
2. **链接检查**: 定期检查死链
|
|
121
|
+
3. **性能监控**: 监控页面加载速度
|
|
122
|
+
4. **用户反馈**: 收集用户反馈改进文档
|
|
123
|
+
|
|
124
|
+
### 版本控制
|
|
125
|
+
|
|
126
|
+
1. **文档版本化**: 与软件版本同步
|
|
127
|
+
2. **变更日志**: 记录文档更新历史
|
|
128
|
+
3. **回滚机制**: 支持快速回滚到旧版本
|
|
129
|
+
|
|
130
|
+
## 常见问题
|
|
131
|
+
|
|
132
|
+
### 构建速度慢
|
|
133
|
+
|
|
134
|
+
**解决方案:**
|
|
135
|
+
|
|
136
|
+
- 减少不必要的图片和资源
|
|
137
|
+
- 使用 `--watch` 模式进行增量开发
|
|
138
|
+
- 拆分大型文档为多个小文件
|
|
139
|
+
- 禁用不需要的处理器
|
|
140
|
+
|
|
141
|
+
### 翻译质量不高
|
|
142
|
+
|
|
143
|
+
**解决方案:**
|
|
144
|
+
|
|
145
|
+
- 提供上下文给 AI 翻译
|
|
146
|
+
- 建立术语表提高一致性
|
|
147
|
+
- 人工校对关键内容
|
|
148
|
+
- 调整翻译提示词
|
|
149
|
+
|
|
150
|
+
### 导航结构复杂
|
|
151
|
+
|
|
152
|
+
**解决方案:**
|
|
153
|
+
|
|
154
|
+
- 保持扁平化目录结构
|
|
155
|
+
- 使用清晰的标题层级
|
|
156
|
+
- 提供搜索功能
|
|
157
|
+
- 合理使用侧边栏导航
|
|
158
|
+
|
|
159
|
+
### 内存使用过高
|
|
160
|
+
|
|
161
|
+
**解决方案:**
|
|
162
|
+
|
|
163
|
+
- 减少同时处理的文件数量
|
|
164
|
+
- 禁用缓存(不推荐)
|
|
165
|
+
- 增加系统内存
|
|
166
|
+
- 分批处理大型文档
|
|
167
|
+
|
|
168
|
+
## 高级技巧
|
|
169
|
+
|
|
170
|
+
### 自定义模板技巧
|
|
171
|
+
|
|
172
|
+
1. **响应式设计**: 确保模板在移动设备上正常显示
|
|
173
|
+
2. **主题切换**: 实现深色/浅色主题
|
|
174
|
+
3. **代码高亮**: 集成 highlight.js 或其他高亮库
|
|
175
|
+
4. **搜索功能**: 添加客户端搜索
|
|
176
|
+
|
|
177
|
+
### 集成其他工具
|
|
178
|
+
|
|
179
|
+
1. **图片优化**: 使用 sharp 或 imagemin 优化图片
|
|
180
|
+
2. **SEO 优化**: 添加 meta 标签和结构化数据
|
|
181
|
+
3. **分析集成**: 集成 Google Analytics 或 Plausible
|
|
182
|
+
4. **CDN 加速**: 使用 CDN 加速静态资源
|
|
183
|
+
|
|
184
|
+
### 监控和日志
|
|
185
|
+
|
|
186
|
+
1. **构建日志**: 使用 `--verbose` 查看详细日志
|
|
187
|
+
2. **错误监控**: 设置错误监控和告警
|
|
188
|
+
3. **性能监控**: 监控构建时间和资源使用
|
|
189
|
+
4. **用户分析**: 分析文档使用情况
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN 高级用法指南
|
|
3
|
+
summary:
|
|
4
|
+
本文档介绍了 ZEN 的高级功能,包括自定义 HTML 模板、配置选项(如源目录、输出目录、模板、基础 URL
|
|
5
|
+
和多语言支持)以及插件系统,帮助用户扩展和定制 ZEN 工具。
|
|
6
|
+
tags:
|
|
7
|
+
- ZEN
|
|
8
|
+
- 高级用法
|
|
9
|
+
- 自定义模板
|
|
10
|
+
- 配置选项
|
|
11
|
+
- 插件系统
|
|
12
|
+
- 文档生成
|
|
13
|
+
- 多语言支持
|
|
14
|
+
inferred_lang: zh-Hans
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# 高级用法
|
|
18
|
+
|
|
19
|
+
深入介绍 ZEN 的高级功能和配置选项。
|
|
20
|
+
|
|
21
|
+
## 自定义模板
|
|
22
|
+
|
|
23
|
+
ZEN 支持自定义 HTML 模板:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
zengen build --src ./docs --out ./dist --template ./custom-template.html
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## 配置选项
|
|
30
|
+
|
|
31
|
+
可以在 `.zenrc` 文件中配置:
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"srcDir": "./docs",
|
|
36
|
+
"outDir": "./dist",
|
|
37
|
+
"template": "./template.html",
|
|
38
|
+
"baseUrl": "https://example.com",
|
|
39
|
+
"i18n": {
|
|
40
|
+
"sourceLang": "zh-Hans",
|
|
41
|
+
"targetLangs": ["en-US", "ja-JP"]
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 插件系统
|
|
47
|
+
|
|
48
|
+
ZEN 支持插件扩展功能:
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
interface MarkdownProcessor {
|
|
52
|
+
beforeParse?(content: string, fileInfo: FileInfo): string | Promise<string>;
|
|
53
|
+
afterParse?(html: string, fileInfo: FileInfo): string | Promise<string>;
|
|
54
|
+
}
|
|
55
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# 测试文档
|