zengen 0.2.2 → 0.2.4
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/pages.yml +3 -0
- package/.zen/meta.json +49 -9
- package/.zen/src/ar-SA/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/da-DK/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/de-DE/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/en-US/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/es-ES/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/es-MX/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/fi-FI/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/fr-FR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/hi-IN/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/id-ID/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/it-IT/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/ja-JP/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/ko-KR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/nl-NL/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/no-NO/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/pl-PL/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/pt-BR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/pt-PT/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/ru-RU/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/sv-SE/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/th-TH/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/tr-TR/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/uk-UA/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/vi-VN/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/zh-Hans/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/.zen/src/zh-Hant/74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805.md +71 -0
- package/README.md +26 -36
- package/assets/templates/default/layout.html +58 -3
- package/dist/ai/translateMarkdown.d.ts +1 -1
- package/dist/ai/translateMarkdown.d.ts.map +1 -1
- package/dist/ai/translateMarkdown.js +33 -2
- package/dist/ai/translateMarkdown.js.map +1 -1
- package/dist/build/pipeline.d.ts.map +1 -1
- package/dist/build/pipeline.js +2 -40
- package/dist/build/pipeline.js.map +1 -1
- package/dist/languages.d.ts.map +1 -1
- package/dist/languages.js +23 -0
- package/dist/languages.js.map +1 -1
- package/dist/process/scanSourceFiles.d.ts +5 -0
- package/dist/process/scanSourceFiles.d.ts.map +1 -0
- package/dist/process/scanSourceFiles.js +64 -0
- package/dist/process/scanSourceFiles.js.map +1 -0
- package/dist/process/template.d.ts.map +1 -1
- package/dist/process/template.js +29 -6
- package/dist/process/template.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/sha256.d.ts +2 -0
- package/dist/utils/sha256.d.ts.map +1 -0
- package/dist/utils/sha256.js +7 -0
- package/dist/utils/sha256.js.map +1 -0
- package/package.json +2 -2
- package/src/ai/translateMarkdown.ts +33 -2
- package/src/build/pipeline.ts +1 -45
- package/src/languages.ts +27 -0
- package/src/process/scanSourceFiles.ts +65 -0
- package/src/process/template.ts +38 -6
- package/src/types.ts +1 -0
- package/src/utils/sha256.ts +4 -0
- package/dist/scan/files.d.ts +0 -7
- package/dist/scan/files.d.ts.map +0 -1
- package/dist/scan/files.js +0 -54
- package/dist/scan/files.js.map +0 -1
- package/src/scan/files.ts +0 -17
package/.zen/meta.json
CHANGED
|
@@ -2,23 +2,63 @@
|
|
|
2
2
|
"version": "1.0.0",
|
|
3
3
|
"options": {
|
|
4
4
|
"verbose": true,
|
|
5
|
-
"langs": [
|
|
5
|
+
"langs": [
|
|
6
|
+
"zh-Hans",
|
|
7
|
+
"en-US",
|
|
8
|
+
"ja-JP",
|
|
9
|
+
"ko-KR",
|
|
10
|
+
"es-ES",
|
|
11
|
+
"fr-FR",
|
|
12
|
+
"de-DE",
|
|
13
|
+
"ru-RU",
|
|
14
|
+
"pt-PT",
|
|
15
|
+
"it-IT",
|
|
16
|
+
"nl-NL",
|
|
17
|
+
"pl-PL",
|
|
18
|
+
"sv-SE",
|
|
19
|
+
"fi-FI",
|
|
20
|
+
"da-DK",
|
|
21
|
+
"no-NO",
|
|
22
|
+
"zh-Hant",
|
|
23
|
+
"hi-IN",
|
|
24
|
+
"ar-SA",
|
|
25
|
+
"th-TH",
|
|
26
|
+
"vi-VN",
|
|
27
|
+
"id-ID",
|
|
28
|
+
"pt-BR",
|
|
29
|
+
"es-MX",
|
|
30
|
+
"tr-TR",
|
|
31
|
+
"uk-UA"
|
|
32
|
+
]
|
|
6
33
|
},
|
|
7
34
|
"files": [
|
|
8
35
|
{
|
|
9
|
-
"hash": "
|
|
36
|
+
"hash": "74541be9d53c64107a548e09847244d52bff803960942cd2bfbd2a8600afb805",
|
|
10
37
|
"path": "README.md",
|
|
11
38
|
"metadata": {
|
|
12
|
-
"title": "ZEN - Markdown
|
|
13
|
-
"summary": "ZEN
|
|
14
|
-
"tags": [
|
|
39
|
+
"title": "ZEN - 极简主义 Markdown + AI 静态站点构建器",
|
|
40
|
+
"summary": "ZEN 是一个结合 AI 的静态站点生成器,支持智能分类导航和自动增量翻译,让用户专注于用母语写作,简化配置和构建过程。",
|
|
41
|
+
"tags": [
|
|
42
|
+
"静态站点生成器",
|
|
43
|
+
"Markdown",
|
|
44
|
+
"AI",
|
|
45
|
+
"多语言翻译",
|
|
46
|
+
"极简主义",
|
|
47
|
+
"文档工具",
|
|
48
|
+
"Node.js"
|
|
49
|
+
],
|
|
15
50
|
"inferred_lang": "zh-Hans",
|
|
16
51
|
"tokens_used": {
|
|
17
|
-
"prompt":
|
|
18
|
-
"completion":
|
|
19
|
-
"total":
|
|
52
|
+
"prompt": 1038,
|
|
53
|
+
"completion": 120,
|
|
54
|
+
"total": 1158
|
|
20
55
|
}
|
|
21
|
-
}
|
|
56
|
+
},
|
|
57
|
+
"links": [
|
|
58
|
+
"https://zccz14.github.io/ZEN/",
|
|
59
|
+
"https://nodejs.org/",
|
|
60
|
+
"https://platform.openai.com/account/api-keys"
|
|
61
|
+
]
|
|
22
62
|
}
|
|
23
63
|
]
|
|
24
64
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN - منشئ مواقع ثابتة بالحد الأدنى من Markdown + الذكاء الاصطناعي
|
|
3
|
+
summary: ZEN هو منشئ مواقع ثابتة مدمج مع الذكاء الاصطناعي، يدعم التنقل الذكي التلقائي والترجمة التزايدية الآلية، مما يمكن المستخدم من التركيز على الكتابة بلغته الأم، وتبسيط عمليات التكوين والبناء.
|
|
4
|
+
tags:
|
|
5
|
+
- منشئ مواقع ثابتة
|
|
6
|
+
- Markdown
|
|
7
|
+
- الذكاء الاصطناعي
|
|
8
|
+
- ترجمة متعددة اللغات
|
|
9
|
+
- الحد الأدنى
|
|
10
|
+
- أدوات التوثيق
|
|
11
|
+
- Node.js
|
|
12
|
+
inferred_lang: ar-SA
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - منشئ مواقع ثابتة بالحد الأدنى من Markdown + الذكاء الاصطناعي
|
|
16
|
+
|
|
17
|
+
[> عرض موقع الويب التجريبي](https://zccz14.github.io/ZEN/)
|
|
18
|
+
|
|
19
|
+
## الوظائف الأساسية
|
|
20
|
+
|
|
21
|
+
1. 📃 **إنشاء موقع ثابت**: يحول أي مجلد git يحتوي على Markdown إلى موقع HTML ثابت.
|
|
22
|
+
2. 🧭 **التنقل الذكي التلقائي**: يستخدم الذكاء الاصطناعي لتحليل المحتوى، وإنشاء خريطة موقع وتنقل، دون الحساسية لموقع الملفات المصدر.
|
|
23
|
+
3. 🌍 **الترجمة التزايدية الآلية**: يستخدم الذكاء الاصطناعي للترجمة التزايدية، مما يمكن المستخدم من كتابة Markdown بلغته الأم، مع إمكانية تعدد اللغات للمستخدم.
|
|
24
|
+
|
|
25
|
+
لماذا تم إنشاء منشئ موقع ثابت آخر من Markdown؟ لقد فكرت مرة أخرى في كيفية خدمة أدوات التوثيق للكتاب بشكل أفضل في عصر الذكاء الاصطناعي:
|
|
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" # اختياري، يستخدم OpenAI API الرسمي افتراضيًا
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # اختياري، يستخدم نموذج gpt-3.5-turbo افتراضيًا
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
بناء الموقع، مع دعم الترجمة متعددة اللغات. استخدم المجلد الحالي كمجلد مصدر، والإخراج إلى مجلد `.zen/dist`.
|
|
58
|
+
|
|
59
|
+
- يمكن تحديد إصدارات اللغة المطلوب إنشاؤها باستخدام معلمة `--lang` عدة مرات (على سبيل المثال `--lang ar-SA --lang en-US`).
|
|
60
|
+
- يمكن تحديد بادئة عنوان URL الأساسي للموقع باستخدام معلمة `--base-url` (على سبيل المثال اسم المستودع على GitHub Pages).
|
|
61
|
+
- لا حاجة لتكوين لغة المصدر، سيكتشف ZEN تلقائيًا.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx zengen@latest build --lang ar-SA --lang en-US
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**عرض المزيد من المعلمات أو المساعدة**:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx zengen@latest
|
|
71
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN - Minimalistisk Markdown + AI statisk site-generator
|
|
3
|
+
summary: ZEN er en statisk site-generator kombineret med AI, der understøtter intelligent kategorisering og navigation samt automatisk inkrementel oversættelse. Det lader brugeren fokusere på at skrive på deres modersmål og forenkler konfigurations- og byggeprocessen.
|
|
4
|
+
tags:
|
|
5
|
+
- Statisk site-generator
|
|
6
|
+
- Markdown
|
|
7
|
+
- AI
|
|
8
|
+
- Flersproget oversættelse
|
|
9
|
+
- Minimalisme
|
|
10
|
+
- Dokumentationsværktøj
|
|
11
|
+
- Node.js
|
|
12
|
+
inferred_lang: da-DK
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - Minimalistisk Markdown + AI statisk site-generator
|
|
16
|
+
|
|
17
|
+
[> Website Demo](https://zccz14.github.io/ZEN/)
|
|
18
|
+
|
|
19
|
+
## Grundlæggende funktioner
|
|
20
|
+
|
|
21
|
+
1. 📃 **Statisk site-generering**: Bygger en mappe med Markdown-filer (styret af git) om til et statisk HTML-site.
|
|
22
|
+
2. 🧭 **Intelligent kategorisering og navigation**: Bruger AI til at analysere indhold og generere et site-map og navigation. Placeringen af kildefiler er ikke afgørende.
|
|
23
|
+
3. 🌍 **Automatisk inkrementel oversættelse**: Bruger AI til inkrementel oversættelse, så brugeren kan skrive Markdown på deres modersmål, mens sitet kan være flersproget.
|
|
24
|
+
|
|
25
|
+
Hvorfor endnu en Markdown statisk site-generator? Jeg har genovervejet, hvordan dokumentationsværktøjer i AI-tidsalderen bedre kan tjene forfattere:
|
|
26
|
+
|
|
27
|
+
- Tilbage til indholdet: Minimér forstyrrelser, fokuser på skrivningen
|
|
28
|
+
|
|
29
|
+
Lad dokumentationen vende tilbage til essensen, lad skrivningen vende tilbage til roen.
|
|
30
|
+
|
|
31
|
+
For det første vil jeg ikke være bibliotekar. Nogle gange vil jeg skrive noget ned, men jeg har måske ikke tænkt på en titel endnu, eller organiseret det særligt godt. Jeg ønsker, at LLM automatisk vil hjælpe mig med at generere titler, lave resuméer, kategorisere, navigere og andre organisatoriske opgaver.
|
|
32
|
+
|
|
33
|
+
For det andet skal mit skrivebord være rent og ryddeligt. Jeg vil ikke have komplekse konfigurationsværktøjer, rode med indviklede dokumentationsopsætninger eller komplicerede strukturer. Hver gang jeg ser konfigurationsfiler og projektstrukturer fra værktøjer som Docusaurus, VuePress eller Astro, får jeg hovedpine. Nu vælger ZEN at skjule al konfiguration i `.zen`-mappen, feje den ind i et hjørne. Brugeren skal kun fokusere på at skrive indhold, resten håndterer ZEN. Alle andre mapper er dit skriveområde, hvor du frit kan organisere dine Markdown-filer.
|
|
34
|
+
|
|
35
|
+
- Tilbage til modersmålet: Skriv på modersmål, byg flersprogede versioner problemfrit
|
|
36
|
+
|
|
37
|
+
Livet er for kort til at jeg gider oversætte. Man udtrykker sine tanker bedst, når man bruger sit modersmål. Men samtidig er det nødvendigt at forbinde sig med verden, og jeg vil ikke opgive flersproget kommunikation. Derfor ønsker jeg et værktøj, der lader mig skrive på mit modersmål, samtidig med at det gør mit indhold tilgængeligt for flere. Nuværende i18n-løsninger kræver, at man selv oversætter og vedligeholder opdateringer, hvilket er for besværligt. Jeg vælger at bruge LLM til at hjælpe mig med oversættelsen, hvilket sparer mig for meget tid og gør det muligt at fuldføre oversættelser til flere sprog med et enkelt klik.
|
|
38
|
+
|
|
39
|
+
## Hurtig start
|
|
40
|
+
|
|
41
|
+
Forudsætninger:
|
|
42
|
+
|
|
43
|
+
- [Node.js](https://nodejs.org/) er installeret (anbefalet version 18 eller nyere, skal have `npx`-kommandoen)
|
|
44
|
+
- Du har en [OpenAI API-nøgle](https://platform.openai.com/account/api-keys), eller en OPENAI-kompatibel API-nøgle
|
|
45
|
+
- Git er installeret (bruges til at liste Markdown-filer fra et Git-repository og ignorere filer filtreret af `.gitignore`-regler)
|
|
46
|
+
|
|
47
|
+
Først, arbejd i en mappe, der allerede er styret af Git:
|
|
48
|
+
|
|
49
|
+
Konfigurer miljøvariabler
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export OPENAI_API_KEY="sk-xxxxxx" # Påkrævet: Erstat med din OpenAI API-nøgle
|
|
53
|
+
export OPENAI_BASE_URL="https://api.openai.com/v1" # Valgfri, bruger OpenAIs officielle API som standard
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # Valgfri, bruger gpt-3.5-turbo-modellen som standard
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Byg sitet, understøtter flersproget oversættelse. Bruger den aktuelle mappe som kildemappe og output til `.zen/dist`-mappen.
|
|
58
|
+
|
|
59
|
+
- Du kan angive de sprogversioner, der skal genereres, ved gentagne gange at bruge `--lang`-parameteren (f.eks. `--lang zh-Hans --lang en-US`).
|
|
60
|
+
- Du kan angive det grundlæggende URL-præfiks for sitet med `--base-url`-parameteren (f.eks. dit repositorienavn på GitHub Pages).
|
|
61
|
+
- Kilde-sproget behøver ikke konfigureres, ZEN detekterer det automatisk.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx zengen@latest build --lang zh-Hans --lang en-US
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Se flere parametre eller få hjælp**:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx zengen@latest
|
|
71
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN - Minimalistischer Markdown + AI Static Site Builder
|
|
3
|
+
summary: ZEN ist ein statischer Site-Generator mit KI-Unterstützung, der intelligente Kategorienavigation und automatische inkrementelle Übersetzung bietet. Er ermöglicht es Nutzern, sich auf das Schreiben in ihrer Muttersprache zu konzentrieren und vereinfacht Konfiguration und Build-Prozess.
|
|
4
|
+
tags:
|
|
5
|
+
- Static Site Generator
|
|
6
|
+
- Markdown
|
|
7
|
+
- AI
|
|
8
|
+
- Mehrsprachige Übersetzung
|
|
9
|
+
- Minimalismus
|
|
10
|
+
- Dokumentationstool
|
|
11
|
+
- Node.js
|
|
12
|
+
inferred_lang: de-DE
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - Minimalistischer Markdown + AI Static Site Builder
|
|
16
|
+
|
|
17
|
+
[> Website Demo](https://zccz14.github.io/ZEN/)
|
|
18
|
+
|
|
19
|
+
## Grundlegende Funktionen
|
|
20
|
+
|
|
21
|
+
1. 📃 **Statische Site-Generierung**: Erstellt aus einem beliebigen Git-Ordner mit Markdown-Dateien eine statische HTML-Website.
|
|
22
|
+
2. 🧭 **Intelligente Kategorienavigation**: Nutzt KI zur Inhaltsanalyse, um eine Sitemap und Navigation zu generieren. Die Position der Quelldateien ist irrelevant.
|
|
23
|
+
3. 🌍 **Automatische inkrementelle Übersetzung**: Nutzt KI für inkrementelle Übersetzungen. Nutzer können in ihrer Muttersprache schreiben, aber die Zielgruppe kann mehrsprachig sein.
|
|
24
|
+
|
|
25
|
+
Warum noch ein weiterer Markdown Static Site Generator? Ich habe überlegt, wie Dokumentationstools im KI-Zeitalter Autoren besser dienen können:
|
|
26
|
+
|
|
27
|
+
- Zurück zum Inhalt: Minimale Ablenkung, Fokus auf das Schreiben
|
|
28
|
+
|
|
29
|
+
Lasst die Dokumentation zu ihrem Wesen zurückkehren und das Schreiben zur Ruhe.
|
|
30
|
+
|
|
31
|
+
Erstens: Ich möchte kein Bibliothekar sein. Manchmal möchte ich etwas aufschreiben, habe aber vielleicht noch keinen Titel oder eine klare Struktur. Ich möchte, dass eine LLM automatisch Titel generiert, Zusammenfassungen erstellt, kategorisiert, navigiert und andere organisatorische Aufgaben übernimmt.
|
|
32
|
+
|
|
33
|
+
Zweitens: Mein Arbeitsbereich muss aufgeräumt sein. Ich möchte keine komplexen Build-Tools konfigurieren, mich nicht mit komplizierten Dokumenteneinstellungen herumschlagen oder komplexe Strukturen haben. Jedes Mal, wenn ich die Konfigurationsdateien und Projektstrukturen von Tools wie Docusaurus, VuePress oder Astro sehe, bekomme ich Kopfschmerzen. ZEN versteckt nun alle Konfigurationen im `.zen`-Verzeichnis, schiebt sie in die Ecke. Der Nutzer kann sich ganz auf den Inhalt konzentrieren, den Rest erledigt ZEN. Alle anderen Verzeichnisse sind Ihr Schreibbereich, Sie können Ihre Markdown-Dateien frei organisieren.
|
|
34
|
+
|
|
35
|
+
- Zurück zur Muttersprache: In der Muttersprache schreiben, nahtlos mehrsprachige Versionen erstellen
|
|
36
|
+
|
|
37
|
+
Das Leben ist zu kurz für Übersetzungen. Man denkt am tiefsten in seiner Muttersprache. Gleichzeitig ist die Verbindung zur Welt notwendig, ich möchte den mehrsprachigen Austausch nicht aufgeben. Daher wünsche ich mir ein Tool, mit dem ich in meiner Muttersprache schreiben kann, während mehr Menschen meinen Inhalt sehen können. Aktuelle i18n-Lösungen erfordern nicht nur eigene Übersetzungen, sondern auch die Pflege von Aktualisierungen – zu umständlich. Ich nutze LLMs für Übersetzungen, das spart viel Zeit und mehrsprachige Übersetzungen sind mit einem Klick erledigt.
|
|
38
|
+
|
|
39
|
+
## Schnellstart
|
|
40
|
+
|
|
41
|
+
Voraussetzungen:
|
|
42
|
+
|
|
43
|
+
- [Node.js](https://nodejs.org/) installiert (empfohlen Version 18 oder höher, `npx`-Befehl benötigt)
|
|
44
|
+
- [OpenAI API Key](https://platform.openai.com/account/api-keys) oder kompatibler API-Key beschafft
|
|
45
|
+
- Git installiert (um Markdown-Dateien aus Git aufzulisten und durch `.gitignore` gefilterte Dateien zu ignorieren)
|
|
46
|
+
|
|
47
|
+
Arbeiten Sie zunächst in einem von Git verwalteten Ordner:
|
|
48
|
+
|
|
49
|
+
Umgebungsvariablen konfigurieren
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export OPENAI_API_KEY="sk-xxxxxx" # Erforderlich: Bitte durch Ihren OpenAI API Key ersetzen
|
|
53
|
+
export OPENAI_BASE_URL="https://api.openai.com/v1" # Optional, standardmäßig wird die offizielle OpenAI API verwendet
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # Optional, standardmäßig wird das gpt-3.5-turbo Modell verwendet
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Site erstellen, mit Unterstützung für mehrsprachige Übersetzung. Nutzt das aktuelle Verzeichnis als Quellverzeichnis und gibt in `.zen/dist` aus.
|
|
58
|
+
|
|
59
|
+
- Mehrere Sprachversionen können durch wiederholte Verwendung des `--lang`-Parameters angegeben werden (z.B. `--lang de-DE --lang en-US`).
|
|
60
|
+
- Die Basis-URL-Präfix der Site kann mit dem `--base-url`-Parameter angegeben werden (z.B. der Repository-Name auf GitHub Pages).
|
|
61
|
+
- Die Quellsprache muss nicht konfiguriert werden, ZEN erkennt sie automatisch.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx zengen@latest build --lang de-DE --lang en-US
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Weitere Parameter oder Hilfe anzeigen**:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx zengen@latest
|
|
71
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN - Minimalist Markdown + AI Static Site Builder
|
|
3
|
+
summary: ZEN is a static site generator integrated with AI, supporting intelligent categorization, navigation, and automatic incremental translation. It allows users to focus on writing in their native language while simplifying configuration and build processes.
|
|
4
|
+
tags:
|
|
5
|
+
- Static Site Generator
|
|
6
|
+
- Markdown
|
|
7
|
+
- AI
|
|
8
|
+
- Multilingual Translation
|
|
9
|
+
- Minimalism
|
|
10
|
+
- Documentation Tool
|
|
11
|
+
- Node.js
|
|
12
|
+
inferred_lang: zh-Hans
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - Minimalist Markdown + AI Static Site Builder
|
|
16
|
+
|
|
17
|
+
[> Website Demo](https://zccz14.github.io/ZEN/)
|
|
18
|
+
|
|
19
|
+
## Core Features
|
|
20
|
+
|
|
21
|
+
1. 📃 **Static Site Generation**: Builds a static HTML site from any git-managed folder containing Markdown files.
|
|
22
|
+
2. 🧭 **Intelligent Categorization & Navigation**: Uses AI for content analysis to generate a sitemap and navigation, independent of source file locations.
|
|
23
|
+
3. 🌍 **Automatic Incremental Translation**: Employs AI for incremental translation, allowing users to write Markdown in their native language while supporting multilingual audiences.
|
|
24
|
+
|
|
25
|
+
Why create another Markdown static site generator? I've reconsidered how documentation tools can better serve writers in the AI era:
|
|
26
|
+
|
|
27
|
+
- **Return to Content: Minimize Distractions, Focus on Writing**
|
|
28
|
+
|
|
29
|
+
Let documentation return to its essence and writing to its tranquility.
|
|
30
|
+
|
|
31
|
+
First, I don't want to be a librarian. Sometimes I want to jot down ideas before finalizing titles or organizing them perfectly. I wish LLMs could automatically generate titles, summaries, categories, and navigation for me.
|
|
32
|
+
|
|
33
|
+
Second, my workspace must be clean. I dislike complex build tool configurations, intricate documentation setups, and convoluted structures. Tools like Docusaurus, VuePress, and Astro often give me headaches with their config files and project layouts. ZEN hides all configuration in a `.zen` directory, tucked away in a corner. Users only need to focus on writing content; ZEN handles the rest. All other directories are your writing space, where you can organize Markdown files freely.
|
|
34
|
+
|
|
35
|
+
- **Return to Native Language: Write in Your Mother Tongue, Build Multilingual Versions Smoothly**
|
|
36
|
+
|
|
37
|
+
Life is short; I'm too lazy to translate. People think most deeply in their native language. Yet, connecting with the world is essential, and I don't want to give up multilingual communication. I desire a tool that lets me write in my native language while making my content accessible to a broader audience. Traditional i18n requires manual translation and content update maintenance, which is too cumbersome. I choose to use LLMs for translation, saving significant time and enabling one-click multilingual builds.
|
|
38
|
+
|
|
39
|
+
## Quick Start
|
|
40
|
+
|
|
41
|
+
Prerequisites:
|
|
42
|
+
|
|
43
|
+
- [Node.js](https://nodejs.org/) installed (version 18 or above recommended, `npx` command required)
|
|
44
|
+
- [OpenAI API Key](https://platform.openai.com/account/api-keys) obtained, or an OPENAI-compatible API Key
|
|
45
|
+
- Git installed (used to list Markdown files from Git, ignoring files filtered by `.gitignore` rules)
|
|
46
|
+
|
|
47
|
+
First, work within a folder already managed by Git:
|
|
48
|
+
|
|
49
|
+
Set environment variables:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export OPENAI_API_KEY="sk-xxxxxx" # Required: Replace with your OpenAI API Key
|
|
53
|
+
export OPENAI_BASE_URL="https://api.openai.com/v1" # Optional, defaults to the official OpenAI API
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # Optional, defaults to the gpt-3.5-turbo model
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Build the site with support for multilingual translation. Uses the current directory as the source and outputs to the `.zen/dist` directory.
|
|
58
|
+
|
|
59
|
+
- Specify language versions to generate using the `--lang` parameter multiple times (e.g., `--lang zh-Hans --lang en-US`).
|
|
60
|
+
- Specify the site's base URL prefix using the `--base-url` parameter (e.g., the repository name on GitHub Pages).
|
|
61
|
+
- No need to configure the source language; ZEN will auto-detect it.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx zengen@latest build --lang zh-Hans --lang en-US
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**View more parameters or help**:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx zengen@latest
|
|
71
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN - Generador de Sitios Estáticos Minimalista con Markdown + IA
|
|
3
|
+
summary: ZEN es un generador de sitios estáticos con IA, que admite navegación por categorías inteligente y traducción incremental automática, permitiendo a los usuarios centrarse en escribir en su lengua materna y simplificando el proceso de configuración y construcción.
|
|
4
|
+
tags:
|
|
5
|
+
- Generador de Sitios Estáticos
|
|
6
|
+
- Markdown
|
|
7
|
+
- IA
|
|
8
|
+
- Traducción Multilingüe
|
|
9
|
+
- Minimalismo
|
|
10
|
+
- Herramientas de Documentación
|
|
11
|
+
- Node.js
|
|
12
|
+
inferred_lang: es-ES
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - Generador de Sitios Estáticos Minimalista con Markdown + IA
|
|
16
|
+
|
|
17
|
+
[> Demostración del Sitio Web](https://zccz14.github.io/ZEN/)
|
|
18
|
+
|
|
19
|
+
## Funcionalidades Básicas
|
|
20
|
+
|
|
21
|
+
1. 📃 **Generación de Sitios Estáticos**: Construye un sitio HTML estático a partir de cualquier carpeta git que contenga archivos Markdown.
|
|
22
|
+
2. 🧭 **Navegación por Categorías Inteligente**: Utiliza IA para analizar el contenido, generando un mapa del sitio y navegación, independientemente de la ubicación de los archivos fuente.
|
|
23
|
+
3. 🌍 **Traducción Incremental Automática**: Utiliza IA para realizar traducciones incrementales, permitiendo a los usuarios escribir Markdown en su lengua materna, pero siendo multilingües.
|
|
24
|
+
|
|
25
|
+
¿Por qué crear otro generador de sitios estáticos con Markdown? He reflexionado sobre cómo las herramientas de documentación pueden servir mejor a los escritores en la era de la IA:
|
|
26
|
+
|
|
27
|
+
- **Regreso al Contenido**: Minimizar las distracciones, centrarse en escribir.
|
|
28
|
+
|
|
29
|
+
Devolver la documentación a su esencia, devolver la escritura a la tranquilidad.
|
|
30
|
+
|
|
31
|
+
Primero, no quiero ser un bibliotecario. A veces quiero escribir algo, pero quizás aún no he pensado en su título o no lo he organizado de manera específica. Quiero que un LLM me ayude automáticamente generando títulos, resúmenes, categorías, navegación y otras tareas de organización.
|
|
32
|
+
|
|
33
|
+
Segundo, mi estudio debe estar ordenado. No quiero herramientas de construcción con configuraciones complejas, ni lidiar con configuraciones de documentos complicadas, ni estructuras complejas. Cada vez que veo los archivos de configuración y estructuras de proyectos de herramientas como Docusaurus, VuePress o Astro, me duele la cabeza. Ahora, ZEN opta por ocultar toda la configuración en el directorio `.zen`, barriéndola bajo la alfombra. El usuario solo necesita centrarse en escribir el contenido; ZEN se encarga del resto. Todos los demás directorios son su espacio de escritura, puede organizar sus archivos Markdown como desee.
|
|
34
|
+
|
|
35
|
+
- **Regreso a la Lengua Materna**: Escribir en la lengua materna, construir versiones multilingües sin esfuerzo.
|
|
36
|
+
|
|
37
|
+
La vida es corta, no tengo ganas de traducir. Uno expresa mejor su profundidad de pensamiento cuando usa su lengua materna. Pero al mismo tiempo, es necesario mantenerse conectado con el mundo; no quiero renunciar a la comunicación multilingüe. Por eso, deseo una herramienta que me permita escribir en mi lengua materna y, a la vez, hacer que más personas vean mi contenido. Los sistemas i18n actuales no solo requieren que uno traduzca, sino que también mantenga las actualizaciones del contenido, lo cual es muy tedioso. Elijo usar LLM para ayudarme con la traducción, ahorrándome mucho tiempo y permitiéndome completar traducciones a múltiples idiomas con un solo clic.
|
|
38
|
+
|
|
39
|
+
## Comenzar Rápidamente
|
|
40
|
+
|
|
41
|
+
Requisitos previos:
|
|
42
|
+
|
|
43
|
+
- Tener instalado [Node.js](https://nodejs.org/) (se recomienda versión 18 o superior, debe incluir el comando `npx`)
|
|
44
|
+
- Haber obtenido una [Clave API de OpenAI](https://platform.openai.com/account/api-keys), o una clave API compatible con OpenAI.
|
|
45
|
+
- Tener instalado Git (para listar archivos Markdown desde un repositorio Git, ignorando los archivos filtrados por las reglas de `.gitignore`).
|
|
46
|
+
|
|
47
|
+
Primero, trabaje en una carpeta que ya esté gestionada por Git:
|
|
48
|
+
|
|
49
|
+
Configure las variables de entorno:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export OPENAI_API_KEY="sk-xxxxxx" # Obligatorio: Reemplazar con su Clave API de OpenAI
|
|
53
|
+
export OPENAI_BASE_URL="https://api.openai.com/v1" # Opcional, por defecto usa la API oficial de OpenAI
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # Opcional, por defecto usa el modelo gpt-3.5-turbo
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Construya el sitio, con soporte para traducción multilingüe. Usa el directorio actual como directorio fuente y la salida va al directorio `.zen/dist`.
|
|
58
|
+
|
|
59
|
+
- Puede especificar las versiones de idioma a generar usando múltiples veces el parámetro `--lang` (por ejemplo, `--lang es-ES --lang en-US`).
|
|
60
|
+
- Puede especificar el prefijo de URL base del sitio con el parámetro `--base-url` (por ejemplo, el nombre del repositorio en GitHub Pages).
|
|
61
|
+
- No es necesario configurar el idioma fuente; ZEN lo detecta automáticamente.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx zengen@latest build --lang es-ES --lang en-US
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Ver más parámetros o ayuda**:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx zengen@latest
|
|
71
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN - Generador de Sitios Estáticos Minimalista con Markdown + IA
|
|
3
|
+
summary: ZEN es un generador de sitios estáticos potenciado por IA, que admite navegación por categorías inteligente y traducción incremental automática, permitiendo a los usuarios centrarse en escribir en su idioma nativo y simplificando el proceso de configuración y construcción.
|
|
4
|
+
tags:
|
|
5
|
+
- Generador de Sitios Estáticos
|
|
6
|
+
- Markdown
|
|
7
|
+
- IA
|
|
8
|
+
- Traducción Multilingüe
|
|
9
|
+
- Minimalismo
|
|
10
|
+
- Herramientas de Documentación
|
|
11
|
+
- Node.js
|
|
12
|
+
inferred_lang: es-MX
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - Generador de Sitios Estáticos Minimalista con Markdown + IA
|
|
16
|
+
|
|
17
|
+
[> Demostración del Sitio Web](https://zccz14.github.io/ZEN/)
|
|
18
|
+
|
|
19
|
+
## Funcionalidades Básicas
|
|
20
|
+
|
|
21
|
+
1. 📃 **Generación de Sitios Estáticos**: Construye un sitio HTML estático a partir de cualquier carpeta git que contenga archivos Markdown.
|
|
22
|
+
2. 🧭 **Navegación por Categorías Inteligente**: Utiliza IA para analizar el contenido, generando un mapa del sitio y navegación, sin depender de la ubicación de los archivos fuente.
|
|
23
|
+
3. 🌍 **Traducción Incremental Automática**: Utiliza IA para realizar traducciones incrementales, permitiendo a los usuarios escribir Markdown en su idioma nativo, pero pudiendo ser multilingües.
|
|
24
|
+
|
|
25
|
+
¿Por qué crear otro generador de sitios estáticos con Markdown? He reconsiderado cómo las herramientas de documentación pueden servir mejor a los escritores en la era de la IA:
|
|
26
|
+
|
|
27
|
+
- **Regreso al contenido**: Minimizar las distracciones, enfocarse en escribir.
|
|
28
|
+
|
|
29
|
+
Devolver la documentación a su esencia, devolver la tranquilidad a la escritura.
|
|
30
|
+
|
|
31
|
+
Primero, no quiero ser un bibliotecario. A veces quiero escribir algo, pero quizás aún no he pensado en su título o no lo he organizado de manera específica. Espero que un LLM me ayude automáticamente a generar títulos, hacer resúmenes, clasificar, navegar y otras tareas de organización.
|
|
32
|
+
|
|
33
|
+
Segundo, mi estudio debe estar impecable. No quiero herramientas de construcción con configuraciones complejas, ni configuraciones de documentos complicadas, ni estructuras complejas. Cada vez que veo los archivos de configuración y la estructura de proyectos de herramientas como Docusaurus, VuePress o Astro, me duele la cabeza. Ahora, ZEN opta por ocultar toda la configuración en el directorio `.zen`, barriéndola bajo la alfombra. El usuario solo necesita centrarse en escribir el contenido; ZEN se encarga del resto. Todos los demás directorios son su espacio de escritura, puede organizar sus archivos Markdown como desee.
|
|
34
|
+
|
|
35
|
+
- **Regreso al idioma nativo**: Escribir en la lengua materna, construir versiones multilingües sin esfuerzo.
|
|
36
|
+
|
|
37
|
+
La vida es corta, no tengo ganas de traducir. Las personas alcanzan su máxima profundidad de pensamiento cuando usan su idioma nativo. Pero al mismo tiempo, es necesario mantenerse conectado con el mundo; no quiero renunciar a la comunicación multilingüe. Por lo tanto, deseo una herramienta que me permita escribir en mi idioma nativo y, a la vez, permita que más personas vean mi contenido. Actualmente, la i18n no solo requiere que uno traduzca, sino que también mantenga las actualizaciones del contenido, lo cual es muy tedioso. He optado por usar LLM para ayudarme con la traducción, ahorrándome mucho tiempo y permitiéndome completar traducciones a múltiples idiomas con un solo clic.
|
|
38
|
+
|
|
39
|
+
## Comenzar Rápidamente
|
|
40
|
+
|
|
41
|
+
Requisitos previos:
|
|
42
|
+
|
|
43
|
+
- Tener [Node.js](https://nodejs.org/) instalado (se recomienda versión 18 o superior, debe incluir el comando `npx`)
|
|
44
|
+
- Haber obtenido una [Clave API de OpenAI](https://platform.openai.com/account/api-keys), o una clave API compatible con OpenAI.
|
|
45
|
+
- Tener Git instalado (para listar archivos Markdown desde un repositorio Git, ignorando los archivos filtrados por las reglas de `.gitignore`).
|
|
46
|
+
|
|
47
|
+
Primero, trabaje en una carpeta que ya esté gestionada por Git:
|
|
48
|
+
|
|
49
|
+
Configure las variables de entorno:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export OPENAI_API_KEY="sk-xxxxxx" # Obligatorio: reemplazar con su Clave API de OpenAI
|
|
53
|
+
export OPENAI_BASE_URL="https://api.openai.com/v1" # Opcional, por defecto usa la API oficial de OpenAI
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # Opcional, por defecto usa el modelo gpt-3.5-turbo
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Construya el sitio, con soporte para traducción multilingüe. Usa el directorio actual como fuente y genera la salida en el directorio `.zen/dist`.
|
|
58
|
+
|
|
59
|
+
- Puede especificar las versiones de idioma a generar usando múltiples veces el parámetro `--lang` (por ejemplo, `--lang es-MX --lang en-US`).
|
|
60
|
+
- Puede especificar el prefijo de URL base del sitio con el parámetro `--base-url` (por ejemplo, el nombre del repositorio en GitHub Pages).
|
|
61
|
+
- No es necesario configurar el idioma fuente; ZEN lo detectará automáticamente.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx zengen@latest build --lang es-MX --lang en-US
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Ver más parámetros o ayuda**:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx zengen@latest
|
|
71
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ZEN - Minimalistinen Markdown + AI -staattinen sivuston rakentaja
|
|
3
|
+
summary: ZEN on AI:ta hyödyntävä staattinen sivuston generoija, joka tukee älykästä luokittelunavigointia ja automaattista inkrementaalista käännöstä. Se mahdollistaa käyttäjän keskittyä äidinkielellä kirjoittamiseen ja yksinkertaistaa konfigurointia ja rakennusprosessia.
|
|
4
|
+
tags:
|
|
5
|
+
- staattinen sivuston generoija
|
|
6
|
+
- Markdown
|
|
7
|
+
- AI
|
|
8
|
+
- monikielinen käännös
|
|
9
|
+
- minimalismi
|
|
10
|
+
- dokumentointityökalu
|
|
11
|
+
- Node.js
|
|
12
|
+
inferred_lang: fi-FI
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ZEN - Minimalistinen Markdown + AI -staattinen sivuston rakentaja
|
|
16
|
+
|
|
17
|
+
[> Verkkosivuston demo](https://zccz14.github.io/ZEN/)
|
|
18
|
+
|
|
19
|
+
## Perustoiminnot
|
|
20
|
+
|
|
21
|
+
1. 📃 **Staattinen sivuston generointi**: Muunna mikä tahansa git-kansio, joka sisältää Markdown-tiedostoja, staattiseksi HTML-sivustoksi.
|
|
22
|
+
2. 🧭 **Älykäs luokittelunavigointi**: Käytä AI:ta sisällön analysointiin, sivustokartan ja navigoinnin luomiseen. Lähdetiedostojen sijainti ei ole merkityksellinen.
|
|
23
|
+
3. 🌍 **Automaattinen inkrementaalinen käännös**: Käytä AI:ta inkrementaaliseen käännökseen, jotta käyttäjä voi kirjoittaa Markdownia äidinkielellään, mutta käyttäjä voi olla monikielinen.
|
|
24
|
+
|
|
25
|
+
Miksi olen luonut taas uuden Markdown-staattisen sivuston generoijan? Olen uudelleen miettinyt, kuinka dokumentointityökalut voisivat AI-aikakaudella palvella kirjoittajia paremmin:
|
|
26
|
+
|
|
27
|
+
- Palaa sisältöön: Minimoi häiriöt, keskity kirjoittamiseen
|
|
28
|
+
|
|
29
|
+
Palauta dokumenttien olemus, palauta kirjoittamisen rauha.
|
|
30
|
+
|
|
31
|
+
Ensinnäkin, en halua olla kirjastonhoitaja. Joskus haluan kirjoittaa jotain sisältöä, mutta en ehkä ole vielä keksinyt sille otsikkoa tai muodostanut selkeää organisointia. Toivoisin, että LLM automaattisesti luo otsikoita, tekee yhteenvetoja, luokittelee ja navigoi sisällön järjestelytyöt.
|
|
32
|
+
|
|
33
|
+
Toiseksi, kirjastoni on puhdistettava siistiksi. En halua monimutkaisia konfigurointityökaluja, sotkea monimutkaisia dokumenttikokoonpanoja tai monimutkaisia rakenteita. Joka kerta kun näen Docusaurus-, VuePress- tai Astro-työkalujen konfiguraatiotiedostot ja projektirakenteet, särkee päätäni. Nyt ZEN valitsee piilottaa kaikki konfiguraatiot `.zen`-hakemistoon, nurkkaan, jotta käyttäjä voi keskittyä vain kirjoittamiseen. Kaikki muut hakemistot ovat sinun kirjoitustilasi, voit järjestellä Markdown-tiedostojasi vapaasti.
|
|
34
|
+
|
|
35
|
+
- Palaa äidinkieleen: Kirjoita äidinkielellä, luo monikieliset versiot sulavasti
|
|
36
|
+
|
|
37
|
+
Elämä on lyhyt, en jaksa kääntää. Ihmiset pystyvät parhaiten hyödyntämään ajattelunsa syvyyttä äidinkielellään. Mutta yhteydenpito maailmaan on välttämätöntä, enkä halua luopua monikielisestä vuorovaikutuksesta. Siksi toivoisin työkalua, jonka avulla voisin kirjoittaa äidinkielelläni ja samalla saada sisältöni näkyville useammille. Nykyinen i18n vaatii käännösten tekemistä itse ja sisällön päivitysten ylläpidon, mikä on liian työlästä. Valitsen käyttää LLM:ää käännösten tekemiseen, säästän paljon aikaa ja voin suorittaa monikieliset käännökset yhdellä napsautuksella.
|
|
38
|
+
|
|
39
|
+
## Nopea aloitus
|
|
40
|
+
|
|
41
|
+
Edellytykset:
|
|
42
|
+
|
|
43
|
+
- [Node.js](https://nodejs.org/) asennettuna (suositeltu versio 18 tai uudempi, tarvitaan npx-komento)
|
|
44
|
+
- [OpenAI API -avain](https://platform.openai.com/account/api-keys) hankittu, tai OPENAI-yhteensopiva API-avain
|
|
45
|
+
- Git asennettuna (käytetään Markdown-tiedostojen listaukseen git:stä, .gitignore-sääntöjen mukaisesti suodatetut tiedostot ohitetaan)
|
|
46
|
+
|
|
47
|
+
Työskentele ensin git-hallinnassa olevassa kansiossa:
|
|
48
|
+
|
|
49
|
+
Määritä ympäristömuuttujat
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
export OPENAI_API_KEY="sk-xxxxxx" # Pakollinen: korvaa omalla OpenAI API -avaimellasi
|
|
53
|
+
export OPENAI_BASE_URL="https://api.openai.com/v1" # Valinnainen, käyttää oletuksena OpenAI:n virallista API:a
|
|
54
|
+
export OPENAI_MODEL="gpt-3.5-turbo" # Valinnainen, käyttää oletuksena gpt-3.5-turbo -mallia
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Rakenna sivusto, tuki monikielisiä käännöksiä. Käytä nykyistä hakemistoa lähdehakemistona, tuloste `.zen/dist`-hakemistoon.
|
|
58
|
+
|
|
59
|
+
- Voit määrittää tarvittavat kieliversiot käyttämällä `--lang`-parametria useita kertoja (esim. `--lang fi-FI --lang en-US`).
|
|
60
|
+
- Voit määrittää sivuston perus-URL-etuliitteen `--base-url`-parametrilla (esim. GitHub Pages -varaston nimi).
|
|
61
|
+
- Lähdekieltä ei tarvitse konfiguroida, ZEN tunnistaa sen automaattisesti.
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx zengen@latest build --lang fi-FI --lang en-US
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Näytä lisää parametreja tai ohjeita**:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npx zengen@latest
|
|
71
|
+
```
|