Hey Bubble community! ![]()
I just published my first plugin and wanted to share it here — would love your feedback!
BlockDocs — Rich Text Editor
Notion-style block editing, natively in Bubble.
If you’ve ever tried to build a blog editor, a knowledge base, or any content-heavy feature in Bubble, you know the pain: native input fields are too limited, and integrating external editors is always a headache.
BlockDocs solves this. It brings a clean, modular block editor directly into your Bubble app, with zero code required.
What it does
-
10+ content blocks — Headings, paragraphs, lists, checklists, tables, quotes, code blocks, delimiters, images, and more
-
Rich text formatting — Bold, italic, underline, inline code, and text highlight
-
Clean JSON output — Content is stored as structured JSON in your Bubble database (not raw HTML)
-
Read-only mode — Toggle between edit and view mode via a simple Yes/No property
-
Auto-save pattern — Use the
content_changedevent to save on every keystroke, no Save button needed -
Programmatic Clear — Reset the editor via a workflow action
-
Theme-aware — Inherits your Bubble element styles (background, font, border, shadow) — no custom CSS needed
-
Fit to content — Works perfectly with Bubble’s native “fit height to content” layout option
How it works in practice
Auto-save (3 steps):
-
Drop a BlockDocs element on your page
-
Create a workflow → Trigger:
BlockDocs content_changed -
Action:
Make changes to a Thing→ set your field toBlockDocs's Editor Data
Load saved content:
- Set the
Initial Dataproperty to your database field — the editor decrypts and renders it automatically
Read-only display:
- Add a second BlockDocs element, pass the saved data as
Initial Data, setRead Only = Yes
Bubble states exposed
| State | Type | Description |
|—|—|—|
| editor_data | text | Full content as encrypted JSON |
| block_count | number | Number of blocks (use for empty checks) |
| is_ready | yes/no | True once the editor finishes loading |
What I built it for
I needed a structured content editor for an internal knowledge base app. Bubble’s rich text input wasn’t enough, and iframe-based solutions were brittle. I wanted something that:
-
Stored content as structured data (not HTML soup)
-
Could toggle between edit/read-only without rebuilding the UI
-
Respected Bubble’s native styling system
BlockDocs is what I ended up building — and I figured others might find it useful too.
Links
- Plugin page: [BlockDocs — Rich Text Editor Plugin | Bubble]
- Plugin demo: [Bubble | No-code apps]
- Plugin edito: [Plugins-Demo | Bubble Editor]
Happy to answer any questions about the implementation or how I structured the plugin. This is my first Bubble plugin, so any feedback on the listing, docs, or UX is genuinely appreciated! ![]()
