Contensio logo
All features

Block editor

Compose pages and posts from reusable blocks. Plugins register their own. Content stays structured.

Replaces Gutenberg (but purpose-built)

A modern CMS lets you compose a page from blocks: a hero, a quote, an image gallery, a pricing table, a call-to-action. WordPress's Gutenberg pioneered this pattern — and then buried it under React complexity, theme-compatibility quirks, and a sea of "block library" plugins.

Contensio's block editor is purpose-built, Laravel-native, and pluggable. Blocks are PHP classes registered through the plugin API. Content stays structured in the database — not trapped in HTML-with-comment markers. Themes render blocks through Blade partials they fully control.

Blocks that ship in the core

Heading

H2–H6 with optional subhead

Paragraph

Rich text with links, emphasis, inline code

Image

From media library, with caption + alt

Gallery

Grid or masonry of media

Quote

Pull-quotes with optional citation

List

Bulleted or numbered

Code

Syntax-highlighted snippets

Video

Self-hosted or embedded

Divider

Visual break between sections

Plugins register their own blocks

A Forms plugin can register a Contact Form block. A Commerce plugin can register a Product Grid. The editor picks them up automatically; no core modifications, no theme changes.

// In your plugin's service provider
BlockType::register('contact-form', [
    'label'  => 'Contact form',
    'icon'   => 'bi-envelope',
    'fields' => [
        'form_id'   => ['type' => 'select', 'options' => $forms],
        'cta_label' => ['type' => 'text', 'translatable' => true],
    ],
    'render' => 'forms::blocks.contact-form',
]);

Content stays structured

Each block is stored as JSON — type, field values, position. Your theme renders it, your SEO tools read from it, your import/export moves it. Unlike WordPress's block markers (HTML comments that encode block data), Contensio's blocks are first-class data you can query.

FAQ

Yes — drag-and-drop reordering, one-click duplicate, per-block visibility toggle (useful for scheduling A/B copy).

Autosave is built in — every few seconds your draft is saved. You can revert to the previous save from the editor.

Yes. Fields marked "translatable" have per-language values; the rest (like an image reference) are shared across languages.