Como aplicar cores no Markdown?

Eu quero usar Markdown para armazenar informações textuais. Mas o googling rápido diz que o Markdown não suporta cores. O StackOverflow também não suporta cor. O mesmo que no caso do GitHub markdown.

Existe algum sabor de markdown que permita texto colorido?

Solução

Como o original/oficial regras de sintaxe declara (ênfase adicionada):

a sintaxe de Markdown destina-se a um propósito: ser usada como formato de escrita para a web.

Markdown não é um substituto do HTML, ou mesmo perto dele. A sua sintaxe é muito pequena, correspondendo apenas a um subconjunto muito pequeno de tags HTML. A ideia não é criar uma sintaxe que torne mais fácil a inserção de tags HTML. Na minha opinião, as tags HTML já são fáceis de inserir. A idéia do Markdown é facilitar a leitura, escrita e edição da prosa. O HTML é um formato de publicação; o Markdown é um formato de escrita. Assim, a sintaxe de formatação de Markdown só aborda questões que podem ser transmitidas em texto simples***.

Para qualquer marcação que não esteja coberta pela sintaxe do Markdown, você simplesmente usa o próprio HTML.

Como não é um "formato de publicação," fornecer uma forma de colorir o seu texto está fora de alcance para o Markdown. Dito isto, não é impossível, pois você pode incluir HTML bruto (e HTML é um formato de publicação). Por exemplo, o seguinte texto de Markdown (como sugerido por @scoa em um comentário):

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

O resultado seria o seguinte HTML:

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

Agora, o StackOverflow (e provavelmente o GitHub) irá retirar o HTML bruto (como medida de segurança) para que você perca a cor aqui, mas ele deve funcionar em qualquer implementação padrão do Markdown.

Outra possibilidade é usar as Listas de Atributos não padronizadas, originalmente introduzidas pela implementação Markuru de Markdown e posteriormente adotadas por poucos outros (pode haver mais, ou implementações ligeiramente diferentes da mesma idéia, como atributos de div e span em pandoc). Nesse caso, você poderia atribuir uma classe a um parágrafo ou elemento inline, e então usar CSS para definir uma cor para uma classe. No entanto, você deve absolutamente estar usando uma das poucas implementações que realmente suportam o recurso não-padrão e seus documentos não são mais portáveis para outros sistemas.

Comentários (6)

Comecei a usar Markdown para publicar alguns dos meus documentos num site interno para utilizadores internos. É uma maneira fácil de ter um documento compartilhado, mas que não pode ser editado pelo visualizador.

Então, esta marcação de texto a cores é "Excelente". Já usei vários como este e funciona maravilhosamente.

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

Transforma-se em Isto é azul itálico.

E

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

Transforma-se em Isto é Red Bold.

Adoro a flexibilidade e a facilidade de uso.

Comentários (7)

Enquanto Markdown não't suporta cores, se você não't precisar de muitas, você pode sempre sacrificar alguns dos estilos suportados e redefinir a tag relacionada usando CSS para torná-la colorida, e também remover a formatação, ou não.

Exemplo:

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

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

Veja também: https://stackoverflow.com/questions/25535836/how-to-restyle-em-tag-to-be-bold-instead-of-italic

Depois, no seu texto de remarcação para baixo

~~This is green~~
_this is blue_
Comentários (1)