תארו לעצמכם: מפתח backend מבלה חצי שעה בחיפוש אחר מפרט ה-API העדכני בקבצי Markdown מפוזרים. שבוע לאחר מכן הוא משתמש בגרסה מיושנת—באג שניתן היה למנוע. בחברות עם 10+ מפתחים, תרחיש זה חוזר על עצמו מדי שבוע, מה שמוביל לפספוס מועדים ולעלויות דיבוג נוספות. MkDocs פותר זאת על ידי הפיכת Markdown לאתר מובנה עם חיפוש וניהול גרסאות. אנו בונים אתרי תיעוד של MkDocs במפתח מלא: מבחירת ערכת נושא ועד הגדרת CI/CD. יש לנו ניסיון מוכח: 150+ פרויקטי תיעוד במשך 5 שנים. MkDocs מהיר פי 2–3 מ-Sphinx בעת יצירת 500+ עמודים.
בעיות ש-MkDocs פותר
קבצי Markdown מפוזרים במאגר הם כאוס. מפתחים מבזבזים עד 30% מזמנם בחיפוש אחר מידע עדכני. על פי סקרים, עד 60% מהמפתחים מתלוננים על תיעוד מיושן. MkDocs יוצר ניווט אחיד, מייצר אוטומטית תוכן עניינים, ותומך בחיפוש טקסט מלא. בפרויקטים עם 50+ מסמכים, זמן החיפוש יורד ב-40%. הוא גם מטפל במיושנות: אינטגרציית Git עוקבת אחר תאריכי שינוי אחרונים, והתוסף mkdocs-git-committers מציג את המחבר, מה שמגביר את האחריות.
למה MkDocs הוא הבחירה הטובה ביותר לתיעוד
MkDocs משתמש ב-Markdown—שפת סימון פשוטה וקריאה. אין צורך ללמוד reStructuredText או AsciiDoc. תוספים כמו Material for MkDocs מוסיפים הערות קוד, דיאגרמות Mermaid, דוגמאות עם טאבים ועוד. Material for MkDocs תומך ביותר מ-50 תוספים, המכסים 90% מצרכי התיעוד הטכני. זמן טעינת העמוד הוא פחות מ-0.5 שניות—מצוין עבור Core Web Vitals. על פי התיעוד הרשמי Material for MkDocs, ערכת הנושא תומכת ביותר מ-50 תוספים והרחבות.
כיצד אנו מגדירים את Material for MkDocs
אנו מתקינים את החבילה mkdocs-material ומגדירים את mkdocs.yml. דוגמה לתצורה בסיסית עם ערכת נושא כהה, ניווט וחיפוש:
---
site_name: My Project
site_url: https://docs.myproject.com
repo_url: https://github.com/my-org/my-project
repo_name: my-org/my-project
theme:
name: material
language: ru
palette:
- scheme: default
primary: blue
accent: blue
toggle:
icon: material/brightness-7
name: Тёмная тема
- scheme: slate
primary: blue
accent: blue
toggle:
icon: material/brightness-4
name: Светлая тема
features:
- navigation.tabs
- navigation.tabs.sticky
- navigation.sections
- navigation.expand
- navigation.indexes
- navigation.top
- search.highlight
- search.suggest
- content.code.copy
- content.code.annotate
- content.tabs.link
- toc.integrate
markdown_extensions:
- admonition
- pymdownx.details
- pymdownx.superfences:
custom_fences:
- name: mermaid
class: mermaid
format: !!python/name:pymdownx.superfences.fence_code_format
- pymdownx.tabbed:
alternate_style: true
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.inlinehilite
- pymdownx.snippets
- attr_list
- md_in_html
- tables
- footnotes
- def_list
plugins:
- search:
lang: ru
- tags
- git-revision-date-localized:
type: date
locale: ru
- minify:
minify_html: true
nav:
- Главная: index.md
- Руководство:
- Установка: guide/installation.md
- Конфигурация: guide/configuration.md
- Быстрый старт: guide/quickstart.md
- API:
- Обзор: api/overview.md
- Endpoints: api/endpoints.md
- Changelog: changelog.md
---
מה כלול בפיתוח אתר MkDocs
- מבנה תיעוד בסיסי (nav, index, changelog)
- תצורת Material for MkDocs: ערכת נושא, פלטה, אייקונים, גופנים
- הגדרת תוספים: חיפוש, תגיות, תאריכי עדכון, מיניפיקציה
- CI/CD: פריסה ל-GitHub Pages/Netlify/Vercel באמצעות GitHub Actions
- מדריך עריכת תוכן לצוות שלך
- סקריפטים מותאמים אישית ליצירת תיעוד ממפרטי OpenAPI—לפי בקשה
תהליך הפיתוח שלנו
- ניתוח: אנו לומדים את הפרויקט שלך ומגדירים את מבנה התיעוד.
- עיצוב: אנו יוצרים מפת מדורים ובוחרים תוספים.
- יישום: אנו מגדירים את MkDocs וכותבים תוספים מותאמים אישית אם יש צורך.
- בדיקות: אנו בודקים בנייה, מהירות טעינה וחיפוש. לפרויקטים מורכבים, אנו מוסיפים בדיקות UX עם מפתחים אמיתיים.
- פריסה: אנו מגדירים פרסום אוטומטי.
מקרה מבחן: העברת תיעוד API מ-Sphinx ל-MkDocs
פרויקט אחד כלל העברת תיעוד REST API מ-Sphinx ל-MkDocs. האתר המקורי לקח 3 דקות לבנייה, החיפוש היה איטי, והתמיכה ב-Markdown הייתה מוגבלת. העברנו 200 עמודים, הגדרנו את Material for MkDocs עם התוספים site_name: My Project site_url: https://docs.myproject.com repo_url: https://github.com/my-org/my-project repo_name: my-org/my-project theme: name: material language: ru palette: - scheme: default primary: blue accent: blue toggle: icon: material/brightness-7 name: Тёмная тема - scheme: slate primary: blue accent: blue toggle: icon: material/brightness-4 name: Светлая тема features: - navigation.tabs - navigation.tabs.sticky - navigation.sections - navigation.expand - navigation.indexes - navigation.top - search.highlight - search.suggest - content.code.copy - content.code.annotate - content.tabs.link - toc.integrate markdown_extensions: - admonition - pymdownx.details - pymdownx.superfences: custom_fences: - name: mermaid class: mermaid format: !!python/name:pymdownx.superfences.fence_code_format - pymdownx.tabbed: alternate_style: true - pymdownx.highlight: anchor_linenums: true - pymdownx.inlinehilite - pymdownx.snippets - attr_list - md_in_html - tables - footnotes - def_list plugins: - search: lang: ru - tags - git-revision-date-localized: type: date locale: ru - minify: minify_html: true nav: - Главная: index.md - Руководство: - Установка: guide/installation.md - Конфигурация: guide/configuration.md - Быстрый старт: guide/quickstart.md - API: - Обзор: api/overview.md - Endpoints: api/endpoints.md - Changelog: changelog.md ו-mkdocs-openapi-ref. זמן הבנייה ירד ל-25 שניות, החיפוש הפך למיידי, ומפתחים החלו לעדכן תיעוד בתדירות גבוהה יותר—תדירות הקומיטים גדלה פי 3. המעבר החזיר את ההשקעה תוך חודשיים בזכות הפחתת זמן החיפוש ותיקון השגיאות.
רכיבי Markdown מורחבים
!!! tip "Совет"
Используйте environment variables для хранения секретов.
!!! warning "Внимание"
Этот метод устарел в версии 2.0.
=== "Python"
```python
import myproject
client = myproject.Client(api_key="...")
```
=== "JavaScript"
```javascript
const client = new MyProject({ apiKey: '...' });
```
```mermaid
sequenceDiagram
Client->>API: POST /auth/login
API->>Database: Check credentials
Database-->>API: User found
API-->>Client: JWT token
``` פריסה ל-GitHub Pages
# .github/workflows/docs.yml
name: Deploy Docs
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- run: pip install mkdocs-material mkdocs-git-revision-date-localized
- run: mkdocs gh-deploy --force
השוואת תכונות
| תכונה | MkDocs + Material | Sphinx + Read the Docs | GitBook |
|---|---|---|---|
| שפת סימון | Markdown | reStructuredText/Markdown | Markdown |
| חיפוש | מובנה, עם הדגשה | באמצעות תוספים | מבוסס ענן |
| ניהול גרסאות | תוסף mike | מובנה | מנוי בתשלום |
| מהירות בנייה (500 עמודים) | < 1 דקה | 2–3 דקות | מבוסס ענן |
| מחיר | חינם | חינם | החל מ-$8 לחודש |
השוואת פלטפורמות פריסה
| פלטפורמה | מסלול חינמי | מהירות פריסה | תכונות |
|---|---|---|---|
| GitHub Pages | 1 GB, 100 GB/חודש | 30–60 שניות | CI/CD מובנה, Jekyll |
| Netlify | 100 GB/חודש, 300 דקות בנייה | 20–40 שניות | טפסים, פונקציות serverless |
| Vercel | 100 GB/חודש, 6000 דקות בנייה | 15–30 שניות | Edge Functions, אנליטיקה |
טעויות נפוצות בעשייה עצמית
-
mkdocs-table-readerללא החבילה!!! tip "Совет" Используйте environment variables для хранения секретов. !!! warning "Внимание" Этот метод устарел в версии 2.0. === "Python" ```python import myproject client = myproject.Client(api_key="...") ``` === "JavaScript" ```javascript const client = new MyProject({ apiKey: '...' }); ``` ```mermaid sequenceDiagram Client->>API: POST /auth/login API->>Database: Check credentials Database-->>API: User found API-->>Client: JWT token - חסר
# .github/workflows/docs.yml name: Deploy Docs on: push: branches: [main] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: { fetch-depth: 0 } - uses: actions/setup-python@v5 with: { python-version: '3.x' } - run: pip install mkdocs-material mkdocs-git-revision-date-localized - run: mkdocs gh-deploy --forceבתצורה—האתר לא ייבנה - שימוש בנתיבים יחסיים ב-
mkdocs gh-deploy—נשבר בעת פריסה - שכחת השבתת
mkdocs-git-revision-date-localizedלתצוגה מקומית - קידוד קבצים: קידוד שאינו UTF-8 שובר את החיפוש. ודאו שכל קבצי ה-.md הם UTF-8
אבטחת איכות
אנו עוקבים אחר התיעוד הרשמי של Material for MkDocs כמקור להמלצות. בכל פרויקט אנו בודקים את Core Web Vitals ומאמתים נכונות קישורים. התוצאה—תיעוד שאינו מתיישן ונטען תוך שניות. צרו קשר לייעוץ—נעריך היקף ולוחות זמנים. הזמינו פיתוח תיעוד MkDocs עוד היום.







