Come applicare il colore in Markdown?


373

Voglio usare Markdown per memorizzare informazioni testuali. Ma googling veloce afferma che Markdown non supporta il colore. Inoltre StackOverflow non supporta il colore. Come nel caso del markdown GitHub.

C'è qualche sapore di markdown che consente il testo colorato?


1
qual è il tuo formato di output? Markdown è principalmente usato per essere trasformato in html, che supporta il colore, e molti parser accettano il codice html
scoa,

Intendi dire che questi parser hanno la capacità integrata di inserire HTML di markdown all'interno di '' span style = "color: red"> </style> '? Non ho sentito. Qualche link / esempio?
Mahesha999,

5
Voglio dire, si possono mescolare con Pandoc per esempio: <span style="color:red"> *some emphasized markdown text*</span>. Se stai chiedendo informazioni sulla gestione nativa del markdown dei colori, non credo che esista
scoa,

1
Questa risposta potrebbe essere di aiuto come lo era per me ...
Curiosità il

Risposte:


373

Risposta breve

Markdown non supporta il colore!

TL; DR

Come affermano le regole di sintassi originali / ufficiali (enfasi aggiunta):

La sintassi di Markdown è intesa per uno scopo: essere usato come formato per scrivere sul web.

Markdown non è un sostituto per HTML, o anche vicino ad esso. La sua sintassi è molto piccola, corrispondente solo a un sottoinsieme molto piccolo di tag HTML. L'idea non è quella di creare una sintassi che semplifichi l'inserimento di tag HTML. A mio avviso, i tag HTML sono già facili da inserire. L'idea di Markdown è di facilitare la lettura, la scrittura e la modifica della prosa. HTML è un formato di pubblicazione; Markdown è un formato di scrittura. Pertanto, la sintassi di formattazione di Markdown risolve solo i problemi che possono essere trasmessi in testo semplice .

Per ogni markup che non è coperto dalla sintassi di Markdown, devi semplicemente usare lo stesso HTML.

Poiché non si tratta di un "formato di pubblicazione", fornire un modo per colorare il testo non rientra nell'ambito di applicazione di Markdown. Detto questo, non è impossibile in quanto è possibile includere HTML non elaborato (e HTML è un formato di pubblicazione). Ad esempio, il seguente testo Markdown (come suggerito da @scoa in un commento):

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

Si tradurrebbe nel seguente HTML:

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

Ora StackOverflow (e probabilmente GitHub) eliminerà il codice HTML non elaborato (come misura di sicurezza) in modo da perdere il colore qui, ma dovrebbe funzionare su qualsiasi implementazione Markdown standard.

Un'altra possibilità è quella di utilizzare gli elenchi di attributi non standard originariamente introdotti dall'implementazione Markuru di Markdown e successivamente adottati da pochi altri (potrebbero esserci implementazioni più o leggermente diverse della stessa idea, come gli attributi div e span in pandoc ). In tal caso, è possibile assegnare una classe a un paragrafo o un elemento inline, quindi utilizzare CSS per definire un colore per una classe. Tuttavia, devi assolutamente utilizzare una delle poche implementazioni che supportano effettivamente la funzionalità non standard e i tuoi documenti non sono più portabili su altri sistemi.


2
Grazie, ora resta da sperimentare quanto bene possiamo mescolare HTML e markdown. Ma credo davvero che qualsiasi formato di scrittura dovrebbe consentire allo scrittore di comunicare su quali parole desidera porre l'accento. Sebbene uno possa usare grassetto e corsivo per questo, ma per spiegare argomenti troppo complessi, l'enfasi della colorazione può tornare utile. O semplicemente per trasmettere due parole formano una coppia tra le altre coppie, colorando le parole (diciamo nella stessa frase ma un po 'distanti l'una dall'altra) appartenenti alla stessa coppia con lo stesso colore. Il punto è ciò che può rivelarsi utile la caratteristica è determinata dalla natura e dalla complessità del testo da scrivere.
Mahesha999,

sembra che la capacità di esprimersi come testo in chiaro sia stata la prima scelta per il markdown ... ecco perché tutto questo
Mahesha999,

10
Mi sembra che la tua aspettativa di Markdown sia diversa da quella che il suo creatore intendeva. Ma questa è solo la mia opinione ...
Waylan,

"La sintassi di Markdown è intesa per un solo scopo: essere usata come formato per scrivere per il web.". E a volte, vogliamo scrivere a colori. È nostro diritto ATTENZIONE: PERICOLO! è meglio in rosso. E come puoi spiegare che hanno implementato la colorazione della sintassi per le lingue? Il colore è per noi da usare, quando vogliamo.
Marc Le Bihan,

Come funziona il tuo <p> <style = "color: ..."> quando converti da markdown a pdf? Allora non funziona. Le variazioni standard di markdown per i colori sarebbero migliori.
Marc Le Bihan,

56

Ho iniziato a utilizzare Markdown per pubblicare alcuni dei miei documenti su un sito Web interno per utenti interni. È un modo semplice per condividere un documento ma non può essere modificato dal visualizzatore.

Quindi, questa marcatura del testo a colori è "Grande". Ne ho usati diversi come questo e funziona benissimo.

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

Si trasforma in This is Blue italic.

E

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

Si trasforma in This is Red Bold.

Adoro la flessibilità e la facilità d'uso.


7
Suppongo che questo dovrebbe essere un commento - in realtà non risponde alla domanda di OP.
Marcus Mangelsdorf,

15
Quanto sopra non fa altro che il grassetto in This is Red Bold.
mplungjan,

1
Non che quanto sopra potesse funzionare su una pagina web, ma ... divertimento ▼ ✡︎✶✸∍∀≤☂︎☯︎℥😇🥑🇬🇧
Robotbugs,

4
Sembra che tu stia mescolando Markdown con tag HTML qui. L'elemento span può aggiungere il colore quando viene visualizzato nel browser Web, ma non è Markdown .
Martin Gray,

1
La maggior parte delle persone che cercano di ottenere il colore sulla pagina si concentrano solo se il colore verrà convertito in un documento markdown; non se il codice stesso è markdown. Quindi, penso che questa sia una buona risposta.
Maiya,

21

Sebbene Markdown non supporti il ​​colore, se non ne hai bisogno di troppi, puoi sempre sacrificare alcuni degli stili supportati e ridefinire il tag correlato usando CSS per renderlo colorato e rimuovere anche la formattazione o meno.

Esempio:

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


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

Vedi anche: Come ripristinare il tag em in grassetto anziché in corsivo

Quindi nel testo del markdown

~~This is green~~
_this is blue_

Interessante ma per sbarazzarsi dello sciopero, sebbene durante la colorazione del testo, dovrebbe funzionare meglio:s {text-decoration:none; color: green}
x0s

2
IMO, questa risposta è più nello spirito di ribasso mentre si risponde alla domanda principale. Onora l'idea del testo in chiaro di markdown (che è leggibile in testo semplice) e onora i requisiti di conversione di quando il testo viene analizzato da un visualizzatore di markdown. In questo senso, vorrei che ci fosse un po 'di spazio (wrt markdown markers per ridefinire i tag markdown ad altri tag HTML o assegnare loro automaticamente le classi). Ad esempio, mi piacerebbe *e _di essere diversi ma entrambi punto <em>.
Melvin Roest,

13

Questo dovrebbe essere più breve:

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

Non funziona durante la conversione in PDF
Marc Le Bihan,

Non mi piace l'idea di utilizzare un tag HTML deprecato, ma se funziona, funziona ...
Alonso del Arte

7

probabilmente puoi usare lo stile in lattice:

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

Per mantenere lo spazio tra le parole, devi anche includere la tilde ~.


2
Questa è l'unica soluzione che ha funzionato per me.
Ébe Isaac, il

Nell'area {your-text-here}, è necessario utilizzare la tilde ~anziché gli spazi per inserire spazi bianchi.
Alex

@Alex: Oppure $ \ color {color-code} {{\ rm qui il tuo testo}} $.
Peter K.

Oppure fai $ \ color {color-code} {\ text {qui il tuo testo}} $.
Phro

4

Sembra che kramdown supporti i colori in qualche forma.

Kramdown consente HTML in linea :

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

Inoltre ha un'altra sintassi per includere le classi css in linea :

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

Questa pagina spiega ulteriormente come GitLab utilizza un modo più compatto per applicare le classi css in Kramdown:

Applicazione della blueclasse al testo:

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

Applicazione della blueclasse ai titoli:

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

Applicando due classi:

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

Applicazione di ID:

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

Questo produce:

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

Ci sono molte altre cose spiegate al link sopra . Potrebbe essere necessario controllare.

Inoltre, come diceva un'altra risposta, Kramdown è anche il renderer di markdown predefinito dietro Jekyll . Quindi, se stai scrivendo qualcosa sulle pagine di github, le funzionalità di cui sopra potrebbero essere disponibili immediatamente.


3

In Jekyllsono stato in grado di aggiungere un po 'di colore o altri stili a un elemento in grassetto (dovrebbe funzionare anche con tutti gli altri elementi).

Ho iniziato lo "styling" con {:e finisco }. Non c'è spazio tra l'elemento e la parentesi graffa!

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

Sarà tradotto in html:

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

3

Quando si desidera utilizzare Markdown puro (senza HTML nidificato), è possibile utilizzare Emoji per attirare l'attenzione su alcuni frammenti del file, ad esempio ⚠️ ATTENZIONE ⚠️, 🔴 IMPORTANTE ❗🔴 o 🔥 NUOVO 🔥.


2

Questo funziona nel prendere appunti Joplin:

<span style="color:red">text in red</span>

Non funziona durante la conversione in PDF
Marc Le Bihan,

0

Ho avuto successo con

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

Avvertenza: la classe deve già esistere sul sito.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.