layout: post
title: markdown格式在日常中的使用及转化
description: Markdown 的目标是实现「易读易写」不过最需要强调的便是它的可读性。一份使用Markdown格式撰写的文件应该可以直接以纯文字发布,并且看起来不会像是由许多标签或是格式指令所构成。嗨网 提供了 Markdown入门教程 和 Markdown语法说明,由于涉及的内容也较多,在此将常用的 MarkDown 功能列举,供参考。利用Pandoc转换markdown和HTML、LaTeX相关内容:利用Pandoc转换
keywords: Markdown;Markdown语法;文本
author: admin
date: 2014-06-21 16:50
category: 网络技术
tags: markdown
---
Markdown 的目标是实现「易读易写」不过最需要强调的便是它的可读性。一份使用Markdown格式撰写的文件应该可以直接以纯文字发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown语法受到一些既有text-to-HTML格式的影响,包括Setext、atx、Textile、reStructuredText、Grutatext和EtText,然而最大灵感来源其实是纯文字的电子邮件格式:Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。嗨网在线 提供了 Markdown入门教程 和 Markdown语法说明,由于涉及的内容也较多,在此将常用的 MarkDown 功能列举,供参考。利用Pandoc转换markdown和HTML、LaTeX相关内容:利用Pandoc转换 markdown/reStructuredTex/textile/HTML/LaTeX
## 推荐markdown工具
- MarkDownPad
- [在线MarkDown1](http://www.zybuluo.com/mdeditor)
- [在线MarkDown2](http://mahua.jser.me/)
- [在线MarkDown3](http://dillinger.io/)
- [78款MarkDown工具](http://segmentfault.com/a/1190000000506986)
- [各种文档之间转换](http://johnmacfarlane.net/pandoc/try/)
-
-
其他常用**markdown工具**
1. Windows:[MarkdownPad](http://markdownpad.com/), MEditor
1. Linux:ReText
1. Mac:[Mou](http://mouapp.com/)
1. Chrome插件:Made, Markdown Here
1. Sublime Text 2: 跨平台编辑器,可通过插件支持Markdown
1. Pandoc: 强大的文本编译工具,支持各种文档格式互转
##Markdown是什么
Markdown 是一种轻量级标记语言,创始人为John Gruber和Aaron Swartz。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。 [1]
简单一句话就是:用纯文本写作,同时用直观的轻量级标记来格式化文档。
##为什么要使用纯文本创作
我的哲学是,任何基于字符的创作都应该是内容至上(除了书法)。这包括写小说,写
论文,或者是写代码。在创作过程中,尤其是前期创作中,任何格式都是一种多余。这
一点大家可以想像一下作家用纸笔写小说,纸上总不能高亮或者加粗吧?用内容说话才
是王道。
##为什么要用Markdown
windows下常用的编辑工具是word,mac上常用的编辑工具是page,linux上常用的编辑工具就是vim了,一份文章编辑完后为了要在不同平台中保存完整的模样时就必需同时准备多种文本格式的文件,这是多么痛苦的一件事。我们写作的初衷是为了写作呀,反而被这些格式烦恼。所以我们要用Markdown,它让你关注内容,格式怎么显示不是要你在写得时候关注的。而在写Markdown时你只需要用一个纯文本的方式进行,不用担心平台与格式的困扰。
##MarkDown资源
1. Markdown项目主页:
1. Markdown语法说明(中文版):
##什么是Pandoc
Markdown本身是为了方便输出到HTML格式的。可是后来大家不局限于只是生成HTML
网页,而Pandoc就是为了解决这种需要。通过Pandoc,原始的Markdown文本可以顺利
的转换成Word文档(.docx),OpenOffice文档(.odt),或者是TeX文档(.tex)等等等等。
MarkDownPad编辑器虽然可以转换为HTML文件,但是转换PDF等就需要升级专业版收费了.
当然,Pandoc Markdown不是万能的,表格、复杂公式、多国语言、上下标、交叉引用、图表对齐较多的场合,它并不适合。但是需要互动、实时展现、更快输出的场合,Pandoc Markdown等值得大力推荐。未来互联网会逼使写作趋简。需要更快发表、互动输出与交流的场合,也会越来越多。比如课堂作业、企业内部交流、个人博客。用它节省的时间是写作时比较关键的"创作时间"而非"排版时间"。
##为什么Markdown+Pandoc的组合让我动心
1. 轻量、简单易学、上手容易。
2. 能够顺利转换成Word文档。毕竟周围的人用Word还是不少,能够顺利和他们分享文档
也是我的基本需求之一。这点Pandoc可以解决。
3. 能够转成TeX文档。这个对我来说也是必须的,目前为止Markdown对数学和表格的支持
还是有些弱。Pandoc可以将支持表格和公式。
##安装Pandoc
1. 下载依赖环境[hackshell](http://www.haskell.org/platform/)安装程序
1. 下载[pandoc](https://code.google.com/p/pandoc/downloads/list)安装程序
2. 如果需要输出pdf格式,还得下载[LaTeX](http://miktex.org/download)安装程序
或者参考[这里](http://johnmacfarlane.net/pandoc/installing.html)怎样安装Pandoc
##使用Pandoc
###查看版本
>pandoc - -version
###查看命令帮助
>pandoc - -help
可以看到pandoc主要支持的输入与输出格式:
Input formats: native, json, markdown, markdown+lhs, rst, rst+lhs, docbook,
textile, html, latex, latex+lhs
Output formats: native, json, html, html5, html+lhs, html5+lhs, s5, slidy,
slideous, dzslides, docbook, opendocument, latex, latex+lhs,
beamer, beamer+lhs, context, texinfo, man, markdown,
markdown+lhs, plain, rst, rst+lhs, mediawiki, textile, rtf, org,
asciidoc, odt, docx, epub
看见没,markdown只是pandoc输入格式的一种,它支持更多其他输入格式文件。
上述语言的互转关系,可以看看作者制作的这份[壮观的图](http://johnmacfarlane.net/pandoc/diagram.png),从中可以看出Pandoc的强大。这年头,哲学系教授会写程序,还是Haskell,伤不起啊
###转换文件
####常用参数
- -f 输入格式(如果没有制定格式,则根据后缀名判断,如果没后缀名,则默认为markdown)
- -t 输输出格式(默认为html)
- -o 如果没有的话(默认是STDOUT)
####Pandoc格式转换命令
最简单转换为html命令:pandoc xxx.txt -o yyy.html
a: txt转换为html格式。这里--ascii可以避免转成utf-8编码,这样中文在浏览器上就不会乱码了。命令为
>pandoc -f markdown -t html higrid.net.txt -o newfile.html
>
>pandoc --ascii higrid.net.txt -o newfile.html
b: txt转为pdf格式。注意,为了正确转换中文文本,请修改模板文件,在模板文件第一行下方加入 \usepackage{ctex} 命令为
>pandoc --latex-engine=xelatex yourfile.txt -o newfile.pdf
c: txt转换为doc格式。
>pandoc yourfile.txt -o newfile.doc
md转换为与上面类似,只需将youfile.txt换成youfile.md。
##提示:常用的MarkDown语法
###1.分割线:
##
* * *
***
*****
---
---------------------------------------
###2.原始文件
>保持原段落文字不变,可以选用`
我是文字等`元素
>要添加代码或者原始文本XML等,只需要添加进来整体选中按下tab键即可,
或者每一行代码前都空出四个空格也行
>保持html等原始标签:使用反引号``,反引号在键盘数字1键的旁边
> I strongly recommend against using any `