自從人們開始寫做,寫做即是記錄、抒發、批判、檢討的好工具。從石板上的刻印到筆墨紙硯,再到現在的信息時代。從靜態的我的主頁到託管博客,從我的博客到微博,從wordpress到jekyll。無數投入寫做中的人們寫做的目的大同,寫做的方式越簡單越好,這樣才能讓咱們專一於寫做而不是爲其餘格式所困擾。另外如今智能終端快速普及,文件格式的多平臺使用也成爲了寫做的一大問題。html
爲了更好的寫做,今天介紹的 Markdown & Pandoc 便能提供完美的輔助。python
Markdown 是一種輕量級標記語言,創始人爲John Gruber和Aaron Swartz。它容許人們「使用易讀易寫的純文本格式編寫文檔,而後轉換成有效的XHTML(或者HTML)文檔」。這種語言吸取了不少在電子郵件中已有的純文本標記的特性。 [1]linux
windows下經常使用的編輯工具是word,mac上經常使用的編輯工具是page,linux上經常使用的編輯工具就是vim了,一份文章編輯完後爲了要在不一樣平臺中保存完整的模樣時就必需同時準備多種文本格式的文件,這是多麼痛苦的一件事。咱們寫做的初衷是爲了寫做呀,反而被這些格式煩惱。因此咱們要用Markdown,它讓你關注內容,格式怎麼顯示不是要你在寫得時候關注的。而在寫Markdown時你只須要用一個純文本的方式進行,不用擔憂平臺與格式的困擾。git
Markdown 的語法全由一些符號所組成,這些符號通過精挑細選,其做用一目瞭然。好比:在文字兩旁加上星號,看起來就像強調。Markdown 的列表看起來,嗯,就是列表。Markdown 的區塊引用看起來就真的像是引用一段文字,就像你曾在電子郵件中見過的那樣。github
最經常使用格式web
空一行(兩個回車)分段 行末加兩個或多個空格纔是真正的換行,不然正常的一個回車就像在 HTML 代碼中同樣,被看成空格處理 插入連接: [連接文字](url) 圖片跟連接很像,在前面加個歎號:
列表ubuntu
* 無序(沒有編號的)列表中的一項* 一個子項,要以一個製表符或者4個空格縮進* 無序列表中的另外一個項1. 有序(排好序,有編號的)列表中的一項2. 有序列表中的另外一個項
標題vim
# 一級標題#### 四級標題一級標題===================二級標題--------------------
代碼windows
代碼能夠採起兩種方法:markdown
一是用(`)將代碼包起來
夾雜着`一些代碼`的文字內容,
二是在代碼塊前面加上4個空格或者一個TAB
import random class CardGame(object): """ a sample python class """ NB_CARDS = 32 def __init__(self, cards=5): self.cards = random.sample(range(self.NB_CARDS), 5) print 'ready to play'
代碼高亮能夠由github提供的js實現
分割線
要生成水平分割線,能夠在單獨一行裏輸入3個或以上的短橫線、星號或者下劃線實現。短橫線和星號之間能夠輸入任意空格。如下每一行都產生一條水平分割線。
===========************_ _ _ _ _
Markdown的經常使用語法差很少就是這些了,詳細的介紹請參考Markdowm 語法說明
Markdown愈來愈流行,不是由於它複雜,而是由於它足夠簡單。嘗試過MD後就能體會到單純的寫做帶來的快樂,通常Markdown文件保存格式都是以md、mdownx現實。爲了文檔的分享,多平臺的使用,須要對MD進行格式轉化。這是就更體現了它的方便之處,它是自己是一個結構標記語言,能對多種格式文檔進行轉換,這裏介紹一款強大的格式轉換工具 Pandoc 。
Pandoc是一個用於從一種標記格式轉換爲另外一種的Haskell庫,它的功能是在多種常見的標記語言進行相互轉換。
其中包括 Markdown, reStructuredText, Textilte, HTML, PDF,LaTeX 等。利用它,你能夠用簡單的 Markdown 語法生成pdf文檔,還能夠寫 Beamer 演示文稿。更強大的是,它還能將以上提到的這些語言所寫文件轉換成 xdoc 文檔。下面這張圖展現了 Pandoc 讓人吃驚 的功能集,不愧爲文件轉換中的瑞士軍刀:
首先咱們能夠看下Pandoc的官網 http://johnmacfarlane.net/pandoc/
在介紹中咱們知道Pandoc支持linux,Mac OS,Win多平臺,還有簡易的web版提供咱們在線轉換格式。打開web版 http://johnmacfarlane.net/pandoc/try,即可以進行簡單的格式轉換了。不過網頁版的反應速度不是很快,不適合大型文件的格式轉換,一兩篇文章仍是能夠的。
就我本身用的ubuntu下安裝Pandoc,還算是很是簡單的。如下是ubuntu下的使用步驟:
sudo apt-get install pandoc
若是apt-get安裝的pandoc功能不齊全,能夠如官網上同樣先安裝cable,再安裝pandoc:
sudo apt-get install cabal-installcabal updatecabal install pandoc
而後就能夠嘗試着用一下了:
pandoc demo.md -o demo.html
這樣即可以簡單的將demo的markdown文件轉換成html文檔了。另外還能夠強制格式轉換以下:
pandoc demo.txt -o demo.html -f markdown -t html
上面的代碼即是將demo.txt中的文檔以markdown的格式轉換成html並存入demo.html中了。
最關鍵的 PDF文件 到了,PDF文檔能在不一樣平臺保持一致的表現,是許多文檔傳輸的首選。在轉換PDF以前,還須要安裝一個texlive的包:
sodu apt-get install texlive
而後即可以自如的轉換PDF文件了:
pandoc demo.md -o demo.pdf
英文文件轉換情況良好,中文字體問題請參考Pandoc 用命令行轉換標記語言
Markdown與Pandoc的用法也就說到這了,無疑它們搭配起來會讓寫做變得更加簡單專一,這也就是咱們的初衷。另外在寫做中多結合Git,將文檔推到GitHub上會是很好的嘗試。