Markdown的结构、语法和惯例

297 阅读5分钟

Learn Markdown: Structure, Syntax, and Conventions

网络上的内容需要以HTML格式呈现。许多网络发布工具(如博客软件和内容管理系统)会将你的内容(文本、图片等)转换成HTML格式。但在很多情况下,你想自己编写HTML内容......而用HTML标签手动标记内容是很费力的,而且也不太可行。进入Markdown。

Markdown是一种为网络编写内容的简单、无摩擦的方式,也是开发者创建文档的完美方式。它可以让你使用简单的、基于文本的标记轻松地组织和格式化文件,然后为你转换为HTML--所有这些都来自你最喜欢的文本编辑器。

如果你还没有使用Markdown,现在可能是开始使用的时候了。你可以在几分钟内学会基础知识,而且随着不断的使用,语法将成为你的第二天性。在这篇文章中,我们将鼓励你简单地开始,并告诉你如何在创建内容时使用Markdown来完成一系列常见的任务。

让我们深入了解一下吧

什么是Markdown?

Markdown是一种轻量级的标记语言,由John Gruber在2004年创建。它很容易写,很容易读,而且可以很容易地变成HTML。它主要是为网络写作而设计的。

它已经迅速流行起来,现在被用于其创造者从未设想过的场合。但它并不完美。它有局限性,特别是它忽略了你可能需要使用的许多HTML元素的格式(如表格)。它也可能有点含糊不清。

因此,一系列的变体已经被创造出来以处理这些问题。

  • CommonMark试图将Markdown标准化,使其不那么含糊不清,在这个过程中与一些原始语法相矛盾。
  • GitHub Flavored Markdown(GFM)扩展了CommonMark,在GitHub上创建文档时使用。
  • MultiMarkdown为表格、脚注、引文等增加了新的语法。
  • Pandoc为多种输出格式(不仅仅是HTML)扩展了Markdown,并支持文档元数据、脚注、表格、上标、下标等。

一些网络服务和Markdown编辑器支持其中一些变体的语法,甚至使用他们自己的Markdown版本。幸运的是,它们都支持原始的Markdown语法,这就是我们在这篇文章中要关注的。

学习Markdown

学习Markdown的最好方法是简单地开始。选择一个用例并开始,不管是创建博客文章,还是编写文档,或者只是给你的笔记添加一些基本格式。在你需要的时候,一块一块地学习语法。

你可以使用你最喜欢的文本编辑器,或者选择许多为Markdown设计的应用程序之一。Markdown编辑器可以缓解学习过程,因为它们允许你在线或在一个单独的窗格中预览你的格式化。这意味着你可以一目了然地看到你是否在使用正确的语法。

就个人而言,我使用Marked 2来预览Mac上的Markdown文件。这是一个商业产品,但当然你可以为你选择的编辑器找到很多免费的插件。你还可以使用Markdown Live PreviewStackEdit在线编辑和预览Markdown文件。

为了帮助你选择合适的Markdown编辑器,请参考这些综述文章。

构建文档

Markdown允许你为你的文件添加结构元素,例如标题h1,h2,h3 等)。有几种方法可以在Markdown中添加标题。我最喜欢的是在标题前加上哈希值# ,每一级的标题都有一个。

# Heading 1

## Heading 2

### Heading 3

etc.

And this is body text.

哈希值将低级别的标题进一步向右移动,所以它们看起来是缩进的。你可以选择在行尾使用相同数量的哈希值来关闭标题。

### Heading 3 ###

还有一种方法,虽然我没有看到它经常被使用。你可以通过在H1标题下用等号划线= ,在H2标题下用连字符划线- ,从而创建两个层次的标题。

Heading 1 or Title
==================

Heading 2
---------

文件的各个部分可以用水平规则(<hr />),或线条来分隔。你在Markdown中使用三个(或更多)连字符- ,星号* ,下划线_ ,或等号= 符号来创建这些。把它们单独放在一行上,两边是空行。

Brief introduction.

===

# Chapter 1

Lots of text.

---

# Chapter 2

Some more text

---

列表是另一个重要的结构元素。无序列表(<ul>)的创建方法是:以星号* 、加号+ 符号或连字符- 开始,然后是空格或制表符,最后是文本。

* this
* is
* an
* unordered
* list

+ this
+ is
+ too

- and
- so
- is
- this

选择适合你的符号。你可以在这些符号之间切换,最终结果是一样的。我倾向于使用星号或连字符。

有序列表(<ol>)是数字后面加上句号。这些数字不一定要按顺序排列。这两种方法都可以使用。

1. this
2. is
3. an
4. ordered
5. list

1. and
1. so
1. is
1. this

我使用的Markdown编辑器在按下回车键时,会自动延续一个列表。

如果你想用数字和句号开始一行,而不开始一个列表,你需要用反斜杠转义句号\

2020\. A year we'll never forget.

最后,正常文本的段落由一个或多个空行分隔。

This will be formatted as an HTML paragraph.

And so will this.

继续阅读:学习Markdown。SitePoint上学习Markdown:结构、语法和惯例