自从人们开始写做,写做即是记录、抒发、批判、检讨的好工具。从石板上的刻印到笔墨纸砚,再到现在的信息时代。从静态的我的主页到托管博客,从我的博客到微博,从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上会是很好的尝试。