zengen 0.2.1 → 0.2.2

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.
Files changed (40) hide show
  1. package/.github/workflows/pages.yml +4 -4
  2. package/.zen/meta.json +7 -120
  3. package/.zen/src/de-DE/04319611d7cde718d0e82da8e034e04b15fb3bb37c3784d8f7313577c5178b06.md +73 -0
  4. package/.zen/src/de-DE/48eb2ad3e174cd06ed16c959fa58e0381dbc4a4147fa3456b21eea2b3d67c329.md +81 -0
  5. package/.zen/src/en-US/04319611d7cde718d0e82da8e034e04b15fb3bb37c3784d8f7313577c5178b06.md +73 -0
  6. package/.zen/src/en-US/48eb2ad3e174cd06ed16c959fa58e0381dbc4a4147fa3456b21eea2b3d67c329.md +81 -0
  7. package/.zen/src/en-US/afbf4998656c97181d0edc711e388ad11e0f08f5c6f329861327202462a3a34a.md +63 -0
  8. package/.zen/src/es-ES/04319611d7cde718d0e82da8e034e04b15fb3bb37c3784d8f7313577c5178b06.md +73 -0
  9. package/.zen/src/es-ES/48eb2ad3e174cd06ed16c959fa58e0381dbc4a4147fa3456b21eea2b3d67c329.md +81 -0
  10. package/.zen/src/fr-FR/04319611d7cde718d0e82da8e034e04b15fb3bb37c3784d8f7313577c5178b06.md +73 -0
  11. package/.zen/src/fr-FR/48eb2ad3e174cd06ed16c959fa58e0381dbc4a4147fa3456b21eea2b3d67c329.md +81 -0
  12. package/.zen/src/ja-JP/04319611d7cde718d0e82da8e034e04b15fb3bb37c3784d8f7313577c5178b06.md +71 -0
  13. package/.zen/src/ja-JP/48eb2ad3e174cd06ed16c959fa58e0381dbc4a4147fa3456b21eea2b3d67c329.md +81 -0
  14. package/.zen/src/ko-KR/48eb2ad3e174cd06ed16c959fa58e0381dbc4a4147fa3456b21eea2b3d67c329.md +81 -0
  15. package/.zen/src/pt-PT/04319611d7cde718d0e82da8e034e04b15fb3bb37c3784d8f7313577c5178b06.md +73 -0
  16. package/.zen/src/pt-PT/48eb2ad3e174cd06ed16c959fa58e0381dbc4a4147fa3456b21eea2b3d67c329.md +81 -0
  17. package/.zen/src/ru-RU/04319611d7cde718d0e82da8e034e04b15fb3bb37c3784d8f7313577c5178b06.md +73 -0
  18. package/.zen/src/ru-RU/48eb2ad3e174cd06ed16c959fa58e0381dbc4a4147fa3456b21eea2b3d67c329.md +81 -0
  19. package/.zen/src/zh-Hans/04319611d7cde718d0e82da8e034e04b15fb3bb37c3784d8f7313577c5178b06.md +73 -0
  20. package/.zen/src/zh-Hans/084ef1f6a0167df8621c673c79211309d4af6c588e7bbe3e043f7c244edd0ac6.md +80 -0
  21. package/.zen/src/zh-Hans/48eb2ad3e174cd06ed16c959fa58e0381dbc4a4147fa3456b21eea2b3d67c329.md +81 -0
  22. package/.zen/src/zh-Hans/afbf4998656c97181d0edc711e388ad11e0f08f5c6f329861327202462a3a34a.md +63 -0
  23. package/README.md +27 -21
  24. package/dist/languages.d.ts +2 -0
  25. package/dist/languages.d.ts.map +1 -0
  26. package/dist/languages.js +14 -0
  27. package/dist/languages.js.map +1 -0
  28. package/dist/process/template.d.ts.map +1 -1
  29. package/dist/process/template.js +2 -7
  30. package/dist/process/template.js.map +1 -1
  31. package/package.json +2 -2
  32. package/src/languages.ts +10 -0
  33. package/src/process/template.ts +2 -7
  34. package/docs/advanced-usage.md +0 -39
  35. package/docs/deployment/github-pages.md +0 -107
  36. package/docs/getting-started.md +0 -26
  37. package/docs/guides/best-practices.md +0 -175
  38. package/docs/guides/config.md +0 -48
  39. package/docs/guides/index.md +0 -51
  40. package/docs/testing/test-document.md +0 -1
@@ -0,0 +1,73 @@
1
+ ---
2
+ title: ZEN - Инструмент для создания сайтов документации на Markdown
3
+ summary: ZEN — это минималистичный генератор статических сайтов на Markdown, ориентированный на написание контента. Использует ИИ для обработки перевода и навигации, поддерживает многоязычную сборку без сложной конфигурации.
4
+ tags:
5
+ - Markdown
6
+ - Генератор статических сайтов
7
+ - ИИ-перевод
8
+ - Мультиязычность
9
+ - Минимализм
10
+ - Инструмент для документации
11
+ - ZEN
12
+ inferred_lang: ru-RU
13
+ ---
14
+
15
+ # ZEN - Простой инструмент для создания сайтов документации на Markdown
16
+
17
+ [简体中文](https://zccz14.github.io/ZEN/zh-Hans) | [English](https://zccz14.github.io/ZEN/en-US)
18
+
19
+ Зачем ещё один генератор статических сайтов на Markdown? Я заново обдумал, как инструменты для документации в эпоху ИИ могут лучше служить авторам:
20
+
21
+ - **Возвращение к содержанию**: Минимизация отвлечений, концентрация на письме
22
+
23
+ Вернуть документации её суть, а письму — спокойствие.
24
+
25
+ Во-первых, я не хочу быть библиотекарем. Иногда я хочу что-то записать, но, возможно, ещё не придумал заголовок или не сформировал чёткую структуру. Я хочу, чтобы LLM автоматически генерировала для меня заголовки, делала резюме, классифицировала, создавала навигацию и другую организационную работу.
26
+
27
+ Во-вторых, мой кабинет должен быть чистым. Мне не нужны инструменты сборки со сложной конфигурацией, возня со сложными настройками документации, не нравятся сложные структуры. Каждый раз, когда я вижу конфигурационные файлы и структуру проектов таких инструментов, как Docusaurus, VuePress, Astro, у меня начинает болеть голова. Теперь ZEN прячет всю конфигурацию в каталог `.zen`, сметает её в угол. Пользователю нужно сосредоточиться только на написании контента, всё остальное ZEN берёт на себя. Все остальные каталоги — это ваше рабочее пространство, вы можете организовывать свои Markdown-файлы как угодно.
28
+
29
+ - **Возвращение к родному языку**: Пишите на родном языке, плавно создавайте многоязычные версии
30
+
31
+ Жизнь коротка, мне лень переводить. Человек наиболее полно раскрывает глубину своего мышления, используя родной язык. Но при этом оставаться на связи с миром необходимо, я не хочу отказываться от многоязычного общения. Поэтому мне хотелось бы иметь инструмент, который позволил бы мне писать на родном языке и одновременно сделать мой контент доступным для большего числа людей. Современные решения i18n требуют не только самостоятельного перевода, но и поддержания актуальности контента, что слишком хлопотно. Я выбираю использование LLM для перевода, что экономит мне массу времени и позволяет выполнить перевод на множество языков одним нажатием.
32
+
33
+ ## Основные возможности
34
+
35
+ 1. **Генерация статического сайта**
36
+ - Преобразует любую папку с Markdown-файлами в статический HTML-сайт.
37
+
38
+ 2. **Интеллектуальная навигация**
39
+ - Генерирует карту сайта и навигацию. Не требуется сохранять исходную структуру каталогов Markdown-файлов, исходные файлы можно свободно перемещать.
40
+
41
+ 3. **Инкрементный i18n-перевод**
42
+ - Использует LLM для инкрементного i18n-перевода, позволяя пользователю писать Markdown на родном языке, но при этом быть многоязычным.
43
+
44
+ ## Философия дизайна
45
+
46
+ - **Минимализм**: Минимум конфигурации, максимум гибкости.
47
+ - **Приоритет контента**: Сосредоточьтесь на письме, а не на настройке инструментов.
48
+ - **Расширение возможностей с помощью ИИ**: Использование ИИ для обработки перевода и организации контента.
49
+ - **Кросс-язычность**: Поддержка создания и отображения многоязычного контента.
50
+
51
+ ## Быстрый старт
52
+
53
+ ### Рекомендуемый способ использования
54
+
55
+ **Рекомендуется перейти в каталог, содержащий Markdown-файлы, и сразу использовать следующую команду для начала сборки:**
56
+
57
+ ```bash
58
+ # Установите переменные окружения (измените в соответствии с вашей ситуацией)
59
+ export OPENAI_API_KEY="sk-xxxxxx" # Обязательно: замените на ваш OpenAI API Key
60
+ export OPENAI_BASE_URL="https://api.openai.com/v1" # Опционально, по умолчанию используется официальный OpenAI API
61
+ export OPENAI_MODEL="gpt-3.5-turbo" # Опционально, по умолчанию используется модель gpt-3.5-turbo
62
+
63
+ # Собрать сайт с поддержкой многоязычного перевода
64
+ npx zengen@latest build --lang zh-Hans --lang en-US --verbose
65
+ ```
66
+
67
+ **Посмотреть больше параметров или справку**:
68
+
69
+ ```bash
70
+ npx zengen
71
+ ```
72
+
73
+ **Примечание**: ZEN принудительно использует текущий каталог в качестве исходного, вывод осуществляется в каталог `.zen/dist`. Параметры для указания исходного и выходного каталогов не поддерживаются.
@@ -0,0 +1,81 @@
1
+ ---
2
+ title: ZEN - Инструмент для создания сайтов документации на Markdown
3
+ summary: ZEN — это простой генератор статических сайтов на Markdown, ориентированный на контент и минимализм. Использует ИИ для интеллектуальной навигации и многоязычного перевода, помогая пользователям сосредоточиться на написании текстов без сложных настроек.
4
+ tags:
5
+ - Markdown
6
+ - Генератор статических сайтов
7
+ - ИИ-перевод
8
+ - Многоязычность
9
+ - Минимализм
10
+ - Инструмент для документации
11
+ - ZEN
12
+ inferred_lang: ru-RU
13
+ ---
14
+
15
+ # ZEN - Простой инструмент для создания сайтов документации на Markdown
16
+
17
+ [简体中文](https://zccz14.github.io/ZEN/zh-Hans) |
18
+ [English](https://zccz14.github.io/ZEN/en-US) |
19
+ [Español](https://zccz14.github.io/ZEN/es-ES) |
20
+ [Português](https://zccz14.github.io/ZEN/pt-PT) |
21
+ [Русский](https://zccz14.github.io/ZEN/ru-RU) |
22
+ [Français](https://zccz14.github.io/ZEN/fr-FR) |
23
+ [日本語](https://zccz14.github.io/ZEN/ja-JP) |
24
+ [한국어](https://zccz14.github.io/ZEN/ko-KR) |
25
+ [Deutsch](https://zccz14.github.io/ZEN/de-DE) |
26
+
27
+ Зачем создавать ещё один генератор статических сайтов на Markdown? Я задумался о том, как инструменты для документации могут лучше служить авторам в эпоху ИИ:
28
+
29
+ - **Возвращение к контенту**: Минимизация отвлекающих факторов, фокус на написании
30
+
31
+ Вернуть документации её суть, а написанию — спокойствие.
32
+
33
+ Во-первых, я не хочу быть библиотекарем. Иногда я хочу что-то записать, но, возможно, ещё не придумал заголовок или не организовал это должным образом. Я хочу, чтобы LLM автоматически генерировала заголовки, делала резюме, классифицировала, создавала навигацию и выполняла другую организационную работу.
34
+
35
+ Во-вторых, мой рабочий кабинет должен быть чистым. Мне не нужны сложные инструменты сборки с запутанными конфигурациями, не нравятся сложные структуры. Каждый раз, когда я вижу конфигурационные файлы и структуру проектов таких инструментов, как Docusaurus, VuePress, Astro, у меня начинает болеть голова. Теперь ZEN прячет все настройки в каталог `.zen`, сметает их в угол. Пользователю нужно сосредоточиться только на содержании, а всё остальное ZEN берёт на себя. Все остальные каталоги — это ваше рабочее пространство, вы можете свободно организовывать свои Markdown-файлы.
36
+
37
+ - **Возвращение к родному языку**: Пишите на родном языке, плавно создавайте многоязычные версии
38
+
39
+ Жизнь коротка, мне лень переводить. Человек наиболее полно раскрывает глубину своего мышления, используя родной язык. Но при этом оставаться на связи с миром необходимо, и я не хочу отказываться от многоязычного общения. Поэтому мне хотелось бы иметь инструмент, который позволил бы мне писать на родном языке, но при этом сделать мой контент доступным для большего числа людей. Текущие решения i18n требуют не только самостоятельного перевода, но и поддержания актуальности контента, что слишком хлопотно. Я выбрал использование LLM для перевода, что экономит мне много времени и позволяет выполнить перевод на множество языков одним нажатием кнопки.
40
+
41
+ ## Основные возможности
42
+
43
+ 1. **Генерация статического сайта**
44
+ - Преобразует любую папку с Markdown-файлами в статический HTML-сайт.
45
+
46
+ 2. **Интеллектуальная навигация**
47
+ - Генерирует карту сайта и навигацию. Не требуется сохранять исходную структуру каталогов Markdown-файлов, исходные файлы можно свободно перемещать.
48
+
49
+ 3. **Инкрементный i18n-перевод**
50
+ - Использует LLM для инкрементного i18n-перевода, позволяя пользователям писать Markdown на родном языке, но при этом создавать многоязычный контент.
51
+
52
+ ## Философия дизайна
53
+
54
+ - **Минимализм**: Минимум настроек, максимум гибкости.
55
+ - **Приоритет контента**: Фокус на написании, а не на настройке инструментов.
56
+ - **ИИ-возможности**: Использование ИИ для обработки перевода и организации контента.
57
+ - **Кросс-язычность**: Поддержка создания и отображения многоязычного контента.
58
+
59
+ ## Быстрый старт
60
+
61
+ ### Рекомендуемый способ использования
62
+
63
+ **Рекомендуется перейти в каталог, содержащий Markdown-файлы, и сразу начать сборку с помощью следующей команды:**
64
+
65
+ ```bash
66
+ # Установите переменные окружения (измените в соответствии с вашей ситуацией)
67
+ export OPENAI_API_KEY="sk-xxxxxx" # Обязательно: замените на ваш OpenAI API Key
68
+ export OPENAI_BASE_URL="https://api.openai.com/v1" # Опционально, по умолчанию используется официальный API OpenAI
69
+ export OPENAI_MODEL="gpt-3.5-turbo" # Опционально, по умолчанию используется модель gpt-3.5-turbo
70
+
71
+ # Собрать сайт с поддержкой многоязычного перевода
72
+ npx zengen@latest build --lang zh-Hans --lang en-US --verbose
73
+ ```
74
+
75
+ **Посмотреть больше параметров или справку**:
76
+
77
+ ```bash
78
+ npx zengen
79
+ ```
80
+
81
+ **Примечание**: ZEN принудительно использует текущий каталог в качестве исходного, а вывод помещает в каталог `.zen/dist`. Не поддерживается указание параметров исходного и выходного каталогов.
@@ -0,0 +1,73 @@
1
+ ---
2
+ title: ZEN - Markdown 文档站点构建工具
3
+ summary: ZEN 是一个极简的 Markdown 静态站点生成工具,专注于内容写作,利用 AI 处理翻译和导航,支持多语言构建,无需复杂配置。
4
+ tags:
5
+ - Markdown
6
+ - 静态站点生成器
7
+ - AI 翻译
8
+ - 多语言
9
+ - 极简主义
10
+ - 文档工具
11
+ - ZEN
12
+ inferred_lang: zh-Hans
13
+ ---
14
+
15
+ # ZEN - 简洁的 Markdown 文档站点构建工具
16
+
17
+ [简体中文](https://zccz14.github.io/ZEN/zh-Hans) | [English](https://zccz14.github.io/ZEN/en-US)
18
+
19
+ 为什么又搞了个 Markdown 静态站点生成器?我重新思考了 AI 时代下,文档工具可以如何更好地服务于写作者:
20
+
21
+ - 回归内容:最小化打扰,专注写作
22
+
23
+ 让文档回归本质,让写作回归宁静。
24
+
25
+ 其一,我不想做图书管理员。我有时想写下一些内容,但我可能还没有想好它的标题,还没有形成特别的组织。我希望 LLM 会自动帮我生成标题、做摘要、分类、导航等整理工作。
26
+
27
+ 其二,我的书房必须打扫干净。我不想要配置复杂的构建工具,折腾复杂的文档配置,不喜欢复杂的结构。每次我看到 Docusaurus、VuePress、Astro 这些工具的配置文件和项目结构,我就头疼。现在,ZEN 选择将所有的配置都隐藏到 .zen 目录下,扫到角落里,用户只需要专注于写作内容,其他的交给 ZEN 来处理。其他的目录都是您的写作空间,您可以随意组织您的 Markdown 文件。
28
+
29
+ - 回归母语:用母语写作,丝滑构建多语言版本
30
+
31
+ 人生苦短,我懒得翻译。人在使用母语时,才是最能发挥自身思考深度的。但同时与世界保持连接又是必要的,我不想放弃多语言的交流。于是我希望有一个工具,能让我用母语写作,同时又能让更多人看到我的内容。现在的 i18n 需要自己翻译不说,还得自己维护内容更新,太麻烦了。我选择使用 LLM 来帮我做翻译,省下了我很多时间,并且可以一键完成多国语言翻译。
32
+
33
+ ## 基本功能
34
+
35
+ 1. **静态站点生成**
36
+ - 将任意一个包含 Markdown 的文件夹构建成一个静态 HTML 站点
37
+
38
+ 2. **智能导航**
39
+ - 生成站点地图和导航,不需要保持原始的 Markdown 源文件的目录结构,可以随意移动源文件。
40
+
41
+ 3. **增量 i18n 翻译**
42
+ - 使用 LLM 进行增量 i18n 翻译,让用户使用母语编写 Markdown,但是用户可以是多语言的
43
+
44
+ ## 设计理念
45
+
46
+ - **极简主义**: 最少的配置,最大的灵活性
47
+ - **内容优先**: 专注于写作,而不是工具配置
48
+ - **AI 赋能**: 利用 AI 处理翻译和内容组织
49
+ - **跨语言**: 支持多语言内容创作和展示
50
+
51
+ ## 快速开始
52
+
53
+ ### 推荐使用方式
54
+
55
+ **推荐用户切换到包含 Markdown 文件的目录下,直接使用以下命令开始构建:**
56
+
57
+ ```bash
58
+ # 设置环境变量 (根据您的实际情况修改)
59
+ export OPENAI_API_KEY="sk-xxxxxx" # 必须:请替换为您的 OpenAI API Key
60
+ export OPENAI_BASE_URL="https://api.openai.com/v1" # 可选,默认使用 OpenAI 官方 API
61
+ export OPENAI_MODEL="gpt-3.5-turbo" # 可选,默认使用 gpt-3.5-turbo 模型
62
+
63
+ # 构建站点,支持多语言翻译
64
+ npx zengen@latest build --lang zh-Hans --lang en-US --verbose
65
+ ```
66
+
67
+ **查看更多参数或帮助**:
68
+
69
+ ```bash
70
+ npx zengen
71
+ ```
72
+
73
+ **注意**:ZEN 强制使用当前目录作为源目录,输出到 `.zen/dist` 目录。不支持指定源目录和输出目录参数。
@@ -0,0 +1,80 @@
1
+ ---
2
+ title: ZEN - Markdown 文档站点构建工具
3
+ summary: ZEN 是一个简洁的 Markdown 静态站点生成工具,专注于内容写作,利用 AI 实现智能导航和多语言翻译,无需复杂配置。
4
+ tags:
5
+ - Markdown
6
+ - 静态站点生成
7
+ - AI 翻译
8
+ - 多语言
9
+ - 极简主义
10
+ - 文档工具
11
+ - ZEN
12
+ inferred_lang: zh-Hans
13
+ ---
14
+
15
+ # ZEN - 简洁的 Markdown 文档站点构建工具
16
+
17
+ [简体中文](https://zccz14.github.io/ZEN/zh-Hans) |
18
+ [English](https://zccz14.github.io/ZEN/en-US) |
19
+ [Español](https://zccz14.github.io/ZEN/es-ES) |
20
+ [Ruсть](https://zccz14.github.io/ZEN/ru-RU) |
21
+ [Français](https://zccz14.github.io/ZEN/fr-FR) |
22
+ [Deutsch](https://zccz14.github.io/ZEN/de-DE) |
23
+ [日本語](https://zccz14.github.io/ZEN/ja-JP) |
24
+ [한국어](https://zccz14.github.io/ZEN/ko-KR)
25
+
26
+ 为什么又搞了个 Markdown 静态站点生成器?我重新思考了 AI 时代下,文档工具可以如何更好地服务于写作者:
27
+
28
+ - 回归内容:最小化打扰,专注写作
29
+
30
+ 让文档回归本质,让写作回归宁静。
31
+
32
+ 其一,我不想做图书管理员。我有时想写下一些内容,但我可能还没有想好它的标题,还没有形成特别的组织。我希望 LLM 会自动帮我生成标题、做摘要、分类、导航等整理工作。
33
+
34
+ 其二,我的书房必须打扫干净。我不想要配置复杂的构建工具,折腾复杂的文档配置,不喜欢复杂的结构。每次我看到 Docusaurus、VuePress、Astro 这些工具的配置文件和项目结构,我就头疼。现在,ZEN 选择将所有的配置都隐藏到 .zen 目录下,扫到角落里,用户只需要专注于写作内容,其他的交给 ZEN 来处理。其他的目录都是您的写作空间,您可以随意组织您的 Markdown 文件。
35
+
36
+ - 回归母语:用母语写作,丝滑构建多语言版本
37
+
38
+ 人生苦短,我懒得翻译。人在使用母语时,才是最能发挥自身思考深度的。但同时与世界保持连接又是必要的,我不想放弃多语言的交流。于是我希望有一个工具,能让我用母语写作,同时又能让更多人看到我的内容。现在的 i18n 需要自己翻译不说,还得自己维护内容更新,太麻烦了。我选择使用 LLM 来帮我做翻译,省下了我很多时间,并且可以一键完成多国语言翻译。
39
+
40
+ ## 基本功能
41
+
42
+ 1. **静态站点生成**
43
+ - 将任意一个包含 Markdown 的文件夹构建成一个静态 HTML 站点
44
+
45
+ 2. **智能导航**
46
+ - 生成站点地图和导航,不需要保持原始的 Markdown 源文件的目录结构,可以随意移动源文件。
47
+
48
+ 3. **增量 i18n 翻译**
49
+ - 使用 LLM 进行增量 i18n 翻译,让用户使用母语编写 Markdown,但是用户可以是多语言的
50
+
51
+ ## 设计理念
52
+
53
+ - **极简主义**: 最少的配置,最大的灵活性
54
+ - **内容优先**: 专注于写作,而不是工具配置
55
+ - **AI 赋能**: 利用 AI 处理翻译和内容组织
56
+ - **跨语言**: 支持多语言内容创作和展示
57
+
58
+ ## 快速开始
59
+
60
+ ### 推荐使用方式
61
+
62
+ **推荐用户切换到包含 Markdown 文件的目录下,直接使用以下命令开始构建:**
63
+
64
+ ```bash
65
+ # 设置环境变量 (根据您的实际情况修改)
66
+ export OPENAI_API_KEY="sk-xxxxxx" # 必须:请替换为您的 OpenAI API Key
67
+ export OPENAI_BASE_URL="https://api.openai.com/v1" # 可选,默认使用 OpenAI 官方 API
68
+ export OPENAI_MODEL="gpt-3.5-turbo" # 可选,默认使用 gpt-3.5-turbo 模型
69
+
70
+ # 构建站点,支持多语言翻译
71
+ npx zengen@latest build --lang zh-Hans --lang en-US --verbose
72
+ ```
73
+
74
+ **查看更多参数或帮助**:
75
+
76
+ ```bash
77
+ npx zengen
78
+ ```
79
+
80
+ **注意**:ZEN 强制使用当前目录作为源目录,输出到 `.zen/dist` 目录。不支持指定源目录和输出目录参数。
@@ -0,0 +1,81 @@
1
+ ---
2
+ title: ZEN - Markdown 文档站点构建工具
3
+ summary: ZEN 是一个简洁的 Markdown 静态站点生成工具,强调内容优先和极简主义,利用 AI 实现智能导航和多语言翻译,帮助用户专注于写作而无需复杂配置。
4
+ tags:
5
+ - Markdown
6
+ - 静态站点生成
7
+ - AI 翻译
8
+ - 多语言
9
+ - 极简主义
10
+ - 文档工具
11
+ - ZEN
12
+ inferred_lang: zh-Hans
13
+ ---
14
+
15
+ # ZEN - 简洁的 Markdown 文档站点构建工具
16
+
17
+ [简体中文](https://zccz14.github.io/ZEN/zh-Hans) |
18
+ [English](https://zccz14.github.io/ZEN/en-US) |
19
+ [Español](https://zccz14.github.io/ZEN/es-ES) |
20
+ [Português](https://zccz14.github.io/ZEN/pt-PT) |
21
+ [Русский](https://zccz14.github.io/ZEN/ru-RU) |
22
+ [Français](https://zccz14.github.io/ZEN/fr-FR) |
23
+ [日本語](https://zccz14.github.io/ZEN/ja-JP) |
24
+ [한국어](https://zccz14.github.io/ZEN/ko-KR) |
25
+ [Deutsch](https://zccz14.github.io/ZEN/de-DE) |
26
+
27
+ 为什么又搞了个 Markdown 静态站点生成器?我重新思考了 AI 时代下,文档工具可以如何更好地服务于写作者:
28
+
29
+ - 回归内容:最小化打扰,专注写作
30
+
31
+ 让文档回归本质,让写作回归宁静。
32
+
33
+ 其一,我不想做图书管理员。我有时想写下一些内容,但我可能还没有想好它的标题,还没有形成特别的组织。我希望 LLM 会自动帮我生成标题、做摘要、分类、导航等整理工作。
34
+
35
+ 其二,我的书房必须打扫干净。我不想要配置复杂的构建工具,折腾复杂的文档配置,不喜欢复杂的结构。每次我看到 Docusaurus、VuePress、Astro 这些工具的配置文件和项目结构,我就头疼。现在,ZEN 选择将所有的配置都隐藏到 .zen 目录下,扫到角落里,用户只需要专注于写作内容,其他的交给 ZEN 来处理。其他的目录都是您的写作空间,您可以随意组织您的 Markdown 文件。
36
+
37
+ - 回归母语:用母语写作,丝滑构建多语言版本
38
+
39
+ 人生苦短,我懒得翻译。人在使用母语时,才是最能发挥自身思考深度的。但同时与世界保持连接又是必要的,我不想放弃多语言的交流。于是我希望有一个工具,能让我用母语写作,同时又能让更多人看到我的内容。现在的 i18n 需要自己翻译不说,还得自己维护内容更新,太麻烦了。我选择使用 LLM 来帮我做翻译,省下了我很多时间,并且可以一键完成多国语言翻译。
40
+
41
+ ## 基本功能
42
+
43
+ 1. **静态站点生成**
44
+ - 将任意一个包含 Markdown 的文件夹构建成一个静态 HTML 站点
45
+
46
+ 2. **智能导航**
47
+ - 生成站点地图和导航,不需要保持原始的 Markdown 源文件的目录结构,可以随意移动源文件。
48
+
49
+ 3. **增量 i18n 翻译**
50
+ - 使用 LLM 进行增量 i18n 翻译,让用户使用母语编写 Markdown,但是用户可以是多语言的
51
+
52
+ ## 设计理念
53
+
54
+ - **极简主义**: 最少的配置,最大的灵活性
55
+ - **内容优先**: 专注于写作,而不是工具配置
56
+ - **AI 赋能**: 利用 AI 处理翻译和内容组织
57
+ - **跨语言**: 支持多语言内容创作和展示
58
+
59
+ ## 快速开始
60
+
61
+ ### 推荐使用方式
62
+
63
+ **推荐用户切换到包含 Markdown 文件的目录下,直接使用以下命令开始构建:**
64
+
65
+ ```bash
66
+ # 设置环境变量 (根据您的实际情况修改)
67
+ export OPENAI_API_KEY="sk-xxxxxx" # 必须:请替换为您的 OpenAI API Key
68
+ export OPENAI_BASE_URL="https://api.openai.com/v1" # 可选,默认使用 OpenAI 官方 API
69
+ export OPENAI_MODEL="gpt-3.5-turbo" # 可选,默认使用 gpt-3.5-turbo 模型
70
+
71
+ # 构建站点,支持多语言翻译
72
+ npx zengen@latest build --lang zh-Hans --lang en-US --verbose
73
+ ```
74
+
75
+ **查看更多参数或帮助**:
76
+
77
+ ```bash
78
+ npx zengen
79
+ ```
80
+
81
+ **注意**:ZEN 强制使用当前目录作为源目录,输出到 `.zen/dist` 目录。不支持指定源目录和输出目录参数。
@@ -0,0 +1,63 @@
1
+ ---
2
+ title: ZEN - Markdown 文档站点构建工具
3
+ summary: ZEN 是一个极简的 Markdown 静态站点生成工具,强调内容优先,通过隐藏配置和 AI 赋能,让用户专注于母语写作,并支持多语言翻译和智能导航。
4
+ tags:
5
+ - Markdown
6
+ - 静态站点生成
7
+ - AI 翻译
8
+ - 多语言
9
+ - 极简主义
10
+ - 内容优先
11
+ - 文档工具
12
+ inferred_lang: zh-Hans
13
+ ---
14
+
15
+ # ZEN - 简洁的 Markdown 文档站点构建工具
16
+
17
+ [简体中文](https://zccz14.github.io/ZEN/zh-Hans) | [English](https://zccz14.github.io/ZEN/en-US)
18
+
19
+ 为什么又搞了个 Markdown 静态站点生成器?
20
+
21
+ - 回归内容:最小化打扰,让您专注写作
22
+
23
+ 让文档回归本质,让写作回归宁静。我不想要配置复杂的构建工具,折腾复杂的文档配置,不喜欢复杂的结构。每次我看到 Docusaurus、VuePress、Astro 这些工具的配置文件和项目结构,我就头疼。现在,ZEN 选择将所有的配置都隐藏到 .zen 目录下,扫到角落里,用户只需要专注于写作内容,其他的交给 ZEN 来处理。其他的目录都是您的写作空间,您可以随意组织您的 Markdown 文件。LLM 还会自动帮您生成标题、做摘要、分类、生成导航等工作。您真的只需要专注于写作。
24
+
25
+ - 回归母语:仅用母语写作,丝滑构建多语言版本
26
+
27
+ 人生苦短,我懒得翻译。人在使用母语时,才是最能发挥自身思考深度的。但同时与世界保持连接又是必要的,我不想放弃多语言的交流。于是我希望有一个工具,能让我用母语写作,同时又能让更多人看到我的内容。现在的 i18n 需要自己翻译不说,还得自己维护内容更新,太麻烦了。我选择使用 LLM 来帮我做翻译,省下了我很多时间,并且可以一键完成多国语言翻译。
28
+
29
+ ## 基本功能
30
+
31
+ 1. **静态站点生成**
32
+ - 将任意一个包含 Markdown 的文件夹构建成一个静态 HTML 站点
33
+
34
+ 2. **智能导航**
35
+ - 生成站点地图和导航,不需要保持原始的 Markdown 源文件的目录结构
36
+
37
+ 3. **增量 i18n 翻译**
38
+ - 使用 LLM 进行增量 i18n 翻译,让用户使用母语编写 Markdown,但是用户可以是多语言的
39
+
40
+ ## 设计理念
41
+
42
+ - **极简主义**: 最少的配置,最大的灵活性
43
+ - **内容优先**: 专注于写作,而不是工具配置
44
+ - **AI 赋能**: 利用 AI 处理翻译和内容组织
45
+ - **跨语言**: 支持多语言内容创作和展示
46
+
47
+ ## 快速开始
48
+
49
+ ### 推荐使用方式
50
+
51
+ **推荐用户切换到包含 Markdown 文件的目录下,直接使用以下命令开始构建:**
52
+
53
+ ```bash
54
+ npx zengen build
55
+ ```
56
+
57
+ **查看更多参数或帮助**:
58
+
59
+ ```bash
60
+ npx zengen
61
+ ```
62
+
63
+ **注意**:ZEN 强制使用当前目录作为源目录,输出到 `.zen/dist` 目录。不支持指定源目录和输出目录参数。
package/README.md CHANGED
@@ -1,16 +1,28 @@
1
1
  # ZEN - 简洁的 Markdown 文档站点构建工具
2
2
 
3
- > 📖 **阅读提示**: 本 README 为中文版本。英文版本将由 AI 自动翻译生成。
3
+ [简体中文](https://zccz14.github.io/ZEN/zh-Hans) |
4
+ [English](https://zccz14.github.io/ZEN/en-US) |
5
+ [Español](https://zccz14.github.io/ZEN/es-ES) |
6
+ [Português](https://zccz14.github.io/ZEN/pt-PT) |
7
+ [Русский](https://zccz14.github.io/ZEN/ru-RU) |
8
+ [Français](https://zccz14.github.io/ZEN/fr-FR) |
9
+ [日本語](https://zccz14.github.io/ZEN/ja-JP) |
10
+ [한국어](https://zccz14.github.io/ZEN/ko-KR) |
11
+ [Deutsch](https://zccz14.github.io/ZEN/de-DE) |
4
12
 
5
- ## 项目初衷
13
+ 为什么又搞了个 Markdown 静态站点生成器?我重新思考了 AI 时代下,文档工具可以如何更好地服务于写作者:
6
14
 
7
- ### 回归内容
15
+ - 回归内容:最小化打扰,专注写作
8
16
 
9
- 我喜欢沉思,但不想要配置复杂的构建工具,折腾复杂的文档配置,不喜欢复杂的结构。
17
+ 让文档回归本质,让写作回归宁静。
10
18
 
11
- ### 回归母语
19
+ 其一,我不想做图书管理员。我有时想写下一些内容,但我可能还没有想好它的标题,还没有形成特别的组织。我希望 LLM 会自动帮我生成标题、做摘要、分类、导航等整理工作。
12
20
 
13
- 生命苦短,我用 AI 翻译。与世界保持连接。
21
+ 其二,我的书房必须打扫干净。我不想要配置复杂的构建工具,折腾复杂的文档配置,不喜欢复杂的结构。每次我看到 Docusaurus、VuePress、Astro 这些工具的配置文件和项目结构,我就头疼。现在,ZEN 选择将所有的配置都隐藏到 .zen 目录下,扫到角落里,用户只需要专注于写作内容,其他的交给 ZEN 来处理。其他的目录都是您的写作空间,您可以随意组织您的 Markdown 文件。
22
+
23
+ - 回归母语:用母语写作,丝滑构建多语言版本
24
+
25
+ 人生苦短,我懒得翻译。人在使用母语时,才是最能发挥自身思考深度的。但同时与世界保持连接又是必要的,我不想放弃多语言的交流。于是我希望有一个工具,能让我用母语写作,同时又能让更多人看到我的内容。现在的 i18n 需要自己翻译不说,还得自己维护内容更新,太麻烦了。我选择使用 LLM 来帮我做翻译,省下了我很多时间,并且可以一键完成多国语言翻译。
14
26
 
15
27
  ## 基本功能
16
28
 
@@ -18,7 +30,7 @@
18
30
  - 将任意一个包含 Markdown 的文件夹构建成一个静态 HTML 站点
19
31
 
20
32
  2. **智能导航**
21
- - 生成站点地图和导航,不需要保持原始的 Markdown 源文件的目录结构
33
+ - 生成站点地图和导航,不需要保持原始的 Markdown 源文件的目录结构,可以随意移动源文件。
22
34
 
23
35
  3. **增量 i18n 翻译**
24
36
  - 使用 LLM 进行增量 i18n 翻译,让用户使用母语编写 Markdown,但是用户可以是多语言的
@@ -37,25 +49,19 @@
37
49
  **推荐用户切换到包含 Markdown 文件的目录下,直接使用以下命令开始构建:**
38
50
 
39
51
  ```bash
40
- npx zengen build
41
- ```
42
-
43
- ### 其他用法
52
+ # 设置环境变量 (根据您的实际情况修改)
53
+ export OPENAI_API_KEY="sk-xxxxxx" # 必须:请替换为您的 OpenAI API Key
54
+ export OPENAI_BASE_URL="https://api.openai.com/v1" # 可选,默认使用 OpenAI 官方 API
55
+ export OPENAI_MODEL="gpt-3.5-turbo" # 可选,默认使用 gpt-3.5-turbo 模型
44
56
 
45
- 1. **实时预览(监听文件变化)**:
46
-
47
- ```bash
48
- npx zengen build --watch
57
+ # 构建站点,支持多语言翻译
58
+ npx zengen@latest build --lang zh-Hans --lang en-US --verbose
49
59
  ```
50
60
 
51
- 2. **查看更多参数或帮助**:
61
+ **查看更多参数或帮助**:
52
62
 
53
63
  ```bash
54
64
  npx zengen
55
65
  ```
56
66
 
57
- **注意**:ZEN 强制使用当前目录作为源目录,输出到 `.zen/dist` 目录。不再支持指定源目录和输出目录参数。
58
-
59
- ---
60
-
61
- **ZEN** - 让文档回归本质,让写作回归宁静。
67
+ **注意**:ZEN 强制使用当前目录作为源目录,输出到 `.zen/dist` 目录。不支持指定源目录和输出目录参数。
@@ -0,0 +1,2 @@
1
+ export declare const LANGUAGE_NAMES: Record<string, string>;
2
+ //# sourceMappingURL=languages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASjD,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LANGUAGE_NAMES = void 0;
4
+ exports.LANGUAGE_NAMES = {
5
+ 'zh-Hans': '简体中文',
6
+ 'en-US': 'English',
7
+ 'ja-JP': '日本語',
8
+ 'ko-KR': '한국어',
9
+ 'es-ES': 'Español',
10
+ 'fr-FR': 'Français',
11
+ 'de-DE': 'Deutsch',
12
+ 'ru-RU': 'Русский',
13
+ };
14
+ //# sourceMappingURL=languages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../src/languages.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAA2B;IACpD,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/process/template.ts"],"names":[],"mappings":"AA8JA;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAuCrD"}
1
+ {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/process/template.ts"],"names":[],"mappings":"AAyJA;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAuCrD"}
@@ -36,16 +36,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.renderTemplates = renderTemplates;
37
37
  const fs = __importStar(require("fs/promises"));
38
38
  const path = __importStar(require("path"));
39
+ const languages_1 = require("../languages");
39
40
  const metadata_1 = require("../metadata");
40
41
  const paths_1 = require("../paths");
41
42
  const convertMarkdownToHtml_1 = require("../utils/convertMarkdownToHtml");
42
43
  const frontmatter_1 = require("../utils/frontmatter");
43
- const langNames = {
44
- 'zh-Hans': '简体中文',
45
- 'en-US': 'English',
46
- 'ja-JP': '日本語',
47
- 'ko-KR': '한국어',
48
- };
49
44
  /**
50
45
  * 生成语言切换器 HTML
51
46
  * @param currentLang 当前语言
@@ -56,7 +51,7 @@ function generateLanguageSwitcher(templateData) {
56
51
  const { options: { langs = [], baseUrl = '/' }, } = metadata_1.MetaData;
57
52
  const items = langs
58
53
  .map(lang => {
59
- const langName = langNames[lang] || lang;
54
+ const langName = languages_1.LANGUAGE_NAMES[lang] || lang;
60
55
  const isCurrent = lang === templateData.lang;
61
56
  const activeClass = isCurrent ? 'active' : '';
62
57
  return `<li class="lang-item ${activeClass}">
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/process/template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/process/template.ts"],"names":[],"mappings":"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"}