Skip to content

Commit e856436

Browse files
authored
README: add vanilla-JS export to Features + flag plugin system (#6)
The Features section listed three export modes (CDN, bundle, CLJS) but the vanilla-JS export shipped at v0.1.0 alongside them at full feature parity. Add it as the fourth bullet, and follow with a short "Pluggable export system" item that points readers at docs/plugins.md so the export-API capability isn't buried. Project-layout section's export/ subline updated from "HTML + bundle (zip) export" to name all four targets and the plugin shape.
1 parent 03eb058 commit e856436

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ reconciler (no virtual DOM) to stay philosophically aligned with BareDOM.
3838
(`.json`) via File Download / File Upload
3939
- **Project files** are spec-validated on load — malformed payloads are
4040
refused rather than silently installed
41-
- **Three export modes**:
41+
- **Four export modes**:
4242
- **CDN export** (static snapshot) — one HTML file, loads BareDOM
4343
from jsDelivr at runtime (requires internet). Markup only; no
4444
reactive state.
@@ -51,6 +51,16 @@ reconciler (no virtual DOM) to stay philosophically aligned with BareDOM.
5151
declarative data-binding layer. Buttons fire actions, fields
5252
update state, computed subs recompute. See the
5353
[Recipes](#recipes) section for how to build one end-to-end.
54+
- **Vanilla JavaScript export** (interactive) — a `.zip` with a
55+
tiny reactive store, a hand-written reconciler, and per-group
56+
view modules. Same feature parity as the ClojureScript export
57+
(template groups, collection fields, the seven computed
58+
operations, bindings, triggers, raw-HTML icons) — no
59+
framework dependency, plain DOM + ES modules.
60+
- **Pluggable export system** — the four targets above are
61+
built-in plugins under `src/bareforge/export/<name>/`; adding a
62+
new one (React, Svelte, your in-house framework) is a manifest
63+
+ a single `generate` fn. See [`docs/plugins.md`](./docs/plugins.md).
5464
- **Undo / redo** with 100-step history, including coalesced keyboard
5565
nudges (hold arrow → one undo step)
5666
- **Preview mode** toggle — drops the editor chrome interactions so you
@@ -569,7 +579,7 @@ bareforge/
569579
├── ui/ Editor chrome (palette, layers, inspector, …)
570580
├── dnd/ Drag-drop state machine
571581
├── storage/ IndexedDB autosave + project files
572-
└── export/ HTML + bundle (zip) export
582+
└── export/ Pluggable exports — HTML, bundle, CLJS, vanilla-JS
573583
```
574584

575585
See [`docs/architecture.md`](./docs/architecture.md) for the architecture, data model, rendering pipeline,

0 commit comments

Comments
 (0)