如何在Markdown中为文本应用颜色

我想使用Markdown来存储文本信息。但是快速谷歌搜索说Markdown不支持颜色。Stack Overflow也不支持颜色。与GitHub Markdown的情况相同。

是否有任何允许彩色文本的降价风格?

1029610 次浏览

太长别读

Markdown不支持颜色,但您可以在Markdown中内联超文本标记语言,例如:

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

更长的答案

作为原始/官方的语法规则状态(强调是添加的):

Markoff的语法有一个目的:用作Web编写格式。

Markdown不是超文本标记语言的替代品,甚至不是接近它。它的语法非常小,只对应于超文本标记语言标签的一个非常小的子集。其想法不是创建一个语法,使其更容易插入超文本标记语言标签。在我看来,超文本标记语言标签已经很容易插入了。Markdown的想法是使其易于阅读、编写和编辑散文。超文本标记语言是一种发布格式;Markdown是一种写作格式。因此,Markdown的格式化语法只解决了可以以纯文本形式传达的问题。

对于Markdown语法未涵盖的任何标记,您只需使用超文本标记语言本身。

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

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

将导致以下超文本标记语言:

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

现在,StackOverflow(可能还有GitHub)将去掉原始的超文本标记语言(作为安全措施),所以你在这里失去了颜色,但它应该适用于任何标准的Markdown实现。

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

我已经开始使用Markdown将我的一些文档发布到内部网站以供内部用户使用。让文档共享但无法由查看器编辑是一种简单的方法。

所以,这种标记文本的颜色是“伟大的”。我已经使用了几个这样的作品,效果很好。

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

变成这是蓝色斜体字。

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

变成这是红色的大胆。

我喜欢它的灵活性和易用性。

虽然Markdown不支持颜色,但如果你不需要太多,你总是可以牺牲一些支持的样式,并使用CSS重新定义相关标记以使其颜色,并删除格式,或者不。

示例:

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




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

请参阅:如何将em标签重新设计为粗体而不是斜体字

然后在你的降价文本中

~~This is green~~
_this is blue_

这适用于笔记乔普林:

<span style="color:red">text in red</span>

这应该更短:

<font color='red'>test blue color font</font>

Jekyll中,我能够为大胆元素添加一些颜色或其他样式(也应该与所有其他元素一起使用)。

我以{:开始“样式”并以}结束。元素和花括号之间不允许有空格!

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

将被翻译成html:

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

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

Kramdown允许内联html

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

它还有另一种包括css类内联的语法:

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

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

blue类应用于文本:

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

blue类应用于标题:

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

应用两个类:

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

应用id:

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

这产生:

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

上述链接中解释了很多其他的东西。你可能需要检查一下。

此外,正如其他答案所说,Kramdown也是Jekyll背后的默认降价渲染器。因此,如果您在github页面上创作任何内容,上述功能可能会开箱即用。

你可以使用乳胶风格:

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

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

当您想使用纯Markdown(没有嵌套的超文本标记语言)时,您可以使用表情符号提请注意文件的某些片段,即⚠️警告⚠️,🔴重要❗🔴或🔥新的🔥。

我成功地

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

注意:该类必须已经存在于站点上。

短篇小说:链接。使用类似的东西:

a[href='red'] {
color: red;
pointer-events: none;
cursor: default;
text-decoration: none;
}
<a href="red">Look, ma! Red!</a>

(HTML above for demonstration purposes)

And in your md source:

[Look, ma! Red!](red)

我喜欢重新定义现有标签的想法,如果它们未被使用,因为文本更干净,牺牲现有标签。内联样式有效,但在阅读原始文本时会产生大量噪音。

使用VSCode,我发现自定义单字母标签,由顶部的一个小<style>部分支持,可以很好地降低噪音,特别是对于专色,例如。

<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

我的用例是orgmode-ish应用程序内笔记在开发过程中,但我想它可能在其他地方工作?

在Zeppelin段落中运行以下内容

%md ### <span style="color:red">text</span>

将此命令放入RMarkdown标头

header-includes: \usepackage{xcolor}

然后使用此命令为文本着色

\textcolor{green}{Text is green!}

屁股疼。

通过pandoc标记为PDF仅在使用时为我工作:

---
header-includes:
\usepackage{xcolor}
\definecolor{alizarin}{rgb}{0.82, 0.1, 0.26}
---


\color{alizarin}The overarching aim \color{black} of this project is


“总体目标”为红色,其余为黑色。字体保持不变,没有空格问题。

导出到odt或docx-没有运气。

作为替代方案,文本中的任何颜色都可以通过彩色Unicode字符来实现,例如🔴,U+1F534“大红圈”。

例如,当我记录电线颜色时,当硬件伴随我在GitHub上的软件项目时,我使用这样的字符。

🔴 red: +5V
🟠 orange: +3.3V
⚫ black: ground
⚪ white: ground (pull-down)
🟣 purple: I2C signal
🟢 green: clock signal
🟡 yellow: WS2812 signal
🔵 blue: resistor bridge (analogue) input

也许这对你的留档也很有用。你可以将这个例子复制并粘贴到你的文本中,或者在网上搜索像Unicode紫色方块这样的字符串。它们也被认为是表情符号。

请使用以下语法将BOLD和字体颜色设置为红色

__`A`__

感谢这个帖子中的所有答案。

我同意,最终目的是强调和区分文本。所以这是我从这个帖子中学到的答案的整合,以及个人偏好(通过粘贴MD编辑器查看它们):

风格 降价
🔴🟠⚫⚪🟣🟢🟡🔵 相同
✅真❌假 相同
强调 下划线
~~中风~~ ~~中风~~
斜体字 *斜体字*
==突出显示== ==突出显示==
大胆 **大胆**
red color “红色”
蓝色 蓝色
其他颜色 <字体颜色=#0fb503>其他颜色

现在自2022年5月起,Github在Markdown上使用LATEX,您可以使用LATEX代码在您的存储库上使用某种颜色,如下例:

基本

代码 出现
$${\color{red}Red}$$ $${\颜色{红色}红色}$$
$${\color{green}Green}$$ $${\颜色{绿色}绿色}$$
$${\color{lightgreen}Light \space Green}$$ $${\颜色{浅绿色}浅色\空间绿色}$$
$${\color{blue}Blue}$$ $${\颜色{蓝色}蓝色}$$
$${\color{lightblue}Light \space Blue}$$ $${\颜色{浅蓝}浅蓝\太空蓝}$$
$${\color{black}Black}$$ $${\颜色{黑色}黑色}$$
$${\color{white}White}$$ $${\颜色{白色}白色}$$

不止一种颜色

  • 代码
$${\color{red}Welcome \space \color{lightblue}To \space \color{orange}Stackoverflow}$$
  • 可视化

$${\颜色{红色}欢迎\space\颜色{浅蓝色}到\space\颜色{橙色}Stackoverflow}$$

  • 在Github上查看:

Github上的可视化

  • 如果你想了解更多,github博客解释新的支持,我的要点如果你想:)