Como aplicar cores no Markdown?

373

Eu quero usar o Markdown para armazenar informações textuais. Mas a pesquisa rápida diz que o Markdown não suporta cores. O StackOverflow também não suporta cores. O mesmo que no caso da remarcação do GitHub.

Existe algum sabor de remarcação que permita texto colorido?

Mahesha999
fonte
11
qual é o seu formato de saída? Markdown é usado principalmente para ser transformado em html, que suporta cor e muitos analisadores aceitar código html
SCOA
Você quer dizer que esses analisadores têm a capacidade embutida de inserir html de remarcação dentro de 'digamos' <span style = "color: red"> </style> '? Eu não ouvi. Algum link / exemplo?
Mahesha999
5
Quer dizer que você pode misturá-los com pandoc por exemplo: <span style="color:red"> *some emphasized markdown text*</span>. Se você está perguntando sobre a manipulação remarcação nativa de cores, eu não acho que ela existe
SCOA
11
Esta resposta pode ser de alguma ajuda, como foi para mim ...
Curiousity

Respostas:

373

Resposta curta

Markdown não suporta cores!

TL; DR

Como as regras de sintaxe original / oficial declaram (ênfase adicionada):

A sintaxe do Markdown tem uma finalidade: ser usada como um formato para escrever para a web.

Markdown não é um substituto para o HTML, ou mesmo próximo a ele. Sua sintaxe é muito pequena, correspondendo apenas a um subconjunto muito pequeno de tags HTML. A idéia não é criar uma sintaxe que facilite 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, gravação e edição da prosa. HTML é um formato de publicação; Markdown é um formato de escrita. Portanto, a sintaxe de formatação do Markdown trata apenas de problemas que podem ser transmitidos em texto sem formatação .

Para qualquer marcação que não seja coberta pela sintaxe do Markdown, basta usar o próprio HTML.

Como não é um "formato de publicação", fornecer uma maneira de colorir o texto está fora do escopo do 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 Markdown (conforme sugerido por @scoa em um comentário):

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

Resultaria no 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) removerá o HTML bruto (como uma medida de segurança), para que você perca a cor aqui, mas deve funcionar em qualquer implementação padrão do Markdown.

Outra possibilidade é usar as Listas de Atributos não-padrão originalmente introduzidas pela implementação do Markuru no Markuru e posteriormente adotadas por algumas outras (pode haver mais implementações da mesma ideia, ou ligeiramente diferentes, como atributos div e span no pandoc ). Nesse caso, você pode atribuir uma classe a um parágrafo ou elemento embutido e, em seguida, usar CSS para definir uma cor para uma classe. No entanto, é absolutamente necessário usar uma das poucas implementações que realmente suportam o recurso não padrão e seus documentos não são mais portáteis para outros sistemas.

Waylan
fonte
2
Obrigado, agora resta experimentar o quão bem podemos misturar HTML e remarcação. Mas realmente sinto que qualquer formato de escrita deve permitir ao escritor transmitir quais palavras ele deseja enfatizar. Embora se possa usar negrito e itálico para isso, mas para explicar tópicos excessivamente complexos, a ênfase pela coloração pode ser útil. Ou simplesmente transmitir duas palavras para formar um par entre outros pares, colorindo palavras (digamos na mesma frase, mas um pouco afastadas uma da outra) pertencendo ao mesmo par da mesma cor. O ponto é o que pode provar que o recurso útil é determinado pela natureza e complexidade do texto a ser escrito.
Mahesha999
Parece que a capacidade de expressar como texto simples foi primordial para remarcação ... é por isso que tudo isso
Mahesha999
10
Parece-me que a sua expectativa sobre o Markdown é diferente do que o planejador pretendia. Mas isso é apenas minha opinião ...
Waylan
"A sintaxe do Markdown é destinada a um propósito: ser usada como um formato para escrever para a web.". E, às vezes, queremos escrever em cores. É nosso direito. AVISO: PERIGO! é melhor em vermelho. E como você pode explicar que eles implementaram cores de sintaxe para idiomas? As cores são para nós usarmos, quando quisermos.
Marc Le Bihan
Como você masculino o seu <p> <style = "color: ..."> funciona ao converter de markdown para pdf? Não funciona então. As soluções padrão de remarcação para cores seriam melhores.
Marc Le Bihan
56

Comecei a usar o Markdown para publicar alguns dos meus documentos em um site interno para usuários internos. É uma maneira fácil de compartilhar um documento, mas não poder ser editado pelo visualizador.

Portanto, essa marcação de texto em cores é "Ótimo". Eu uso vários como este e funciona maravilhoso.

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

Torna-se em itálico azul.

E

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

Torna-se em Negrito vermelho.

Adoro a flexibilidade e a facilidade de uso.

Elton
fonte
7
Suponho que isso deva ser um comentário - realmente não responde à pergunta da OP.
Marcus Mangelsdorf
15
O item acima não faz nada, exceto o negrito em Negrito vermelho.
Mplungjan #
11
Não que o anterior era provável que o trabalho em uma página web, mas ... divertido ▼ ✡︎✶✸∍∀≤☂︎☯︎℥😇🥑🇬🇧
Robotbugs
4
Parece que você está misturando Markdown com tags HTML aqui. O elemento span pode adicionar a cor quando visualizado no seu navegador da web, mas não é o Markdown .
Martin Gray
11
A maioria das pessoas que tenta obter cores na página está focada apenas se a cor será renderizada em um documento de remarcação; não se o código em si for remarcado. Então, acho que essa é uma boa resposta.
Maiya
21

Embora o Markdown não suporte cores, se você não precisar de muitos, você sempre pode sacrificar alguns dos estilos suportados e redefinir a tag relacionada usando CSS para torná-la colorida, além de remover ou não a formatação.

Exemplo:

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


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

Veja também: Como mudar o estilo da tag em para ficar em negrito em vez de itálico

Em seguida, no seu texto de remarcação

~~This is green~~
_this is blue_
Simon B.
fonte
Interessante, mas para se livrar da greve, embora ao colorir o texto, o seguinte deve trabalhar melhor:s {text-decoration:none; color: green}
x0s
2
IMO, esta resposta é mais no espírito de remarcação ao responder à pergunta principal. Ele respeita a idéia de redução de texto sem formatação (que é legível em texto sem formatação) e os requisitos de conversão de quando o texto é analisado por um visualizador de redução. Nesse sentido, eu gostaria que houvesse um pouco de espaço (os visualizadores de remarcação wrt para redefinir as tags de remarcação para outras tags HTML ou atribuir classes automaticamente a elas). Por exemplo, eu gostaria *e _ser diferente, mas ambos apontam para <em>.
Melvin Roest 19/01
13

Isso deve ser mais curto:

<font color='red'>test blue color font</font>
Galáxia
fonte
Não funciona quando a conversão em PDF
Marc Le Bihan
Eu não gosto da idéia de usar uma tag HTML obsoleta, mas se funcionar, funciona ...
Alonso del Arte
7

você provavelmente pode usar o estilo de látex:

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

Para manter o espaço em branco entre as palavras, você também precisa incluir o til ~.

Y.Du
fonte
2
Esta é a única solução que funcionou para mim.
Ébe Isaac 22/02
Na área {your-text-here}, você deve usar o til em ~vez de espaços para inserir espaços em branco.
Alex
@ Alex: Ou faça $ \ color {código de cor} {{\ rm seu texto aqui}} $.
Peter K.
Ou faça $ \ color {color-code} {\ text {seu texto aqui}} $.
Phro
4

Parece que o kramdown suporta cores de alguma forma.

O Kramdown permite html embutido :

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

Também possui outra sintaxe para incluir as classes css inline :

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

Esta página explica ainda como o GitLab utiliza uma maneira mais compacta de aplicar classes css no Kramdown:

Aplicando blueclasse ao texto:

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

Aplicando blueclasse aos títulos:

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

Aplicando duas classes:

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

Aplicando IDs:

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

Isso produz:

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

Há muitas outras coisas explicadas no link acima . Pode ser necessário verificar.

Além disso, como outra resposta disse, o Kramdown também é o renderizador de descontos padrão por trás do Jekyll . Portanto, se você estiver criando alguma coisa nas páginas do github, a funcionalidade acima pode estar disponível imediatamente.

Mahesha999
fonte
3

Em Jekylleu era capaz de adicionar um pouco de cor ou outros estilos para uma ousada elemento (deve trabalhar com todos os outros elementos também).

Comecei o "estilo" {:e finalizei }. Não há espaço permitido entre o elemento e o colchete!

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

Será traduzido para html:

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

Quando você deseja usar o Markdown puro (sem HTML aninhado), pode usar Emojis para chamar a atenção para algum fragmento do arquivo, ou seja, ⚠️ WARNING ⚠️, 🔴 IMPORTANTE ❗🔴 ou 🔥 NOVO 🔥.

TeWu
fonte
2

Isso funciona no Joplin para anotações:

<span style="color:red">text in red</span>
Nettlebay AP
fonte
Não funciona quando a conversão em PDF
Marc Le Bihan
0

Eu tive sucesso com

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

Advertência: a classe já deve existir no site.

John Peters
fonte