[TOC]
https://github.com/Alfred-Sun/Alfred-Sun.github.io/
http://edu.51cto.com/center/course/lesson/index?id=155552
---
Markdown 是由 John Gruber 于 2004 年開發一種輕量級標記語言,它允許人們 “使用易讀易寫的純文本格式編寫文檔,然后轉換成有效的 XHTML 文檔”。
---
> _Markdown is a text-to-HTML conversion tool for web writers.
> Markdown allows you to write using an **easy-to-read, easy-to-write** plain text format, then convert it to structurally valid XHTML (or HTML)._
> <div style="text-align:right;margin-top:5px;"> – <a href="http://daringfireball.net/projects/markdown/"><b>John Gruber</b></a></div>
# 開始用 Markdown 寫博客
讓博客程序寫文章時支持 Markdown 語法:用過 GitHub 的同學對 Markdown 都不陌生,對比常見的富文本編輯器,它至少有以下優點:
- 純文本,兼容性極強,可以用所有文本編輯器打開
- 格式轉換方便,Markdown 可以輕松轉換為各種格式
- 讓你專注于文字而不是排版
- Markdown 的標記語法有極好的可讀性
- 在 Markdown 中,依然可以使用 html 標記
對于喜歡貼代碼的程序員來說,GFM(GitHub Flavored Markdown) 定義的[代碼塊語法][]方便好用。Sublime Text 對 Markdown 的語法高亮也支持得也很好,一目了然。Web 上也有強大的 [CodeMirror][] 支持 Markdown 的編寫。
[代碼塊語法]: https://help.github.com/articles/github-flavored-markdown#fenced-code-blocks
[CodeMirror]: http://codemirror.net/mode/gfm/index.html
<!--more-->

解析 Markdown 語法,有兩個庫:運行于瀏覽器和 Nodejs 的 JavaScript 庫 [marked][],和 Python 庫 [Markdown][]。它們除了支持 Markdown 的[基本語法][]外,還支持表格、代碼塊、TOC(Table Of Contents) 等擴展功能。
最近,身邊不少技術強愛折騰的朋友都把自己博客換成 Nodejs + Markdown 了。如果不想自己開發,也可以用 [Jekyll][] 或 [Octopress][] 等系統。它們都支持 Markdown,都能很好的跟 github 整合。
還有一家叫 [postach.io][] 的網站比較有趣,在這里寫博客的方式很特別:綁定 [Evernote][] 帳號,在指定記事本新建 Note 并添加名為 published 的 tag,同步即可。當然,postach.io 也支持 Markdown。
現在 GitHub 和 GitCafe,都很容易將項目變成博客,還支持綁定域名、本地搭建服務等高級功能,可以去官網了解。
[marked]: https://github.com/chjj/marked
[Markdown]: http://pythonhosted.org/Markdown/
[基本語法]: http://daringfireball.net/projects/markdown/syntax
[Jekyll]: http://jekyllrb.com/
[Octopress]: http://octopress.org/
[postach.io]: http://postach.io/
[Evernote]: http://www.evernote.com/
# Markdown 語法說明
### 語法文檔

**標準 Markdown 語法**: [翻譯版](http://alfred-sun.github.io/markdown-syntax-zhtw/)
官方 Markdown 語法: http://daringfireball.net/projects/markdown/syntax
一份語法速查表: [Markdown語法速查表]({{ site.document_dir }}/markdown-syntax-cheat-sheet.pdf)
GFM Syntax Guide: an [overview of Markdown syntax]({{ site.picture_dir }}/markdown-syntax-documentation/Github Flavored MarkDown.jpg) used anywhere on GitHub.com
另一份別人整理的 Markdown/GFM 語法: [MarkDown輕量級標記語言]({{ site.document_dir }}/MarkDown輕量級標記語言.pdf)
### Personal Notes
1. 嵌套的列表:
Create nested lists by indenting list items by two spaces.
1. Item 1
1. A corollary to the above item.
2. Yet another point to consider.
2. Item 2
* A corollary that does not need to be ordered.
* This is indented four spaces, because it's two spaces further than the item above.
* You might want to consider making a new list.
3. Item 3
2. 加強的代碼塊:
行內代碼用單個反引號`` ` ``包住,即可顯示原有格式的文本。
跨行代碼塊,可以不用縮進4個空格,使用3個反引號<code>```</code>包住文本區塊(Fenced code blocks):
Check out this neat program I wrote:
```
x = 0
x = 2 + 2
what is x
```
這樣Code blocks更容易語法高亮,直接在標記后接語言識別符。例如,高亮一段 Ruby 代碼:
```ruby
require 'redcarpet'
markdown = Redcarpet.new("Hello World!")
puts markdown.to_html
```
3. 表格支持:
建表格使用連字符`-`和豎線`|`,區分開表頭和單元格:
<pre>
First Header | Second Header
------------- | -------------
Content Cell | Content Cell
Content Cell | Content Cell
</pre>
想好看一些的話,也可以在開頭和結尾加豎線:
| First Header | Second Header |
| ------------- | ------------- |
| Content Cell | Content Cell |
| Content Cell | Content Cell |
頂部的連字符無需一定匹配表頭文本的長度(但必須保證**至少3個連字符**);也可以添加行內的Markdown語法文本,如鏈接、加粗、刪除線等:
| Name | Description |
| ------------- | ----------- |
| Help | ~~Display the~~ help window.|
| Close | _Closes_ a window |
表頭行使用冒號`:`實現表格內列的文本對齊方式:
| Left-Aligned | Center Aligned | Right Aligned |
| :------------ |:---------------:| -----:|
| col 3 is | some wordy text | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
冒號在最左邊表示該列文本左對齊,最右邊表示文本右對齊,兩邊都加冒號表示居中對齊文本。
4. LaTeX 公式
#### 示例:

// $$ 表示整行公式:
$$\sum_{i=1}^n a_i=0$$
$$f(x_1,x_x,\ldots,x_n) = x_1^2 + x_2^2 + \cdots + x_n^2 $$
訪問 [MathJax Tutorial](http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference) 參考更多使用方法。
MathJax 文檔:[What is MathJax ?](http://docs.mathjax.org/en/latest/mathjax.html)
> MathJax is an open-source JavaScript display engine for mathematics([LaTeX](http://www.latex-project.org/), [MathML](http://www.w3.org/TR/MathML3), and [AsciiMath notation](http://www1.chapman.edu/~jipsen/mathml/asciimath.html)) that works in all modern browsers.
5. 流程圖
**示例:**

```flow
st=>start: Start:>http://alfred-sun.github.io
io=>inputoutput: verification
op=>operation: Your Operation
cond=>condition: Yes or No?
sub=>subroutine: Your Subroutine
e=>end:>https://github.com/adrai/flowchart.js
st->io->op->cond
cond(yes)->e
cond(no)->sub->io
```
> 更多語法參考:[流程圖語法參考](http://adrai.github.io/flowchart.js/) _(View on [**GitHub**](https://github.com/adrai/flowchart.js "flowchart.js"))_
6. 序列圖
**示例:**

```seq
Andrew->China: Says Hello
Note right of China: China thinks\nabout it
China-->Andrew: How are you?
Andrew->>China: I am good thanks!
```
> 更多語法參考:[序列圖語法參考](http://bramp.github.io/js-sequence-diagrams/) _(View on [**GitHub**](https://github.com/bramp/js-sequence-diagrams "js-sequence-diagrams"))_
7. 注腳
使用 `[^keyword]` 表示注腳。例如:
這是第一個注腳[^footnote1]的樣例。
這是第二個注腳[^footnote2]的樣例。
這是第一個注腳[^footnote1]的樣例。
這是第二個注腳[^footnote2]的樣例。
...
[^footnote1]: 這是一個 *注腳* 的 **文本**。
[^footnote2]: 這是另一個 *注腳* 的 **文本**。
# 一些 Markdown 參考
Markdown是一種網絡書寫語言,其目標是實現易讀易寫,且兼容HTML語言。Markdown的流行得益于Github和Stackoverflow,Stackoverflow的代碼塊以及Github上的README.md文件格式都是通過Markdown表現的。另外還有支持各大瀏覽器的寫郵件的Markdown插件:[Markdown Here](https://github.com/adam-p/markdown-here)
使用Markdown可以書寫自由書籍,關于此,您可以參看文章[用Markdown來寫自由書籍-開源技術的方案][],[開源書和開源技術-Markdown篇][]一文也介紹了一些Markdown與開源書和開源技術之間的淵源。已經有一些開源書籍使用Markdown書寫了,亞嵌教育的開源書籍[源碼開放學ARM][]、蔣鑫老師的[GotGithub][]一書,這些開源書籍都給學習者提供很大幫助。Markdown書寫已經是一種開源精神體現。好了,既然Markdown與自由書寫這么默契,我們怎么用Markdown來寫自己的README.md,自己的博客甚至自己的開源書籍呢?
這里有一份翻譯的[Markdown的語法][],從[這里](https://gitcafe.com/riku/Markdown-Syntax-CN/blob/master/syntax.md)看可能更直觀。Markdown語法是如此簡單,以至于還不到1000行就描述完了。初學者您可以參考[獻給寫作者的Markdown新手指南][]。Github的Markdown語法大部分都與傳統Markdown語法一樣,可以看看[markdown-basics][],但也有些擴展,擴展內容在文檔[GitHub Flavored Markdown][]中。
在使用Markdown過程中,您也許還需要一個實時顯示Markdown文檔預覽的工具,這方面的工具有很多,這里推薦幾個在線的Markdown文檔編輯器:
1. **Dillinger**: http://dillinger.io/
2. **StackEdit**: https://stackedit.io/
3. **印象筆記**: http://maxiang.info/
“[免費Markdown寫作工具簡評][]”一文提供了有關于Markdown文檔編輯器的更多信息。
谷歌瀏覽器貌似也有[Markdown的預覽插件](https://github.com/volca/markdown-preview),這樣您就可以用記事本編輯,用瀏覽器預覽了。
印象筆記也有Chrome的擴展,可在商店搜素“馬克飛象”。
我們說Markdown是為了書寫自由電子書,那么Markdown如何生成pdf或html格式的文檔呢?我們可以借助Markdown文檔編輯器的功能,StackEdit 就能勝任,使用StackEdit左上角的菜單,"Save As..."就可以做到。
還有2款集編輯與Markdown預覽于一身的不錯工具 [Everedit][] 和 **[Cmd Markdown][]**,國產的哦..
最后,你可以在Github上找到這樣一篇文章: [MARKDOWN是什么](https://github.com/Alfred-Sun/Markdown/blob/master/README.md "彪悍的人生不需要解釋")
[用Markdown來寫自由書籍-開源技術的方案]: http://www.ituring.com.cn/article/828
[開源書和開源技術-Markdown篇]: http://www.larrycaiyu.com/2011/12/31/ebook-by-markdown.html
[源碼開放學ARM]: http://www.lumit.org/LASO/
[GotGithub]: http://www.worldhello.net/gotgithub/
[Markdown的語法]: http://wowubuntu.com/markdown/
[獻給寫作者的Markdown新手指南]: http://jianshu.io/p/q81RER
[markdown-basics]: https://help.github.com/articles/markdown-basics
[GitHub Flavored Markdown]: https://help.github.com/articles/github-flavored-markdown
[免費Markdown寫作工具簡評]: http://www.jianshu.com/p/51474fb08d04
<!--http://jianshu.io/p/pgN9Rb-->
[Everedit]: http://www.everedit.net
[Cmd Markdown]: https://www.zybuluo.com/mdeditor
# Markdown 各種擴展
## PHP Markdown Extra ###
Markdown的php解析與實現,并且增加了許多有用的擴展。[PHP Markdown Extra](https://michelf.ca/projects/php-markdown/extra/)其中幾個比較重要的改進有:
- 支持在html塊元素中插入markdown語法
- 支持為一些元素添加id或class,比如為header添加id屬性,用帶錨點的鏈接導航。例如:
~~~
[Link back to header 1](#header1)
Header 1 {#header1}
========
## Header 2 ## {#header2}
~~~
支持元素包括`header`、`code block`、`link`、`image`
- 支持將代碼塊用\`或者~包起來,這樣可以避免一些二義,還可以為代碼塊添加id或class
<pre><code class="language-html" data-lang="html">~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {.html #example-1}
<span class="nt"><p></span>paragraph <span class="nt"><b></span>emphasis<span class="nt"></b></span>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~</code></pre>
- 支持手寫的表格
~~~
| Function name | Description |
| ------------- | ------------------------------ |
| `help()` | Display the help window. |
| `destroy()` | **Destroy your computer!** |
~~~
- 支持`dl`和`dt`在markdown中的對應語法
- 支持腳注引用
<pre><code>That's some text with a footnote.[^1]
[^1]: And that's the footnote.
</code></pre>
- 支持專有名詞`abbr`
- 避免下劃線出現在單詞中間,導致斜體輸出
## Maruku ###
在 "始作俑者 PHP Markdown Extra" 后,很多基于 Ruby 的 Markdown 解釋器開始浮現。其中,[Maruku](https://github.com/bhollis/maruku) 號稱:
- 支持原生Markdown
- 支持所有PHP Markdown Extra的特性
- 支持新的元數據語法,實際上就是給元素添加屬性的能力
- 支持[公式格式](https://github.com/bhollis/maruku/blob/master/docs/math.md)輸出
- 支持自動生成 **[Table of Contents](https://golem.ph.utexas.edu/~distler/maruku/#toc-generation)**
Maruku的語法詳見[這里](https://github.com/bhollis/maruku/blob/master/docs/markdown_syntax.md)
不過,該項目已經停止維護了。
## Kramdown ###
同樣是ruby開發的解釋器,[kramdown](http://kramdown.gettalong.org/quickref.html)吸取了Maruku幾乎所有的特點,功能更為強大。其中有特點的功能有:
1. 改進了一些二義語法
2. 引入EOB標記`^`作為塊元素的分隔符
3. 手寫table的語法更加強大一些,支持table中的header和footer
4. 同樣支持ALD(Attribute List Definitions屬性列表定義)
5. 同樣支持 **[LaTeX](http://kramdown.gettalong.org/converter/html.html#math-support)** 編輯顯示支持
6. 還支持注釋,以及在轉化時配置一些轉化選項
[Github-Page 推薦使用這個解釋器](https://help.github.com/articles/migrating-your-pages-site-from-maruku)
## RDiscount ###
[RDiscount](http://dafoster.net/projects/rdiscount/)又是一個基于Ruby開發的解釋器,不過它是基于[Discount](http://www.pell.portland.or.us/~orc/Code/discount/)的語法移植的,所以語法規則需要參考[Discount](http://www.pell.portland.or.us/~orc/Code/discount/#Language.extensions)。其語法支持幾種上面沒有提到過的特性:
- 文本居中,即輸出`<center>`
- 圖片大小定義``
- 輸出`alpha`列表:`<ol type='a'></ol>`
## Redcarpet ###
[Redcarpet](https://github.com/vmg/redcarpet)是一個轉化庫,可以在標準Markdown的基礎上,配置一些額外的功能:
- 單詞中間的`_`不處理
- 轉化PHP-Markdown風格的手寫表格
- 轉化PHP-Markdown風格的帶包含的代碼塊,也可禁用標準markdown的代碼塊語法
- 自動link生成
- 刪除線支持:`~~good~~`
- 高亮標簽`<mark></mark>`通過`==highlighted==`輸出
- 引用標簽`<q></q>`通過`"quote"`輸出
- 轉化PHP-Markdown風格腳注
- 一些二義性的約束支持
### Github 支持
Github Page 對于上述的基于 Ruby 的 markdown 是支持的,從[這里](https://pages.github.com/versions/)可以看到。另外,Github 對于 Issue、comments、pull request descriptions 等,還定義了 GFM([GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown)),其中的語法一般基本來源于上面的提到的東西。除此之外,GitHub 還支持一些額外的特性:
- 支持把列表變成帶勾選框的任務列表
```
- [x] @mentions, #refs, [links](), **formatting**, and <del>tags</del> are supported
- [x] list syntax is required (any unordered or ordered list supported)
- [x] this is a complete item
- [ ] this is an incomplete item
```
- 站內對分支、問題、用戶等對象的直接引用
```
* SHA: a5c3785ed8d6a35868bc169f07e40e889087fd2e
* User@SHA: jlord@a5c3785ed8d6a35868bc169f07e40e889087fd2e
* User/Repository@SHA: jlord/sheetsee.js@a5c3785ed8d6a35868bc169f07e40e889087fd2e
* #Num: #26
* GH-Num: GH-26
* User#Num: jlord#26
* User/Repository#Num: jlord/sheetsee.js#26
```
- 表情 [Emoji](http://www.emoji-cheat-sheet.com/)
- 支持部分 HTML 標簽 ([GitHub Markup](https://github.com/github/markup/tree/master#html-sanitization))
## MultiMarkdown ###
MMD([MultiMarkdown][]) 是 C 實現的 Markdown 解析器,支持幾乎任何OS平臺;
Markdown 語法的超集,不僅加強了 PHP Markdown Extra 一些功能,如對表格、注腳、引用、公式的支持,而且能轉換輸出更多類型的文檔:HTML,LaTeX,PDF,ODF,RTF,甚至是 MS Word。
The many output formats of MultiMarkdown:

> * 最初的 MMD(MultiMarkdown v2) 改自 Markdown.pl Perl腳本;
> * MultiMarkdown v3(aka **peg-multimarkdown**) 在 John MacFarlane 的 [peg-markdown][] 基礎上構建的,其核心的 PEG(parsing expression grammar) 提高了 MMD 可靠性;
> * 最新的 [MultiMarkdown v4][] 性能上做了很多優化,完全重寫 MMD v3,僅保留了PEG和部分重要的程序,是目前最出色的版本。
[MultiMarkdown]: http://fletcherpenney.net/multimarkdown/
[peg-markdown]: https://github.com/jgm/peg-markdown
[MultiMarkdown v4]: https://github.com/fletcher/MultiMarkdown-4/
其他的特性:
- 支持自定義輸出任何 [XSLT][] 格式的文檔
- 多文件批處理
- 支持主要OS上的拖拽操作
- 支持集成進 [TextMate][]
- [OmniOutliner][] Plugin 使得本地 OmniOutliner 大綱輸出為 MDD 文本文件
- MMD QuickLook 生成器實現對 MMD 文本或 OS X Finder 找到的 [OPML][] 文件的預覽
[XSLT]: http://en.wikipedia.org/wiki/XSLT
[TextMate]: http://macromates.com/
[OmniOutliner]: http://www.omnigroup.com/omnioutliner/
[OPML]: http://en.wikipedia.org/wiki/OPML
## Pandoc’s Markdown ###
以上擴展,某種意義上來講,并不是針對寫作的。開源界傳說中的高富帥社區 - [Haskell][]社區,其作品 [Pandoc][Pandoc’s Markdown] 給了我們更好的選擇,在多個方面完敗 MMD,參考:[Pandoc vs Multimarkdown][]。
Haskell是什么?一種編程語言。每位資深的開發者學習它,都會有些不知所措,因為,它的編程思路不同于通常意義上類似于C#、Python、Java這些流行的編程語言。它來自一群高智商的開發者的貢獻,據說人人有PHD學位,是[函數式編程語言][]的典范。[Pandoc][] 作者[John MacFarlane][]也不例外。
Pandoc 是一個 Haskell 庫,一個標記語言轉換工具,可實現不同標記語言間的格式轉換,堪稱該領域中的“瑞士軍刀”。Pandoc 以命令行形式實現與用戶的交互,可支持多種操作系統,支持大量的文本類型的輸入輸出。
[JG_markdown]: http://daringfireball.net/projects/markdown/
[Haskell]: http://www.haskell.org/
[Pandoc]: http://johnmacfarlane.net/pandoc/
[Pandoc’s Markdown]: http://johnmacfarlane.net/pandoc/README.html#pandocs-markdown
[Pandoc’s Markdown Options]: http://johnmacfarlane.net/pandoc/README.html#options
[Pandoc vs Multimarkdown]: https://github.com/jgm/pandoc/wiki/Pandoc-vs-Multimarkdown
[函數式編程語言]: http://zh.wikipedia.org/wiki/函數式編程
[John MacFarlane]: http://johnmacfarlane.net/
### Pandoc支持的標記語言格式
<table>
<tbody><tr>
<th width="185px">Pandoc 可讀取的源格式</th>
<th>Pandoc 可生成的目標格式</th>
</tr>
<tr><td><ul style="margin-bottom:0px;">
<li><a href="http://daringfireball.net/projects/markdown/" title="Markdown">Markdown</a></li>
<li><a href="http://docutils.sourceforge.net/docs/ref/rst/introduction.html" title="ReStructuredText">reStructuredText</a></li>
<li><a href="http://redcloth.org/textile" title="Textile">textile</a></li>
<li><a href="http://www.w3.org/TR/html40/" title="HTML">HTML</a></li>
<li><a href="http://www.docbook.org/" title="DocBook">DocBook</a></li>
<li><a href="http://www.latex-project.org/" title="LaTeX">LaTeX</a></li>
<li><a href="http://www.mediawiki.org/wiki/Help:Formatting" title="MediaWiki">MediaWiki markup</a></li>
<li><a href="http://twiki.org/cgi-bin/view/TWiki/TextFormattingRules" title="TWiki">TWiki markup</a></li>
<li><a href="http://dev.opml.org/spec2.html" title="OPML">OPML</a></li>
<li><a href="http://www.gnu.org/software/emacs/" title="Emacs">Emacs</a></li>
<li><a href="http://orgmode.org/" title="Org-模式">Org-Mode</a></li>
<li><a href="http://txt2tags.org/" title="Txt2Tags">Txt2Tags</a></li>
<li><a href="http://www.microsoft.com/interop/openup/openxml/default.aspx" title="Microsoft Word docx">Microsoft Word docx</a></li>
<li><a href="http://en.wikipedia.org/wiki/EPUB" title="EPUB">EPUB</a></li>
<li><a href="http://www.haskell.org/haddock/doc/html/ch03s08.html" title="Haddock">Haddock markup</a></li>
</ul></td>
<td><ul style="margin-bottom:0px;">
<li>HTML格式:包括<a href="http://www.w3.org/TR/xhtml1/">XHTML</a>,<a href="http://www.w3.org/TR/html5/">HTML5</a>及HTML slide shows(<a href="http://www.w3.org/Talks/Tools/Slidy">Slidy</a>, <a href="http://lab.hakim.se/reveal-js/">reveal.js</a>, <a href="http://goessner.net/articles/slideous/">Slideous</a>, <a href="http://meyerweb.com/eric/tools/s5/">S5</a>, or <a href="http://paulrouget.com/dzslides/">DZSlides</a>)</li>
<li>文字處理軟件格式:包括Microsoft Word docx、OpenOffice/LibreOffice<a href="http://en.wikipedia.org/wiki/OpenDocument" title="ODT">ODT</a>、<a href="http://opendocument.xml.org/" title="OpenDocument XML">OpenDocument XML</a></li>
<li>電子書Ebooks格式:包括EPUB(第2版及第3版)、<a href="http://www.fictionbook.org/index.php/Eng:XML_Schema_Fictionbook_2.1" title="FictionBook">FictionBook2</a></li>
<li>技術文檔格式:包括<a href="http://www.docbook.org/" title="DocBook">DocBook</a>、<a href="http://www.gnu.org/software/texinfo/" title="GNU TexInfo">GNU TexInfo</a>、<a href="http://www.gnu.org/software/groff/groff.html" title="手冊頁">Groff man</a> pages、<a href="http://www.haskell.org/haddock/doc/html/ch03s08.html" title="Haddock">Haddock markup</a></li>
<li>頁面布局格式:<a href="https://www.adobe.com/content/dam/Adobe/en/devnet/indesign/cs55-docs/IDML/idml-specification.pdf" title="InDesign ICML">InDesign ICML</a></li>
<li>大綱處理標記語言格式:<a href="http://dev.opml.org/spec2.html" title="OPML">OPML</a></li>
<li>TeX格式:包括LaTeX、<a href="http://www.pragma-ade.nl/" title="ConTeXt">ConTeXt</a>、<a href="http://zh.wikipedia.org/wiki/Beamer_(LaTeX)" title="Beamer (LaTeX)">LaTeX Beamer slides</a></li>
<li><a href="http://en.wikipedia.org/wiki/Portable_Document_Format">PDF</a>格式:需要LaTeX支持</li>
<li>輕量級標記語言格式:包括Markdown、reStructuredText、Textile、Org-Mode、MediaWiki markup、<a href="http://www.methods.co.nz/asciidoc/" title="AsciiDoc">AsciiDoc</a>、<a href="https://www.dokuwiki.org/wiki:syntax">DokuWiki markup</a>、Emacs</li>
<li>自定義格式:可使用<a href="http://www.lua.org/" title="Lua">lua</a>自定義轉換規則</li>
</ul></td>
</tr></tbody>
</table>
更詳細的格式信息可參見項目主頁上的[圖示](http://johnmacfarlane.net/pandoc/diagram.png)
### Pandoc for markdown
Pandoc Markdown是John Gruber markdown 語法的改進和加強版,包含對腳注、上標、下標、自動引用和參考書目、document metadata (title/author/date)、表格、定義型列表、加強的代碼塊、刪除線、內容目錄結構、LaTeX公式、HTML區塊內的markdown文本等的支持。
這些強化功能可以通過`markdown_strict`輸入輸出格式選項來開啟或關閉(單獨控制某個功能的啟用禁用可以使用`+EXTENSION`或`-EXTENSION`),參看 [Pandoc’s markdown][Pandoc’s Markdown Options]。
這里有一份繁體中文翻譯版的 [Pandoc 版本 Markdown 語法](http://pages.tzengyuxio.me/pandoc/)
另一篇簡版說明文檔:[Pandoc Markdown寫作規范](http://alfred-sun.github.io/markx-pandoc/ "pandoc.herokuapp.com")
與多數通過正則表達式實現markdown轉HTML的工具不同,Pandoc是模塊化設計,對于每個輸入輸出的格式都有單獨的一個模塊;它含有一組解析指定文本格式的readers和一組轉換為目標文本格式的writers。這樣,只需添加一個文本格式的reader或者writer模塊,就能增加Pandoc對這個格式文本的輸入輸出支持。
關于Pandoc的安裝使用,不愿看英文Guide的可以看看下面這篇文章,通俗易懂。
[Markdown寫作進階:Pandoc入門淺談](http://www.yangzhiping.com/tech/pandoc.html)
# 附錄
## [Mac下圖床神器 iPic](https://toolinbox.net/iPic/)
## [Windows 下 MPic-圖床神器](http://mpic.lzhaofu.cn/)
一款支持多種上傳方式且自動生成MarkDown鏈接的圖床工具
## 在線Markdown
如果你心情好到想用 Markdown 寫論文、出幻燈片的話,那就試試 MS Research 開源的 [Madoko](http://www.madoko.net/) 在線 IDE 吧。
## [commonmark](http://commonmark.org/)
[Standard Markdown is now Common Markdown](https://blog.codinghorror.com/standard-markdown-is-now-common-markdown/)
## [markdown here](http://markdown-here.com/get.html) 插件
但是很多熱愛寫作的妹紙們并非只有簡書這一個平臺,她們如果想要在微信公眾平臺發表文章,或者在知乎上發表自己的感受怎么辦呢?那就需要markdown here 這款瀏覽器插件來幫忙啦!這一款支持多種瀏覽器的markdown插件,對于Safari、Chrome、Firefox 、Pale Moon和Opera.等多款瀏覽器支持度都很高,使用方法同樣簡單到傻瓜操作:
下載安裝markdown here插件
在瀏覽器的相應地方(如微信公眾平臺頁面)用markdown語法書寫文章
點擊插件按鈕,你的文章就自動按照markdown的語法效果顯示出來了!
# 關于圖床
參考:http://www.isays.cn/7397.html
# 結束語
Markdown純文本非常簡潔,讓筆者注重文字而非排版,值得學習使用。然而,目前Markdown文本的解析工具有很多,雖然都支持標準Markdown語法,但各個解析器間語法各有不同,提供的擴展功能也各有千秋。盡管標準語法已經滿足大部分寫作需求,但是有些時候確實急需某項高級功能實現,就像博主,目前還只用標準語法,特殊的功能只能通過嵌入HTML文本來實現,不僅麻煩,而且直接違背了Markdown讀寫趨簡的宗旨。既然不想被這么多工具的語法搞暈,又想偶爾能使用高級功能,那么,選擇一款擴展功能豐富又滿足需求的工具,是一個很好的辦法。Pandoc是個不錯的選擇,尤其適用于文獻的寫作排版,可以節省大量時間,這也作者的編寫這個工具的初衷;而且,博主非常喜歡多種文檔間轉換這個功能。
有了Pandoc,再找個Pandoc編輯器,比如 [Pandoc Vim][]、[Sublime Text][]或者[TextMate][TextMate OpenSource],是不是看起來很有Geek范兒...
更多Pandoc編輯器、插件請參考:**[Pandoc-Extras][]**
[Pandoc Vim]: https://github.com/vim-pandoc/vim-pandoc
[Sublime Text]: http://www.sublimetext.com/
[TextMate OpenSource]: https://github.com/textmate/textmate
[Pandoc-Extras]: https://github.com/jgm/pandoc/wiki/Pandoc-Extras
> 來源:https://github.com/Alfred-Sun/Alfred-Sun.github.io
- 講解 Markdown
- 示例
- SVN
- Git筆記
- github 相關
- DESIGNER'S GUIDE TO DPI
- JS 模塊化
- CommonJS、AMD、CMD、UMD、ES6
- AMD
- RequrieJS
- r.js
- 模塊化打包
- 學習Chrome DevTools
- chrome://inspect
- Chrome DevTools 之 Elements
- Chrome DevTools 之 Console
- Chrome DevTools 之 Sources
- Chrome DevTools 之 Network
- Chrome DevTools 之 Memory
- Chrome DevTools 之 Performance
- Chrome DevTools 之 Resources
- Chrome DevTools 之 Security
- Chrome DevTools 之 Audits
- 技巧
- Node.js
- 基礎知識
- package.json 詳解
- corepack
- npm
- yarn
- pnpm
- yalc
- 庫處理
- Babel
- 相關庫
- 轉譯基礎
- 插件
- AST
- Rollup
- 基礎
- 插件
- Webpack
- 詳解配置
- 實現 loader
- webpack 進階
- plugin 用法
- 輔助工具
- 解答疑惑
- 開發工具集合
- 花樣百出的打包工具
- 紛雜的構建系統
- monorepo
- 前端工作流
- 爬蟲
- 測試篇
- 綜合
- Jest
- playwright
- Puppeteer
- cypress
- webdriverIO
- TestCafe
- 其他
- 工程開發
- gulp篇
- Building With Gulp
- Sass篇
- PostCSS篇
- combo服務
- 編碼規范檢查
- 前端優化
- 優化策略
- 高性能HTML5
- 瀏覽器端性能
- 前后端分離篇
- 分離部署
- API 文檔框架
- 項目開發環境
- 基于 JWT 的 Token 認證
- 扯皮時間
- 持續集成及后續服務
- 靜態服務器搭建
- mock與調試
- browserslist
- Project Starter
- Docker
- 文檔網站生成
- ddd