@reeka/minisite-cms
v0.5.4
Published
Ghost-style inline CMS overlay for Reeka mini-sites and agent listing sites
Readme
@reeka/minisite-cms
Ghost-style inline CMS overlay for Reeka host mini-sites and agent listing sites.
Usage
npm i @reeka/minisite-cmsimport "@reeka/minisite-cms/style.css";
import { installSiteCms } from "@reeka/minisite-cms";
void installSiteCms({ apiBase: "https://api.example.com" });Behavior
- Mounts only when
?cms=<jwt>is present (or a priorsessionStoragesession). - Guests never pay for the editor UI when this returns early.
- Publishes via
str-backend(PUT /site-cms/content); never talks to GitHub. - Selection toolbar: Bold / Italic / Underline (stored as
**text**/*text*/__text__), plus image () and video ([[video:url|poster]]) markers. External video accepts anyhttpsURL (YouTube/Vimeo get native embeds when recognized; other hosts iframe the URL;.mp4/.webmuse<video>). - Page jump menu in the edit bar (auto-discovers nav links + known content pages; optional
pages/navigateininstallSiteCms). - Guest pages should render with
cmsInlineToHtml()(exported) instead of raw{{ }}so formatting shows. - Optional list editors (toggle via
installSiteCms({ features }); blog defaults off):features.heroImages(default true) +data-cms-list="hero.imageUrls"→ Hero images panelfeatures.gallery(default true) +data-cms-list="gallery.sections"→ Gallery panelfeatures.blog(default false) +data-cms-list="blog.posts"→ Posts panel — sites that ship/blogmust passfeatures: { blog: true }features.popup(default true) → Popup panel
- Mark body fields with
data-cms-richso Image/Video insert when the caret is in the field. subscribeCmsDraft(cb)— host sites merge draft content over bakedsite.jsonfor live preview while a CMS session is active.
Build
npm install
npm run buildLicense
Copyright (c) 2026 Reeka. All rights reserved. See LICENSE.
