CLI
Команды
Каждая команда dxcl и флаги, которые имеют значение.
CLI называется dxcl и поставляется внутри пакета docxcelerate. Запустите её
разово через npx docxcelerate <command> или установите пакет и вызывайте
dxcl напрямую — см. Начните отсюда.
dxcl init
Создаёт workspace и устанавливает его зависимости.
dxcl init my-documents
dxcl init my-documents --dir workspaces
dxcl init my-documents --blank
Запустите без аргументов, чтобы пройти пошаговую настройку, которая спросит шаблон и адрес API.
| Флаг | Действие |
|---|---|
--dir <path> | Создать workspace внутри <path> |
--blank | Пропустить документ-пример |
--official-server | Направить upload.endpoint на официальный движок |
--api-endpoint <url> | Направить upload.endpoint на ваш собственный сервис |
--no-api-endpoint | Оставить upload.endpoint пустым |
dxcl document new
Создаёт проект документа внутри workspace.
dxcl document new tenancy-renewal --title "Tenancy Renewal"
Пишет documents/tenancy-renewal/ с файлами document.project.ts,
document.tsx, document-style.ts, preview-data.ts, types.ts и каталогами
derivers/ и nodes/. О том, за что отвечает каждый файл, — проекты
документов.
dxcl document node
Генерирует компонент узла и регистрирует его.
dxcl document node documents/tenancy-renewal next-steps --type paragraph
dxcl document node documents/tenancy-renewal signature --type image
dxcl document node documents/tenancy-renewal rent-trend --type graph
| Флаг | Значения |
|---|---|
--type | paragraph, image, graph |
Генератор пишет nodes/<name>.node.tsx и обновляет nodes/index.ts. Он не
размещает узел в вашем шаблоне — добавьте его в document.tsx в то место
документа, которому он принадлежит.
Записанный узел начинается со своего содержимого. Генерируемым узел делают заданные на нём промпты, а это компонент решает уже с данными на руках — так что выбирать здесь нечего. См. как писать узлы.
dxcl list
Печатает реестр: все темы и все готовые компоненты, которые поставляются с пакетом.
dxcl list
dxcl list themes
dxcl list components
Тот же каталог можно просмотреть в разделах темы и компоненты, где у каждой записи есть предпросмотр, построенный тем же рендерером, который поставляется с CLI.
dxcl show
Печатает одну запись целиком — что это, что она читает и куда лягут её файлы.
dxcl show slate-report
dxcl show payment-summary
dxcl add
Устанавливает темы и компоненты в проект документа.
dxcl add slate-report
dxcl add letterhead signature-block
dxcl add payment-summary --project documents/arrears-notice
| Флаг | Действие |
|---|---|
--project <dir> | Проект документа, в который устанавливать |
--force | Перезаписать файлы, которые уже есть |
Без --project команда берёт проект документа, в котором вы находитесь, или
единственный внутри documents/. Если проектов несколько и ни один не
подразумевается, она скажет об этом, а не станет гадать.
Компонент копируется как исходный код — nodes/<name>.node.tsx — и
реэкспортируется из nodes/index.ts. Дальше это ваш файл: у него нет версии,
его никогда не обновят за вашей спиной, а править его — предполагаемый
следующий шаг, а не форк. Чего команда не делает, так это не правит ваш тип
данных, поэтому поля, которые читает компонент, печатаются, чтобы вы их
добавили. Разместить его в document.tsx тоже вам, по той же причине, по
которой генератор узлов этого не трогает.
Тема записывается как document-style.ts проекта, который
document.project.ts и так пробрасывает, — значит, следующий предпросмотр уже
будет в теме. Файл импортирует тему и разворачивает её, так что переопределить
один отступ — это строка, а не форк:
export const documentStyle: DocumentStyle = themeStyle(slateReportTheme, {
page: { margins: { topMm: 20 } },
});
Установка второй темы заменяет document-style.ts, которого никто не касался.
Как только вы написали в него сами, для замены понадобится --force — весь
смысл файла в том, что он ваш.
Изменить эту страницу на GitHub ↗ Читать эту страницу в Markdown