Prerequisites
Before you begin, make sure your environment meets the following requirements:- Drupal 9 or 10 with the Composer-based project layout
- Paragraphs module installed and enabled
- GraphQL Compose or the Drupal GraphQL module configured and exposing a schema
- The paragraphs_blokkli Drupal module
Installation and Setup
Install the Drupal module
Install Once enabled, the module registers a GraphQL schema extension that exposes your paragraph content as blökkli-compatible block state, and adds the editing mutation endpoints blökkli needs.
paragraphs_blokkli via Composer, then enable it with Drush:Configure paragraph types
For each paragraph type you want to expose as a blökkli block, navigate to its type configuration page in the Drupal admin UI:
- Go to Structure → Paragraph types and click Edit next to the paragraph type.
- Open the blökkli settings tab and enable the integration for that type.
- Repeat for every paragraph type you want editors to add and move in the blökkli editor.
Set permissions
Under
/admin/people/permissions, grant the appropriate roles access to create, edit, and delete blökkli-managed paragraphs. At minimum the editing role needs:Use the blökkli editorCreate [type] paragraphfor each exposed paragraph typeEdit [type] paragraphDelete [type] paragraph
Create the Nuxt adapter
Create the adapter file at
app/blokkli.editAdapter.ts. The adapter communicates with Drupal over GraphQL — it loads the current block state and sends mutations when editors make changes.The exact GraphQL schema depends on your Drupal configuration — specifically which GraphQL module you are using and how your paragraph types are set up. The query and mutation names above match the schema provided by
paragraphs_blokkli. Refer to the paragraphs_blokkli module documentation for the full schema reference.How Paragraph Types Map to Block Bundles
blökkli maps Drupal paragraph types to Vue block components using the bundle identifier. The mapping is straightforward and relies entirely on machine names:- Paragraph type machine name → bundle — each Drupal paragraph type becomes a bundle in blökkli. The bundle identifier is exactly the paragraph type’s machine name (e.g.,
text,image,call_to_action). - Vue component file — create a corresponding Vue SFC in
components/Blokkli/for each paragraph type you want to render. Name the file using PascalCase derived from the machine name. defineBlokkli()bundle — thebundlevalue passed todefineBlokkli()inside each component must exactly match the Drupal paragraph machine name.
call_to_action paragraph type maps to:
Useful Links
paragraphs_blokkli on Drupal.org
The official Drupal module that bridges Paragraphs content with blökkli’s editing interface.
GraphQL Compose Module
Automatically generates a GraphQL schema from your Drupal content types and fields.

