Wiz写Blog? 不会再爱了,全面拥抱Markdown+Pandoc

文章转载自 http://iout.in/archives/454.html

我们为什么写作?

自从人们开始写作,写作便是记录、抒发、批判、反省的好工具。从石板上的刻印到笔墨纸砚,再到如今的信息时代。从静态的个人主页到托管博客,从个人博客到微博,从wordpress到jekyll。无数投入写作中的人们写作的目的大同,写作的方式越简单越好,这样才能让我们专注于写作而不是为其他格式所困扰。另外现在智能终端快速普及,文件格式的多平台使用也成为了写作的一大问题。

为了更好的写作,今天介绍的 Markdown & Pandoc 便能提供完美的辅助。

Markdown的用法

1 .Markdown是什么?

Markdown 是一种轻量级标记语言,创始人为John Gruber和Aaron Swartz。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。 [1]

2 .为什么要用Markdown?

windows下常用的编辑工具是word,mac上常用的编辑工具是page,linux上常用的编辑工具就是vim了,一份文章编辑完后为了要在不同平台中保存完整的模样时就必需同时准备多种文本格式的文件,这是多么痛苦的一件事。我们写作的初衷是为了写作呀,反而被这些格式烦恼。所以我们要用Markdown,它让你关注内容,格式怎么显示不是要你在写得时候关注的。而在写Markdown时你只需要用一个纯文本的方式进行,不用担心平台与格式的困扰。

3 .Markdown的语法

Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像强调。Markdown 的列表看起来,嗯,就是列表。Markdown 的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见过的那样。

最常用格式

 空一行(两个回车)分段 行末加两个或多个空格才是真正的换行,否则正常的一个回车就像在 HTML 代码中一样,被当作空格处理 插入链接:  [链接文字](url)  图片跟链接很像,在前面加个叹号:![alt 文字](图片 URL)

列表

* 无序(没有编号的)列表中的一项* 一个子项,要以一个制表符或者4个空格缩进* 无序列表中的另一个项1. 有序(排好序,有编号的)列表中的一项2. 有序列表中的另一个项

标题

# 一级标题#### 四级标题一级标题===================二级标题--------------------

代码

代码可以采取两种方法:

一是用(`)将代码包起来

夹杂着`一些代码`的文字内容,

二是在代码块前面加上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 语法说明

4 .Markdown的常用编辑工具

  • Mac等平台下推荐Mou
  • Windows平台推荐MarkdownPad【左边是Markdown源文件,右边是相应的html文件,所见即所得】
  • Sublime Text编辑器是我的最爱,并且它是跨平台的,结合Markdown preview插件能更好的编辑,【使用Package Control安装,用Ctrl+B编译,即可得到Markdown源文件相应的html文件】;
  • Sublime上安装Markdown Editing后,就可以直接使编辑器在编辑时所见即所得,只是灰色背景看着有点眼。
  • markdown-here借助Chrome插件,将gmail、Evernote、Hotmail等写作窗口变为Markdown在线写作窗口【比如,gmail写邮件过程中,运用markdown语法,再右键选择markdown Toggle 即可装换为相应的html形式的结果】
  • web版推荐国人草依山写的MaHua,支持vim快捷键和多种主题。

Markdown越来越流行,不是因为它复杂,而是因为它足够简单。尝试过MD后就能体会到单纯的写作带来的快乐,一般Markdown文件保存格式都是以md、mdownx现实。为了文档的分享,多平台的使用,需要对MD进行格式转化。这是就更体现了它的方便之处,它是本身是一个结构标记语言,能对多种格式文档进行转换,这里介绍一款强大的格式转换工具 Pandoc 。

Pandoc 格式转换的瑞士军刀

1 .Pandoc的介绍

Pandoc是一个用于从一种标记格式转换为另一种的Haskell库,它的功能是在多种常见的标记语言进行相互转换。

其中包括 Markdown, reStructuredText, Textilte, HTML, PDF,LaTeX 等。利用它,你可以用简单的 Markdown 语法生成pdf文档,还可以写 Beamer 演示文稿。更强大的是,它还能将以上提到的这些语言所写文件转换成 xdoc 文档。下面这张图展示了 Pandoc 让人吃惊 的功能集,不愧为文件转换中的瑞士军刀:

2 .Pandoc的用法

2.1 Web版Pandoc

首先我们可以看下Pandoc的官网 http://johnmacfarlane.net/pandoc/

在介绍中我们知道Pandoc支持linux,Mac OS,Win多平台,还有简易的web版提供我们在线转换格式。打开web版 http://johnmacfarlane.net/pandoc/try,便可以进行简单的格式转换了。不过网页版的反应速度不是很快,不适合大型文件的格式转换,一两篇文章还是可以的。

2.2 Linux版Pandoc

就我自己用的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上会是很好的尝试。

参考文档
  • Markdown写作浅谈 , 阳志平
  • 黑魔法利器pandoc , 雁起平沙
  • Pandoc 用命令行转换标记语言 , 林雪凡
  • Pandoc 官网 , John MacFarlane
  • Markdown 语法说明 , riku
CATEGORY: 文章 首页/Trackback URL

来源: <http://iout.in/archives/454.html>
来自为知笔记(Wiz)

转载于:https://www.cnblogs.com/ouxiaogu/p/3323507.html

Wiz写Blog? 不会再爱了,全面拥抱Markdown+Pandoc相关推荐

  1. 与王建硕的对话:写Blog促进思考,喜爱Linux和PHP

    作者: 阮一峰 日期: 四月初,建硕约我见面聊天. 我就建议做一个访谈,我来提问,他来回答.因为我觉得,这样可以把封闭式交流(close talk)变成开放式交流(open talk),让外界听到我们 ...

  2. livewriter写Blog 神秘失踪?

    现在习惯用livewriter来总结/记录一些知识并发布为Blog 与同行交流,但是今天发生了一个怪事,上午我整理了两篇文档当时就用livewriter发送到了Blog上,但是晚上来看的时候之前发送的 ...

  3. 我为什么鼓励工程师写blog

    工程师该怎样才能突破自己的能力瓶颈?写 blog! 工程师该怎样精进自己在职涯上所需要的能力?写 blog! 工程师该怎样才能保持学习与成长的动能?写 blog! 工程师该怎样才能证明自己的潜力与特质 ...

  4. wordpress如何使用vim和markdown写blog

    $TOC$ 开始试用了一下wp-markdown插件,高亮和部分语法支持不太好.而且以前的syntax highlight插件语法都乱了,如果使用,需要重新编辑,所以放弃了. 网上搜了一下,很巧的是发 ...

  5. netty系列之:请netty再爱UDT一次

    文章目录 简介 netty对UDT的支持 搭建一个支持UDT的netty服务 异常来袭 TypeUDT和KindUDT 构建ChannelFactory SelectorProviderUDT 使用U ...

  6. 我为什么鼓励程序员写blog

    工程师该怎样才能突破自己的能力瓶颈?写 blog! 工程师该怎样精进自己在职涯上所需要的能力?写 blog! 工程师该怎样才能保持学习与成长的动能?写 blog! 工程师该怎样才能证明自己的潜力与特质 ...

  7. 通过Live Writer Blog客户端来写blog

    前阵子微软件发布了一款管理个人blog的客户端工具:Windows Live Writer(Beta版).它不光能够支持Windows Live Spaces的用户使用,同时它也支持现在网络上其它流行 ...

  8. 技术人员写blog的好处

    http://happmaoo.iteye.com/blog/877538 Blog招聘工作 技术人员写blog有利于找工作,你信吗? 这几天常和人提到写blog的好处,晚上和自己查了一下相关文件. ...

  9. 第一次写blog,哈哈

    第一次写blog,哈哈,还是有点感觉的,不过刚下好班,整个脑子乱的不行,可以说是一片糨糊,看看人家的blog很舒服,真的自己写了还真的不知道写些什么,看来这也是自己的总结,工作两年来,感觉肚子里还真的 ...

最新文章

  1. bat判断文本中是否存在一个相同内容比较_Excel中的9个逻辑函数都不掌握,还敢称Excel达人?...
  2. 使用C++实现DPCM编码(左向预测8bit、4bit、2bit、1bit和上向预测8bit)(更新过)
  3. java測試動態方法_java反射学习
  4. RANSAC估计——以直线拟合为例
  5. 【斜率优化】[CEOI2004]锯木厂选址——从这里开始斜率优化的大门
  6. PR字幕模板 简单大气红色创意图形动态字幕条全屏标题pr模板
  7. 如何在UltraCompare中编辑文件?
  8. 基于物联网的防盗报警器设计与实现
  9. 企业服务器搭建与维护论文,《企业服务器搭建的研究论文》-毕业论文设计(可用).doc...
  10. GDUT 第一次组队赛 Team up! Team up! Team up!(三,dp,dfs)
  11. echart 广州3d_datav比较echart
  12. ubuntu20.04开机显示recovering journal死机的解决方法
  13. 【看表情包学Linux】进程阻塞 | 轮询检测 | 基于非阻塞等待的轮询方案 | 进程程序替换 | exec 函数簇
  14. [Linux](小白须知)超级用户、普通用户、系统管理员怎么区分
  15. 信号分析——导数(Java/Matlab)
  16. Windows Thin PC x86 正式版下载、安装、汉化 等
  17. 在成长的路上,我们必须与自己坦诚相见
  18. 人工智能之无人驾驶技术到底是怎么回事
  19. 基于python和TensorFlow的电影推荐系统
  20. 如何用游戏培养宝宝的自理能力?

热门文章

  1. 8个独立站海外营销工具
  2. 绝地潜兵服务器不稳定,爽快的合作射爆游戏《绝地潜兵》评测评分汇总
  3. linux trac git,trac安装、配置、中文化、支持git(Linux,Mac)
  4. 线性代数回顾——协方差与逆矩阵
  5. 我的雷电游戏(重力感应控制)
  6. 中国数学的先行者—孙光远先生
  7. 求最长上升子序列长度和输出序列
  8. 本科毕业论文-软件开发类-《基于Android端开关控制系统的设计与实现》-论文模板
  9. Markdown语法大全(超级版)
  10. SAP S4 HANA 安装部署记事四:SAP HANA主机性能测试HWCCT