网络上的内容需要以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 Preview和StackEdit在线编辑和预览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:结构、语法和惯例。