Developers

Any component can become a module

Describe fields in a schema file. Root.js generates the editor UI and TypeScript types.

  • Plain TSX. Modules are regular Preact components with typed props.


  • Presets included. Ship prefilled variants so editors never start from blank.


  • Static or SSR. Render at build time or per request, route by route.

templates/Quote/Quote.schema.ts
import {schema} from '@blinkk/root-cms'; // Fields editors fill in for this module.export default schema.define({  name: 'Quote',  fields: [    schema.string({id: 'quote', translate: true}),    schema.string({id: 'author'}),    schema.image({id: 'avatar'}),  ],});