入门指南 #
什么是 Markdown? #
Markdown 是一种轻量级标记语言,可用于向纯文本文档添加格式元素。Markdown 由 John Gruber 于 2004 年创建,现已成为全球最流行的标记语言之一。
使用 Markdown 与使用 所见即所得 的编辑器不同。在 Microsoft Word 等应用程序中,您可以单击按钮来设置单词和短语的格式,并且更改会立即可见。Markdown 不是那样的。当您创建 Markdown 格式的文件时,您会将 Markdown 语法添加到文本中以指示哪些单词和短语应该看起来不同。
例如,要表示标题,可以在标题前添加数字符号(例如 # Heading One)。或者要使短语加粗,可以在其前后添加两个星号(例如 此文本为粗体)。可能需要一段时间才能习惯在文本中看到 Markdown 语法,尤其是如果您习惯使用所见即所得的应用程序。下面的屏幕截图显示了 Notepad3 文本编辑器中显示的 Markdown 文件。
您可以使用文本编辑器应用程序将 Markdown 格式元素添加到纯文本文件。或者,您可以使用适用于 macOS、Windows、Linux、iOS 和 Android 操作系统的众多 Markdown 应用程序之一。还有几个专门为使用 Markdown 写作而设计的基于 Web 的应用程序。
根据您使用的应用程序,您可能无法实时预览格式化的文档。但没关系。据 Gruber 介绍,Markdown 语法旨在易于阅读且不引人注目,因此即使没有渲染 Markdown 文件中的文本,也可以读取它。
Markdown 格式语法的首要设计目标是使其尽可能易于阅读。其理念是,Markdown 格式的文档应可按原样以纯文本形式发布,而不像是被标记了标签或格式说明。
为什么要使用 Markdown? #
您可能想知道为什么人们使用 Markdown 而不是 所见即所得 编辑器。既然您可以在界面中按下按钮来格式化文本,为什么还要使用 Markdown 写作?事实证明,人们使用 Markdown 而不是所见即所得编辑器有几个原因。
-
Markdown 是可移植的。包含 Markdown 格式文本的文件几乎可以使用任何应用程序打开。如果您不喜欢当前使用的 Markdown 应用程序,则可以将 Markdown 文件导入另一个 Markdown 应用程序。这与将您的内容锁定为专有文件格式的 Microsoft Word 等文字处理应用程序形成了鲜明对比。
-
Markdown 独立于平台。您可以在任何运行任何操作系统的设备上创建 Markdown 格式的文本。
-
Markdown 是面向未来的。即使您使用的应用程序在未来某个时候停止工作,您仍然可以使用文本编辑应用程序阅读 Markdown 格式的文本。对于需要无限期保存的书籍、大学论文和其他里程碑文件,这是一个重要的考虑因素。
-
Markdown 无处不在。 Reddit 和 GitHub 等网站都支持 Markdown,许多桌面和基于 Web 的应用程序也支持它。
实时编辑预览Markdown #
开始使用 Markdown 的最佳方式就是使用它。得益于各种免费工具,这比以往任何时候都更容易。
您甚至不需要下载任何东西。有几种在线 Markdown 编辑器可供您尝试使用 Markdown 进行写作。 MDEditor 是最好的在线 Markdown 编辑器之一。只需打开网站并开始在左侧窗格中输入内容即可。渲染文档的预览将显示在右侧窗格中。
阅读本指南时,您可能希望保持 MDEditor 网站处于打开状态。这样,您可以在学习语法的同时尝试语法。熟悉 Markdown 后,您可能希望使用可以安装在台式计算机或移动设备上的 Markdown 应用程序。
它是如何工作的? #
MDEditor 使使用 Markdown 写作变得简单,因为它隐藏了幕后发生的事情,但值得探索整个过程的总体工作方式。
当您使用 Markdown 写作时,文本会存储在扩展名为 .md
或 .markdown
的纯文本文件中。但接下来呢?您的 Markdown 格式文件如何转换为 HTML 或可打印的文档?
简而言之,您需要一个能够处理 Markdown 文件的 Markdown 应用程序。有很多应用程序可用 - 从简单的脚本到看起来像 Microsoft Word 的桌面应用程序。尽管它们在视觉上有所不同,但所有应用程序都做同样的事情。像 MDEditor 一样,它们都将 Markdown 格式的文本转换为 HTML,以便可以在 Web 浏览器中显示。
Markdown 应用程序使用 Markdown 处理器(通常也称为“解析器”或“实现”)来获取 Markdown 格式的文本并将其输出为 HTML 格式。此时,您可以在 Web 浏览器中查看文档,也可以将其与样式表结合并打印。您可以在下面看到此过程的直观表示。
注意:Markdown 应用程序和处理器是两个独立的组件。为了简洁起见,我在下图中将它们合并为一个元素(“Markdown 应用程序”)。
总而言之,这是一个由四个部分组成的过程:
- 使用文本编辑器或专用的 Markdown 应用程序创建 Markdown 文件。该文件应具有 .md 或 .markdown 扩展名。
- 在 Markdown 应用程序中打开 Markdown 文件。
- 使用 Markdown 应用程序将 Markdown 文件转换为 HTML 文档。
- 在 Web 浏览器中查看 HTML 文件或使用 Markdown 应用程序将其转换为其他文件格式,例如 PDF。
从你的角度来看,这个过程会因你使用的应用程序而有所不同。例如, MDEditor 基本上将步骤 1-3 合并到一个无缝界面中——你所要做的就是在左侧窗格中输入内容,渲染的输出就会神奇地出现在右侧窗格中。但如果你使用其他工具,比如带有静态网站生成器的文本编辑器,你会发现这个过程更加直观。
Markdown 有什么用处? #
Markdown 是一种快速简便的记笔记、创建网站内容和制作可打印文档的方法。
学习 Markdown 语法并不需要很长时间,一旦您知道如何使用它,您就可以在任何地方使用 Markdown 写作。大多数人使用 Markdown 为网络创建内容,但 Markdown 非常适合格式化从电子邮件到购物清单的所有内容。
以下是一些使用 Markdown 可以做什么的示例。
网站 #
Markdown 是为网络设计的,因此,有许多专门为创建网站内容而设计的应用程序也就不足为奇了。
如果您正在寻找使用 Markdown 文件创建网站的最简单方法,请查看 blot.im。注册 Blot 后,它会在您的计算机上创建一个 Dropbox 文件夹。只需将您的 Markdown 文件拖放到该文件夹中,然后 — 噗! — 它们就出现在您的网站上。再简单不过了。
如果您熟悉 HTML、CSS 和版本控制,请查看 Hugo,这是一个流行的静态网站生成器,它可以获取 Markdown 文件并构建 HTML 网站。这种方法的一个优点是 GitHub Pages 为 Hugo 生成的网站提供免费托管。如果 Hugo 不是您的菜,只需选择许多其他可用的静态网站生成器之一。
注意:我使用 Hugo 创建了 Markdown中文网。您可以在 GitHub 上 查看源代码。如果您想使用内容管理系统 (CMS) 来支持您的网站,请查看 Ghost。这是一个免费的开源博客平台,带有一个不错的 Markdown 编辑器。如果您是 WordPress 用户,您会很高兴知道 WordPress.com 上托管的网站支持 Markdown。自托管的 WordPress 网站可以使用 Jetpack 插件。
文档 #
Markdown 不具备 Microsoft Word 等文字处理器的所有功能,但它足以创建作业和信件等基本文档。您可以使用 Markdown 文档创作应用程序创建 Markdown 格式的文档并将其导出为 PDF 或 HTML 文件格式。PDF 部分是关键,因为一旦您拥有 PDF 文档,您就可以对其进行任何操作 - 打印、通过电子邮件发送或上传到网站。
以下是我推荐的一些 Markdown 文档创作应用程序:
- Mac: MacDown, iA Writer, or Marked 2
- iOS / Android: iA Writer
- Windows: ghostwriter or Markdown Monster
- Linux: ReText or ghostwriter
- Web:
Dillinger or
StackEdit
提示: iA Writer 提供了预览、打印和导出 Markdown 格式文档的模板。例如,“学术 - MLA 风格”模板会缩进段落并添加双倍句子间距。
笔记 #
从各个方面来看,Markdown 都是记笔记的理想语法。遗憾的是,Evernote 和 OneNote 这两个最受欢迎的笔记应用程序目前不支持 Markdown。好消息是,其他几款笔记应用程序确实支持 Markdown:
- Obsidian 是一款功能丰富的流行 Markdown 笔记应用程序。
- Simplenote 是一款免费的、基本的笔记应用程序,适用于每个平台。
- Notable 是一款可在多种平台上运行的笔记应用程序。
- Bear 是一款类似 Evernote 的应用程序,适用于 Mac 和 iOS 设备。默认情况下,它不完全使用 Markdown,但你可以启用 Markdown 兼容模式。
- Joplin 是一款尊重您隐私的笔记应用程序。它适用于所有平台。
- Boostnote 自称是一款“专为程序员设计的开源笔记应用程序”。
如果您舍不得放弃 Evernote,请查看 Marxico,一款基于订阅的 Evernote Markdown 编辑器,或者在 Evernote 网站上使用 Markdown Here。
书籍 #
想要自行出版小说?试试 Leanpub,这项服务可将您的 Markdown 格式文件转换为电子书。Leanpub 以 PDF、EPUB 和 MOBI 文件格式输出您的书籍。如果您想制作书籍的平装本,可以将 PDF 文件上传到其他服务,例如 Kindle Direct Publishing。要了解有关使用 Markdown 撰写和自行出版书籍的更多信息,请阅读 此博客文章。
演示文稿 #
信不信由你,你可以从 Markdown 格式的文件生成演示文稿。用 Markdown 创建演示文稿需要一点时间来适应,但一旦你掌握了它,它比使用 PowerPoint 或 Keynote 等应用程序要快得多,也容易得多。 Remark是一款流行的基于浏览器的 Markdown 幻灯片工具, Cleaver和 Marp也是如此。如果你使用 Mac 并且更喜欢使用应用程序,请查看 Deckset 或 Hyperdeck。
电子邮件 #
如果您发送大量电子邮件,并且厌倦了大多数电子邮件提供商网站上提供的格式控件,那么您会很高兴了解到有一种使用 Markdown 编写电子邮件的简单方法。 Markdown Here 是一个免费的开源浏览器扩展,可将 Markdown 格式的文本转换为可发送的 HTML。
协作 #
协作和团队消息传递应用程序是与工作和家庭中的同事和朋友沟通的一种流行方式。这些应用程序没有利用 Markdown 的所有功能,但它们提供的功能相当有用。例如,无需使用所见即所得界面即可将文本加粗和斜体化,这非常方便。 Slack, Discord, Wiki.js和 Mattermost 都是不错的协作应用程序。
技术文档 #
Markdown 非常适合技术文档。像 GitHub 这样的公司越来越多地将他们的文档转换为 Markdown,了解他们如何将 Markdown 格式的文档迁移到 Jekyll。如果您为产品或服务编写文档,请查看这些方便的工具:
- MkDocs 是一款快速简便的静态站点生成器,旨在构建项目文档。文档源文件以 Markdown 编写,并使用单个 YAML 配置文件进行配置。MkDocs 有多个内置主题,包括用于 MkDocs 的 Read the Docs 文档主题的移植版。最新的主题之一是 MkDocs Material。
- Read the Docs 可以从您的开源 Markdown 文件生成文档网站。只需将您的 GitHub 存储库连接到他们的服务并推送 — Read the Docs 会完成其余工作。他们还为商业实体提供服务。
- DocusaurusDocusaurus 是一个静态网站生成器,专为创建文档网站而设计。它支持翻译、搜索和版本控制。
- VuePress 是一个由 Vue 提供支持的静态站点生成器,并针对编写技术文档进行了优化。
- Jekyll 在前面的网站部分中提到过,但它也是从 Markdown 文件生成文档网站的好选择。如果你选择这种方式,一定要查看 Jekyll 文档主题。
Markdown 的风格 #
使用 Markdown 最令人困惑的方面之一是,几乎每个 Markdown 应用程序都实现了略有不同的 Markdown 版本。这些 Markdown 变体通常称为风格。掌握应用程序实现的 Markdown 风格是您的工作。
为了让您理解 Markdown 风格的概念,将它们视为语言方言可能会有所帮助。纽约市的人和伦敦人一样说英语,但两个城市使用的方言之间存在很大差异。对于使用不同 Markdown 应用程序的人来说也是如此。使用 MDEditor 用 Markdown 写作的体验与使用 Ulysses 的体验截然不同。
实际上,这意味着当一家公司说他们支持“Markdown”时,您永远不知道他们到底是什么意思。他们谈论的只是基本语法元素,还是所有基本和扩展语法元素的组合,还是某种任意的语法元素组合?您只有在阅读文档或开始使用该应用程序时才会知道。
如果您刚刚开始,我能给您的最佳建议是选择一款具有良好 Markdown 支持功能的 Markdown 应用程序。这将在很大程度上保持 Markdown 文件的可移植性。您可能希望在其他应用程序中存储和使用 Markdown 文件,为此您需要从提供良好支持的应用程序开始。您可以在 工具页面来查找符合要求的应用程序。
其他Markdown资源 #
您可以使用许多资源来学习 Markdown。以下是其他一些入门资源:
- John Gruber 的 Markdown 文档 Markdown 创建者编写的原始指南。
- Markdown 教程 一个开源网站,可让您在 Web 浏览器中尝试 Markdown。
- Awesome Markdown Markdown 工具和学习资源列表。
- Typesetting Markdown 一个多部分系列,描述了使用 pandoc 和 ConTeXt 排版 Markdown 文档的生态系统。