Ваш первый workspace
Workspace — это контейнер верхнего уровня для проекта документации. Каждый workspace соответствует директории с Markdown-файлами и опционально синхронизируется с git-репозиторием.
Концепции workspace
| Концепция | Описание |
|---|---|
| Workspace | Проект документации, содержащий страницы, участников и настройки |
| Page | Markdown-файл с YAML frontmatter (заголовок, описание, теги, доступ) |
| Slug | URL-безопасный идентификатор workspace (например, my-docs -> /p/my-docs/) |
| Member | Пользователь с ролью в workspace (от Viewer до Workspace Admin) |
Создание workspace
Через CLI
docplatform init \
--workspace-name "Engineering Docs" \
--slug eng-docs
Через веб-интерфейс
- Войдите как Super Admin или Workspace Admin
- Откройте переключатель workspace (выпадающий список вверху слева)
- Нажмите Create Workspace
- Введите имя и slug
- Опционально настройте удаленный git-репозиторий
Подключение git-репозитория
Двунаправленная синхронизация поддерживает файлы workspace и удаленный git-репозиторий в актуальном состоянии.
При инициализации
docplatform init \
--workspace-name "Engineering Docs" \
--slug eng-docs \
--git-url [email protected]:your-org/eng-docs.git \
--branch main
После создания
Обновите конфигурацию workspace по адресу .docplatform/workspaces/{id}/.docplatform/config.yaml:
git_remote: [email protected]:your-org/eng-docs.git
git_branch: main
git_auto_commit: true
sync_interval: 300 # seconds
Затем перезапустите сервер или запустите ручную синхронизацию через веб-интерфейс.
Настройка SSH-ключа
Для приватных репозиториев DocPlatform использует выделенный SSH deploy key:
# Generate a deploy key (no passphrase)
ssh-keygen -t ed25519 -f ~/.ssh/docplatform_deploy_key -N ""
# Add the public key to your repository's deploy keys
cat ~/.ssh/docplatform_deploy_key.pub
# → Copy this to GitHub/GitLab Settings → Deploy Keys (enable write access)
Установите переменную окружения:
export GIT_SSH_KEY_PATH=~/.ssh/docplatform_deploy_key
Как работает синхронизация
┌─────────────┐ auto-commit + push ┌──────────────┐
│ Web Editor │ ──────────────────────────► │ Remote Repo │
│ (browser) │ │ (GitHub, etc)│
│ │ ◄────────────────────────── │ │
└─────────────┘ polling / webhook └──────────────┘
Web -> Git: При сохранении в редакторе DocPlatform записывает файл .md, автоматически коммитит с описательным сообщением и пушит в удаленный репозиторий.
Git -> Web: DocPlatform опрашивает удаленный репозиторий (по умолчанию: каждые 5 минут) или слушает webhook. Новые коммиты подтягиваются, и веб-интерфейс обновляется в реальном времени через WebSocket.
Конфликты: Если обе стороны изменяют один и тот же файл между синхронизациями, DocPlatform обнаруживает коллизию с помощью хешей контента, возвращает HTTP 409 и делает обе версии доступными для скачивания, чтобы можно было разрешить конфликт вручную.
Организация контента
Иерархия страниц
Страницы могут быть вложены на любую глубину. Структура файлов в docs/ напрямую соответствует структуре URL:
docs/
├── index.md → /p/eng-docs/
├── getting-started.md → /p/eng-docs/getting-started
├── api/
│ ├── index.md → /p/eng-docs/api/
│ ├── authentication.md → /p/eng-docs/api/authentication
│ └── endpoints.md → /p/eng-docs/api/endpoints
└── guides/
├── deployment.md → /p/eng-docs/guides/deployment
└── contributing.md → /p/eng-docs/guides/contributing
Frontmatter
Каждая страница начинается с блока YAML frontmatter:
---
title: Authentication
description: How to authenticate with the API using JWT tokens.
tags: [api, auth, jwt]
published: true
access:
roles: [] # empty = all workspace members (default)
users: [] # restrict by @user_id
---
Поле title является обязательным. Все остальные поля опциональны и имеют разумные значения по умолчанию.
Приглашение команды
Через веб-интерфейс
- Откройте Workspace Settings -> Members
- Нажмите Invite
- Введите email-адрес приглашаемого
- Выберите роль (Viewer, Commenter, Editor, Admin)
- Нажмите Send Invitation
Если настроен SMTP, приглашение отправляется по email. В противном случае отображается ссылка-приглашение для совместного использования.
Роли
| Роль | Просмотр | Комментирование | Редактирование | Управление участниками | Управление workspace |
|---|---|---|---|---|---|
| Viewer | Да | ||||
| Commenter | Да | Да | |||
| Editor | Да | Да | Да | ||
| Admin | Да | Да | Да | Да | |
| Workspace Admin | Да | Да | Да | Да | Да |
| Super Admin | Полный доступ ко всем workspaces |
Подробнее о настройке прав доступа смотрите в разделе Роли и права доступа.
Настройки workspace
Управляйте настройками workspace через веб-интерфейс (значок шестеренки Settings) или редактируя файл конфигурации напрямую.
Основные настройки:
| Настройка | Описание | По умолчанию |
|---|---|---|
name |
Отображаемое имя workspace | — |
slug |
URL-slug для опубликованной документации | — |
git_remote |
URL удаленного git-репозитория | (нет) |
git_branch |
Ветка для синхронизации | main |
git_auto_commit |
Автоматический commit при сохранении в редакторе | true |
sync_interval |
Интервал опроса git (в секундах) | 300 |
theme.mode |
Цветовая схема: light, dark, auto |
auto |
theme.accent |
Цвет акцента | blue |
permissions.default_role |
Роль для новых участников | viewer |
Полный справочник конфигурации смотрите в разделе Настройки workspace.
Что дальше
Ваш workspace готов. Куда двигаться дальше:
| Цель | Руководство |
|---|---|
| Изучить веб-редактор | Веб-редактор |
| Настроить публикацию | Публикация |
| Настроить аутентификацию | Аутентификация |
| Развернуть в production | Чек-лист для production |