Markdown[编辑]
维基百科,自由的百科全书
本条目包含指南或教学内容。(2014年9月5日)
请借由移除或重写指南段落来改善条目,或在讨论页提出讨论。
本条目包含过多行话或专业术语,可能需要简化或提出进一步解释。(2014年1月8日)
请在讨论页中发表对于本议题的看法,并移除或解释本条目中的行话。
Markdown
扩展名
.md
, .markdown
[1]
统一类型标识(UTI)
net.daringfireball.markdown
开发者
John Gruber
最新版本
1.0.1(2004年12月17日,11年前[4]
)
格式类型
标记语言
网站
daringfireball.net/projects/markdown/
Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。[4]
这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。
John Gruber 在 2004 年创造了 Markdown 语言,在语法上有很大一部分是跟 Aaron Swartz 共同合作的。这个语言的目的是希望大家使用“易于阅读、易于撰写的纯文字格式,并选择性的转换成有效的 XHTML (或是HTML)”。 其中最重要的设计是可读性,也就是说这个语言应该要能直接在字面上的被阅读,而不用被一些格式化指令标记 (像是 RTF 与 HTML)。 因此,它是现行电子邮件标记格式的惯例,虽然它也借镜了很多早期的标记语言,如:setext、Texile、reStructuredText。 许多网站都使用 Markdown 或是其变种,例如:GitHub、reddit、Diaspora、Stack Exchange、OpenStreetMap 与 SourceForge 让用户更利于讨论。
Markdown同时还是一个由Gruber编写的Perl脚本:Markdown.pl。它把用markdown语法编写的内容转换成有效的、结构良好的XHTML或HTML内容,并将左尖括号('<')和&号替换成它们各自的字符实体引用。它可以用作单独的脚本,Blosxom和Movable Type的插件又或者BBEdit的文本过滤器.[4]
Markdown也已经被其他人用Perl和别的编程语言重新实现,其中一个Perl模块放在了CPAN(Text::Markdown)上。它基于一个BSD风格的许可证分发并可以作为几个内容管理系统的插件。[6]
[7]
目录
[隐藏]
1图片
2换行
3强调
4标题
5断行
6引用
7链接
8水平分区线
9Markdown的用户
10编辑器
11实现版本11.1C
11.2Java
11.3Lua
11.4PHP
11.5Ruby
11.6其它
图片[编辑]
换行[编辑]
在文本中输入的换行会从最终生成的结果中删除,浏览器会根据可用空间自动换行。如果想强迫换行,可以在行尾插入至少两个空格。
强调[编辑]
强调 或者 强调 (示例:斜体) 加重强调 或者 加重强调
又或者以制表符或至少四个空格缩进的行,例如:
第一行代码 第二行代码 第三行代码
后面一种用法会让Markdown保留所有的空白字符——而与之相反,一般情况下,Markdown会删除所有换行和空格,打乱原有的缩进和排版。
·文字&其它·
·头像·
·网名·
·生活·
标题[编辑]
可以在标题内容前输入特定数量的井号('#')来实现对应级别的HTML样式的标题(HTML提供六级标题)。例如:
一级标题
四级标题
一级和二级标题还有一种写法:
一级标题===================二级标题--------------------
断行[编辑]
如果你真的想在Markdown中插入换行标签
,你可以在行尾输入两个或以上的空格,然后回车。 这样插入换行十分麻烦,但是“每个换行都转换为
”在 Markdown中并不合适,所以只在你确定你需要时手动添加。
引用[编辑]
引用只需要在被引用的内容段落开头加上右尖括号('>')即可。你可以选择只在开头加一个。也可以在每行前面都加一个,效果是一样的。
这一整段的内容都会作为一个HTML的引用元素。引用元素是会自动优化排版的(reflowable,可回流)。你可以任意地将引用的内容包含进来,然后所有这些都会被解析成为单独一个引用元素。
上述内容会转换成以下HTML内容:
<blockquote><p>这一整段的内容都会作为一个HTML的引用元素。引用元素是会自动优化排版的(reflowable,可回流)。你可以任意地将引用的内容包含进来,然后所有这些都会被解析成为单独一个引用元素。</p></blockquote>
引用可以嵌套。如果要在一个引用里插入一个引用,可以用两个('>')开头。依此类推,根据嵌套层次加相应数量的符号。
这是一个引用。这是第一行这是第二行。>> 这是一个嵌套的引用。这是第一行。这是第二行> > 外层引用的第三行。前面需要一个视觉上的空行表示内层嵌套的结束,空行前面的('>')可以有可以没有。
链接[编辑]
链接可以在行内插入:
链接文字例子: Markdown
另一种选择是,链接地址可以放在段落后面的脚注,前面放上链接引用标签区分。举例说,先在内容行内插入以下内容:
[链接文字][链接引用标签]
然后在段落的后面(或者文档的结尾)放上以下内容,就可以生成一个链接:
[链接引用标签]: 链接地址 "链接标题"
水平分区线[编辑]
要生成水平分区线,可以在单独一行里输入3个或以上的短横线、星号或者下划线实现。短横线和星号之间可以输入任意空格。以下每一行都产生一条水平分区线。
Bitbucket 提供Markdown作为编写项目README文档的其中一种标记语言。[9]
DIASPORA* 使用Markdown格式化用户发送的消息、评论和对话。[10]
Drupal 是一个Markdown插件[11]
,始创于2008年。截止2011年11月,已有8000个建站软件使用了该插件。
Ghost 使用Markdown的一个标准版本编辑器来格式化撰写的文章。[12]
GitHub 使用Markdown的一个分支版本来格式化评论、消息以及其它内容。[13]
[14]
John Gruber has described this dialect as a "superior variant" for "situations like user-submitted comments".[15]
G+ Tweaks v1.1151,一个适用于 Google+ 的 Greasemonkey 用户脚本。[16]
Instiki uses a Markdown extension to wiki syntax. The extended syntax is called Maruku.[17]
Moodle 提供 Markdown 作为语法标记语言。[18]
Posterous 提供 Markdown 作为语法标记语言。[19]
Reddit 的编辑器使用了 Markdown 语法。[20]
Showoff 使用 Markdown 作为提交的语法。[21]
Squarespace 在博客界面下提供 Markdown 编辑器。[22]
Stack Overflow 以及其他 Stack Exchange Network 网站使用一种 Markdown 的分支作为它的文章格式化系统。[23]
[24]
Typecho 原生支持Markdown编辑器,实时预览. [26]
The WordPress plugin system utilizes a dialect of Markdown in "readme.txt" files submitted by developers, and has plugins for Markdown.[27]
Second Gear's Elements app for iPhone and iPad gained Markdown capability with its v2 around November of 2010.[28]
图灵社区 使用markdown语法供用户写作电子书.
简书 写作网站,支持 Markdown
为知笔记 是一种类似 印象笔记 的笔记软件,支持使用Markdown语法编辑笔记
HackMD是一个支持Markdown的在线语法编辑笔记网站,可即时切换源代码与成果查看。
编辑器[编辑]
作为一种小型标记语言,Markdown很容易阅读,也很容易用普通的文本编辑器编辑。另外也有一些编辑器专为Markdown设计,可以直接预览文档的样式。下面有一些编辑器可供参考:
Cmd Markdown Cmd Markdown 编辑阅读器,支持实时同步预览,区分写作和阅读模式,支持在线存储,分享文稿网址。
Dillinger.io 一个在线Markdown编辑器,提供实时预览以及到 GitHub 和 Dropbox 的拓展连接。
notepag 另一个在线Markdown编辑器,支持实时预览,提供临时网址和和密码,可以分享给其他人。
简书 一个在线Markdown编辑器与阅读社区,支持实时预览,提供分享网址。
Mou 一个Mac OS X上的Markdown编辑器。
MacDown OS X 上的 Markdown 开源编辑器,作者称其深受 Mou 启发。
MarkdownPad Windows上的全功能Markdown编辑器。
WMD a Javascript "WYSIWYM" editor for Markdown (from AttackLab)
PageDown 一个Javascript写的 "WYSIWYM"(所见即所得)Markdown编辑器 (来自 StackOverflow)
IPython Notebook 以IPython为后台,利用浏览器做IDE,支持Markdown与LaTex公式。
实现版本[编辑]
由于Markdown的易读易写,很多人用不同的编程语言实现了多个版本的解析器和生成器。下面是一个按编程语言排序的实现列表。