markdown

轻量级标记语言
收藏
0有用+1
0
Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。
由于 Markdown 的轻量化、易读易写特性,并且对于图片,图表、数学式都有支持,许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。 如 GitHubRedditDiasporaStack ExchangeOpenStreetMapSourceForge简书等,甚至还能被使用来撰写电子书
外文名
Markdown
别    名
MD
特    点
轻量化、跨平台、易读易写
文件后缀名
.md, .markdown
开发者
John Gruber

优势

播报
编辑
  • 世界上最流行的博客平台WordPress和大型CMS如JoomlaDrupal都能很好的支持Markdown。完全采用Markdown编辑器的博客平台有GhostTypecho等。
  • 用于编写说明文档,以“README.md”的文件名保存在软件的目录下面。
  • Markdown可以快速转化为演讲PPT、Word产品文档甚至是用非常少量的代码完成最小可用原型

发展历程

播报
编辑
John Gruber在2004年创造了Markdown语言,在语法上有很大一部分是跟亚伦·斯沃茨(Aaron Swartz)共同合作的。这个语言的目的是希望大家使用“易于阅读、易于撰写的纯文字格式,并选择性的转换成有效的XHTML(或是HTML)”。 其中最重要的设计是可读性,也就是说这个语言应该要能直接在字面上的被阅读,而不用被一些格式化指令标记(像是RTF与HTML)。 因此,它是现行电子邮件标记格式的惯例,虽然它也借鉴了很多早期的标记语言,如:Setext、Texile、reStructuredText。
标准化
Markdown已经成为典型的转换为HTML非正式规范 [1]和参考实现。随着时间的推移,出现了许多Markdown实现。人们开发这些主要是由于在基本语法之上需要额外的功能 - 例如表格,脚注,定义列表(技术上的HTML描述列表)和HTML块内的Markdown。其中一些行为偏离了最开始的参考实现。与此同时,非正式规范中的一些含糊不清引起了人们的注意 [2]。这些问题促使Markdown解析器的一些开发人员努力实现标准化。
2016年3月发布了RFC 7763和RFC 7764。RFC 7763 从原始变体引入了MIME类型 text/markdown。RFC 7764讨论并注册了MultiMarkdown、GitHub Flavored Markdown (GFM)、Pandoc、CommonMark及Markdown等变体。 [3]
CommonMark
从2012年开始,包括Jeff AtwoodJohn MacFarlane在内的一群人启动了标准化工作 [4]一个社区网站旨在记录可用于文档作者和开发人员的各种工具和资源,以及各种markdown实现的实现者。 [5]2014年9月,Gruber反对在这一工作中继续使用“Markdown”这个名字,其被更名为CommonMark。 [6]CommonMark发布了规范、参考实现和测试包的几个版本,并计划在2018年宣布最终的1.0规范和测试包。 [7]
GFM
2017年,GitHub发布了基于CommonMark的GitHub Flavored Markdown(GFM)的正式规范 [8]除了表格、删除线、自动链接和任务列表被GitHub规范作为扩展添加之外,它遵循CommonMark规范。 [9]GitHub还相应地更改了其站点上使用的解析器,这要求更改某些文档 - 例如,GFM要求创建标题的哈希符号由空格字符分隔。
Markdown Extra
Markdown Extra是一种轻量级标记语言,基于在PHP(最初)、PythonRuby中实现的Markdown。它添加了普通Markdown语法不具备的功能。内容管理系统支持Markdown Extra,例如Drupal,TYPO3和MediaWiki
它为Markdown添加了以下功能:
  • HTML块内的markdown标记
  • 具有id / class属性的元素
  • 围栏代码块
  • 表格
  • 定义清单
  • 脚注
  • 缩写

语法

播报
编辑
Markdown是一种简单的格式化文本的方法,在任何设备上看起来都很棒。它不会做任何花哨的事情,比如改变字体大小、颜色或类型——只是基本的,使用你已经知道的键盘符号。
常用语法
Markdown语法
详解
快捷键
效果
*斜体*
Ctrl/⌘ + I
斜体
**粗体**
Ctrl/⌘ + B
粗体
# 一级标题
"#"后需加空格
## 二级标题
以此类推三级标题为三个“#”
[链接](http://a)
“[ ]”间为显示的超文本
Ctrl/⌘ + K
![图片](http://url/a.png)
“[ ]”间为图片名
Ctrl/⌘ + Shift + I
“ > ”引用
“ > ”后需加空格
Ctrl + Q
* 无序列表
Ctrl + L
1. 有序列表
---
水平分割线
————
`内联代码` 的使用
Ctrl/⌘ + Shift + K
```
代码块
```
颜色代码
***斜体+粗体***
斜体+粗体
居中格式
文字
文字
自动换行
例:12345
67890
Enter
12345
67890
输入框
例:1234
输入框内的1234
颜色第二种
文字
文字大小
文字
字体
LaTex公式语法
Markdown亦可用于编辑LaTex公式,可跨平台编辑、跨环境显示。

编辑器

播报
编辑
  • Windows
TyporaSimplenote、Laverna、Boostnote、Inkdrop、Cmd Markdown、Github、马克飞象、Yu Writer、看云、有道云笔记为知笔记、蚂蚁笔记、Visual Studio Code [10]
  • MacOS
Typora、Typed、Ulysses、Falcon、Visual Studio Code [10]
  • Linux
Typora、Atom、GNU Emacs、Remarkable、Haroopad、ReText、UberWriter、Mark My Words、Visual Studio Code [10]
  • Chromium内核浏览器插件
Markdown Preview、Markdown Here
  • Android
Draft、JotterPad X、坚果云Markdown
  • iOS
Byword、simplenote、坚果云Markdown
RStudio是一个用于R的IDE,为称为sundown的Markdown变体提供了C++包装函数