Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

Mermaid Diagram Field

305 sites Security covered
View on drupal.org

This module adds a field to your Drupal site that allows you to create and display diagrams using Mermaid code. It includes subfields for a title, the diagram itself, and an accessibility-focused caption, with an optional key and a setting to show the source code. You can also configure diagrams to be displayed in a modal window.

Mermaid Diagram Field

Features

This module adds two things to a Drupal site.

  • A field for adding and rendering Mermaid diagrams with the following subfields:
    • Title - a heading for the diagram
    • Diagram - this is the actual Mermaid diagram code to be rendered.
    • Caption - a caption for the diagram that should assist with A11y.
    • Key - An optional key to describe the parts of the diagram. This is optional because some mermaid diagrams make their own key, so this one is not needed.
    • Show code - checking this box will cause the code of the mermaid and key to be output into a description box for copy and pasting.
  • A twig template for rendering mermaid diagrams in code.
     [
        '#theme' => 'mermaid_diagram',
        '#preface' => (optional) Anything to be rendered beforehand.
        '#title' => [required] The title of the diagram.
        '#mermaid' => [required] Mermaid code for the diagram.
        '#caption' => [required] A message that describes the diagram.
        '#key' => (optional) Mermaid code for a key for the diagram.
        '#postface' => (optional)  Anything to be rendered after the diagram.
        '#show_code' => boolean to cause the source code to be visible for copy
        and pasting a diagram.
        '#attached' => ['library' => ['mermaid_diagram_field/diagram']],
      ],
    

Similar projects

Mermaid support

FAQs

How does the 'key' property work?

The key property is another spot for Mermaid code. However it is usually used to add a simple Mermaid that shows the meaning of the shapes used. Keep in mind that some Mermaid types like 'pie' automatically create their own key, so you don't need to provide a key. While types like a flowchart do not, so providing a key for those can be very helpful.

sample key :

flowchart LR
subgraph "Entity types"
circle(("Content"))
doubleSidedRectangle[["Media"]]
hexagon{{"Paragraph"}}
rectangle["Taxonomy term"]
end

Can the Mermaid diagram be rendered in a modal?

Yes it can. On the "Manage Display" tab the field has a setting to make it use a modal. If this is enabled, the content will be rendered as a link, that when clicked, will open the modal and display the diagram.

Activity

Total releases
7
First release
Feb 2025
Latest release
3 months ago
Releases (12 mo)
6 ▲ from 1
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.0.9 Stable Apr 4, 2026
1.0.8 Stable Jan 8, 2026
1.0.7 Stable Dec 17, 2025
1.0.6 Stable Dec 4, 2025
1.0.5 Stable Dec 3, 2025
1.0.4 Stable Nov 22, 2025
1.0.3 Stable Feb 21, 2025