CLI
Befehle
Jeder dxcl-Befehl, mit den Flags, auf die es ankommt.
Die CLI heißt dxcl und steckt im Paket docxcelerate. Rufen Sie sie einmalig
mit npx docxcelerate <command> auf, oder installieren Sie das Paket und rufen
dxcl direkt auf — siehe Hier anfangen.
dxcl init
Legt einen Workspace an und installiert dessen Abhängigkeiten.
dxcl init my-documents
dxcl init my-documents --dir workspaces
dxcl init my-documents --blank
Ohne Argumente aufgerufen, führt der Befehl durch eine geführte Einrichtung, die nach dem Template und dem API-Endpoint fragt.
| Flag | Wirkung |
|---|---|
--dir <path> | Den Workspace innerhalb von <path> anlegen |
--blank | Das Beispieldokument auslassen |
--official-server | upload.endpoint auf die offizielle Engine zeigen lassen |
--api-endpoint <url> | upload.endpoint auf Ihren eigenen Dienst zeigen lassen |
--no-api-endpoint | upload.endpoint leer lassen |
dxcl document new
Legt ein Dokumentprojekt innerhalb eines Workspace an.
dxcl document new tenancy-renewal --title "Tenancy Renewal"
Schreibt documents/tenancy-renewal/ mit document.project.ts, document.tsx,
document-style.ts, preview-data.ts, types.ts sowie den Verzeichnissen
derivers/ und nodes/. Wofür jede Datei da ist, steht unter
Dokumentprojekte.
dxcl document node
Erzeugt eine Node-Komponente und registriert sie.
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
| Flag | Werte |
|---|---|
--type | paragraph, image, graph |
Der Generator schreibt nodes/<name>.node.tsx und aktualisiert nodes/index.ts.
Er platziert den Node nicht in Ihrem Template — fügen Sie ihn in
document.tsx an der Stelle ein, an die er im Dokument gehört.
Der erzeugte Node beginnt mit seinem Inhalt. Generiert wird ein Node dadurch, dass Prompts auf ihm gesetzt werden, und das entscheidet eine Komponente mit Daten in der Hand — hier gibt es also nichts zu wählen. Siehe Nodes schreiben.
dxcl list
Gibt die Registry aus: jedes Theme und jede vorgefertigte Komponente, die das Paket mitbringt.
dxcl list
dxcl list themes
dxcl list components
Derselbe Katalog lässt sich unter Themes und Komponenten durchblättern, wo jeder Eintrag eine Vorschau trägt, die von demselben Renderer erzeugt wurde, den auch die CLI mitbringt.
dxcl show
Gibt einen Eintrag vollständig aus — was er ist, was er liest und wo seine Dateien landen.
dxcl show slate-report
dxcl show payment-summary
dxcl add
Installiert Themes und Komponenten in ein Dokumentprojekt.
dxcl add slate-report
dxcl add letterhead signature-block
dxcl add payment-summary --project documents/arrears-notice
| Flag | Wirkung |
|---|---|
--project <dir> | Das Dokumentprojekt, in das installiert wird |
--force | Bereits vorhandene Dateien überschreiben |
Ohne --project nimmt der Befehl das Dokumentprojekt, in dem Sie stehen, oder
das einzige unterhalb von documents/. Gibt es mehrere und ist keines gemeint,
sagt er das, statt zu raten.
Eine Komponente wird als Quelltext hineinkopiert — nodes/<name>.node.tsx —
und aus nodes/index.ts re-exportiert. Danach ist es Ihre Datei: sie hat keine
Version, sie wird nicht hinter Ihrem Rücken aktualisiert, und sie zu bearbeiten
ist der vorgesehene nächste Schritt und kein Fork. Was der Befehl nicht tut, ist
Ihren Datentyp zu bearbeiten — die Felder, die die Komponente liest, werden
deshalb zum Nachtragen ausgegeben. Sie in document.tsx zu platzieren, bleibt
ebenfalls Ihnen überlassen, aus demselben Grund, aus dem der Node-Generator das
nicht anfasst.
Ein Theme wird als document-style.ts des Projekts geschrieben, das
document.project.ts ohnehin durchreicht — die nächste Vorschau ist also
themed. Die Datei importiert das Theme und spreizt es, sodass das Überschreiben
eines einzelnen Rands eine Zeile ist und kein Fork:
export const documentStyle: DocumentStyle = themeStyle(slateReportTheme, {
page: { margins: { topMm: 20 } },
});
Ein zweites Theme ersetzt eine document-style.ts, die niemand angefasst hat.
Sobald Sie hineingeschrieben haben, braucht das Ersetzen --force — der Sinn
der Datei ist ja, dass sie Ihnen gehört.
Diese Seite auf GitHub bearbeiten ↗ Diese Seite als Markdown lesen