Markdown та компоненти
DocPlatform використовує Markdown, сумісний із CommonMark, з YAML frontmatter та 7 користувацькими компонентами для багатої інтерактивної документації.
Основи Markdown
DocPlatform підтримує повну специфікацію CommonMark плюс поширені розширення.
Заголовки
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
Заголовки автоматично генерують anchor ID для глибоких посилань: ## My Section → #my-section.
Форматування тексту
**Bold text**
*Italic text*
~~Strikethrough~~
`Inline code`
[Link text](https://example.com)

Списки
- Unordered item
- Another item
- Nested item
1. Ordered item
2. Another item
- [ ] Task item (unchecked)
- [x] Task item (checked)
Цитати
> This is a blockquote.
>
> It can span multiple paragraphs.
Блоки коду
Огороджені блоки коду з підсвічуванням синтаксису для конкретної мови (200+ мов через Shiki):
```go
func main() {
fmt.Println("Hello, DocPlatform!")
}
```
Таблиці
| Feature | Status | Notes |
|---|---|---|
| Editor | Complete | Tiptap-based |
| Search | Complete | Bleve engine |
| Git sync | Complete | Bidirectional |
Таблиці підтримують вирівнювання ліворуч, по центру та праворуч:
| Left | Center | Right |
|:-----|:------:|------:|
| A | B | C |
Горизонтальні лінії
---
Посилання між сторінками
Посилайтеся на інші сторінки у вашому робочому просторі за допомогою відносних шляхів:
See the [Installation guide](../getting-started/installation.md).
Check the [API reference](../reference/api.md) for endpoint details.
DocPlatform перевіряє внутрішні посилання. Команда doctor повідомляє про будь-які биті посилання.
Frontmatter
Кожна сторінка починається з блоку YAML frontmatter, обмеженого ---:
---
title: Page Title
description: A brief summary for search results and SEO.
tags: [guide, getting-started]
published: true
access: public
allowed_roles: []
---
Поля frontmatter
| Поле | Тип | Обов’язкове | За замовчуванням | Опис |
|---|---|---|---|---|
title |
string | Так | — | Назва сторінки, що відображається в навігації та заголовках |
description |
string | Ні | — | Короткий опис для результатів пошуку, SEO мета-тегів |
tags |
string[] | Ні | [] |
Категорії для фільтрації та пошуку |
published |
boolean | Ні | false |
Включення в опублікований документаційний сайт |
access |
string | Ні | public |
Видимість: public, workspace, restricted |
allowed_roles |
string[] | Ні | [] |
Ролі з правом перегляду (коли access: restricted) |
Користувацькі компоненти
DocPlatform включає 7 вбудованих компонентів, які відображаються як багаті інтерактивні елементи як у попередньому перегляді веб-редактора, так і в опублікованій документації.
Компоненти використовують синтаксис директив:
:::component-name{attributes}
Content goes here.
:::
Callout
Виділяйте важливу інформацію стилізованими блоками.
:::callout{type="info"}
DocPlatform automatically indexes all content for search.
:::
:::callout{type="warning"}
Changing the workspace slug will break existing published URLs.
:::
:::callout{type="danger"}
Running `rebuild` drops the pages table and re-indexes from the filesystem.
This is irreversible.
:::
:::callout{type="tip"}
Press Cmd+K to open search from anywhere in the editor.
:::
:::callout{type="note"}
This feature is available in Community Edition.
:::
Доступні типи: info, warning, danger, tip, note
Блок коду (розширений)
Стандартні огороджені блоки коду автоматично доповнюються:
- Підсвічування синтаксису — 200+ мов через Shiki
- Кнопка копіювання — копіювання в буфер обміну одним кліком
- Мітка мови — відображається у верхньому правому куті
- Номери рядків — опціонально, вмикаються через
showLineNumbers
```typescript {showLineNumbers}
interface Page {
id: string;
title: string;
content: string;
published: boolean;
}
```
Tabs
Групуйте пов’язаний контент у перемикальні панелі вкладок.
:::tabs
::tab{label="macOS"}
```bash
brew install docplatform
:: ::tab{label=“Linux”}
curl -fsSL https://valoryx.org/install.sh | sh
:: ::tab{label=“Docker”}
docker pull ghcr.io/valoryx-org/docplatform:latest
:: :::
Вибір вкладки зберігається під час навігації між сторінками — якщо користувач обрав "Docker", усі групи вкладок на наступних сторінках за замовчуванням показують "Docker", коли така мітка існує.
### Accordion
Згортувані секції для додаткового контенту.
```markdown
:::accordion{title="What happens during initialization?"}
The `init` command creates a `.docplatform` directory, initializes the SQLite
database, generates an RS256 signing key, and optionally clones a git repository.
:::
:::accordion{title="Can I use an existing database?"}
No. DocPlatform manages its own SQLite database and does not support connecting
to external database servers in Community Edition.
:::
Cards
Сітка карток із посиланнями для навігаційних сторінок або оглядів функцій.
:::cards
::card{title="Getting Started" link="/getting-started"}
Install and configure DocPlatform in under 10 minutes.
::
::card{title="Git Integration" link="/guides/git-integration"}
Bidirectional sync between the web editor and your git repository.
::
::card{title="Publishing" link="/guides/publishing"}
Publish beautiful documentation sites with dark mode and SEO.
::
::card{title="Search" link="/guides/search"}
Instant full-text search with permission filtering.
::
:::
Steps
Нумеровані покрокові інструкції з візуальними індикаторами прогресу.
:::steps
::step{title="Download"}
Get the latest binary from GitHub Releases.
::
::step{title="Initialize"}
Run `docplatform init` to create your workspace.
::
::step{title="Start the server"}
Run `docplatform serve` and open http://localhost:3000.
::
::step{title="Register"}
Create your admin account — the first user becomes Super Admin.
::
:::
API Block
Документуйте API ендпоінти з бейджами методів, параметрами та прикладами відповідей.
:::api{method="POST" path="/api/v1/auth/login"}
Authenticate a user and receive JWT tokens.
**Request body:**
```json
{
"email": "[email protected]",
"password": "your-password"
}
Response: 200 OK
{
"access_token": "eyJhbG...",
"refresh_token": "eyJhbG...",
"expires_in": 900
}
Errors:
401 Unauthorized— Invalid credentials429 Too Many Requests— Rate limit exceeded :::
## Використання компонентів у редакторі
### Режим форматованого тексту
У багатофункціональному редакторі компоненти відображаються як інтерактивні блоки. Вставляйте їх за допомогою:
- **Панель інструментів** — вставляйте компоненти через панель інструментів редактора
- **Панель інструментів** — натисніть кнопку **+** → оберіть компонент
- **Режим необробленого Markdown** — пишіть синтаксис директив напряму
### Режим необробленого Markdown
У режимі необробленого тексту записуйте синтаксис директив безпосередньо. Редактор забезпечує підсвічування синтаксису для блоків компонентів.
## Розширення Markdown
Окрім CommonMark, DocPlatform підтримує:
| Розширення | Синтаксис | Опис |
|---|---|---|
| **Списки завдань** | `- [ ] item` | Інтерактивні прапорці |
| **Закреслення** | `~~text~~` | Закреслений текст |
| **Таблиці** | Таблиці GFM | З підтримкою вирівнювання |
| **Автопосилання** | `https://...` | URL автоматично стають посиланнями |
| **Виноски** | `[^1]` | Виноски у стилі посилань |
| **Anchor заголовків** | Автоматична генерація | Глибокі посилання на розділи |