我想使用Markdown存储文本信息。但快速搜索显示Markdown不支持颜色。堆栈溢出也不支持颜色。与GitHub markdown的情况相同。

是否有允许彩色文本的markdown风格?


当前回答

TL;博士

Markdown不支持颜色,但您可以在Markdown中内联HTML,例如:

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

更长的答案

如原始/官方语法规则所述(添加强调):

Markdown的语法有一个目的:用作网络写作的格式。Markdown并不是HTML的替代品,甚至与HTML很接近。它的语法很小,只对应于HTML标记的一小部分。其目的不是创建一种更容易插入HTML标记的语法。在我看来,HTML标记已经很容易插入了。Markdown的想法是让散文易于阅读、写作和编辑。HTML是一种发布格式;Markdown是一种书写格式。因此,Markdown的格式化语法只解决可以用纯文本表达的问题。对于Markdown语法未涵盖的任何标记,只需使用HTML本身。

由于它不是一种“发布格式”,因此提供一种为文本着色的方法超出了Markdown的范围。也就是说,这不是不可能的,因为您可以包含原始HTML(HTML是一种发布格式)。例如,以下Markdown文本(如@scoa在评论中所建议的):

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

将生成以下HTML:

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

现在,StackOverflow(可能还有GitHub)将去掉原始HTML(作为一种安全措施),这样你就失去了这里的颜色,但它应该适用于任何标准的Markdown实现。

另一种可能是使用Markdown的Markuru实现最初引入的非标准属性列表,后来被其他一些实现采用(可能有更多或稍有不同的相同想法的实现,如pandoc中的div和span属性)。在这种情况下,可以将类分配给段落或内联元素,然后使用CSS为类定义颜色。然而,您绝对必须使用少数几个真正支持非标准特性的实现之一,并且您的文档不再可移植到其他系统。

其他回答

自2022年5月以来,Github在Markdown上使用了LATEX,你可以使用LATEX代码在你的repos上使用某种颜色,例如:

基本的

Code Appearing
$${\color{red}Red}$$ $${\color{red}Red}$$
$${\color{green}Green}$$ $${\color{green}Green}$$
$${\color{lightgreen}Light \space Green}$$ $${\color{lightgreen}Light \space Green}$$
$${\color{blue}Blue}$$ $${\color{blue}Blue}$$
$${\color{lightblue}Light \space Blue}$$ $${\color{lightblue}Light \space Blue}$$
$${\color{black}Black}$$ $${\color{black}Black}$$
$${\color{white}White}$$ $${\color{white}White}$$

多种颜色

密码

$${\color{red}Welcome \space \color{lightblue}To \space \color{orange}Stackoverflow}$$

可视化

$${\color{red}欢迎使用\space\color}浅蓝色}到\space\cocolor{orange}堆栈溢出}$$

Github上的视图:

如果你想了解更多,Github博客会解释新的支持,如果你想,我的Gist:)

TL;博士

Markdown不支持颜色,但您可以在Markdown中内联HTML,例如:

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

更长的答案

如原始/官方语法规则所述(添加强调):

Markdown的语法有一个目的:用作网络写作的格式。Markdown并不是HTML的替代品,甚至与HTML很接近。它的语法很小,只对应于HTML标记的一小部分。其目的不是创建一种更容易插入HTML标记的语法。在我看来,HTML标记已经很容易插入了。Markdown的想法是让散文易于阅读、写作和编辑。HTML是一种发布格式;Markdown是一种书写格式。因此,Markdown的格式化语法只解决可以用纯文本表达的问题。对于Markdown语法未涵盖的任何标记,只需使用HTML本身。

由于它不是一种“发布格式”,因此提供一种为文本着色的方法超出了Markdown的范围。也就是说,这不是不可能的,因为您可以包含原始HTML(HTML是一种发布格式)。例如,以下Markdown文本(如@scoa在评论中所建议的):

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

将生成以下HTML:

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

现在,StackOverflow(可能还有GitHub)将去掉原始HTML(作为一种安全措施),这样你就失去了这里的颜色,但它应该适用于任何标准的Markdown实现。

另一种可能是使用Markdown的Markuru实现最初引入的非标准属性列表,后来被其他一些实现采用(可能有更多或稍有不同的相同想法的实现,如pandoc中的div和span属性)。在这种情况下,可以将类分配给段落或内联元素,然后使用CSS为类定义颜色。然而,您绝对必须使用少数几个真正支持非标准特性的实现之一,并且您的文档不再可移植到其他系统。

似乎kramdown支持某种形式的颜色。

Kramdown允许内联html:

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

此外,它还有另一种用于内联包含css类的语法:

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

本页进一步解释了GitLab如何使用更紧凑的方式在Kramdown中应用css类:

将蓝色类应用于文本:这是一个段落,出于某种原因,我们想要蓝色。{:.蓝色}将蓝色类应用于标题:####蓝色标题{:.蓝色}应用两个类:蓝色和粗体的段落。{:.blue.bold}应用ID:####蓝色标题{:.blue#blue-h}这将产生:<h4 class=“blue”id=“blue-h”>蓝色航向</h4>

在上面的链接中还解释了很多其他内容。您可能需要检查。

另外,正如其他答案所说,Kramdown也是Jekyll背后的默认markdown渲染器。所以,如果您在github页面上创作任何内容,上述功能可能是现成的。

你可能可以使用乳胶风格:

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

为了保持单词之间的空白,还需要包含波浪号~。

请使用以下语法将粗体字体颜色设置为红色(&F)

__`A`__