zengen 0.2.6 → 0.3.1
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/.zen/meta.json +24 -7
- package/.zen/src/ar-SA/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/ar-SA/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/ar-SA/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/da-DK/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/da-DK/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/da-DK/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/de-DE/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/de-DE/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/de-DE/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/en-US/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/en-US/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/en-US/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/es-ES/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/es-ES/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/es-ES/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/es-MX/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/es-MX/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/es-MX/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/fi-FI/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/fi-FI/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/fi-FI/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/fr-FR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/fr-FR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/fr-FR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/hi-IN/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/hi-IN/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/hi-IN/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/id-ID/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/id-ID/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/id-ID/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/it-IT/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/it-IT/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/it-IT/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/ja-JP/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/ja-JP/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/ja-JP/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/ko-KR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/ko-KR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/ko-KR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/nl-NL/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/nl-NL/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/nl-NL/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/no-NO/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/no-NO/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/no-NO/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/pl-PL/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/pl-PL/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/pl-PL/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/pt-BR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/pt-BR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/pt-BR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/pt-PT/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/pt-PT/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/pt-PT/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/ru-RU/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/ru-RU/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/ru-RU/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/sv-SE/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/sv-SE/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/sv-SE/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/th-TH/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/th-TH/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/th-TH/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/tr-TR/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/tr-TR/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/tr-TR/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/uk-UA/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/uk-UA/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/uk-UA/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/vi-VN/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +121 -0
- package/.zen/src/vi-VN/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/vi-VN/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/.zen/src/zh-Hans/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +123 -0
- package/.zen/src/zh-Hans/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +74 -0
- package/.zen/src/zh-Hans/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +75 -0
- package/.zen/src/zh-Hant/50bf41ac6fd8ec8cd6481fd1114aaf00abed0461fc8e8c81cc0373d38ffa835c.md +123 -0
- package/.zen/src/zh-Hant/6e7ca196ba51235db30218cf9b28f92d35937b09a22411062be088a0086b29ed.md +70 -0
- package/.zen/src/zh-Hant/98a9dd72146a69d155030cb7286ea2d10e0521451de9754cbdfcde46c46f2c71.md +71 -0
- package/README.md +1 -2
- package/assets/templates/default/layout.html +82 -0
- package/dist/build/pipeline.d.ts.map +1 -1
- package/dist/build/pipeline.js +0 -1
- package/dist/build/pipeline.js.map +1 -1
- package/dist/cli.js +0 -2
- package/dist/cli.js.map +1 -1
- package/dist/process/template.d.ts.map +1 -1
- package/dist/process/template.js +3 -4
- package/dist/process/template.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/convertMarkdownToHtml.d.ts.map +1 -1
- package/dist/utils/convertMarkdownToHtml.js +75 -22
- package/dist/utils/convertMarkdownToHtml.js.map +1 -1
- package/docs/test-mermaid.md +105 -0
- package/package.json +2 -2
- package/src/build/pipeline.ts +0 -1
- package/src/cli.ts +0 -2
- package/src/process/template.ts +3 -9
- package/src/types.ts +0 -1
- package/src/utils/convertMarkdownToHtml.ts +80 -21
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
'title': 'ZEN - минималистичный Markdown + AI генератор статических сайтов'
|
|
3
|
+
'summary': 'ZEN — это генератор статических сайтов с интеграцией AI, ориентированный на упрощение написания документации и процесса сборки. Он позволяет пользователям создавать статические HTML-сайты в папках под управлением git с использованием Markdown, без сложных конфигураций — все настройки скрыты в каталоге .zen. Ключевые функции включают интеллектуальную навигацию по категориям (генерация карты сайта через анализ контента с помощью AI), автоматический инкрементный перевод (поддержка многоязычных версий, пользователи могут писать на родном языке, а AI обрабатывает перевод) и минималистичный опыт написания. Инструмент зависит от Node.js, ключа OpenAI API и Git, быстро собирается через командную строку и поддерживает указание языковых параметров, таких как zh-Hans и en-US.'
|
|
4
|
+
'tags':
|
|
5
|
+
- 'генератор статических сайтов'
|
|
6
|
+
- 'Markdown'
|
|
7
|
+
- 'AI'
|
|
8
|
+
- 'многоязычный перевод'
|
|
9
|
+
- 'минимализм'
|
|
10
|
+
- 'инструмент для документации'
|
|
11
|
+
- 'ZEN'
|
|
12
|
+
'inferred_lang': 'zh-Hans'
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - минималистичный Markdown + AI генератор статических сайтов
|
|
16
|
+
|
|
17
|
+
[> Демо сайта](https://zen.zccz14.com/)
|
|
18
|
+
|
|
19
|
+
## Основные функции
|
|
20
|
+
|
|
21
|
+
1. 📃 **Генерация статических сайтов**: Преобразует любую папку с Markdown-файлами под управлением git в статический HTML-сайт.
|
|
22
|
+
2. 🧭 **Интеллектуальная навигация по категориям**: Использует AI для анализа контента, генерации карты сайта и навигации, независимо от расположения исходных файлов.
|
|
23
|
+
3. 🌍 **Автоматический инкрементный перевод**: Использует AI для инкрементного перевода, позволяя пользователям писать Markdown на родном языке, но при этом поддерживать многоязычность.
|
|
24
|
+
|
|
25
|
+
Зачем ещё один генератор статических сайтов на Markdown? Я переосмыслил, как инструменты для документации могут лучше служить авторам в эпоху AI:
|
|
26
|
+
|
|
27
|
+
- Возвращение к содержанию: Минимизация отвлечений, фокус на написании
|
|
28
|
+
|
|
29
|
+
Вернуть документации её суть, а написанию — спокойствие.
|
|
30
|
+
|
|
31
|
+
Во-первых, я не хочу быть библиотекарем. Иногда я хочу записать что-то, но ещё не придумал заголовок или не организовал это должным образом. Я хочу, чтобы LLM автоматически генерировала заголовки, делала выжимки, классифицировала и организовывала навигацию.
|
|
32
|
+
|
|
33
|
+
Во-вторых, мой рабочий кабинет должен быть чистым. Мне не нужны сложные инструменты сборки с запутанными конфигурациями, сложные структуры документов. Каждый раз, когда я вижу конфигурационные файлы и структуры проектов таких инструментов, как Docusaurus, VuePress, Astro, у меня начинает болеть голова. Теперь ZEN прячет все настройки в каталог .zen, сметая их в угол, чтобы пользователь мог сосредоточиться на содержании, а всё остальное ZEN берёт на себя. Все остальные каталоги — ваше пространство для письма, вы можете свободно организовывать свои Markdown-файлы.
|
|
34
|
+
|
|
35
|
+
- Возвращение к родному языку: Пишите на родном языке, плавно создавайте многоязычные версии
|
|
36
|
+
|
|
37
|
+
Жизнь коротка, мне лень переводить. Человек наиболее полно раскрывает глубину своего мышления, когда использует родной язык. Но при этом оставаться на связи с миром необходимо, и я не хочу отказываться от многоязычного общения. Поэтому мне нужен инструмент, который позволит мне писать на родном языке, но при этом сделать мой контент доступным для большего числа людей. Текущие решения i18n требуют самостоятельного перевода и поддержки обновлений контента, что слишком хлопотно. Я выбираю использование LLM для перевода, что экономит много времени и позволяет одним кликом выполнить перевод на множество языков.
|
|
38
|
+
|
|
39
|
+
## Быстрый старт
|
|
40
|
+
|
|
41
|
+
Предварительные требования:
|
|
42
|
+
|
|
43
|
+
- Установлен [Node.js](https://nodejs.org/) (рекомендуется версия 18 и выше, должна быть доступна команда npx)
|
|
44
|
+
- Получен [OpenAI API Key](https://platform.openai.com/account/api-keys) или совместимый с OPENAI ключ API
|
|
45
|
+
- Установлен Git (для получения списка Markdown-файлов из Git, игнорируются файлы, отфильтрованные по правилам .gitignore)
|
|
46
|
+
|
|
47
|
+
Сначала работайте в папке, которая уже находится под управлением Git:
|
|
48
|
+
|
|
49
|
+
Настройте переменные окружения
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export OPENAI_API_KEY="sk-xxxxxx" # Обязательно: замените на ваш OpenAI API Key
|
|
53
|
+
export OPENAI_BASE_URL="https://api.openai.com/v1" # Опционально, по умолчанию используется официальный API OpenAI
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # Опционально, по умолчанию используется модель gpt-3.5-turbo
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Соберите сайт с поддержкой многоязычного перевода. Использует текущий каталог как исходный, вывод в каталог `.zen/dist`.
|
|
58
|
+
|
|
59
|
+
- Можно несколько раз использовать параметр `--lang` для указания нужных языковых версий (например, `--lang zh-Hans --lang en-US`).
|
|
60
|
+
- Исходный язык указывать не нужно, ZEN определит его автоматически.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx zengen@latest build --lang zh-Hans --lang en-US
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Просмотреть больше параметров или справку**:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npx zengen@latest
|
|
70
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
'title': 'ZEN - минималистичный Markdown + AI генератор статических сайтов'
|
|
3
|
+
'summary': 'ZEN — это генератор статических сайтов с функциями искусственного интеллекта, разработанный специально для документов Markdown. Он позволяет пользователям преобразовывать Git-папки с файлами Markdown в статические HTML-сайты без сложных настроек — все конфигурации скрыты в каталоге .zen. Ключевые функции включают интеллектуальную навигацию по категориям (с использованием AI для анализа содержимого и создания карты сайта), автоматический инкрементный перевод (поддержка многоязычных версий, позволяющая пользователям писать на родном языке, а AI обрабатывает перевод) и минималистичный опыт написания. Руководство по быстрому старту требует установки Node.js, получения OpenAI API Key и Git, сборки сайта через командную строку с поддержкой указания языка и базового URL.'
|
|
4
|
+
'tags':
|
|
5
|
+
- 'генератор статических сайтов'
|
|
6
|
+
- 'Markdown'
|
|
7
|
+
- 'AI'
|
|
8
|
+
- 'многоязычный перевод'
|
|
9
|
+
- 'минимализм'
|
|
10
|
+
- 'инструмент для документов'
|
|
11
|
+
- 'Git'
|
|
12
|
+
'inferred_lang': 'ru-RU'
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - минималистичный Markdown + AI генератор статических сайтов
|
|
16
|
+
|
|
17
|
+
[> Демо сайта](https://zen.zccz14.com/)
|
|
18
|
+
|
|
19
|
+
## Основные функции
|
|
20
|
+
|
|
21
|
+
1. 📃 **Генерация статических сайтов**: Преобразуйте любую Git-папку с Markdown-файлами в статический HTML-сайт.
|
|
22
|
+
2. 🧭 **Интеллектуальная навигация по категориям**: Используйте AI для анализа содержимого, создания карты сайта и навигации, независимо от расположения исходных файлов.
|
|
23
|
+
3. 🌍 **Автоматический инкрементный перевод**: Используйте AI для инкрементного перевода, позволяя пользователям писать Markdown на родном языке, но при этом поддерживая многоязычность.
|
|
24
|
+
|
|
25
|
+
Зачем ещё один генератор статических сайтов для Markdown? Я переосмыслил, как инструменты для документов могут лучше служить авторам в эпоху AI:
|
|
26
|
+
|
|
27
|
+
- Возвращение к содержанию: Минимизация отвлечений, фокус на написании
|
|
28
|
+
|
|
29
|
+
Вернуть документам их суть, а написанию — спокойствие.
|
|
30
|
+
|
|
31
|
+
Во-первых, я не хочу быть библиотекарем. Иногда я хочу записать что-то, но ещё не придумал заголовок или не организовал это должным образом. Я хочу, чтобы LLM автоматически генерировала заголовки, делала аннотации, классифицировала и организовывала навигацию.
|
|
32
|
+
|
|
33
|
+
Во-вторых, мой рабочий кабинет должен быть чистым. Мне не нужны сложные инструменты сборки с запутанными конфигурациями, сложные структуры документов. Каждый раз, когда я вижу конфигурационные файлы и структуры проектов таких инструментов, как Docusaurus, VuePress, Astro, у меня начинает болеть голова. Теперь ZEN скрывает все настройки в каталоге .zen, убирая их с глаз долой. Пользователю нужно только сосредоточиться на написании контента, а всё остальное ZEN берёт на себя. Все остальные каталоги — это ваше пространство для письма, вы можете свободно организовывать свои Markdown-файлы.
|
|
34
|
+
|
|
35
|
+
- Возвращение к родному языку: Пишите на родном языке, плавно создавайте многоязычные версии
|
|
36
|
+
|
|
37
|
+
Жизнь коротка, мне лень переводить. Человек наиболее полно раскрывает глубину своего мышления, когда использует родной язык. Но при этом необходимо оставаться на связи с миром, и я не хочу отказываться от многоязычного общения. Поэтому мне нужен инструмент, который позволит мне писать на родном языке, но при этом сделать мой контент доступным для большего числа людей. Текущие решения i18n требуют самостоятельного перевода и поддержки обновлений контента, что слишком хлопотно. Я выбрал использование LLM для перевода, что экономит много времени и позволяет выполнить перевод на несколько языков одним нажатием.
|
|
38
|
+
|
|
39
|
+
## Быстрый старт
|
|
40
|
+
|
|
41
|
+
Предварительные требования:
|
|
42
|
+
|
|
43
|
+
- Установлен [Node.js](https://nodejs.org/) (рекомендуется версия 18 и выше, должна быть доступна команда npx)
|
|
44
|
+
- Получен [OpenAI API Key](https://platform.openai.com/account/api-keys) или совместимый с OPENAI API Key
|
|
45
|
+
- Установлен Git (для получения списка Markdown-файлов из Git, игнорируя файлы, отфильтрованные по правилам .gitignore)
|
|
46
|
+
|
|
47
|
+
Сначала работайте в папке, которая уже управляется Git:
|
|
48
|
+
|
|
49
|
+
Настройте переменные окружения
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export OPENAI_API_KEY="sk-xxxxxx" # Обязательно: замените на ваш OpenAI API Key
|
|
53
|
+
export OPENAI_BASE_URL="https://api.openai.com/v1" # Опционально, по умолчанию используется официальный API OpenAI
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # Опционально, по умолчанию используется модель gpt-3.5-turbo
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Соберите сайт с поддержкой многоязычного перевода. Используйте текущий каталог как исходный, вывод будет в каталог `.zen/dist`.
|
|
58
|
+
|
|
59
|
+
- Можно указать нужные языковые версии, несколько раз используя параметр `--lang` (например, `--lang ru-RU --lang en-US`).
|
|
60
|
+
- Можно указать базовый префикс URL сайта с помощью параметра `--base-url` (например, имя репозитория на GitHub Pages).
|
|
61
|
+
- Исходный язык указывать не нужно, ZEN определит его автоматически.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx zengen@latest build --lang ru-RU --lang en-US
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Посмотреть больше параметров или справку**:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx zengen@latest
|
|
71
|
+
```
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
'title': 'Mermaid-diagramtestdokument'
|
|
3
|
+
'summary': 'Detta dokument är en testfil för att verifiera Mermaid-diagramrendering i ZEN. Den innehåller exempel på flera Mermaid-diagramtyper, såsom flödesschema, sekvensdiagram, Gantt-schema, klassdiagram, tillståndsdiagram och cirkeldiagram, samt ett test med felaktig syntax för att kontrollera felmeddelandevisning. Dokumentet syftar till att demonstrera Mermaid-integrationens korrekta funktion i ZEN.'
|
|
4
|
+
'tags':
|
|
5
|
+
- 'Mermaid'
|
|
6
|
+
- 'Diagramtest'
|
|
7
|
+
- 'ZEN'
|
|
8
|
+
- 'Flödesschema'
|
|
9
|
+
- 'Sekvensdiagram'
|
|
10
|
+
- 'Gantt-schema'
|
|
11
|
+
- 'Klassdiagram'
|
|
12
|
+
- 'Tillståndsdiagram'
|
|
13
|
+
'inferred_date': '2024-01-01'
|
|
14
|
+
'inferred_lang': 'sv-SE'
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Mermaid-diagramtest
|
|
18
|
+
|
|
19
|
+
Detta är en testfil för att verifiera Mermaid-diagramrendering i ZEN.
|
|
20
|
+
|
|
21
|
+
## Exempel på flödesschema
|
|
22
|
+
|
|
23
|
+
```mermaid
|
|
24
|
+
graph TD
|
|
25
|
+
A[Start] --> B{Fortsätt?}
|
|
26
|
+
B -->|Ja| C[Utför åtgärd]
|
|
27
|
+
B -->|Nej| D[Avsluta]
|
|
28
|
+
C --> E[Kontrollera resultat]
|
|
29
|
+
E --> F{Lyckades?}
|
|
30
|
+
F -->|Ja| G[Klart]
|
|
31
|
+
F -->|Nej| H[Försök igen]
|
|
32
|
+
H --> C
|
|
33
|
+
G --> D
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Exempel på sekvensdiagram
|
|
37
|
+
|
|
38
|
+
```mermaid
|
|
39
|
+
sequenceDiagram
|
|
40
|
+
participant Användare
|
|
41
|
+
participant System
|
|
42
|
+
participant Databas
|
|
43
|
+
|
|
44
|
+
Användare->>System: Skicka förfrågan
|
|
45
|
+
System->>Databas: Sök data
|
|
46
|
+
Databas-->>System: Returnera resultat
|
|
47
|
+
System-->>Användare: Visa resultat
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Exempel på Gantt-schema
|
|
51
|
+
|
|
52
|
+
```mermaid
|
|
53
|
+
gantt
|
|
54
|
+
title Projektplan
|
|
55
|
+
dateFormat YYYY-MM-DD
|
|
56
|
+
section Design
|
|
57
|
+
Kravanalys :done, des1, 2024-01-01, 7d
|
|
58
|
+
Prototypdesign :active, des2, 2024-01-08, 5d
|
|
59
|
+
Detaljdesign : des3, after des2, 5d
|
|
60
|
+
section Utveckling
|
|
61
|
+
Frontendutveckling : dev1, after des3, 10d
|
|
62
|
+
Backendutveckling : dev2, after des3, 15d
|
|
63
|
+
section Test
|
|
64
|
+
Enhetstest : test1, after dev1, 5d
|
|
65
|
+
Integrationstest : test2, after dev2, 5d
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Exempel på klassdiagram
|
|
69
|
+
|
|
70
|
+
```mermaid
|
|
71
|
+
classDiagram
|
|
72
|
+
class Animal {
|
|
73
|
+
+String name
|
|
74
|
+
+int age
|
|
75
|
+
+void eat()
|
|
76
|
+
+void sleep()
|
|
77
|
+
}
|
|
78
|
+
class Dog {
|
|
79
|
+
+void bark()
|
|
80
|
+
}
|
|
81
|
+
class Cat {
|
|
82
|
+
+void meow()
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
Animal <|-- Dog
|
|
86
|
+
Animal <|-- Cat
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Exempel på tillståndsdiagram
|
|
90
|
+
|
|
91
|
+
```mermaid
|
|
92
|
+
stateDiagram-v2
|
|
93
|
+
[*] --> Viloläge
|
|
94
|
+
Viloläge --> Bearbetning : Starta bearbetning
|
|
95
|
+
Bearbetning --> Framgång : Bearbetning lyckades
|
|
96
|
+
Bearbetning --> Fel : Bearbetning misslyckades
|
|
97
|
+
Framgång --> [*]
|
|
98
|
+
Fel --> [*]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Exempel på cirkeldiagram
|
|
102
|
+
|
|
103
|
+
```mermaid
|
|
104
|
+
pie title Webbläsaranvändning
|
|
105
|
+
"Chrome" : 65.2
|
|
106
|
+
"Firefox" : 15.3
|
|
107
|
+
"Safari" : 12.5
|
|
108
|
+
"Edge" : 5.2
|
|
109
|
+
"Övriga" : 1.8
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Test av felaktig syntax (borde visa felmeddelande)
|
|
113
|
+
|
|
114
|
+
```mermaid
|
|
115
|
+
graph TD
|
|
116
|
+
A --> B
|
|
117
|
+
// Här saknas pildefinition
|
|
118
|
+
C --> D
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Denna testfil innehåller flera Mermaid-diagramtyper för att verifiera att ZEN:s Mermaid-integration fungerar korrekt.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
'title': 'ZEN - Minimalistisk Markdown + AI Static Site Builder'
|
|
3
|
+
'summary': 'ZEN är en AI-integrerad statisk webbplatsgenerator som fokuserar på att förenkla dokumentationsskrivande och byggprocessen. Den låter användare skapa statiska HTML-webbplatser från git-hanterade mappar med Markdown, utan komplex konfiguration – alla inställningar är dolda i .zen-katalogen. Kärnfunktioner inkluderar intelligent kategorinavigering (genererar webbplatskarta via AI-innehållsanalys), automatisk inkrementell översättning (stödjer flerspråkiga versioner, användare kan skriva på modersmålet medan AI hanterar översättningar) och en skrivupplevelse med minimal störning. Verktyget kräver Node.js, OpenAI API-nyckel och Git, byggs snabbt via kommandoraden och stöder språkparametrar som zh-Hans och en-US.'
|
|
4
|
+
'tags':
|
|
5
|
+
- 'Statisk webbplatsgenerator'
|
|
6
|
+
- 'Markdown'
|
|
7
|
+
- 'AI'
|
|
8
|
+
- 'Flerspråkig översättning'
|
|
9
|
+
- 'Minimalism'
|
|
10
|
+
- 'Dokumentationsverktyg'
|
|
11
|
+
- 'ZEN'
|
|
12
|
+
'inferred_lang': 'zh-Hans'
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - Minimalistisk Markdown + AI Static Site Builder
|
|
16
|
+
|
|
17
|
+
[> Webbplatsdemo](https://zen.zccz14.com/)
|
|
18
|
+
|
|
19
|
+
## Grundläggande funktioner
|
|
20
|
+
|
|
21
|
+
1. 📃 **Statisk webbplatsgenerering**: Bygg en statisk HTML-webbplats från valfri git-hanterad mapp som innehåller Markdown.
|
|
22
|
+
2. 🧭 **Intelligent kategorinavigering**: Använder AI för innehållsanalys, genererar webbplatskarta och navigation – känslighet för källfilens placering elimineras.
|
|
23
|
+
3. 🌍 **Automatisk inkrementell översättning**: Använder AI för inkrementell översättning, låter användare skriva Markdown på modersmålet samtidigt som webbplatsen blir flerspråkig.
|
|
24
|
+
|
|
25
|
+
Varför ännu en Markdown-statisk-webbplatsgenerator? Jag har tänkt på hur dokumentationsverktyg i AI-eran bättre kan tjäna författare:
|
|
26
|
+
|
|
27
|
+
- Återgå till innehållet: Minimal störning, fokus på skrivande
|
|
28
|
+
|
|
29
|
+
Låt dokumentationen återgå till sin essens, låt skrivandet återvända till lugn och ro.
|
|
30
|
+
|
|
31
|
+
För det första vill jag inte vara bibliotekarie. Ibland vill jag skriva ner något, men jag kanske inte har bestämt mig för en titel eller format ännu. Jag vill att LLM automatiskt genererar titlar, sammanfattningar, kategoriseringar, navigering och annan organisering.
|
|
32
|
+
|
|
33
|
+
För det andra måste mitt skrivbord hållas rent. Jag vill inte ha komplexa byggverktyg, krångla med komplicerade dokumentationskonfigurationer eller invecklade strukturer. Varje gång jag ser konfigurationsfiler och projektstrukturer för verktyg som Docusaurus, VuePress eller Astro får jag huvudvärk. Nu har ZEN valt att gömma all konfiguration i .zen-katalogen – sopa undan den i ett hörn. Användaren behöver bara fokusera på innehållet, resten hanterar ZEN. Alla andra kataloger är ditt skrivutrymme, du kan organisera dina Markdown-filer hur du vill.
|
|
34
|
+
|
|
35
|
+
- Återgå till modersmålet: Skriv på modersmålet, bygg smidiga flerspråkiga versioner
|
|
36
|
+
|
|
37
|
+
Livet är för kort för att översätta. När man använder sitt modersmål kan man uttrycka sina tankar på djupast sätt. Men att hålla kontakten med världen är också nödvändigt – jag vill inte avstå från flerspråkig kommunikation. Därför vill jag ha ett verktyg som låter mig skriva på modersmålet samtidigt som fler kan se mitt innehåll. Nuvarande i18n-lösningar kräver inte bara egenöversättning utan även egen underhåll av innehållsuppdateringar – för besvärligt. Jag väljer att använda LLM för översättningar, sparar massor av tid och kan skapa flerspråkiga versioner med ett knapptryck.
|
|
38
|
+
|
|
39
|
+
## Snabbstart
|
|
40
|
+
|
|
41
|
+
Förutsättningar:
|
|
42
|
+
|
|
43
|
+
- [Node.js](https://nodejs.org/) installerad (rekommenderas version 18 eller senare, npx-kommando krävs)
|
|
44
|
+
- [OpenAI API-nyckel](https://platform.openai.com/account/api-keys) erhållen, eller OpenAI-kompatibel API-nyckel
|
|
45
|
+
- Git installerad (används för att lista Markdown-filer från Git, ignorerar filer filtrerade av .gitignore-regler)
|
|
46
|
+
|
|
47
|
+
Först, arbeta i en mapp som redan hanteras av git:
|
|
48
|
+
|
|
49
|
+
Konfigurera miljövariabler
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export OPENAI_API_KEY="sk-xxxxxx" # Obligatoriskt: Ersätt med din OpenAI API-nyckel
|
|
53
|
+
export OPENAI_BASE_URL="https://api.openai.com/v1" # Valfritt, använder OpenAIs officiella API som standard
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # Valfritt, använder gpt-3.5-turbo-modellen som standard
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Bygg webbplatsen, stöder flerspråkig översättning. Använder aktuell katalog som källkatalog, skriver ut till `.zen/dist`-katalogen.
|
|
58
|
+
|
|
59
|
+
- Du kan ange språkversioner som ska genereras genom att använda `--lang`-parametern flera gånger (t.ex. `--lang zh-Hans --lang en-US`).
|
|
60
|
+
- Ingen källspråkskonfiguration behövs, ZEN upptäcker automatiskt.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx zengen@latest build --lang zh-Hans --lang en-US
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Visa fler parametrar eller hjälp**:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npx zengen@latest
|
|
70
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
'title': 'ZEN - Minimalistisk Markdown + AI-statisk webbplatsbyggare'
|
|
3
|
+
'summary': 'ZEN är en statisk webbplatsbyggare med AI-funktioner, speciellt utformad för Markdown-dokument. Den låter användare omvandla en Git-mapp med Markdown-filer till en statisk HTML-webbplats utan krånglig konfiguration – alla inställningar är dolda i .zen-katalogen. Kärnfunktioner inkluderar intelligent kategorinavigering (använder AI för att analysera innehåll och generera en webbplatskarta), automatisk inkrementell översättning (stödjer flerspråkiga versioner, användare kan skriva på sitt modersmål medan AI hanterar översättningen) och en skrivupplevelse med minimal störning. Snabbstartsguiden kräver installation av Node.js, hämtning av en OpenAI API-nyckel och Git, byggande av webbplatsen via kommandoraden, med stöd för att specificera språk och bas-URL.'
|
|
4
|
+
'tags':
|
|
5
|
+
- 'Statisk webbplatsbyggare'
|
|
6
|
+
- 'Markdown'
|
|
7
|
+
- 'AI'
|
|
8
|
+
- 'Flerspråkig översättning'
|
|
9
|
+
- 'Minimalism'
|
|
10
|
+
- 'Dokumentationsverktyg'
|
|
11
|
+
- 'Git'
|
|
12
|
+
'inferred_lang': 'zh-Hans'
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - Minimalistisk Markdown + AI-statisk webbplatsbyggare
|
|
16
|
+
|
|
17
|
+
[> Webbplatsdemo](https://zen.zccz14.com/)
|
|
18
|
+
|
|
19
|
+
## Grundläggande funktioner
|
|
20
|
+
|
|
21
|
+
1. 📃 **Statisk webbplatsbyggnad**: Bygg en statisk HTML-webbplats från valfri git-mapp som innehåller Markdown.
|
|
22
|
+
2. 🧭 **Intelligent kategorinavigering**: Använder AI för innehållsanalys, genererar webbplatskarta och navigering, känslighet för källfilernas placering är låg.
|
|
23
|
+
3. 🌍 **Automatisk inkrementell översättning**: Använder AI för inkrementell översättning, låter användare skriva Markdown på sitt modersmål, men webbplatsen kan vara flerspråkig.
|
|
24
|
+
|
|
25
|
+
Varför ännu en Markdown-statisk webbplatsbyggare? Jag har tänkt om hur dokumentationsverktyg i AI-eran bättre kan tjäna författare:
|
|
26
|
+
|
|
27
|
+
- Återgå till innehållet: Minimera störningar, fokusera på skrivandet
|
|
28
|
+
|
|
29
|
+
Låt dokumentationen återgå till sin kärna, låt skrivandet återvända till lugn och ro.
|
|
30
|
+
|
|
31
|
+
För det första vill jag inte vara bibliotekarie. Ibland vill jag skriva ner något, men jag kanske inte har bestämt mig för en titel ännu eller format en tydlig struktur. Jag vill att LLM automatiskt ska generera titlar, göra sammanfattningar, kategorisera, skapa navigering och andra organisatoriska uppgifter.
|
|
32
|
+
|
|
33
|
+
För det andra måste mitt skrivbord hållas rent. Jag vill inte ha krångliga byggverktyg, krångla med komplex dokumentationskonfiguration eller gilla invecklade strukturer. Varje gång jag ser konfigurationsfiler och projektstrukturer för verktyg som Docusaurus, VuePress eller Astro får jag huvudvärk. Nu väljer ZEN att gömma all konfiguration i .zen-katalogen, sopa undan den i ett hörn, så att användaren bara kan fokusera på att skriva innehåll – resten hanterar ZEN. Alla andra kataloger är ditt skrivutrymme, du kan organisera dina Markdown-filer hur du vill.
|
|
34
|
+
|
|
35
|
+
- Återgå till modersmålet: Skriv på ditt modersmål, bygg smidigt flerspråkiga versioner
|
|
36
|
+
|
|
37
|
+
Livet är kort, jag har inte tid att översätta. När man använder sitt modersmål kan man uttrycka sina tankar på djupast sätt. Men att hålla kontakten med världen är också nödvändigt, jag vill inte avstå från flerspråkig kommunikation. Därför vill jag ha ett verktyg som låter mig skriva på mitt modersmål, samtidigt som det gör mitt innehåll tillgängligt för fler. Nuvarande i18n kräver inte bara att man översätter själv, utan också att man underhåller innehållsuppdateringar – för besvärligt. Jag väljer att använda LLM för att hjälpa mig med översättningar, vilket sparar mycket tid och gör det möjligt att slutföra flerspråkiga översättningar med ett knapptryck.
|
|
38
|
+
|
|
39
|
+
## Snabbstart
|
|
40
|
+
|
|
41
|
+
Förutsättningar:
|
|
42
|
+
|
|
43
|
+
- [Node.js](https://nodejs.org/) installerad (rekommenderad version 18 eller senare, npx-kommandot måste finnas)
|
|
44
|
+
- [OpenAI API-nyckel](https://platform.openai.com/account/api-keys) hämtad, eller en OPENAI-kompatibel API-nyckel
|
|
45
|
+
- Git installerat (används för att lista Markdown-filer från Git, ignorerar filer som filtreras bort av .gitignore-regler)
|
|
46
|
+
|
|
47
|
+
Först, arbeta i en mapp som redan hanteras av git:
|
|
48
|
+
|
|
49
|
+
Konfigurera miljövariabler
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export OPENAI_API_KEY="sk-xxxxxx" # Obligatoriskt: Ersätt med din OpenAI API-nyckel
|
|
53
|
+
export OPENAI_BASE_URL="https://api.openai.com/v1" # Valfritt, använder OpenAIs officiella API som standard
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # Valfritt, använder gpt-3.5-turbo-modellen som standard
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Bygg webbplatsen, stödjer flerspråkig översättning. Använd aktuell katalog som källkatalog, skicka utdata till `.zen/dist`-katalogen.
|
|
58
|
+
|
|
59
|
+
- Du kan ange språkversioner som behöver genereras genom att använda `--lang`-parametern flera gånger (t.ex. `--lang zh-Hans --lang en-US`).
|
|
60
|
+
- Du kan ange webbplatsens bas-URL-prefix med `--base-url`-parametern (t.ex. ett reponamn på GitHub Pages).
|
|
61
|
+
- Ingen konfiguration av källspråk behövs, ZEN upptäcker det automatiskt.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx zengen@latest build --lang zh-Hans --lang en-US
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Visa fler parametrar eller hjälp**:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx zengen@latest
|
|
71
|
+
```
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
'title': 'เอกสารทดสอบไดอะแกรม Mermaid'
|
|
3
|
+
'summary': 'เอกสารนี้เป็นไฟล์ทดสอบสำหรับตรวจสอบความสามารถในการแสดงผลไดอะแกรม Mermaid ใน ZEN ประกอบด้วยตัวอย่างไดอะแกรม Mermaid หลายประเภท เช่น โฟลว์ชาร์ต ไดอะแกรมลำดับ แกนต์ชาร์ต ไดอะแกรมคลาส ไดอะแกรมสถานะ และแผนภูมิวงกลม พร้อมทั้งรวมการทดสอบไวยากรณ์ผิดพลาดเพื่อตรวจสอบการแสดงข้อความผิดพลาด เอกสารนี้มีวัตถุประสงค์เพื่อแสดงสถานะการทำงานปกติของการผสานรวม Mermaid ใน ZEN'
|
|
4
|
+
'tags':
|
|
5
|
+
- 'Mermaid'
|
|
6
|
+
- 'การทดสอบไดอะแกรม'
|
|
7
|
+
- 'ZEN'
|
|
8
|
+
- 'โฟลว์ชาร์ต'
|
|
9
|
+
- 'ไดอะแกรมลำดับ'
|
|
10
|
+
- 'แกนต์ชาร์ต'
|
|
11
|
+
- 'ไดอะแกรมคลาส'
|
|
12
|
+
- 'ไดอะแกรมสถานะ'
|
|
13
|
+
'inferred_date': '2024-01-01'
|
|
14
|
+
'inferred_lang': 'th-TH'
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# การทดสอบไดอะแกรม Mermaid
|
|
18
|
+
|
|
19
|
+
นี่คือไฟล์ทดสอบสำหรับตรวจสอบความสามารถในการแสดงผลไดอะแกรม Mermaid ใน ZEN
|
|
20
|
+
|
|
21
|
+
## ตัวอย่างโฟลว์ชาร์ต
|
|
22
|
+
|
|
23
|
+
```mermaid
|
|
24
|
+
graph TD
|
|
25
|
+
A[เริ่มต้น] --> B{ดำเนินการต่อ?}
|
|
26
|
+
B -->|ใช่| C[ดำเนินการ]
|
|
27
|
+
B -->|ไม่| D[สิ้นสุด]
|
|
28
|
+
C --> E[ตรวจสอบผลลัพธ์]
|
|
29
|
+
E --> F{สำเร็จหรือไม่?}
|
|
30
|
+
F -->|ใช่| G[เสร็จสิ้น]
|
|
31
|
+
F -->|ไม่| H[ลองใหม่]
|
|
32
|
+
H --> C
|
|
33
|
+
G --> D
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## ตัวอย่างไดอะแกรมลำดับ
|
|
37
|
+
|
|
38
|
+
```mermaid
|
|
39
|
+
sequenceDiagram
|
|
40
|
+
participant ผู้ใช้
|
|
41
|
+
participant ระบบ
|
|
42
|
+
participant ฐานข้อมูล
|
|
43
|
+
|
|
44
|
+
ผู้ใช้->>ระบบ: ส่งคำขอ
|
|
45
|
+
ระบบ->>ฐานข้อมูล: ค้นหาข้อมูล
|
|
46
|
+
ฐานข้อมูล-->>ระบบ: ส่งกลับผลลัพธ์
|
|
47
|
+
ระบบ-->>ผู้ใช้: แสดงผลลัพธ์
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## ตัวอย่างแกนต์ชาร์ต
|
|
51
|
+
|
|
52
|
+
```mermaid
|
|
53
|
+
gantt
|
|
54
|
+
title ตารางเวลาโครงการ
|
|
55
|
+
dateFormat YYYY-MM-DD
|
|
56
|
+
section การออกแบบ
|
|
57
|
+
วิเคราะห์ความต้องการ :done, des1, 2024-01-01, 7d
|
|
58
|
+
ออกแบบต้นแบบ :active, des2, 2024-01-08, 5d
|
|
59
|
+
ออกแบบรายละเอียด : des3, after des2, 5d
|
|
60
|
+
section การพัฒนา
|
|
61
|
+
พัฒนาด้านหน้าบ้าน : dev1, after des3, 10d
|
|
62
|
+
พัฒนาด้านหลังบ้าน : dev2, after des3, 15d
|
|
63
|
+
section การทดสอบ
|
|
64
|
+
ทดสอบหน่วย : test1, after dev1, 5d
|
|
65
|
+
ทดสอบบูรณาการ : test2, after dev2, 5d
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## ตัวอย่างไดอะแกรมคลาส
|
|
69
|
+
|
|
70
|
+
```mermaid
|
|
71
|
+
classDiagram
|
|
72
|
+
class สัตว์ {
|
|
73
|
+
+String ชื่อ
|
|
74
|
+
+int อายุ
|
|
75
|
+
+void กิน()
|
|
76
|
+
+void นอน()
|
|
77
|
+
}
|
|
78
|
+
class สุนัข {
|
|
79
|
+
+void เห่า()
|
|
80
|
+
}
|
|
81
|
+
class แมว {
|
|
82
|
+
+void ร้อง()
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
สัตว์ <|-- สุนัข
|
|
86
|
+
สัตว์ <|-- แมว
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## ตัวอย่างไดอะแกรมสถานะ
|
|
90
|
+
|
|
91
|
+
```mermaid
|
|
92
|
+
stateDiagram-v2
|
|
93
|
+
[*] --> รออยู่
|
|
94
|
+
รออยู่ --> กำลังประมวลผล : เริ่มประมวลผล
|
|
95
|
+
กำลังประมวลผล --> สำเร็จ : ประมวลผลสำเร็จ
|
|
96
|
+
กำลังประมวลผล --> ผิดพลาด : ประมวลผลล้มเหลว
|
|
97
|
+
สำเร็จ --> [*]
|
|
98
|
+
ผิดพลาด --> [*]
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## ตัวอย่างแผนภูมิวงกลม
|
|
102
|
+
|
|
103
|
+
```mermaid
|
|
104
|
+
pie title อัตราการใช้เบราว์เซอร์
|
|
105
|
+
"Chrome" : 65.2
|
|
106
|
+
"Firefox" : 15.3
|
|
107
|
+
"Safari" : 12.5
|
|
108
|
+
"Edge" : 5.2
|
|
109
|
+
"อื่นๆ" : 1.8
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## การทดสอบไวยากรณ์ผิดพลาด (ควรแสดงข้อความผิดพลาด)
|
|
113
|
+
|
|
114
|
+
```mermaid
|
|
115
|
+
graph TD
|
|
116
|
+
A --> B
|
|
117
|
+
// ขาดการกำหนดลูกศรที่นี่
|
|
118
|
+
C --> D
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
ไฟล์ทดสอบนี้ประกอบด้วยไดอะแกรม Mermaid หลายประเภท เพื่อตรวจสอบว่าการผสานรวม Mermaid ใน ZEN ทำงานได้ปกติ
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
'title': 'ZEN - เครื่องมือสร้างเว็บไซต์แบบสแตติกด้วย Markdown + AI แนวมินิมัลลิสต์'
|
|
3
|
+
'summary': 'ZEN เป็นเครื่องมือสร้างเว็บไซต์แบบสแตติกที่ผสาน AI โดยมุ่งเน้นการลดความซับซ้อนของกระบวนการเขียนและสร้างเอกสาร ผู้ใช้สามารถสร้างเว็บไซต์ HTML แบบสแตติกจากโฟลเดอร์ที่จัดการด้วย git โดยใช้ Markdown ได้โดยไม่ต้องตั้งค่าซับซ้อน การตั้งค่าทั้งหมดถูกซ่อนไว้ในไดเรกทอรี .zen ฟีเจอร์หลักประกอบด้วยการนำทางอัจฉริยะแบบจัดหมวดหมู่ (สร้างแผนที่เว็บไซต์ผ่านการวิเคราะห์เนื้อหาด้วย AI) การแปลแบบเพิ่มอัตโนมัติ (รองรับหลายภาษา ผู้ใช้สามารถเขียนด้วยภาษาหลักได้ โดย AI จะจัดการการแปล) และประสบการณ์การเขียนที่รบกวนผู้ใช้น้อยที่สุด เครื่องมือนี้ต้องใช้ Node.js, คีย์ OpenAI API และ Git สามารถสร้างผ่าน command line ได้อย่างรวดเร็ว และรองรับพารามิเตอร์ภาษาที่ระบุ เช่น zh-Hans และ en-US'
|
|
4
|
+
'tags':
|
|
5
|
+
- 'เครื่องมือสร้างเว็บไซต์แบบสแตติก'
|
|
6
|
+
- 'Markdown'
|
|
7
|
+
- 'AI'
|
|
8
|
+
- 'การแปลหลายภาษา'
|
|
9
|
+
- 'มินิมัลลิสต์'
|
|
10
|
+
- 'เครื่องมือเอกสาร'
|
|
11
|
+
- 'ZEN'
|
|
12
|
+
'inferred_lang': 'zh-Hans'
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - เครื่องมือสร้างเว็บไซต์แบบสแตติกด้วย Markdown + AI แนวมินิมัลลิสต์
|
|
16
|
+
|
|
17
|
+
[> ตัวอย่างเว็บไซต์](https://zen.zccz14.com/)
|
|
18
|
+
|
|
19
|
+
## ฟังก์ชันพื้นฐาน
|
|
20
|
+
|
|
21
|
+
1. 📃 **การสร้างเว็บไซต์แบบสแตติก**: แปลงโฟลเดอร์ใดๆ ที่มีไฟล์ Markdown และถูกจัดการด้วย git ให้เป็นเว็บไซต์ HTML แบบสแตติก
|
|
22
|
+
2. 🧭 **การนำทางอัจฉริยะแบบจัดหมวดหมู่**: ใช้ AI ในการวิเคราะห์เนื้อหาเพื่อสร้างแผนที่เว็บไซต์และการนำทาง โดยไม่ขึ้นกับตำแหน่งของไฟล์ต้นฉบับ
|
|
23
|
+
3. 🌍 **การแปลแบบเพิ่มอัตโนมัติ**: ใช้ AI ในการแปลแบบเพิ่มส่วน ทำให้ผู้ใช้สามารถเขียน Markdown ด้วยภาษาหลักได้ แต่ผู้ใช้สามารถเข้าถึงเนื้อหาได้หลายภาษา
|
|
24
|
+
|
|
25
|
+
ทำไมต้องสร้างเครื่องมือสร้างเว็บไซต์แบบสแตติกจาก Markdown ขึ้นมาอีก? ผมได้ทบทวนใหม่ว่าในยุคของ AI เครื่องมือเอกสารสามารถบริการผู้เขียนได้ดีขึ้นอย่างไร:
|
|
26
|
+
|
|
27
|
+
- กลับสู่เนื้อหา: รบกวนน้อยที่สุด มุ่งเน้นที่การเขียน
|
|
28
|
+
|
|
29
|
+
นำเอกสารกลับสู่แก่นแท้ นำความสงบกลับสู่การเขียน
|
|
30
|
+
|
|
31
|
+
ประการแรก ผมไม่อยากเป็นบรรณารักษ์ บางครั้งผมอยากเขียนบางสิ่งลงไป แต่ผมอาจยังไม่ได้คิดชื่อเรื่องให้ดี หรือยังไม่ได้จัดระเบียบเป็นพิเศษ ผมหวังว่า LLM จะช่วยสร้างชื่อเรื่อง สรุปเนื้อหา จัดหมวดหมู่ และจัดการนำทางให้โดยอัตโนมัติ
|
|
32
|
+
|
|
33
|
+
ประการที่สอง ห้องทำงานของผมต้องสะอาดเรียบร้อย ผมไม่ต้องการเครื่องมือสร้างที่ต้องตั้งค่าซับซ้อน ไม่อยากยุ่งกับการตั้งค่าเอกสารที่ซับซ้อน และไม่ชอบโครงสร้างที่วุ่นวาย ทุกครั้งที่เห็นไฟล์การตั้งค่าและโครงสร้างโปรเจกต์ของเครื่องมืออย่าง Docusaurus, VuePress, Astro ผมก็ปวดหัว ตอนนี้ ZEN เลือกที่จะซ่อนการตั้งค่าทั้งหมดไว้ในไดเรกทอรี .zen กวาดเก็บเข้าหมู่มุม ผู้ใช้เพียงแค่ต้องมุ่งเน้นที่การเขียนเนื้อหา ส่วนที่เหลือให้ ZEN จัดการ ไดเรกทอรีอื่นๆ ทั้งหมดคือพื้นที่เขียนของคุณ คุณสามารถจัดระเบียบไฟล์ Markdown ของคุณได้ตามต้องการ
|
|
34
|
+
|
|
35
|
+
- กลับสู่ภาษาหลัก: เขียนด้วยภาษาหลัก สร้างเวอร์ชันหลายภาษาได้อย่างลื่นไหล
|
|
36
|
+
|
|
37
|
+
ชีวิตสั้นนัก ผมขี้เกียจแปล เวลาที่คนเราใช้ภาษาหลัก นั่นคือเวลาที่สามารถดึงเอาความลึกของความคิดออกมาได้มากที่สุด แต่ในขณะเดียวกัน การเชื่อมต่อกับโลกก็เป็นสิ่งจำเป็น ผมไม่อยากเสียโอกาสในการสื่อสารหลายภาษา ดังนั้นผมจึงหวังว่าจะมีเครื่องมือที่ให้ผมเขียนด้วยภาษาหลักได้ และในขณะเดียวกันก็ทำให้คนอื่นๆ ได้เห็นเนื้อหาของผมมากขึ้น i18n ในปัจจุบันนอกจากต้องแปลเองแล้ว ยังต้องดูแลการอัปเดตเนื้อหาด้วยตัวเองอีก ซึ่งยุ่งยากเกินไป ผมเลือกใช้ LLM ช่วยแปล ประหยัดเวลาไปได้มาก และสามารถแปลเป็นหลายภาษาได้ด้วยคลิกเดียว
|
|
38
|
+
|
|
39
|
+
## เริ่มต้นอย่างรวดเร็ว
|
|
40
|
+
|
|
41
|
+
ข้อกำหนดเบื้องต้น:
|
|
42
|
+
|
|
43
|
+
- ติดตั้ง [Node.js](https://nodejs.org/) แล้ว (แนะนำเวอร์ชัน 18 ขึ้นไป ต้องมีคำสั่ง npx)
|
|
44
|
+
- ได้รับ [OpenAI API Key](https://platform.openai.com/account/api-keys) แล้ว หรือคีย์ API ที่เข้ากันได้กับ OPENAI
|
|
45
|
+
- ติดตั้ง Git แล้ว (ใช้สำหรับแสดงรายการไฟล์ Markdown จาก Git และไม่รวมไฟล์ที่ถูกกรองโดยกฎ .gitignore)
|
|
46
|
+
|
|
47
|
+
ขั้นแรก ให้ทำงานในโฟลเดอร์ที่ถูกจัดการด้วย git อยู่แล้ว:
|
|
48
|
+
|
|
49
|
+
ตั้งค่าตัวแปรสภาพแวดล้อม
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export OPENAI_API_KEY="sk-xxxxxx" # จำเป็น: โปรดแทนที่ด้วย OpenAI API Key ของคุณ
|
|
53
|
+
export OPENAI_BASE_URL="https://api.openai.com/v1" # ไม่บังคับ ค่าเริ่มต้นใช้ API ทางการของ OpenAI
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # ไม่บังคับ ค่าเริ่มต้นใช้โมเดล gpt-3.5-turbo
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
สร้างเว็บไซต์ รองรับการแปลหลายภาษา ใช้ไดเรกทอรีปัจจุบันเป็นไดเรกทอรีต้นทาง และส่งออกไปยังไดเรกทอรี `.zen/dist`
|
|
58
|
+
|
|
59
|
+
- สามารถระบุเวอร์ชันภาษาที่ต้องการสร้างได้โดยใช้พารามิเตอร์ `--lang` หลายครั้ง (เช่น `--lang zh-Hans --lang en-US`)
|
|
60
|
+
- ไม่จำเป็นต้องตั้งค่าภาษาต้นทาง ZEN จะตรวจจับโดยอัตโนมัติ
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx zengen@latest build --lang zh-Hans --lang en-US
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**ดูพารามิเตอร์เพิ่มเติมหรือความช่วยเหลือ**:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npx zengen@latest
|
|
70
|
+
```
|