Markdown 资源集
这是一个收集了各种优秀的Markdown资源(库、服务、编辑器、工具、速查表等)的列表。
目录
- Markdown
- Markdown语法扩展
- 手稿
- CommonMark
- GitHub风格的Markdown (GFM)
- 纯味Markdown (VFMD)
- Markdown文档
- Markdown构建模块
- 转换为Markdown的工具
- 书籍服务
- 文章
- 元数据
Markdown
email-style writing for the web by John Gruber and Aaron Swartz
- Markdown (web: daringfireball.net/projects/markdown) - 原始的Markdown语法编写和用Perl编写的处理器,由John Gruber编写;不再维护(最后一次更新于2004年12月)
历史 / 起源
-
Introducing Markdown by John Gruber - 2004年3月15日
我编写了一个名为Markdown的文本到HTML的格式化工具,现已可供下载。
Markdown允许网络写作者使用简单、易读的纯文本格式语法进行写作;
Markdown负责将其转换为有效的XHTML(或者,如果你愿意,也可以是HTML)。 -
Dive into Markdown by John Gruber - 2004年3月19日
你不需要在发送电子邮件之前“预览”它——你写它,你读它,你编辑它,就在那里。
事实上,我非常喜欢写电子邮件。电子邮件是我最喜欢的写作媒介。在过去的五年里,我发送了超过16,000封电子邮件。
平面文本电子邮件的约定使我能够清晰、准确地表达自己,而不会有任何干扰。因此,有了Markdown。网络上的电子邮件风格写作。
-
Markdown by Aaron Swartz - 2004年3月22日
几个月来,我一直在和John Gruber合作一个新项目。这个想法是通过允许你使用几乎相同的语法并自动将其转换为HTML,使编写简单的网页,
特别是博客文章,变得和写电子邮件一样容易。我们从上到下仔细研究了语法细节,试图开发出完美的格式,
我认为我们得到了一个非常棒的结果。我们进行了广泛的测试:在我们的博客上,在我的评论表单中,在我们的电子邮件中。
Markdown语法扩展
- SmartyPants - 将©转换为?,""转换为?等
- Emojis - :octocat:
- CriticMarkup - :octocat:
- GitHub风格的标记 (GFM) - @mention,带[ ]和[x]的待办事项列表等
MultiMarkdown (MMD)
- MultiMarkdown (MMD) - 由Fletcher Penney编写的Markdown扩展,增加了脚注、表格、定义列表、文档元数据(例如标题、作者、日期等)等;首次添加到MultiMarkdown.pl
- 速查表 - 语法快速参考
- 测试套件 :octocat:
- MultiMarkdown.pl :octocat: - 历史上的MultiMarkdown.pl代码;用Perl编写的转换脚本(最后一次更新于2011年1月)
Markdown Extra
- Markdown Extra - 由Michel Fortin编写的Markdown扩展;首次添加到PHP Markdown (Extra)
- Dingus - 在浏览器中尝试Markdown Extra
Markdown Extended (MDE)
- Markdown Extended (MDE) @ aboutmde.org
- 代码 :octocat: - 用PHP编写的转换脚本
手稿
用于Markdown的免费书籍格式
手稿
(web: manuscripts.github.io
,
github: manuscripts
) -
添加book.yml用于书籍(元)信息,例如标题、作者、出版商、年份等。
和contents.yml用于目录和文件结构
- Manuscripts Book Starter Kit (github:
manuscripts/book-starter
)
CommonMark
一个强烈规范、高度兼容的Markdown实现
CommonMark
(web: commonmark.org
)
- 规范 (web:
spec.commonmark.org
) - 由John MacFarlane编辑 - Dingus (web:
spec.commonmark.org/dingus
) - 在浏览器中尝试CommonMark - 讨论 (web:
talk.commonmark.org
) - 代码 (github:
jgm/CommonMark
) - 规范和用JavaScript和C编写的参考代码
GitHub Flavored Markdown (GFM)
CommonMark with GitHub Extensions
GitHub Flavored Markdown (GFM)
- Spec (web: github.github.com/gfm)
- Code (github: github/cmark - reference code in C (fork of cmark w/ extensions)
扩展包括:
Leaf Blocks: 表格 ++
Container Blocks: 任务列表项 ++
Inlines: 删除线;自动链接;禁止原始 HTML
Vanilla Flavored Markdown (VFMD)
A variant of Markdown with an unambiguous specification of its syntax
Vanilla Flavored Markdown (VFMD)
(web: vfmd.org, github: vfmd)
- Spec (web: vfmd.org/vfmd-spec/specification) - Edited by Roopesh Chander
- Code (github: vfmd/vfmd-src) - reference code in C++
不同之处包括:
单词内强调;
引用链接/图片语法简化;
列表和 4 空格规则;
更好的自动链接检测;
双空行作为块的结束;
列表的起始数字;
嵌套结构错误;
包含原始 HTML;
字符编码
Markdown 文档
Markdown 速查表 / 快速参考
Markdown 入门指南 / 教程
Markdown 构建块
Markdown 库 & 工具
Pandoc
(web: pandoc.org, github: github.com/jgm/pandoc) - 一个通用文档转换器(用 Haskell 编写)
kramdown
(web: kramdown.gettalong.org, github: gettalong/kramdown, gem: kramdown) - Markdown 库和命令行工具(用 Ruby 编写)
Markdown Extended (MDE)
(github: e-picas/markdown-extended - 将纯文本输入(字符串或文件)转换为各种输出格式(用 PHP 编写)
marked
(web: marked.js.org, github: marked :octocat:) - 一个 Markdown 解析器和编译器。为速度而构建。(用 Javascript 编写)
markdown-it
(web: markdown-it.github.io, github: markdown-it :octocat:) - Javascript Markdown 解析器。100% CommonMark 支持,扩展,语法插件和高速。
可通过 插件 进行扩展。
concat-md
(npm, github) - CLI 和 API 用于连接 Markdown 文件并根据需要进行修改。还可以从 FrontMatter、文件名和目录名添加标题,降低现有标题的级别以符合添加的标题。
mdcode
(github: mdcode) - Markdown 代码块编写工具。它支持可测试的代码块,实现代码块与源文件之间的双向同步。
Babelmark
- Babelmark 2 - 一个用于比较各种 Markdown 语法实现输出的工具
- Babelmark 2 F.A.Q. - 常见问题(及答案)例如 … ??
Markdown 风格指南 / 最佳实践
待完成
Markdown Lint / 风格规则检查器
- markdownlint - 一个 Node.js 风格检查器和 lint 工具,为 Markdown/CommonMark 文件提供一套良好的默认设置。允许自定义。
- mdformat - CommonMark 兼容的 Markdown 格式化器
- mdlint 待完成
- mdsf - 使用你偏好的代码格式化器来格式化 Markdown 代码片段。
- vscode-markdownlint - Visual Studio Code 插件 启用 markdown 文件的原位 linting。
Markdown Web 组件 / 自定义元素
- Markdown-Tag - 使用 md 标签在任何网站上渲染 Markdown 到 HTML
<x-markdown>
- 待完成
Markdown 转网站 / 博客
Jekyll
(web: jekyllrb.com, github: jekyll/jekyll :octocat:, gem: jekyll 💎) - 将你的纯文本转换为静态网站和博客(用 Ruby 编写)
Middleman
(web: middlemanapp.com, github: middleman/middleman :octocat:, gem: middleman 💎) - 使网站开发变得简单(用 Ruby 编写)
Slate (github: lord/slate :octocat:) - 基于 Middleman 的美丽 API 文档
Shins (github: Mermade/shins :octocat:, npm: shins) – 美丽的 API 文档,使用 node.js(Slate 的移植)
md-fileserver (github: md-fileserver :octocat:, npm: md-fileserver) – 在浏览器中本地查看 markdown 文件。
Compiiile (github: @compiiile/compiiile :octocat:, npm: @compiiile/compiiile) – 预览和提供包含 Markdown 文件的文件夹,支持全文搜索和演示幻灯片。
Markdown 转电子邮件
Markdown Here
(web: markdown-here.com, github: adam-p/markdown-here) - 一个浏览器扩展,用于渲染用 Markdown 编写的电子邮件;
适用于 Chrome、Firefox、Safari、Thunderbird 等;
除了电子邮件,还适用于 Evernote、Google Groups、Blogger 等
Markdown 转演示文稿 / 幻灯片
Slide Show (S9)
-
GitHub:slideshow-s9/slideshow
-
Gem:slideshow
- 这是一个用 Ruby 编写的免费 Web 替代品,用于 PowerPoint 和 Keynote。
-
模板 (GitHub:slideshow-templates)
Slidev
- GitHub:slidev
- Slidev 允许你从 Markdown 文件创建幻灯片。你可以在 Markdown 中包含 HTML 和 Vue 组件。
Markpress
nodePPT
- GitHub:nodePPT
- 一个支持基于 GFM 的 Markdown 的 Web 演示工具。
Deckset
- 网站:Deckset
- 一款 macOS 桌面应用程序,可在精美设计的模板中呈现 Markdown 演示文稿。
GitPitch
- 网站:GitPitch
- GitHub:gitpitch
- 在 GitHub、GitLab、Bitbucket、GitBucket、Gitea 和 Gogs 上为每个人提供 Markdown 演示文稿。示例
zoetic
- GitHub:zoetic
- 在演示时,使用你的网络摄像头作为背景的 Markdown 演示文稿。
Markdown 转便携式文档格式 (PDF)
- markdown-pdf
- 一个将 Markdown 文件转换为 PDF 的工具。
Markdown 样式 / 文档 / 页面
页面设计的禅意
- GitHub:pagedesigns
Markdown 转书籍
书籍设计的禅意
- GitHub:bookdesigns
Hyper Book (H9)
Markdown 转目录 (TOC)
- 使用 remarkable 生成 Markdown 目录 (TOC)
- GitHub:markdown-toc
- markedpp Markdown 到 Markdown 预处理器
- mdtoc
- 为 CI 设计的独立 TOC 生成器
Markdown 到 Markdown 预处理器
- markedpp
- GitHub:markedpp
- 添加对目录 (TOC)、编号标题、包含其他 Markdown 文件和/或创建引用列表的支持,适用于不同的 Markdown 处理器,如 marked、markdown-it、pandoc,或用于在 github.com、gitlab.com、bitbucket.org 或 ghost.org 上托管。
转换为 Markdown 的工具
Microsoft Word 转 Markdown
- word-to-markdown gem
- Gem:word-to-markdown
- 从 Microsoft Word 文档的“监狱”中“解放”内容;转换为纯文本 Markdown。
超文本标记语言 (HTML) 转 Markdown
Ruby
- reverse_markdown
- Gem:reverse_markdown
- 将简单的 HTML 映射回 Markdown。
- html2markdown
- Gem:html2markdown
- 简单且灵活的 HTML 到 Markdown 转换器。
- hypertextmarkdown
- Gem:hypertextmarkdown
- HTML 到 Markdown 转换器。
- html2md
- Gem:html2md
- 转换基本的 HTML 到 Markdown。
- unmarkdown
- Gem:unmarkdown
- 转换 HTML 到 Markdown。
- upmark
- Gem:upmark
- 一个 HTML 到 Markdown 转换器。
- remark
- 用 Ruby 编写的 HTML 到 Markdown 转换器。
JavaScript / Node.js
- turndown
- html2markdown
- npm 包:html2markdown
- 转换 HTML 到 Markdown。
- Markitdown
- 一个客户端 Web 应用程序,允许你粘贴来自网页的格式化文本(例如,链接保持完整)并接收 Markdown 输出。
- GitHub:Markitdown.medusis.com
- 一个用于将富文本转换为 Markdown 的客户端 Web 应用程序。
其他
- heckyesmarkdown.com
- 立即转换网页为 Markdown;该服务提供了一个简单的界面,将任何合理的网页转换为 Markdown(注意:该服务似乎使用 Readability API 从源页面中删除所有非内容的多余部分,然后再进行 Markdown 转换)。
源代码转 Markdown
从源代码生成 API 文档的 Markdown,然后使用许多 Markdown 转网站 工具之一将其托管和提供服务。
- widdershins
- 将 OpenAPI/Swagger REST API 文档转换为 Markdown。
- Moxygen
- 将 Doxygen(C++,但也支持其他流行的编程语言,如 C、Objective-C、C#、PHP、Java、Python、IDL、Fortran、VHDL、Tcl,以及在一定程度上支持 D)文档转换为 Markdown。
- raml2html/markdown-theme
- 使用 raml2html 将 RAML REST API 文档转换为 Markdown。
- jsdoc-to-markdown
- 通过 JSDoc 将 JavaScript API 文档转换为 Markdown。
- mmarkdown
- 解释 Markdown 文件中的 mmd 代码块,并生成更酷的版本。
- markpush
- Firefox/Chrome 扩展,以可读的 Markdown 格式推送 Git 仓库中的文章。
技术文档转 Markdown
- dita-ot-markdown – 将 DITA 转换为 Markdown,并与标准 DITA OT 工具链集成
屏幕录像转 Markdown
- Paircast - 将桌面视频、git 差异和语音转录整合成 Markdown 文档。
JSON 转 Markdown
JavaScript / Node.js
- json2md - 一个 JSON 到 Markdown 的转换器。
- ts-markdown - 一个可扩展的 TypeScript Markdown 生成器,它接受 JSON 并创建 Markdown 文档。
出版服务
- Softcover.io - 由 Michael Hartl 等人提供的命令行出版工具
- GitBook.com - 使用 Markdown 和 Git 编写和发布书籍,由 Samy Pessé 等人提供
- GitBook - 使用 GitHub/Git 和 Markdown(或 AsciiDoc)构建精美书籍的命令行工具(和 Node.js 库)
- Bitbooks.cc (已停止;已存档) - Bitbooks 将包含 Markdown 文件的仓库转换为美观的、托管的在线书籍 - 由 Bryan Braun 提供
- Franklin - 为在线书籍优化的静态网站框架
文章
- 为什么你不应该使用 Markdown 编写文档 - Eric Holscher,2016 年 3 月
- 停止使用 Markdown 编写文档 - Anton Zolotukhin,2018 年 4 月
- 为什么 Markdown 没有正式语法? - Roopesh Chander,2014 年 9 月
- 终极 Markdown 速查表