Markdown 非正式语法
文章地址:
针对 Markdown 未正式支持的内容的解决方法。
Markdown 非正式语法
大多数使用 Markdown 的人会发现基本和扩展语法元素可以满足他们的需求。但是,如果你使用 Markdown 的时间足够长,你很可能会发现它不支持你需要的某些东西。本页提供了解决 Markdown 限制的技巧和窍门。
[!tip] 提示:
这些技巧不一定适用于您的 Markdown 应用程序。如果您需要经常使用这些技巧,则应考虑使用 Markdown 以外的其他语言进行写作。
下划线
带下划线的文本在网页写作中并不常见,可能是因为带下划线的文本几乎与链接同义。但是,如果您正在撰写论文或报告,则可能需要为单词和短语添加下划线的功能。一些应用程序(如Bear和Simplenote)支持为文本添加下划线,但 Markdown 本身并不支持下划线。如果您的 Markdown 处理器支持HTML,则可以使用<ins>
HTML 标签为文档中的文本添加下划线。
Some of these words <ins>will be underlined</ins>.
渲染的输出如下所示:
Some of these words will be underlined.
缩进(Tab)
在 Markdown 中,制表符和空格具有特殊含义。您可以使用尾随空格来创建换行符,也可以使用制表符来创建代码块。但是,如果您需要使用制表符键以传统方式缩进段落,该怎么办?Markdown 并未提供简单的方法来实现这一点。
最好的办法可能是使用支持缩进的 Markdown 编辑器。这在更面向桌面出版的应用程序中很常见。例如,iA Writer允许您在应用程序首选项中自定义编辑器的缩进设置。它还提供模板自定义选项,以便您可以使呈现的文档看起来符合您的预期,包括缩进等。
如果您的 Markdown 处理器支持HTML ,则另一个选项是使用 HTML 实体表示不间断空格 (
)。这可能应该是您的最后选择,因为它可能会变得很尴尬。基本上,
Markdown 源中的每个 都将在渲染输出中替换为空格。因此,如果您在
段落前放置四个 ,则该段落看起来就像缩进了四个空格。
This is the first sentence of my indented paragraph.
渲染的输出如下所示:
这是我的缩进段落的第一句话。
居中
在撰写论文或报告时,居中文本是必需的。不幸的是,Markdown 没有任何文本对齐的概念(使用表格时可能存在例外)。好消息是您可以使用 HTML 标签:<center>
。如果您的 Markdown 处理器支持HTML,您可以将这些标签放在您想要居中对齐的任何文本周围。
<center>This text is centered.</center>
渲染的输出如下所示:
HTML标签<center>
在技术上是受支持的,但官方已弃用,这意味着它目前可用,但您不应该使用它。不幸的是,没有其他纯 HTML 替代方案。您可以尝试使用其中一种 CSS 替代方案。并非所有 Markdown 应用程序都提供 CSS 支持,但如果您使用的应用程序提供 CSS 支持,这里有一个标签的替代方案<center>
:
<p style="text-align:center">Center this text</p>
如果您的 Markdown 应用程序支持此功能,则输出如下所示:
Center this text
颜色
Markdown 不允许你更改文本的颜色,但如果你的 Markdown 处理器支持[HTML]Markdown-Basic-Syntax#html),则可以使用<font>
HTML 标签。该color
属性允许你使用颜色名称或十六进制#RRGGBB
代码指定字体颜色。
<font color="red">This text is red!</font>
渲染的输出如下所示:
HTML标签<font>
在技术上是受支持的,但官方已弃用,这意味着它目前可用,但您不应该使用它。不幸的是,没有其他纯 HTML 替代方案。您可以尝试使用其中一种 CSS 替代方案。并非所有 Markdown 应用程序都提供 CSS 支持,但如果您使用的应用程序提供 CSS 支持,这里有一个标签的替代方案<font>
:
<p style="color:blue">Make this text blue.</p>
如果您的 Markdown 应用程序支持此功能,则输出如下所示:
Make this text blue.
注释
有些人需要能够在 Markdown 文件中编写_不会_出现在渲染输出中的句子。这些注释本质上是隐藏文本。文本可供文档作者查看,但不会打印在网页或 PDF 上。Markdown 本身不支持注释,但一些有进取心的人已经想出了一个解决方案。
要添加注释,请将文本放在括号内,后跟冒号、空格和磅号(例如[comment]: #
)。注释前后应留空行。
Here's a paragraph that will be visible.
[This is a comment that will be hidden.]: #
And here's another paragraph that's visible.
Here's a paragraph that will be visible.
And here's another paragraph that's visible.
**提示:**此技巧来自Stack Overflow。它已通过同行评审,并被数千人使用!
警告
警告经常用于文档中,以引起对警告、说明和提示的注意。Markdown 没有提供警告的特殊语法,大多数 Markdown 应用程序也不支持警告(MkDocs除外)。
但是,如果您需要添加警告,您可能能够使用带有表情符号和强调的块引用来创建与您在其他网站上看到的警告类似的内容。
> :warning: **Warning:** Do not push the big red button.
> :memo: **Note:** Sunrises are beautiful.
> :bulb: **Tip:** Remember to appreciate the little things in life.
渲染的输出如下所示:
⚠️ Warning: Do not push the big red button.
📝 Note: Sunrises are beautiful.
💡 Tip: Remember to appreciate the little things in life.
图片大小
Markdown 的图像语法不允许您指定图像的宽度和高度。如果您需要调整图像大小并且您的 Markdown 处理器支持HTML,则可以使用img
带有width
和height
属性的 HTML 标签来设置图像的尺寸(以像素为单位)。
<img src="image.png" width="200" height="100">
渲染的输出将包含调整为您所指定尺寸的图像。例如:
![](/assets/example-DxhMTyB8.jpg)
图片说明
Markdown 本身不支持图像标题,但有两种可能的解决方法。如果您的 Markdown 应用程序支持HTML,则可以使用figure
和figcaption
HTML 标签为图像添加标题。
<figure>
<img src="/assets/images/albuquerque.jpg"
alt="Albuquerque, New Mexico">
<figcaption>A single track trail outside of Albuquerque, New Mexico.</figcaption>
</figure>
渲染的输出如下所示:
![新墨西哥州阿尔伯克基](https://mdg.imgix.net/assets/images/albuquerque.jpg)
新墨西哥州阿尔伯克基市郊外的一条单行道。
**提示:**如果您的 Markdown 应用程序支持 CSS,您可以使用 CSS 来设置标题的外观。
如果您的 Markdown 应用程序不支持 HTML,您可以尝试将标题直接放在图像下方并使用强调。
![Albuquerque, New Mexico](/assets/images/albuquerque.jpg)
*A single track trail outside of Albuquerque, New Mexico.*
渲染的输出如下所示:
![新墨西哥州阿尔伯克基](https://mdg.imgix.net/assets/images/albuquerque.jpg)
新墨西哥州阿尔伯克基市郊外的一条单行道。
链接目标
有些人喜欢创建在新标签页或窗口中打开的链接。Markdown 的链接语法不允许您指定该target
属性,但如果您的 Markdown 处理器支持HTML,则您可以使用 HTML 来创建这些链接。
<a href="https://www.markdownguide.org" target="_blank">Learn Markdown!</a>
渲染的输出如下所示:
符号
Markdown 不提供符号的特殊语法。但是,在大多数情况下,您可以将要使用的任何符号复制并粘贴到 Markdown 文档中。例如,如果您需要显示 Pi (π),只需在网页上找到该符号,然后将其复制并粘贴到文档中。该符号应按预期显示在渲染输出中。
或者,如果您的 Markdown 应用程序支持HTML,则可以使用 HTML 实体来表示您想要使用的任何符号。例如,如果您想要显示版权符号 (©),则可以将版权的 HTML 实体 ( ©
) 复制并粘贴到您的 Markdown 文档中。
以下是 HTML 符号实体的部分列表:
- 版权 (©) —
©
- 注册商标(®)—
®
- 商标 (™) —
™
- 欧元 (€) —
€
- 左箭头 (←) —
←
- 向上箭头 (↑) —
↑
- 向右箭头 (→) —
→
- 向下箭头 (↓) —
↓
- 度 (°) —
°
- 圆周率 (π) —
π
有关可用 HTML 实体的完整列表,请参阅 Wikipedia 的HTML 实体页面。
表格格式
Markdown表格非常挑剔。您无法使用许多 Markdown 语法元素来格式化表格单元格中的文本。但至少有两个常见的表格问题有解决方法:换行符和列表。
表格单元格内的换行符
您可以使用一个或多个<br>
HTML 标签分隔表格单元格内的段落。
| Syntax | Description |
| ----------- | ----------- |
| Header | Title |
| Paragraph | First paragraph. <br><br> Second paragraph. |
渲染的输出如下所示:
句法 | 描述 |
---|---|
标头 | 标题 |
段落 | 第一段。 第二段。 |
表格单元格内的列表
您可以使用 HTML 标签在表格单元格内添加列表。
| Syntax | Description |
| ----------- | ----------- |
| Header | Title |
| List | Here's a list! <ul><li>Item one.</li><li>Item two.</li></ul> |
渲染的输出如下所示:
句法 | 描述 |
---|---|
标头 | 标题 |
列表 | 这是一个清单! - 第一项。 - 第二项。 |
目录
一些 Markdown 应用程序(例如Markdeep)可以根据标题自动生成目录(也称为_toc_),但并非所有 Markdown 应用程序都提供此功能。但是,如果您的 Markdown 应用程序支持标题 ID ,则可以使用列表和一些链接为您的 Markdown 文件创建目录。
#### Table of Contents
- [Underline](#underline)
- [Indent](#indent)
- [Center](#center)
- [Color](#color)
渲染的输出如下所示:
目录
视频
如果您的 Markdown 应用程序支持HTML,您应该能够通过复制和粘贴 YouTube 或 Vimeo 等视频网站提供的 HTML 代码将视频嵌入到您的 Markdown 文件中。如果您的 Markdown 应用程序不支持 HTML ,您就无法嵌入视频,但您可以通过添加图片和视频链接来做到这一点。您几乎可以对任何视频服务上的任何视频执行此操作。
由于 YouTube 简化了这一过程,我们将以它们为例。以这个视频为例:https://www.youtube.com/watch?v=8q2IjQOzVpE
。URL 的最后一部分 ( 8q2IjQOzVpE
) 是视频的 ID。我们可以获取该 ID 并将其放入以下模板中:
[![Image alt text](https://img.youtube.com/vi/YOUTUBE-ID/0.jpg)](https://www.youtube.com/watch?v=YOUTUBE-ID)
YouTube 会自动为每个视频生成一张图片 ( https://img.youtube.com/vi/YOUTUBE-ID/0.jpg
),因此我们可以使用该图片并将图片链接到 YouTube 上的视频。替换图片替代文本并添加视频 ID 后,我们的示例如下所示:
[![Less Than Jake — Scott Farcas Takes It On The Chin](https://img.youtube.com/vi/PYCxct2e0zI/0.jpg)](https://www.youtube.com/watch?v=PYCxct2e0zI)
渲染的输出如下所示:
![比杰克还差——斯科特·法卡斯承受了巨大的打击](https://img.youtube.com/vi/PYCxct2e0zI/0.jpg)