Wie wende ich Farbe in Markdown an?


373

Ich möchte Markdown verwenden, um Textinformationen zu speichern. Aber schnelles googeln sagt, dass Markdown keine Farbe unterstützt. Auch StackOverflow unterstützt keine Farben. Gleich wie bei GitHub Markdown.

Gibt es einen Markdown-Geschmack, der farbigen Text zulässt?


1
Was ist Ihr Ausgabeformat? Markdown wird meistens verwendet, um in HTML umgewandelt zu werden, das Farbe unterstützt, und viele Parser akzeptieren HTML-Code
scoa

Meinen Sie damit, dass diese Parser die eingebaute Fähigkeit haben, HTML-Markdown in "<span style =" color: red "> </ style>" einzufügen? Ich habe nicht gehört. Irgendein Link / Beispiel?
Mahesha999

5
Ich meine, Sie können sie zum Beispiel mit Pandoc mischen : <span style="color:red"> *some emphasized markdown text*</span>. Wenn Sie nach nativen Markdown-Umgang mit Farben fragen, glaube ich nicht, dass es existiert
Scoa

1
Diese Antwort könnte hilfreich sein, wie es für mich war ...
Neugier

Antworten:


373

Kurze Antwort

Markdown unterstützt keine Farbe!

TL; DR

Wie in den ursprünglichen / offiziellen Syntaxregeln angegeben (Hervorhebung hinzugefügt):

Die Syntax von Markdown dient einem Zweck: als Format zum Schreiben für das Web.

Markdown ist kein Ersatz für HTML oder auch nur in der Nähe davon. Die Syntax ist sehr klein und entspricht nur einer sehr kleinen Teilmenge von HTML-Tags. Die Idee ist nicht, eine Syntax zu erstellen, die das Einfügen von HTML-Tags erleichtert. Meiner Meinung nach sind HTML-Tags bereits einfach einzufügen. Die Idee für Markdown ist es, das Lesen, Schreiben und Bearbeiten von Prosa zu vereinfachen. HTML ist ein Veröffentlichungsformat. Markdown ist ein Schreibformat. Daher behandelt die Formatierungssyntax von Markdown nur Probleme, die im Klartext übermittelt werden können .

Für jedes Markup, das nicht von der Markdown-Syntax abgedeckt wird, verwenden Sie einfach HTML selbst.

Da es sich nicht um ein "Veröffentlichungsformat" handelt, ist die Bereitstellung einer Möglichkeit zum Färben Ihres Textes für Markdown nicht möglich. Dies ist jedoch nicht unmöglich, da Sie unformatiertes HTML einschließen können (und HTML ist ein Veröffentlichungsformat). Zum Beispiel der folgende Markdown-Text (wie von @scoa in einem Kommentar vorgeschlagen):

Some Markdown text with <span style="color:blue">some *blue* text</span>.

Würde zu folgendem HTML führen:

<p>Some Markdown text with <span style="color:blue">some <em>blue</em> text</span>.</p>

Jetzt entfernt StackOverflow (und wahrscheinlich GitHub) den Roh-HTML-Code (als Sicherheitsmaßnahme), sodass Sie hier die Farbe verlieren. Dies sollte jedoch bei jeder Standard-Markdown-Implementierung funktionieren.

Eine andere Möglichkeit besteht darin, die nicht standardmäßigen Attributlisten zu verwenden, die ursprünglich von der Markuru- Implementierung von Markdown eingeführt und später von einigen anderen übernommen wurden (es kann mehr oder geringfügig andere Implementierungen derselben Idee geben, wie div- und span-Attribute in Pandoc ). In diesem Fall können Sie einem Absatz oder Inline-Element eine Klasse zuweisen und dann mithilfe von CSS eine Farbe für eine Klasse definieren. Sie müssen jedoch unbedingt eine der wenigen Implementierungen verwenden, die die nicht standardmäßige Funktion tatsächlich unterstützen, und Ihre Dokumente sind nicht mehr auf andere Systeme portierbar.


2
Vielen Dank, jetzt bleibt zu experimentieren, wie gut wir HTML und Markdown mischen können. Aber ich bin wirklich der Meinung, dass jedes Schreibformat es dem Schriftsteller ermöglichen sollte, zu vermitteln, welche Wörter er hervorheben möchte. Zwar kann man dafür Fett und Kursiv verwenden, aber um zu komplexe Themen zu erklären, kann die Betonung durch Färben nützlich sein. Oder einfach, um zwei Wörter zu vermitteln, die ein Paar zwischen anderen Paaren bilden, indem Wörter (etwa im gleichen Satz, aber etwas voneinander entfernt), die zu demselben Paar mit derselben Farbe gehören, gefärbt werden. Der Punkt, der sich als nützlich erweisen kann, wird durch die Art und Komplexität des zu schreibenden Textes bestimmt.
Mahesha999

Es scheint, dass die Fähigkeit, sich als einfacher Text auszudrücken, die wichtigste Voraussetzung für den Abschlag war. Deshalb all dies
Mahesha999,

10
Klingt für mich so, als ob Ihre Erwartung an Markdown anders ist als die, die von seinem Schöpfer beabsichtigt wurde. Aber das ist nur meine Meinung ...
Waylan

"Die Syntax von Markdown dient einem Zweck: als Format für das Schreiben für das Web." Und manchmal wollen wir in Farbe schreiben. Es ist unser Recht. ACHTUNG, GEFAHR ! ist besser in rot. Und wie können Sie erklären, dass sie Syntaxfarben für Sprachen implementiert haben? Farbe können wir verwenden, wenn WIR wollen.
Marc Le Bihan

Wie funktioniert Ihr <p> <style = "color: ..."> beim Konvertieren von Markdown zu PDF? Dann funktioniert es nicht. Standard-Markdown-Lösungen für Farben wären besser.
Marc Le Bihan

56

Ich habe begonnen, Markdown zu verwenden, um einige meiner Dokumente auf einer internen Website für interne Benutzer zu veröffentlichen. Es ist eine einfache Möglichkeit, ein Dokument freizugeben, es kann jedoch nicht vom Betrachter bearbeitet werden.

Diese Farbmarkierung von Text ist also „großartig“. Ich habe mehrere davon verwendet und funktioniert wunderbar.

<span style="color:blue">some *This is Blue italic.* text</span>

Wird zu Dies ist Blau kursiv.

Und

<span style="color:red">some **This is Red Bold.** text</span>

Wird zu Dies ist Rot Fett.

Ich liebe die Flexibilität und Benutzerfreundlichkeit.


7
Ich nehme an, dies sollte ein Kommentar sein - er beantwortet die Frage von OP nicht wirklich.
Marcus Mangelsdorf

15
Das Obige tut nichts außer dem Fettdruck in Dies ist Rot Fett.
Mplungjan

1
Nicht, dass das oben Genannte wahrscheinlich auf einer Webseite funktionieren würde, aber ... Spaß ▼ ✡︎✶✸∍∀≤☂︎☯︎℥😇🥑🇬🇧
Robotbugs

4
Es sieht so aus, als würden Sie hier Markdown mit HTML-Tags mischen. Das span-Element fügt möglicherweise die Farbe hinzu, wenn es in Ihrem Webbrowser angezeigt wird, ist jedoch kein Markdown .
Martin Gray

1
Die meisten Leute, die versuchen, Farbe auf die Seite zu bringen, konzentrieren sich nur darauf, ob die Farbe in ein Abschriften-Dokument gerendert wird. nicht, wenn der Code selbst ein Abschlag ist. Ich denke, das ist eine gute Antwort.
Maiya

21

Während Markdown keine Farbe unterstützt, können Sie, wenn Sie nicht zu viele benötigen, immer einige der unterstützten Stile opfern und das zugehörige Tag mithilfe von CSS neu definieren, um es farbig zu machen, und auch die Formatierung entfernen oder nicht.

Beispiel:

// resets
s { text-decoration:none; } //strike-through
em { font-style: normal; font-weight: bold; } //italic emphasis


// colors
s { color: green }
em { color: blue }

Siehe auch: So gestalten Sie das Tag neu, damit es fett statt kursiv ist

Dann in Ihrem Markdown-Text

~~This is green~~
_this is blue_

Interessant, aber um den Streik loszuwerden - obwohl beim Färben des Textes, sollte das Folgende besser funktionieren:s {text-decoration:none; color: green}
x0s

2
IMO, diese Antwort ist am ehesten im Sinne eines Abschlags bei der Beantwortung der Hauptfrage. Es berücksichtigt die Klartextidee von Markdown (die im Klartext lesbar ist) und berücksichtigt die Konvertierungsanforderungen, wenn der Text von einem Markdown-Viewer analysiert wird. In diesem Sinne wünschte ich mir etwas Platz (für Markdown-Viewer, um Markdown-Tags anderen HTML-Tags neu zu definieren oder ihnen automatisch Klassen zuzuweisen). Zum Beispiel möchte *und möchte ich _anders sein, aber beide zeigen darauf <em>.
Melvin Roest

13

Dies sollte kürzer sein:

<font color='red'>test blue color font</font>

Funktioniert nicht beim Konvertieren in PDF
Marc Le Bihan

Ich mag die Idee, ein veraltetes HTML-Tag zu verwenden, nicht, aber wenn es funktioniert, funktioniert es ...
Alonso del Arte

7

Sie können wahrscheinlich den Latexstil verwenden:

$\color{color-code}{your-text-here}$

Um das Leerzeichen zwischen den Wörtern beizubehalten, müssen Sie auch die Tilde einfügen ~.


2
Dies ist die einzige Lösung, die für mich funktioniert hat.
Ébe Isaac

Im Bereich {your-text-here} müssen Sie die Tilde ~anstelle von Leerzeichen verwenden, um Leerzeichen einzufügen.
Alex

@Alex: Oder machen Sie $ \ color {Farbcode} {{\ rm Ihren Text hier}} $.
Peter K.

Oder machen Sie $ \ color {Farbcode} {\ text {Ihr Text hier}} $.
Phro

4

Scheint, dass kramdown Farben in irgendeiner Form unterstützt.

Kramdown erlaubt Inline-HTML :

This is <span style="color: red">written in red</span>.

Es hat auch eine andere Syntax zum Einfügen von CSS-Klassen inline :

This is *red*{: style="color: red"}.

Auf dieser Seite wird weiter erläutert, wie GitLab eine kompaktere Methode zum Anwenden von CSS-Klassen in Kramdown verwendet:

blueKlasse auf Text anwenden :

This is a paragraph that for some reason we want blue.
{: .blue}

Anwenden blueKlasse Schriften:

#### A blue heading
{: .blue}

Anwenden von zwei Klassen:

A blue and bold paragraph.
{: .blue .bold}

Anwenden von IDs:

#### A blue heading
{: .blue #blue-h}

Dies erzeugt:

<h4 class="blue" id="blue-h">A blue heading</h4>

Es gibt viele andere Dinge, die unter dem obigen Link erklärt werden . Möglicherweise müssen Sie überprüfen.

Wie andere Antworten sagten, ist Kramdown auch der Standard-Markdown-Renderer hinter Jekyll . Wenn Sie also etwas auf Github-Seiten verfassen, sind die oben genannten Funktionen möglicherweise sofort verfügbar.


3

In konnte Jekyllich einem fetten Element einige Farben oder andere Stile hinzufügen (sollte auch mit allen anderen Elementen funktionieren).

Ich habe das "Styling" damit begonnen {:und es beendet }. Zwischen Element und geschweifter Klammer ist kein Platz erlaubt!

**My Bold Text, in red color.**{: style="color: red; opacity: 0.80;" }

Wird in HTML übersetzt:

<strong style="color: red; opacity: 0.80;">My Bold Text, in red color.</strong>

3

Wenn Sie reine Markdown verwenden möchten (ohne verschachtelte HTML), können Sie Emojis Aufmerksamkeit auf einige Fragment der Datei zu ziehen, dh ⚠️ WARNUNG ⚠️, 🔴 WICHTIG ❗🔴 oder 🔥 NEW 🔥.



0

Ich hatte Erfolg mit

<span class="someclass"></span>

Vorsichtsmaßnahme: Die Klasse muss bereits auf der Site vorhanden sein.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.