Naar de inhoud
Docxcelerate

Projecten

Workspace en config

Hoe een opgezette workspace is ingedeeld, en wat de configpresets aansturen.

dxcl init levert een gewoon Vite-project op. Er is niets magisch aan — je kunt het in je editor openen, dependencies toevoegen en het committen als elke andere repository.

my-documents/
  docxcelerate.config.json
  index.html
  package.json
  preview/
    main.ts
    styles.css
  vite.config.ts
  tsconfig.json
  documents/

documents/ bevat één directory per documentproject. Al het andere is de preview-app die met npm run dev draait.

Configpresets

docxcelerate.config.json bewaart benoemde presets voor build- en uploadgedrag:

{
  "schemaVersion": "docxcelerate.config/v0",
  "activePreset": "local",
  "presets": {
    "local": {
      "build": { "outDir": "build" },
      "upload": {
        "endpoint": "",
        "method": "POST",
        "headers": {},
        "body": "document"
      }
    }
  }
}

activePreset bepaalt welke van toepassing is. Presets zijn het mechanisme om een lokale opzet en een staging- of productie-endpoint naast elkaar te hebben zonder tussen runs configuratie te bewerken:

{
  "activePreset": "local",
  "presets": {
    "local": { "build": { "outDir": "build" }, "upload": { "endpoint": "" } },
    "staging": {
      "build": { "outDir": "build" },
      "upload": {
        "endpoint": "https://documents.staging.example.com/api/letters",
        "method": "POST",
        "headers": { "Authorization": "Bearer ${LETTERS_TOKEN}" },
        "body": "document"
      }
    }
  }
}
VeldBetekenis
build.outDirWaar artefacten worden geschreven, relatief aan de documentdirectory
upload.endpointHet generatie-endpoint; leeg schakelt uploaden uit
upload.methodHTTP-methode, normaal gesproken POST
upload.headersMeegestuurd met het uploadverzoek
upload.bodyWelk artefact wordt verstuurd — document is dat voor het aanvraagmoment

Build & upload is in de preview-UI alleen ingeschakeld wanneer de actieve preset een niet-lege upload.endpoint heeft. Is die leeg, dan bouwt alles nog steeds — je krijgt dan simpelweg artefacten op schijf in plaats van een voltooid document.

Indeling van een documentproject

documents/offer-of-admission/
  document.project.ts
  document-style.ts
  document.tsx
  preview-data.ts
  types.ts
  nodes/
    index.ts

De opsplitsing is het punt: types.ts is het contract, preview-data.ts is één instantie daarvan, document.tsx is alleen structuur, en elke node is een klein module onder nodes/. Documenten worden lang, en een template dat zijn proza inlijnt wordt snel onleesbaar.


Deze pagina bewerken op GitHub ↗