suchen
HeimWeb-FrontendCSS-TutorialHerstellung von Meerjungfrau -Diagrammen in Markdown

Herstellung von Meerjungfrau -Diagrammen in Markdown

Meerjungfrau -Diagramme und Flussdiagramme haben an Traktion gewonnen, insbesondere mit Githubs Ankündigung, dass sie im Markdown nativ unterstützt werden. Schauen wir uns an, was sie sind, wie man sie benutzt, und genauso wichtig: Warum .

Genau wie Sie Ihre Codepen -Demo vielleicht direkt in Ihre Dokumentationsquelle einbetten möchten, hilft Ihre Diagramme und Diagramme, die neben Ihrem Text live live live, verhindert, dass sie verrottet - das heißt, die Synchronisierung mit dem Status Ihres Dokuments zu verdrehen. So wie nicht hilfreiche, veraltete oder anderweitig irreführende Kommentare in Ihrem Code objektiv schlechter sein können als keine Kommentare, gilt das gleiche für Diagramme.

Mermaid -Diagramme passen gut zu Jamstack- und statischen Site -Generatoren, die immer beliebter werden. Die Paarung ist natürlich. Während Meerjungfrau-Diagramme nicht ausschließend markieren, sind sie inspiriert. Mit dem gleichen Markup -Abstraktions -Markdown für Notate -Code kann die Meerjungfrau so dargestellt werden, dass Ausgangsdiagramme und Flussdiagramme. Und Markdown ist es, statische Websites zu jamstieren, da Erdnussbutter für Gelee ist.

Wenn Ihre Website in Markdown verfasst, in HTML verarbeitet wird und Sie über genügend Kontrolle verfügen, um ein wenig benutzerdefinierte JavaScript hinzuzufügen, können Sie die Ideen verwenden, die wir in diesem Artikel abdecken, um Ihre eigenen Anforderungen zu entsprechen und Diagramme mit Mermaid bequem neben dem Rest Ihres Markdowns zu implementieren. Ist "Diagramme als Code" schon ein Begriff? Es sollte sein.

Nehmen wir beispielsweise an, Sie arbeiten an einem schicken neuen Produkt und möchten eine Roadmap in Form eines Gantt -Diagramms (oder eines anderen Typs - beispielsweise Flowdiagramme, Sequenzen und Klassendiagramme) anbieten. Mit Meerjungfrau können Sie dies in einer kleinen Handvoll Linien tun:

 Gantt
  Titel meine Produkt Roadmap
  DateFormat yjyy-mm-dd
  Abschnitt coole Funktion
  Eine Aufgabe: A1, 2022-02-25, 30d
  Eine andere Aufgabe: nach A1, 20d
  Abschnitt RAD -Merkmal
  Aufgabe in Sequenz: 2022-03-04, 12d
  Aufgabe, Nr. 2: 24d

Das wird ein schönes SVG -Diagramm wie so machen:

Pro -Tipp: Mermaid hat einen Live -Redakteur, mit dem Sie ihn ohne die Verpflichtung bei mermaid.live ausprobieren können.

Meerjungfrau -Diagramme im Markdown

Mermaid passt gut zu Markdown, da sie sich nur als einen weiteren eingezäunten Codeblock darstellt und nur den Mermaid -Sprachsyntaxsatz verwendet. Zum Beispiel dieser Codeblock:

 `` `mermaid
Graph TD;
    A-> B;
    A-> c;
    B-> d;
    C-> D;
`` `

… Erzeugt ein HTML

 -Element mit dem Code -Block -Inhalt in:<pre rel="HTML" data-line=""> <pre class="brush:php;toolbar:false"> <code> Graph TD;
    A-> B;
    A-> c;
    B-> d;
    C-> d; </code> 

Wenn Sie einen Markdown -Prozessor verwenden, der mit der Commonmark -Spezifikation ausgerichtet ist, ähnelt dies mehr:

 <pre class="brush:php;toolbar:false"> <code> Graph TD;
    A-> B;
    A-> c;
    B-> d;
    C-> D;
</code> 
Demo anzeigen

Das Standardverhalten der Meerjungfrau-API erwartet ein

-Tag, das den Inhalt direkt enthält.

Finising mit JavaScript

Mit ein bisschen JavaScript ist es vernünftig, das von Markdown erzeugte HTML und die Finesse in das

-Tag zu nehmen, das Meerjungfrauenziele. Es ist erwähnenswert, dass $ element.textContent hier zielgerichtet ist: Markdown wird html-codieren spezifische Zeichen (wie> in & gt;), die Meerjungfrau verwendet. Es filtert auch alle fehlerhaften HTML -Elemente, die Nachkommen des
 -Elements sind.<pre rel="JavaScript" data-line=""> // Auswählen <pre class="brush:php;toolbar:false"> _and_ <pre class="brush:php;toolbar:false"> <code>
document.querySelectorAll ("pre.mermaid, pre> code.language-mermaid"). foreach ($ el => {
  // Wenn der zweite Selektor einen Treffer erhalten hat, verweisen Sie auf das übergeordnete <pre class="brush:php;toolbar:false">
  if ($ el.tagname === "Code")
    $ el = $ El.Parentelement
  // Die Meerjungfrauinhalte in die erwartete <div> einlegen
  // Plus den ursprünglichen Inhalt in einem schönen <details> behalten
  $ el.outerhtml = `
    <div> $ {$ el.TextContent} </div>
    <details>
      <summary> Diagrammquelle </summary>
      <pre class="brush:php;toolbar:false"> $ {$ el.TextContent} 
` })

Jetzt, da unsere HTML ordnungsgemäß formatiert ist, lassen Sie die Mermaid implementieren, um das Rendering durchzuführen.

Mit Meerjungfrau

Mermaid wird als NPM-Paket veröffentlicht, sodass Sie eine Kopie mit einem paketbewussten CDN wie UNPKG verwenden können. Sie möchten den Minimified Code (z. B. mermaid.min.js) anstelle des Standard -Exports von mermaid.core.js verwenden. Zum Beispiel:

 <script src="https://unpkg.com/%5Bemail%20Protected%5D%20/dist/mermaid.min.js"> </script>

Die Meerjungfrau ist auch ESM-fähig, sodass Sie mit SkyPack es auch laden können:

 <script type="modul">
  Mermaid importieren "https://cdn.skypack.dev/®email Protected]";
</script>

Sie könnten hier anhalten, wenn Sie die Dinge einfach halten möchten. Standardmäßig initialisiert Mermaid sich automatisch selbst, wenn das Dokument fertig ist. Solange Sie die Markdown-to-HTML-Finising mit JavaScript vor dem Laden vor dem Laden von Meerjungfrau durchführen, werden Sie alle festgelegt.

Mermaid verfügt jedoch über ein paar Einstellungen, die es wert sind, konfiguriert zu werden:

 // Mermaid in [1] Protokollfehler initialisieren, [2] haben eine lose Sicherheit für Erstanbieter
// verfasste Diagramme und [3] respektieren ein bevorzugtes Dark -Farbschema
mermaid.initialize ({{
  Loglevel: "Fehler", // [1]
  SecurityLevel: "lose", // [2]
  Thema: (window.matchmedia && window.matchmedia ("(bevorzugt Farbscheme: dunkel)"). Übereinstimmung)?
    "dunkel" :
    "Standard" // [3]
})
  1. Loglevel gibt Ihnen ein bisschen mehr Sichtbarkeit in alle Fehler, die auftreten können. Wenn Sie weitere Informationen anzeigen möchten, können Sie eine ausführlichere Ebene auswählen (oder umgekehrt).
  2. SecurityLevel bezieht sich auf das Vertrauensniveau für die Diagrammquelle. Wenn Sie sich zufrieden stellen, ist "locker" in Ordnung. Wenn es sich um benutzergenerierte Inhalte handelt, ist es wahrscheinlich am besten, den "strengen" Standard zu verlassen.
  3. Das Thema verändert das Styling der gerenderten Diagramme. Durch Abfragen des bevorzugten Farbschemas und der Nutzung eines ternären Operators können wir gegebenenfalls "dunkel" angeben.

Alles zusammen jetzt!

Hier sind einige Beispiele für Meerjungfrau -Diagramme in Markdown:

Tieferes Wasser

Diese Strategie ist besonders effektiv, da sie progressiv ist : Wenn JavaScript deaktiviert ist, wird die ursprüngliche Meerjungfrauquelle as-is angezeigt. Kein Foul.

Es gibt auch eine vollwertige Befehlszeilenschnittstelle für Meerjungfrau, die, wenn Sie interessant zum Erkunden sind, möglicherweise genutzt werden können, um Diagramme anzuzeigen, die vollständig serverseitig gerendert werden. Zwischen der Mermaid -CLI und dem Online -Generator kann es sogar möglich sein, sich in den Erstellungsvorgang einzuschließen, den Sie verwenden, um einen Schnappschuss eines Diagramms zu erstellen und es als -Fallback anstelle des Quellcode zu anzeigen.

Hoffentlich sehen wir mehr native Mermaid -Integrationen wie diese, da die Meerjungfrau immer beliebter wird. Die Nützlichkeit von visuellen Diagrammen und Diagrammen sowie Dokumentation ist unbestreitbar - von Produkt -Roadmaps bis hin zu Entscheidungsbäumen und allem dazwischen. Das ist die Art von Informationen, die einfach nur schwer mit Wörtern zu dokumentieren sind.

Mermaid -Diagramme lösen dies und so, dass die Informationen neben dem Rest der Dokumentation verwaltet und verwaltet werden können.

Das obige ist der detaillierte Inhalt vonHerstellung von Meerjungfrau -Diagrammen in Markdown. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Nächstes Level CSS -Styling für CursorNächstes Level CSS -Styling für CursorApr 23, 2025 am 11:04 AM

Benutzerdefinierte Cursoren mit CSS sind großartig, aber wir können die Dinge mit JavaScript auf die nächste Stufe bringen. Mit JavaScript können wir zwischen Cursorzuständen wechseln, dynamischen Text in den Cursor platzieren, komplexe Animationen anwenden und Filter anwenden.

Worlds Collide: Keyframe -Kollisionserkennung mit Style -AbfragenWorlds Collide: Keyframe -Kollisionserkennung mit Style -AbfragenApr 23, 2025 am 10:42 AM

Interaktive CSS -Animationen mit Elementen, die sich gegenseitig abprallen, scheinen im Jahr 2025 plausibler zu sein. Obwohl es unnötig ist, eine Pong in CSS zu implementieren

Verwendung von CSS-Hintergrund-Filter für UI-EffekteVerwendung von CSS-Hintergrund-Filter für UI-EffekteApr 23, 2025 am 10:20 AM

Tipps und Tricks zur Verwendung der CSS Backdrop-Filter-Eigenschaft, um Benutzeroberflächen zu stylen. Sie lernen, wie Sie Hintergrundfilter zwischen mehreren Elementen schichten, und integrieren sie in andere grafische CSS -Effekte, um aufwändige Designs zu erstellen.

Lächeln?Lächeln?Apr 23, 2025 am 09:57 AM

Nun, es stellt sich heraus, dass die integrierten Animationsfunktionen von SVG nie wie geplant veraltet waren. Sicher, CSS und JavaScript sind mehr als in der Lage, die Ladung zu tragen, aber es ist gut zu wissen, dass Smil nicht wie zuvor im Wasser tot ist

'Hübsch' ist im Auge des Betrachters'Hübsch' ist im Auge des BetrachtersApr 23, 2025 am 09:40 AM

Yay, let ' S sprung für Textschreiber: Pretty Landing in Safari Technology Preview! Aber achten Sie darauf, dass es sich von der Art und Weise unterscheidet, wie es in Chrombrowsern funktioniert.

CSS-Tricks Chronicles xliiiCSS-Tricks Chronicles xliiiApr 23, 2025 am 09:35 AM

Dieses CSS-Tricks-Update zeigt erhebliche Fortschritte im Almanac, den neuesten Podcast-Auftritten, einem neuen CSS-Leitfaden und der Hinzufügung mehrerer neuer Autoren, die wertvolle Inhalte beitragen.

Die @Apply -Funktion von Rückenwind ist besser als es klingtDie @Apply -Funktion von Rückenwind ist besser als es klingtApr 23, 2025 am 09:23 AM

Meistens präsentieren die Leute die @Apply-Funktion mit einer der einzelnen Properschafts-Dienstprogramme von Rückenwind (die eine einzelne CSS-Deklaration ändert). Wenn @Apply auf diese Weise präsentiert wird, klingt er überhaupt nicht vielversprechend. Also obvio

Ich habe das Gefühl, dass ich keine Veröffentlichung habe: eine Reise in Richtung vernünftiger BereitstellungenIch habe das Gefühl, dass ich keine Veröffentlichung habe: eine Reise in Richtung vernünftiger BereitstellungenApr 23, 2025 am 09:19 AM

Das Bereitstellen wie ein Idiot hängt von einer Missverhältnis zwischen den Tools, mit denen Sie zur Bereitstellung verwendet werden, und der Belohnung in der Komplexität im Vergleich zu Komplexität hinzu.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),