Dollie Editor SDK guide
Posts and Blogging
Build a blog with the shared editor canvas and an optional Laravel post backend.
A post uses the same PageConfig and catalogue as a page. Authors write rich text,
insert approved sections and illustrations, and use the existing AI Fill and Copilot
controls. Set the runtime canvas layout to post for article-width editing and a
Post settings tab.
The React SDK supplies the editing machinery. The optional Laravel Posts module supplies reusable persistence and publication operations. Your application chooses the catalogue, public layout, archive UI, permissions, and tenancy rules.
What is included
| Layer | Capabilities |
|---|---|
| React SDK | Post canvas, rich Markdown fields, native image slots, templates, AI editing, Markdown section-tag import/export |
| Laravel adapter | Default post model/repository, draft saves, revision conflicts, publication snapshots, canvas mapping, taxonomy queries, metadata hooks, optional JSON endpoints |
| Your application | Article components, image library, authentication and policies, public URLs, archive and management UI, head manager and image processing |
This is a small blogging foundation. It does not include comments, author management, a ready-made archive React component, or historical revision restoration. Rich-text editing uses the optional TipTap integration. AI controls require the same host wiring as page editing.
Two representations, one body
The Laravel adapter stores the body as a normal PageConfig. Title, excerpt, featured image,
slug, category, tags and SEO are stored beside it. PostCanvas::document() constructs the
editing document by prepending a header section and exposing sidebar metadata as pageData.
On save, it separates those values again. The header is not duplicated in the stored body.
Stored post
metadata + body definition + revision + optional publication snapshot
↓ PostCanvas::document()
BuilderDocument
header section + body sections + pageData + pageDataSchema
↓ PostCanvas::save()
Updated draft (publication stays unchanged)
A publication is a snapshot of the metadata and body. Saving a later draft does not change the public article, archive, SEO, or sitemap timestamp. Publishing is a separate operation.
Start here
- Build the post canvas: catalogue fields, rich text, images and sidebar settings.
- Markdown and section tags: import writing and insert reusable sections.
- Laravel backend: model, routes, policies, saves and existing-table adoption.
- Publishing and discovery: archive queries, SEO, image hooks and Copilot scope.
For another backend, retain the React canvas and implement your own document transport and publication storage. The JSON format has no Laravel dependency.