Импорт через CLI
Обновлено
Что можно импортировать
Команда CLI загружает локальный снимок документации: проекты, главы, статьи и настройки хаба. Это специальный JSON-формат, а не загрузка произвольного каталога Markdown. Кнопки массового импорта Markdown в редакторе нет.
Подготовку снимка и запуск команды выполняет разработчик с доступом к командной строке сервера. Перед импортом сохраните резервную копию базы данных: совпавшие записи и общие настройки будут обновлены.
Состав снимка
В одном локальном каталоге должны находиться три файла:
| Файл | Содержимое |
|---|---|
wiki-pages.json |
Объект с массивом docs: статьи |
wiki-categories.json |
Объект с массивом docs: главы |
docs-settings.json |
Настройки хаба и массив projects |
Для статьи используются id, project, slug, title, markdownBody, description, _status, sortOrder, category, meta, createdAt, updatedAt. category может быть ID главы или объектом с id. Статус published публикует статью; другое или отсутствующее значение оставляет черновик.
У главы — id, project, title, sortOrder и даты. Настройки проекта в projects включают project — адрес, title, description, kind, published.
Поля meta статьи: title, description, keywords, ogTitle, ogDescription, image. Изображение может быть URL или объектом с url. Сам файл изображения эта команда не загружает.
Запуск
Из корня установки Webasyst выполните:
php cli.php code docsImport /path/to/snapshotЗамените /path/to/snapshot на каталог снимка и используйте подходящую версию PHP. При успехе команда выводит JSON со счётчиками projects, chapters, pages; в число страниц входят и вступления _index. При ошибке выводится сообщение и команда завершается с ненулевым кодом.
Команда читает локальные файлы и не обращается к внешнему сайту. Изменения выполняются одной транзакцией.
Повторный импорт
Проекты сопоставляются по адресу, статьи — по проекту и адресу, главы — по идентификатору источника в проекте, затем по названию. Совпавшие записи обновляются; отсутствующие в снимке записи автоматически не удаляются.
Повторный импорт может заменить ручные правки совпавших статей и настройки хаба. Это разовый перенос подготовленных данных, а не двусторонняя синхронизация.
После импорта проверьте порядок глав, публикацию разделов и статей, вступления, SEO и доступность изображений. Теги проектов в этом формате отдельно не импортируются: назначьте их через бэкенд.