ESC
Type to search...
S
Soli Docs

Layout editor

Build a template by structure rather than by hand-writing JSON. Pick an element on the left, set its properties in the middle, watch the real engine render it on the right. The JSON below is the file — it is the editor's only state, so anything you author here you can save, commit and hand-edit later.

This editor is for documents that flow. Invoices, quotes and statements grow with their data, so their elements are ordered rather than positioned — which is what this tree edits. If you want to place things freely on the page instead, open the full-screen PDF Studio: a canvas with a tool rail, rulers and guides, where you draw and drag elements over the real rendered page.

Ready
Structure

Inserts after the selection, or inside it when a container is selected.

Properties
Preview
Read-only — the editor above is the source of truth.

How it maps to the template language

The editor is a projection of the JSON, not a separate document format — there is no lock-in and no lossy export. Two elements do most of the structural work:

  • box is the container. It flows its children in normal top-to-bottom order, then paints its background and border at the size the content actually measured, and drops the cursor below itself. Use it for panels, callouts, totals blocks and signature areas — anywhere you would otherwise have hand-computed a rect height and a compensating move.
  • repeat is the detail band: it renders its children once per item of the array named in data, with ${field} scoped to that item. Repeats nest — a repeat over sections can contain a repeat over lines, which is how grouped line items with per-group subtotals are built.
  • if / unless gate a block on a field being truthy, or equal to a literal when equals is set.

A table whose structure the property panel cannot represent (merged cells, differing header and body column counts, rich cell content) is shown read-only rather than rewritten — the editor never rewrites something it cannot round-trip. Full element reference in PDF & Factur-X; finished documents in Invoice & Quote Templates.