Back to "Lägga till sjöjungfru.js med 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

Markdown HTMX

Lägga till sjöjungfru.js med htmx

Friday, 02 August 2024

Inledning

Mermaid är ett enkelt diagramformat som tar textbaserad inmatning och genererar diagram i SVG-format. Det är ett bra verktyg för att skapa flödesdiagram, sekvensdiagram, Gantt diagram och mycket mer. I denna handledning kommer vi att undersöka hur man använder Mermaid med htmx för att skapa interaktiva diagram som uppdaterar dynamiskt utan sidladdningar. Mermaid webbplats är här och har mycket mer information än jag kan ge här.

Markering och sjöjungfru

Mermaid diagram kan inkluderas i dina markdown filer genom att använda följande 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
```

Detta gör att du kan inkludera Mermaid diagram direkt i dina markdown-filer, som kommer att återges som SVG bilder när filen konverteras till 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

Du kan också lägga till sjöjungfrudiagram till normala html-filer genom att använda följande 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>

Exempel på sjöjungfrudiagram

Mermaid är ett kraftfullt verktyg som låter dig bygga ett brett utbud av diagram med enkel textbaserad syntax. Här är några exempel på vilka typer av diagram du kan skapa med Mermaid:

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

-Flowcharts: Flödesscheman kan ange riktning, t.ex. LR (vänster till höger), RL (höger till vänster), TB (uppifrån och ned), BT (nedifrån och upp).

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

-Sekvensdiagram:

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

-Gantt diagram:

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

-Entitetsförhållande diagram:

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

-Användarfärddiagram:

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

...Se denna sida för mer av MYRIAD diagram som du kan skapa med Mermaid här

Komma igång med Mermaid och htmx

Först måste du inkludera Mermaid-biblioteket i din HTML-fil. Du kan göra detta genom att lägga till följande skripttag i ditt dokument:

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

Nästa i din _Layout.cshtml fil du behöver för att lägga till följande skript tagg för att initiera Mermaid (du gör normalt detta längst ner i filen)

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

</script>

Detta gör två saker.

  1. Det initierar sjöjungfru när sidan laddas, så om du direkt navigerar till en sida med ett sjöjungfrudiagram (t.ex. /blogg/medhjälpare ochhtmx ) det kommer att göra korrekt.
  2. Om du använder htmx som i vår tidigare handledning Det kommer att återrendera Mermaid diagram efter att sidan har uppdaterats (htmx: afterswap händelse).
logo

©2024 Scott Galloway