¿Cómo aplicar color en Markdown?

374

Quiero usar Markdown para almacenar información textual. Pero el google rápido dice que Markdown no es compatible con el color. También StackOverflow no admite color. Igual que en el caso de la rebaja de GitHub.

¿Hay algún sabor de rebaja que permita texto en color?

Mahesha999
fuente
1
¿Cuál es su formato de salida? Markdown se usa principalmente para transformarse a html, que admite color, y muchos analizadores aceptan el código html
scoa
¿Quiere decir que estos analizadores tienen la capacidad incorporada de poner html de markdown dentro de decir '<span style = "color: red"> </style>'? No escuché Cualquier enlace / ejemplo?
Mahesha999
55
Me refiero a que puede mezclarlos con Pandoc por ejemplo: <span style="color:red"> *some emphasized markdown text*</span>. Si está preguntando sobre el manejo de colores de
marcado
1
Esta respuesta podría ser de alguna ayuda ya que fue para mí ...
Curiousity

Respuestas:

373

Respuesta corta

¡Markdown no admite color!

TL; DR

Como dicen las reglas de sintaxis original / oficial (énfasis agregado):

La sintaxis de Markdown tiene un propósito: ser utilizado como un formato para escribir en la web.

Markdown no es un reemplazo para HTML, ni siquiera está cerca de él. Su sintaxis es muy pequeña y corresponde solo a un subconjunto muy pequeño de etiquetas HTML. La idea no es crear una sintaxis que facilite la inserción de etiquetas HTML. En mi opinión, las etiquetas HTML ya son fáciles de insertar. La idea de Markdown es facilitar la lectura, la escritura y la edición de la prosa. HTML es un formato de publicación; Markdown es un formato de escritura. Por lo tanto, la sintaxis de formato de Markdown solo aborda problemas que pueden transmitirse en texto sin formato .

Para cualquier marcado que no esté cubierto por la sintaxis de Markdown, simplemente use el propio HTML.

Como no es un "formato de publicación", proporcionar una forma de colorear su texto está fuera del alcance de Markdown. Dicho esto, no es imposible ya que puede incluir HTML sin formato (y HTML es un formato de publicación). Por ejemplo, el siguiente texto de Markdown (como lo sugiere @scoa en un comentario):

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

Resultaría en el siguiente HTML:

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

Ahora, StackOverflow (y probablemente GitHub) eliminará el HTML sin formato (como medida de seguridad) para que pierda el color aquí, pero debería funcionar en cualquier implementación estándar de Markdown.

Otra posibilidad es utilizar las listas de atributos no estándar introducidos originalmente por el Markuru implementación de Markdown y más tarde adoptada por un par de los demás (puede haber más, o ligeramente diferentes implementaciones de la misma idea, como div o span atributos en Pandoc ). En ese caso, puede asignar una clase a un párrafo o elemento en línea, y luego usar CSS para definir un color para una clase. Sin embargo, absolutamente debe estar utilizando una de las pocas implementaciones que realmente admiten la característica no estándar y sus documentos ya no son portables a otros sistemas.

Waylan
fuente
2
Gracias, ahora queda por experimentar qué tan bien podemos mezclar HTML y Markdown. Pero realmente siento que cualquier formato de escritura debería permitirle al escritor transmitir qué palabras quiere poner énfasis. Aunque uno puede usar negrita y cursiva para eso, pero para explicar temas demasiado complejos, puede ser útil hacer hincapié en el color. O simplemente para transmitir dos palabras forman un par entre otros pares, coloreando palabras (digamos en la misma oración pero un poco separadas) que pertenecen al mismo par con el mismo color. El punto es lo que puede probar que la característica útil está determinada por la naturaleza y la complejidad del texto a escribir.
Mahesha999
Parece que la capacidad de expresarse como texto sin formato fue primordial para la rebaja ... es por eso que todo esto
Mahesha999
10
Me parece que su expectativa de Markdown es diferente de lo que pretendía su creador. Pero esa es solo mi opinión ...
Waylan
"La sintaxis de Markdown tiene un propósito: ser utilizado como un formato para escribir en la web". Y a veces, queremos escribir en color. Es nuestro derecho. ADVERTENCIA: ¡PELIGRO! Es mejor en rojo. ¿Y cómo puede explicar que implementaron el color de sintaxis para los idiomas? El color es para que lo usemos cuando queramos.
Marc Le Bihan
¿Cómo funciona tu <p> <style = "color: ..."> al convertir de markdown a pdf? No funciona entonces. Las soluciones estándar de rebajas para los colores serían mejores.
Marc Le Bihan
56

He comenzado a usar Markdown para publicar algunos de mis documentos en un sitio web interno para usuarios internos. Es una manera fácil de compartir un documento, pero el espectador no puede editarlo.

Por lo tanto, esta marca de texto en color es "genial". He usado varios como este y funciona de maravilla.

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

Se convierte en Esto es cursiva azul.

Y

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

Se convierte en This is Red Bold.

Me encanta la flexibilidad y facilidad de uso.

Elton
fuente
77
Supongo que esto debería ser un comentario, realmente no responde la pregunta de OP.
Marcus Mangelsdorf
15
Lo anterior no hace nada excepto el negrita en This is Red Bold.
mplungjan
1
No es probable que lo anterior funcione en una página web, pero ... divertido ▼ ✡︎✶✸∍∀≤☂︎☯︎℥😇🥑🇬🇧
Robotbugs
44
Parece que está mezclando Markdown con etiquetas HTML aquí. El elemento span puede agregar el color cuando se ve en su navegador web, pero no es Markdown .
Martin Gray
1
La mayoría de las personas que intentan obtener color en la página solo se centran en si el color se representará en un documento de rebaja; no si el código en sí es un descuento. Entonces, creo que esta es una buena respuesta.
Maiya
21

Si bien Markdown no admite el color, si no necesita demasiados, siempre puede sacrificar algunos de los estilos admitidos y redefinir la etiqueta relacionada usando CSS para que sea de color, y también eliminar el formato, o no.

Ejemplo:

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


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

Consulte también: Cómo cambiar el estilo de la etiqueta em para que esté en negrita en lugar de cursiva

Luego, en su texto de descuento

~~This is green~~
_this is blue_
Simon B.
fuente
Interesante, pero para deshacerse de la huelga, aunque al colorear el texto, lo siguiente debería funcionar mejor:s {text-decoration:none; color: green}
x0s
2
En mi opinión, esta respuesta es más en el espíritu de rebaja al responder a la pregunta principal. Respeta la idea de texto plano de Markdown (que es legible en texto plano) y cumple los requisitos de conversión de cuando el texto es analizado por un visor de Markdown. En este sentido, desearía que hubiera un poco de espacio (wrt markdown viewers para redefinir las etiquetas de markdown a otras etiquetas HTML o para asignarles clases automáticamente). Por ejemplo, me gustaría *y _ser diferente, pero ambos apuntan <em>.
Melvin Roest
13

Esto debería ser más corto:

<font color='red'>test blue color font</font>
Galaxia
fuente
No funciona al convertir en PDF
Marc Le Bihan
No me gusta la idea de usar una etiqueta HTML obsoleta, pero si funciona, funciona ...
Alonso del Arte
7

Probablemente puedas usar el estilo de látex:

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

Para mantener el espacio en blanco entre las palabras, también debe incluir la tilde ~.

Y.Du
fuente
2
Esta es la única solución que funcionó para mí.
Ébe Isaac
En el área {your-text-here}, debe usar la tilde en ~lugar de espacios para insertar espacios en blanco.
Alex
@Alex: O haga $ \ color {código de color} {{\ rm su texto aquí}} $.
Peter K.
O haga $ \ color {código de color} {\ text {su texto aquí}} $.
Phro
4

Parece que kramdown admite colores de alguna forma.

Kramdown permite html en línea :

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

También tiene otra sintaxis para incluir clases css en línea :

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

Esta página explica además cómo GitLab utiliza una forma más compacta de aplicar clases css en Kramdown:

Aplicando blueclase al texto:

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

Aplicando blueclase a los encabezados:

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

Aplicando dos clases:

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

Aplicando identificadores:

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

Esto produce:

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

Hay muchas otras cosas explicadas en el enlace anterior . Es posible que deba verificar.

Además, como dijo otra respuesta, Kramdown también es el procesador de rebajas predeterminado detrás de Jekyll . Entonces, si está creando algo en las páginas de Github, la funcionalidad anterior puede estar disponible de inmediato.

Mahesha999
fuente
3

En Jekyllpude agregar un poco de color u otros estilos a un elemento en negrita (también debería funcionar con todos los demás elementos).

Comencé el "estilo" con {:y lo termino }. ¡No hay espacio permitido entre el elemento y el soporte rizado!

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

Será traducido a html:

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

Cuando desee usar Markdown puro (sin HTML anidado), puede usar Emojis para llamar la atención sobre algún fragmento del archivo, es decir, WARNING️ WARNING ⚠️, 🔴 IMPORTANT ❗🔴 o 🔥 NEW 🔥.

TeWu
fuente
2

Esto funciona en la toma de notas Joplin:

<span style="color:red">text in red</span>
Nettlebay AP
fuente
No funciona al convertir en PDF
Marc Le Bihan
0

He tenido éxito con

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

Advertencia: la clase ya debe existir en el sitio.

John Peters
fuente