Storage & no lock-in
No vendor lock-in is the core promise of GJS Builder, and it's enforced by how pages are stored — not by a marketing pledge.
Dual save
Every save persists two representations at once:
- Project JSON — the editable source of truth for the editor (components, styles, settings). This is what reopens when you edit again.
- Compiled HTML + CSS — the output, mirrored straight into
post_content.
Why mirror HTML into post_content
Because the compiled HTML lives in the standard WordPress content field, your theme renders the page the normal way. That means:
Deactivate GJS Builder and your pages keep rendering. GJS is a build tool, not a runtime dependency.
There's no proprietary shortcode, no database format only GJS can read, and no white screen if the plugin is gone.
Exporting a page
Open the code view (</>) in the editor and copy the HTML and <style> block. That's a complete, standalone page you can paste anywhere.
Autosave & restore
Autosave writes to a separate draft slot on a configurable interval, so it never clobbers your last explicit save. If a newer autosave exists when you reopen a page, GJS offers to restore it.
Swapping storage
Storage flows through the plugin's REST layer (/pages/{id}, /pages/{id}/autosave). Advanced integrations can point the editor at a different backend; the default is WordPress. See the Developer API.
The precise boundary
- Editing requires the plugin (you need the editor).
- Displaying never does (the HTML is already in
post_content).
That line is the whole point.
