Docs

A design-system-first page-builder toolkit. Strike the right balance for your site — make it easy for editors to create engagement while staying compliant.

Why Inka?

  • Compliance and engagement, not a trade-off — you decide where the dial sits for each site, instead of choosing between locking editors down and letting the design system drift
  • Design-system-first — components declare what they tolerate, so off-system output can't be produced
  • Multi frontend, multi backend — Next.js, Nuxt.js, Astro, plus server-only stacks (PHP, Django, Rails, Laravel) via the server-render pattern; switch channels mid-edit
  • AI under the same constraints — everyone's AI can build you a page; ours can't build one that breaks your design system
  • Evidence, not just warnings — rules a machine can't decide go to the people who can, and the determination is recorded against that version of the content
  • Quick to adopt — enable visual editing with simple HTML data attributes, no React or Vue required in your frontend
  • A toolkit, not a CMS — good out of the box with zero configuration, extensible when you need more; open source and self-hostable
  • Enterprise features — versioning, i18n, workflow, and automated content rules

Try the online demo

The fastest way to feel what Inka does is to log into the hosted demo and edit a real page against a real frontend.

Open <https://hydra.pretagov.com>, log in, then:

  • Open user preferences (bottom-left).
  • Pick one of the preset frontends, or paste in your own frontend URL.
  • Edit any page — every change updates the live preview.

The default preset is a Nuxt.js frontend deployed as an SSG to demonstrate scale-to-zero editing on free hosting. An Astro example demonstrates the server-render pattern for static-first frameworks. See Build a frontend › Deployment patterns.

To run Inka locally against your own frontend, see the Run Locally section of the project README.

How Inka Works

Instead of combining editing and rendering into one framework and codebase, these are separated and during editing a two way communication channel is opened across an iframe so that the editing UI is no longer part of the frontend code. Instead a small JS file called hydra.js is included in your frontend during editing that handles the iframe bridge communication to Inka which is running in the same browser window.

Button

The button block shows a button for which a link (internal or external) can be stored. The button can be displayed left, right or center and have a background color.

Containers

A container block holds other blocks inside it — sliders, columns, accordions, grids, generic sections. The blocks inside are called its children. Containers can be nested (a column inside a row inside a section).

News Item

The News Item content type can be used to display News content on the website.

Grid-Listing

The Grid block allows adding multi-column blocks. A grid block can contain between one and four columns of different blocks. This is a grid block with multiple listing blocks.