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

  1. Build the post canvas: catalogue fields, rich text, images and sidebar settings.
  2. Markdown and section tags: import writing and insert reusable sections.
  3. Laravel backend: model, routes, policies, saves and existing-table adoption.
  4. 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.