Back to "Hinzufügen von mermaid.js mit htmx"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

HTMX Markdown

Hinzufügen von mermaid.js mit htmx

Friday, 02 August 2024

Einleitung

Mermaid ist ein einfaches Diagrammformat, das textbasierte Eingaben nimmt und Diagramme im SVG-Format generiert. Es ist ein großartiges Werkzeug für die Erstellung von Flussdiagrammen, Sequenzdiagrammen, Gantt-Diagrammen und mehr. In diesem Tutorial werden wir untersuchen, wie man Mermaid mit htmx verwendet, um interaktive Diagramme zu erstellen, die dynamisch ohne Seitenumladungen aktualisieren. Die Mermaid Website istHierherund hat viel mehr Informationen, als ich hier bereitstellen kann.

Markdown und Meerjungfrau

Mermaid-Diagramme können in Ihre Markdown-Dateien aufgenommen werden, indem Sie die folgende Syntax verwenden:

# My Markdown Title
```mermaid
graph LR
    A[Start] --> B[Look for movie]
    B --> C{Found?}
    C -->|Yes| D[Watch it]
    C -->|No| E[Look for another movie]
    D --> E
```

Dies ermöglicht es Ihnen, Mermaid-Diagramme direkt in Ihre Markdown-Dateien aufzunehmen, die als SVG-Bilder wiedergegeben werden, wenn die Datei in HTML konvertiert wird.

graph LR A[Start] --> B[Look for movie] B --> C{Found?} C -->|Yes| D[Watch it] C -->|No| E[Look for another movie] D --> E

Sie können auch Meerjungfrau-Diagramme zu normalen HTML-Dateien hinzufügen, indem Sie die folgende Syntax verwenden:

<pre class="mermaid">
    graph TD
    A[Start] --> B[Look for movie]
    B --> C{Found?}
    C -->|Yes| D[Watch it]
    C -->|No| E[Look for another movie]
    D --> E
</pre>

Beispiele für Meerjungfrauen-Diagramme

Mermaid ist ein leistungsstarkes Tool, mit dem Sie eine breite Palette von Diagrammen mit einfachen textbasierten Syntax erstellen können. Hier sind einige Beispiele für die Arten von Diagrammen, die Sie mit Mermaid erstellen können:

  • Pie Charts:
pie title NETFLIX "Time spent looking for movie" : 90 "Time spent watching it" : 10
  • Flugpläne: Flussdiagramme können Richtung angeben, z.B. LR (von links nach rechts), RL (von rechts nach links), TB (von oben nach unten), BT (von unten nach oben).
flowchart LR A[Start] --> B{Is it?} B -->|Yes| C[OK] C --> D[Rethink] D --> B B ---->|No| E[End]
  • Sequenzdiagramme:
sequenceDiagram participant A participant B A->>B: Hi B, how are you? B-->>A: Fine, thanks!
  • Gantt-Diagramme:
gantt title A Gantt Diagram dateFormat YYYY-MM-DD section Section A task :a1, 2024-08-01, 30d Another task :after a1 , 20d

-Entität Beziehungsdiagramme:

erDiagram CUSTOMER ||--o{ ORDER : places ORDER ||--|{ LINE-ITEM : contains CUSTOMER }|..|{ DELIVERY-ADDRESS : uses

-Benutzer-Reisediagramme:

journey title My working day section Go to work Make tea: 5: Me Go upstairs: 15: Me Do work: 60: Me section Go home Go downstairs: 15: Me Sit down: 5: Me

etc...Siehe diese Seite für mehr der MYRIAD von Diagrammen, die Sie mit Mermaid erstellen könnenHierher

Erste Schritte mit Mermaid und htmx

Zuerst müssen Sie die Mermaid-Bibliothek in Ihre HTML-Datei aufnehmen. Sie können dies tun, indem Sie das folgende Script-Tag zu Ihrem Dokument hinzufügen:

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/mermaid.min.js
"></script>

Der Nächste in Ihrem_Layout.cshtml-Datei müssen Sie das folgende Script-Tag hinzufügen, um Mermaid zu initialisieren (in der Regel tun Sie dies am unteren Rand der Datei)

<script>
    document.addEventListener('DOMContentLoaded', function () {
        mermaid.initialize({ startOnLoad: true });
    });
    document.body.addEventListener('htmx:afterSwap', function(evt) {
        mermaid.run();
        
    });

</script>

Das macht zwei Dinge:

  1. Es initialisiert Mermaid, wenn die Seite geladen wird; wenn Sie also direkt zu einer Seite mit einem Mermaid-Diagramm navigieren (z.B./blog/mermaidandhtmx) wird es korrekt rendern.
  2. Wenn Sie htmx wie in unseremvorheriges Tutoriales wird das Mermaid-Diagramm nach der Aktualisierung der Seite erneut ausgeben (das htmx:afterswap-Ereignis).
logo

©2024 Scott Galloway