本頁使用了標題或全文手工轉換

Markdown

維基百科,自由的百科全書
前往: 導覽搜尋
Markdown
副檔名 .md, .markdown[1]
統一類型標識英語Uniform Type Identifier net.daringfireball.markdown
開發者 John Gruber
初始版本 2004年3月19日,​13年前​(2004-03-19[2][3]
最新版本
1.0.1
(2004年12月17日,​12年前​(2004-12-17[4])
格式類型 標記語言
自由格式 [5]
網站 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內容,並將左尖括號('<')和&號替換成它們各自的字符實體引用。它可以用作單獨的腳本,BlosxomMovable Type的插件又或者BBEdit的文本過濾器.[4]

Markdown也已經被其他人用Perl和別的編程語言重新實現,其中一個Perl模塊放在了CPAN(Text::Markdown)上。它基於一個BSD風格的許可證分發並可以作為幾個內容管理系統的插件。[6][7]

圖片[編輯]

![Foo](http://i.weather.com.cn/images/cn/life/2017/04/11/11141533DF572FBBA092E37E6E843C656C318272.jpg)

換行[編輯]

在文本中輸入的換行會從最終生成的結果中刪除,瀏覽器會根據可用空間自動換行。如果想強迫換行,可以在行尾插入至少兩個空格。

強調[編輯]

*强调* 或者 _强调_  (示例:斜体)

 
**加重强调** 或者 __加重强调__

又或者以制表符或至少四個空格縮進的行,例如:

        第一行代码江南好风光
        第二行代码横看成岭侧成峰
        第三行代码好一朵美丽的茉莉花

後面一種用法會讓Markdown保留所有的空白字符——而與之相反,一般情況下,Markdown會刪除所有換行和空格,打亂原有的縮進和排版。

標題[編輯]

可以在標題內容前輸入特定數量的井號('#')來實現對應級別的HTML樣式的標題(HTML提供六級標題)。例如:

# 一级标题
#### 四级标题

一級和二級標題還有一種寫法:

一级标题
===================

二级标题
--------------------

斷行[編輯]

如果你真的想在Markdown中插入換行標籤<br/>,你可以在行尾輸入兩個或以上的空格,然後回車。 這樣插入換行十分麻煩,但是「每個換行都轉換為<br/>」在 Markdown中並不合適,所以只在你確定你需要時手動添加。

引用[編輯]

引用只需要在被引用的內容段落開頭加上右尖括號('>')即可。你可以選擇只在開頭加一個。也可以在每行前面都加一個,效果是一樣的。

> 这一整段的内容都会作为一个HTML的引用元素。
引用元素是会自动优化排版的(reflowable,可回流)。
你可以任意地将引用的内容包含进来,然后所有这些都会
被解析成为单独一个引用元素。

上述內容會轉換成以下HTML內容:

<blockquote><p>这一整段的内容都会作为一个HTML的引用元素。引用元素是会自动优化排版的(reflowable,可回流)。
你可以任意地将引用的内容包含进来,然后所有这些都会被解析成为单独一个引用元素。</p></blockquote>

引用可以嵌套。如果要在一個引用里插入一個引用,可以用兩個('>')開頭。依此類推,根據嵌套層次加相應數量的符號。

> 这是一个引用。这是第一行
这是第二行。
>> 这是一个嵌套的引用。这是第一行。
这是第二行
> 
> 外层引用的第三行。前面需要一个视觉上的空行表示内层嵌套的结束,空行前面的('>')可以有可以没有。

鏈接[編輯]

鏈接可以在行內插入:

[鏈接文字](鏈接地址)
例子: [Markdown](http://zh.wikipedia.com/wiki/Markdown)

另一種選擇是,鏈接地址可以放在段落後面的腳註,前面放上鏈接引用標籤區分。舉例說,先在內容行內插入以下內容:

[链接文字][链接引用标签]

然後在段落的後面(或者文檔的結尾)放上以下內容,就可以生成一個鏈接:

[链接引用标签]: 链接地址 "链接标题"

水平分割線[編輯]

要生成水平分割線,可以在單獨一行里輸入3個或以上的短橫線、星號或者下劃線實現。短橫線和星號之間可以輸入任意空格。以下每一行都產生一條水平分割線。

* * *
***
*****
- - -
---------------------------------------

Markdown的用戶[編輯]

  • Apollo 使用Markdown格式化[8]
  • 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]
  • Tumblr 允許在文章中使用 Markdown。[25]
  • 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很容易閱讀,也很容易用普通的文本編輯器編輯。另外也有一些編輯器專為Markdown設計,可以直接預覽文檔的樣式。下面有一些編輯器可供參考:

  • Cmd Markdown Cmd Markdown 編輯閱讀器,支持實時同步預覽,區分寫作和閱讀模式,支持在線存儲,分享文稿網址。
  • Dillinger.io 一個在線Markdown編輯器,提供實時預覽以及到 GitHubDropbox 的拓展連接。
  • notepag 另一個在線Markdown編輯器,支持實時預覽,提供臨時網址和和密碼,可以分享給其他人。
  • 簡書 一個在線Markdown編輯器與閱讀社區,支持實時預覽,提供分享網址。
  • Mou 一個Mac OS X上的Markdown編輯器。
  • MacDown OS X 上的 Markdown 開源編輯器,作者稱其深受 Mou 啟發。
  • MarkdownPad Windows上的全功能Markdown編輯器。
  • Typora OS X、Windows 及 Linux 上的 Markdown編輯器。
  • WMD a Javascript "WYSIWYM" editor for Markdown (from AttackLab)
  • PageDown 一個Javascript寫的 "WYSIWYM"(所見即所得)Markdown編輯器 (來自 StackOverflow)
  • IPython Notebook 以IPython為後台,利用瀏覽器做IDE,支持Markdown與LaTex公式。

實現版本[編輯]

由於Markdown的易讀易寫,很多人用不同的編程語言實現了多個版本的解析器和生成器。下面是一個按編程語言排序的實現列表。

C[編輯]

  • Sundown, 一個用C寫的Markdown實現。
  • Discount, 一個Markdown標記語言的C語言實現版本。
  • peg-markdown, 一個用C寫的,使用了PEG (parsing expression grammar)的Markdown實現。

Java[編輯]

  • CommonMark-Java Java implementation of CommonMark, a specification of the Markdown format
  • MarkdownJ the pure Java port of Markdown.
  • pegdown, a pure-Java Markdown implementation based on a PEG parser
  • MarkdownPapers, Java implementation based on a JavaCC parser
  • Txtmark, another Markdown implementation written in Java

Lua[編輯]

  • markdown.lua, a Markdown implementation in Lua
  • Lunamark, a markdown to HTML and LaTeX converter written in Lua, using a PEG grammar

PHP[編輯]

Ruby[編輯]

  • kramdown yet-another-markdown-parser but fast, pure Ruby, using a strict syntax definition and supporting several common extensions.
  • Redcarpet The safe Markdown parser, reloaded.
  • BlueCloth A Ruby implementation of Markdown
  • RDiscount Discount (For Ruby) Implementation of John Gruber's Markdown
  • Maruku A pure-Ruby Markdown-superset interpreter

其它[編輯]

參見[編輯]

注釋[編輯]

  1. ^ Daring Fireball Statement by creator John Gruber
  2. ^ Markdown. Aaron Swartz: The Weblog. March 19, 2004. 
  3. ^ Daring Fireball: Markdown. [April 25, 2014]. (原始內容存檔於2004-04-02). 
  4. ^ 4.0 4.1 4.2 Markdown 1.0.1 readme source code Daring Fireball - Markdown. 17-Dec-2004. 
  5. ^ Markdown: License. Daring Fireball. [April 25, 2014]. 
  6. ^ MarsEdit 2.3 ties the knot with Tumblr support - Ars Technica. [2009-08-11]. 
  7. ^ Review: Practical Django Projects - Ars Technica. [2009-08-11]. 
  8. ^ Writeboards support in Apollo!. [2011-11-21]. 
  9. ^ Displaying README Text on your Bitbucket Source Tab. [2010-10-01]. 
  10. ^ Formatting Text - Diasporial. [2011-11-09]. 
  11. ^ Markdown add-on for Drupal. [2011-11-15]. 
  12. ^ Markdown Guide - Ghost Support. [2015-03-29]. 
  13. ^ Making GitHub More Open: Git-backed Wikis - GitHub. [2010-09-01]. 
  14. ^ GitHub Flavored Markdown - Introduction. [2011-01-03]. 
  15. ^ Daring Fireball Linked List: GitHub Flavored Markdown. [2011-01-03]. 
  16. ^ G+ Tweaks v1.1151. [2011-11-08]. 
  17. ^ Markup Choices in Instiki. [2010-08-24]. 
  18. ^ Formatting text - MoodleDocs. [2012-03-13]. 
  19. ^ Markdown - Posterous Help. [2010-06-26]. (原始內容存檔於2013-04-27). 
  20. ^ Reddit's help document on Markdown. [2010-07-20]. 
  21. ^ Showoff project on GitHub. [2011-10-24]. 
  22. ^ Squarespace Mini-Reference. [2010-09-30]. 
  23. ^ Markdown Editing Help - Stack Overflow. [2010-04-29]. 
  24. ^ Three Markdown Gotchas - Blog – Stack Overflow. [2010-04-29]. 
  25. ^ Tumblr Preferences. [2011-01-03]. 
  26. ^ Typecho 0.9 正式版發布. [2013-12-10]. 
  27. ^ WordPress Plugins. [2011-02-14]. 
  28. ^ Second Gear's Elements App v2. [2010-11-03]. 

外部連結[編輯]