Back to "Meermin.js toevoegen met 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

Meermin.js toevoegen met htmx

Friday, 02 August 2024

Inleiding

Mermaid is een eenvoudig diagramformaat dat tekst-gebaseerde invoer neemt en diagrammen genereert in SVG-formaat. Het is een geweldig hulpmiddel voor het maken van stroomschema's, volgordediagrammen, Gantt grafieken, en nog veel meer. In deze tutorial zullen we onderzoeken hoe Mermaid met htmx gebruikt kan worden om interactieve diagrammen te maken die dynamisch updaten zonder pagina's opnieuw te laden. De Mermaid site is Hier. en heeft veel meer informatie dan ik hier kan geven.

Markdown en Mermaid

Zeemeermin diagrammen kunnen worden opgenomen in uw markdown bestanden met behulp van de volgende syntax:

# 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
```

Hiermee kunt u Mermaid-diagrammen direct opnemen in uw markdown-bestanden, die worden weergegeven als SVG-afbeeldingen wanneer het bestand wordt omgezet naar HTML.

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

U kunt ook zeemeermin diagrammen toe te voegen aan normale html-bestanden met behulp van de volgende syntax:

<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>

Voorbeelden van Mermaid-diagrammen

Mermaid is een krachtige tool waarmee u een breed scala aan diagrammen te bouwen met behulp van eenvoudige tekst-gebaseerde syntax. Hier zijn enkele voorbeelden van de soorten diagrammen die u kunt maken met Mermaid:

  • Pie charts:
pie title NETFLIX "Time spent looking for movie" : 90 "Time spent watching it" : 10

-Flowcharts: Flowcharts kunnen richting specificeren, bijvoorbeeld. LR (van links naar rechts), RL (van rechts naar links), TB (van boven naar beneden), BT (van onder naar boven).

flowchart LR A[Start] --> B{Is it?} B -->|Yes| C[OK] C --> D[Rethink] D --> B B ---->|No| E[End]

-Sequence diagrammen:

sequenceDiagram participant A participant B A->>B: Hi B, how are you? B-->>A: Fine, thanks!

-Gantt grafieken:

gantt title A Gantt Diagram dateFormat YYYY-MM-DD section Section A task :a1, 2024-08-01, 30d Another task :after a1 , 20d

-Entity relatie diagrammen:

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

-User reisschema's:

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

Zie deze pagina voor meer van de MYRIAD van diagrammen die je kunt maken met Mermaid Hier.

Aan de slag met Mermaid en htmx

Eerst moet je de Mermaid-bibliotheek in je HTML-bestand opnemen. U kunt dit doen door de volgende scripttag aan uw document toe te voegen:

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

Volgende in je _Layout.cshtml-bestand dat u nodig hebt om de volgende script tag toe te voegen om Mermaid te initialiseren (u doet dit normaal gesproken onderaan het bestand)

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

</script>

Dit doet twee dingen:

  1. Het initialiseert Mermaid wanneer de pagina wordt geladen; dus als je direct navigeert naar een pagina met een Mermaid diagram (bijv. /blog/mermaidandhtmx ) zal het correct renderen.
  2. Als u htmx gebruikt zoals in onze vorige tutorial het zal het Mermaid diagram opnieuw uitvoeren nadat de pagina is bijgewerkt (de htmx:afterswap event).
logo

©2024 Scott Galloway