Cómo aplicar color al texto en Markdown

Resuelto Mahesha999 asked hace 8 años • 21 respuestas

Quiero usar Markdown para almacenar información textual. Pero una búsqueda rápida en Google dice que Markdown no admite color. Además, Stack Overflow no admite color. Igual que en el caso de la rebaja de GitHub.

¿Existe algún tipo de rebajas que permita texto en color?

Mahesha999 avatar Feb 18 '16 02:02 Mahesha999
Aceptado

TL;DR

Markdown no admite color, pero puede insertar HTML dentro de Markdown, por ejemplo:

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

respuesta más larga

Como establecen las reglas de sintaxis originales/oficiales (énfasis añadido):

La sintaxis de Markdown tiene un propósito: usarse como formato de escritura para la web.

Markdown no reemplaza a HTML, ni siquiera se acerca a él. Su sintaxis es muy pequeña y corresponde sólo 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, escritura y edición de 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 cuestiones que pueden transmitirse en texto plano .

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

Como no es un "formato de publicación", proporcionar una forma de colorear el texto está fuera del alcance de Markdown. Dicho esto, no es imposible ya que puedes 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 introducidas originalmente por la implementación Markuru de Markdown y luego adoptadas por algunos otros ( puede haber más implementaciones, o ligeramente diferentes, de la misma idea, como los atributos div y span en pandoc ). En ese caso, podría 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, es absolutamente necesario que esté utilizando una de las pocas implementaciones que realmente admitan la función no estándar y sus documentos ya no serán portátiles a otros sistemas.

Waylan avatar Feb 18 '2016 15:02 Waylan

Cuando quieras usar Markdown puro (sin HTML anidado), puedes usar Emojis para llamar la atención sobre algún fragmento del archivo, es decir, ⚠️ ADVERTENCIA ⚠️, 🔴 IMPORTANTE ❗🔴 o 🔥 NUEVO 🔥.

TeWu avatar May 06 '2020 14:05 TeWu

Comencé 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.

Entonces, esta marca de texto en color es "Excelente". 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 azul en cursiva.

Y

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

Se convierte en Esto es rojo negrita.

Me encanta la flexibilidad y facilidad de uso.

Elton avatar Apr 11 '2017 20:04 Elton

Me gusta la idea de redefinir las etiquetas existentes si no se utilizan debido al hecho de que el texto está más limpio, a expensas de las etiquetas existentes. El estilo en línea funciona pero crea mucho ruido al leer el texto sin formato.

Usando VSCode descubrí que las etiquetas personalizadas de una sola letra, respaldadas por una pequeña <style>sección en la parte superior, funcionan bien con un mínimo de ruido, especialmente para colores planos, por ejemplo.

<style>
r { color: Red }
o { color: Orange }
g { color: Green }
</style>

# TODOs:

- <r>TODO:</r> Important thing to do
- <o>TODO:</o> Less important thing to do
- <g>DONE:</g> Breath deeply and improve karma

Mi caso de uso es la toma de notas en la aplicación en modo org durante el desarrollo, pero supongo que podría funcionar en otros lugares.

Robin Macharg avatar Jan 08 '2021 09:01 Robin Macharg

Si bien Markdown no admite colores, si no necesita demasiados, siempre puede sacrificar algunos de los estilos admitidos y redefinir la etiqueta relacionada usando CSS para darle 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 }

Ver 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 rebajas

~~This is green~~
_this is blue_
Simon B. avatar Jan 09 '2018 14:01 Simon B.