简介
让我们用不到5分钟的时候,阅读 Markdown 概述,了解其工作原理以及你可以用它做什么。
什么是 Markdown?
Markdown 是一种轻量级标记语言,你可以使用它向纯文本文档添加格式元素。Markdown 由 John Gruber 于 2004 年创建,现在是世界上最流行的标记语言之一。
使用 Markdown 与使用 WYSIWYG 编辑器不同。在 Microsoft Word 等应用程序中,你可以单击按钮来设置单词和短语的格式,并且更改会立即显示。Markdown 并非如此。当你创建一个 Markdown 格式的文件时,你向文本添加 Markdown 语法来指示哪些单词和短语应显示为不同格式。
例如,要表示标题,你可以在标题前添加一个井号(例如,# 标题一)。或者要使短语变为粗体,你可以在短语前后添加两个星号(例如,此文本为粗体)。在文本中看到 Markdown 语法可能需要一段时间才能适应,特别是如果你习惯于 WYSIWYG 应用程序。下面的屏幕截图显示了在 Visual Studio Code 文本编辑器 中显示的 Markdown 文件。
你可以使用文本编辑器应用程序向纯文本文件添加 Markdown 格式元素。或者,你可以使用 macOS、Windows、Linux、iOS 和 Android 操作系统的众多 Markdown 应用程序之一。还有专门用于编写 Markdown 的几个基于 Web 的应用程序。
根据你使用的应用程序,你可能无法实时预览格式化的文档。但这没关系。据 Gruber 所说,Markdown 语法旨在具有可读性和不显眼性,因此即使没有呈现 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 编写。Dillinger 是最好的在线 Markdown 编辑器之一。只需打开网站,然后开始在左窗格中 键入。已呈现文档的预览将显示在右窗格中。
在你阅读本指南时,你可能希望保持 Dillinger 网站处于打开状态。这样,你可以在了解语法时尝试它。在熟悉 Markdown 后,你可能希望使用可以安装在台式机或移动设备上的 Markdown 应用程序。
它是如何工作的?
Dillinger 使得用 Markdown 编写变得容易,因为它隐藏了幕后发生的事情,但值得探索该过程的一般工作原理。
当您使用 Markdown 书写时,文本会存储在具有 .md 或 .markdown 扩展名的纯文本文件中。但接下来呢?Markdown 格式的文件如何转换为 HTML 或可打印的文档?
简而言之,您需要一个能够处理 Markdown 文件的Markdown 应用程序。市面上有很多应用程序——从简单的脚本到类似于 Microsoft Word 的桌面应用程序,应有尽有。尽管它们在视觉上有所不同,但所有应用程序的作用都是相同的。它们都像 Dillinger 一样,将 Markdown 格式的文本转换为 HTML,以便在网络浏览器中显示。
Markdown 应用程序使用称为Markdown 处理器(通常也称为“解析器”或“实现”)的东西,将 Markdown 格式的文本提取出来并将其输出为 HTML 格式。在这一点上,您的文档可以在网络浏览器中查看,或与样式表结合使用并打印出来。您可以在下面看到此过程的可视化表示。
Markdown 应用程序和处理器是两个独立的组件。为了简洁起见,我在下图中将它们合并为一个元素(“Markdown 应用程序”)。
总而言之,这是一个由四部分组成的过程
- 使用文本编辑器或专门的 Markdown 应用程序创建 Markdown 文件。该文件应具有 .md 或 .markdown 扩展名。
- 在 Markdown 应用程序中打开 Markdown 文件。
- 使用 Markdown 应用程序将 Markdown 文件转换为 HTML 文档。
- 在网络浏览器中查看 HTML 文件,或使用 Markdown 应用程序将其转换为其他文件格式,例如 PDF。
从您的角度来看,此过程会根据您使用的应用程序而有所不同。例如,Dillinger 本质上将步骤 1-3 合并到一个无缝的界面中——您只需在左窗格中键入内容,渲染后的输出就会神奇地出现在右窗格中。但如果您使用其他工具,例如带有静态网站生成器的文本编辑器,您会发现此过程更加明显。
Markdown 有什么用?
Markdown 是一种快速简便的方法,可用于做笔记、为网站创建内容以及生成可打印的文档。
学习 Markdown 语法并不需要很长时间,一旦您知道如何使用它,您就可以在 几乎任何地方使用 Markdown 来书写。大多数人使用 Markdown 为网络创建内容,但 Markdown 适用于从电子邮件到购物清单的所有内容的格式化。
以下是您可以使用 Markdown 完成的一些示例。
网站
Markdown 是为网络设计的,因此毫不奇怪,有很多专门用于创建网站内容的应用程序。
如果您正在寻找一种最简单的方式使用 Markdown 文件创建网站,请查看 blot.im。在您注册 Blot 后,它会在您的电脑上创建一个 Dropbox 文件夹。只需将 Markdown 文件拖放到该文件夹中,它们就会出现在您的网站上,就这么简单。
如果您熟悉 HTML、CSS 和版本控制,请查看 Jekyll,这是一个流行的静态网站生成器,它采用 Markdown 文件并构建一个 HTML 网站。这种方法的一个优点是 GitHub Pages 为 Jekyll 生成的网站提供免费托管。如果 Jekyll 不合您的口味,只需选择 其他众多 可用的静态网站生成器 之一。
我使用 Jekyll 创建了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 或 Marked 2
- iOS / Android: iA Writer
- Windows: ghostwriter 或 Markdown Monster
- Linux: ReText 或 ghostwriter
- 网络: Dillinger 或 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(GitHub 项目)是一款流行的基于浏览器的 Markdown 幻灯片工具,还有 Cleaver(GitHub 项目)和 Marp(GitHub 项目)。如果你使用 Mac 并更喜欢使用应用程序,请查看 Deckset 或 Hyperdeck。
电子邮件
如果你发送大量电子邮件,并且厌倦了大多数电子邮件提供商网站上提供的格式控制,那么你会很高兴地了解到,有一种简单的方法可以使用 Markdown 编写电子邮件。Markdown Here 是一款免费且开源的浏览器扩展,它可以将 Markdown 格式的文本转换为 HTML,以便发送。
协作
协作和团队消息应用程序是与工作和家庭中的同事和朋友进行交流的流行方式。这些应用程序并未利用 Markdown 的所有功能,但它们提供的功能非常有用。例如,无需使用所见即所得界面即可加粗和斜体文本非常方便。Slack、Discord、Wiki.js 和 Mattermost 都是不错的协作应用程序。
文档
Markdown 非常适合技术文档。GitHub 等公司正越来越多地将 Markdown 用于其文档 — 查看他们的 博客文章,了解他们如何将 Markdown 格式的文档迁移到 Jekyll。如果您为产品或服务编写文档,请查看这些便捷工具
- Read the Docs 可以从您的开源 Markdown 文件生成文档网站。只需将您的 GitHub 存储库连接到他们的服务并推送 — Read the Docs 会完成剩下的工作。他们还提供 商业实体服务。
- MkDocs 是一款快速简单的静态网站生成器,专门用于构建项目文档。文档源文件以 Markdown 编写,并使用单个 YAML 配置文件进行配置。MkDocs 有几个 内置主题,包括 Read the Docs 文档主题的 MkDocs 移植版本。其中一个最新的主题是 MkDocs Material。
- Docusaurus 是一款专门用于创建文档网站的静态网站生成器。它支持翻译、搜索和版本控制。
- VuePress 是一款由 Vue 提供支持并针对编写技术文档而优化的静态网站生成器。
- Jekyll 在有关网站的部分中前面已提到,但它也是从 Markdown 文件生成文档网站的不错选择。如果您选择此途径,务必查看Jekyll 文档主题。
Markdown 的风格
使用 Markdown 最令人困惑的方面之一是几乎每个 Markdown 应用程序都实现了略有不同的 Markdown 版本。这些 Markdown 变体通常称为风格。您的工作是掌握应用程序已实现的任何风格的 Markdown。
为了理解 Markdown 语言的理念,可以将它们视为语言方言。纽约市的人们和伦敦的人们都说英语,但这两个城市使用的方言之间存在很大差异。使用不同 Markdown 应用程序的人们也是如此。使用 Dillinger 用 Markdown 书写与使用 Ulysses 的体验截然不同。
实际上,这意味着你永远不知道当一家公司说 他们支持“Markdown”时,他们具体是什么意思。他们所说的仅仅是 基本语法元素 吗,还是所有基本和 扩展语法元素 的组合,或者是一些任意的语法元素组合?只有在阅读文档或开始使用应用程序后,你才能知道。
如果你刚开始,我能给你的最佳建议是选择一个 Markdown 支持良好的 Markdown 应用程序。这将极大地提高 Markdown 文件的可移植性。你可能希望在其他应用程序中存储和使用 Markdown 文件,而要做到这一点,你需要从提供良好支持的应用程序入手。你可以使用 工具目录 找到一个合适的应用程序。
其他资源
有许多资源可用于学习 Markdown。以下是一些其他入门资源
- John Gruber 的 Markdown 文档。由 Markdown 创建者编写的原始指南。
- Markdown 教程。一个开源网站,允许你在网络浏览器中尝试 Markdown。
- Awesome Markdown。Markdown 工具和学习资源列表。
- Markdown 排版。一个多部分系列,描述了使用 pandoc 和 ConTeXt 排版 Markdown 文档的生态系统。