gosx-cms

module
v0.1.56 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 21, 2026 License: MIT

README

GoSX CMS

GoSX CMS is the opinionated content layer for GoSX applications.

Agent Skill

Agents helping someone use GoSX CMS should read the GoSX ecosystem skill: using-gosx-ecosystem.

It is meant to feel like the batteries-included side of Django: site settings, pages, posts, media, SEO, and opinionated block catalogs built on top of gosx-admin.

Core GoSX stays small; this module carries reusable CMS patterns for apps that want them. It can grow independently as the examples harden into packages.

Current package surface:

  • blocks: CMS content block catalogs that can be rendered by admin block editors or public GoSX surfaces.
  • content: compatibility parsing and view-model helpers for structured body documents and the lightweight legacy block syntax.
  • lifecycle: revision, draft, publish, preview, and rollback primitives for CMS stores.
  • media: reusable asset, variant, focal point, usage, picker, and media-line primitives.
  • render: generic content block rendering with hooks for app-owned product, flow, and custom block output.
  • store: generic CMS store contracts and helpers for pages, posts, site settings, draft/publish state, and revisions.
  • store/memory: turnkey in-memory implementation of the generic CMS store contracts for demos, tests, previews, and early site builds.
  • flows: reusable server-action-backed flow definitions and Studio panels for contact, scheduling, enrollment, newsletter, checkout handoff, and app-owned handlers. The package also includes persisted authoring primitives for flow documents, drafts, publications, runtime instances, and lifecycle revision snapshots plus a memory store for demos and early Studio sites.
  • studio: reusable three-pane authoring shell model and server-rendered structure for canvas, preview, panels, and actions.
go get github.com/odvcencio/gosx-cms

Flow Documents

flows.Document is the persisted author-authored counterpart to flows.Definition. It keeps flow metadata, action handler references, and each step's blockstudio.Document together so Studio can draft and publish generic flows such as contact, purchase request, checkout handoff, newsletter, appointment, schedule tour, and enrollment.

Use flows.StandardDocuments to seed those generic flow shapes with app-owned handler refs, flows.NormalizeDocument to clean authored step block documents, flows.InstanceFromDocument to build a runtime definition, and flows.PublishDraft or flows.NewDocumentRevision to create lifecycle snapshots. The package exposes store interfaces only; applications decide where documents, drafts, publications, and revisions live.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL