全栈工程师的百宝箱:黑魔法之文档篇

今天收集Session数据的时候收集到了这样的一条,就是“全栈工程师的工具箱”。星期一又想不到什么可以写的内容,就来这样的一篇好了。 以下的内容都是压箱底的,找个地方好好收藏。这篇是文档相关篇,介绍一些实用的写作工具——都是脚本工具。作为近乎标准的Markdown就不说了~~,它也算不上是黑魔法~~。

1

Pandoc

Pandoc是一个标记语言转换工具,可实现不同标记语言间的格式转换,堪称该领域中的“瑞士军刀”。

可以将 markdown、 reStructuredText、 textile、 HTML、 DocBook、 LaTeX、 MediaWiki markup、 TWiki markup、 OPML、 Emacs Org-Mode、 Txt2Tags、 Microsoft Word docx、 LibreOffice ODT、 EPUB、 Haddock markup

转化为:

XHTML、 HTML5、 以及HTML幻灯片Slidy, S5,或者DZSlides、Microsoft Word docx、 OpenOffice/LibreOffice ODT、 OpenDocument XML、EPUB、DocBook、 GNU TexInfo、 Groff man pages、LaTeX、 ConTeXt、 LaTeX Beamer slides、PDF via LaTeX、Markdown、 reStructuredText、 AsciiDoc、 MediaWiki markup、 Emacs Org-Mode、 Textile

上图

我最常用的就是:将md转化为workd及pdf。我的毕业论文及之前的几本电子书都是这么做的,它是一个命令行工具,安装方式:

  • Windows: choco install pandoc
  • Ubuntu/CentOS/OpenSUSE: apt-get intall pandoc 或者 yum install pandoc
  • Mac OS: brew install pandoc

使用方式如下:

pandoc fullstack.md -o fullstack.docx

如果要转为PDF,则需要另外的一个工具——LaTeX

2

Graphviz

Graphviz (英文:Graph Visualization Software的缩写)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。它也提供了供其它软件使用的库。

简单的来说,就是将代码转换为图形:

它让我最惊讶的是DOT语言,简直是以我们平时的用法来定义的。上面的图形的代码类似于这样的:

home->products->widgets

又是一个让人惊呆的黑科技,这才是人类应该使用的语言。它可以支持PostScript,PDF,SVG,PNG等一系列的格式,用法

 dot -T png phodal.dot -o phodal.png

简单、粗暴到没有朋友。

3

ImageMagick

ImageMagick (TM) 是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。

来自重点:可以支持超过两百多种格式。It can read and write images in a variety of formats (over 200) including PNG, JPEG, JPEG-2000, GIF, TIFF, DPX, EXR, WebP, Postscript, PDF, and SVG.

它提供了一个命令行工具叫:convert,这可以自由地转换图片的形式,如:

convert image.jpg image.png

还可以加各种效果,如:

顺便做个介绍:上面的这个人叫瑞典模特儿莱娜·瑟德贝里,是在刊于1972年11月号《花花公子》杂志上的一张裸体插图照片的一部分。她的脸部与裸露的肩部已经变成了事实上的工业标准。

又是一个简单、粗暴到没有朋友的工具。

4

Tex

TeX是由是一个由美国计算机教授高德纳(Donald Ervin Knuth)编写的功能强大的排版软件。顺便推荐一下他写的一本书:《计算机程序设计艺术》。因为:

高德纳最早开始自行编写TEX的原因是当时十分粗糙的排版水平已经影响到他的巨著《计算机程序设计艺术》的印刷质量。他以典型的黑客思维模式,最终决定自行编写一个排版软件:TEX。他原本以为他只需要半年时间,在1978年下半年就能完成,但最终他用了超过十年时间,直到1989年TEX才最终停止修改。

这直接让我想起Martin Fowler在写《领域特定语言》里好像也是用DSL~~。Tex的最大优点是可以写出下面的这本复杂的公式:

LaTeX 建立在 TeX 之上的工具,它在TeX的基础上大大改善了易用性。对了,如果只是一般的用途的话,就没有必要拿去装逼了~。

它也是工作于命令行上的工具。

本文分享自微信公众号 - phodal(phodal-weixin)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-04-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Porschev[钟慰]的专栏

Windows Server 2008 R2 配置AD(Active Directory)域控制器

配置环境 Windows版本:Windows Server 2008 R2 Enterprise                      S...

61450
来自专栏Porschev[钟慰]的专栏

Windows Server 2008R2 配置网络负载平衡(NLB)

配置环境   VMware:(版本10.0.01)   主集群IP:192.168.220.102   VM1:192.168.220.103   VM2:19...

26870
来自专栏张善友的专栏

图形化的2008R2 Server Core 配置管理工具

微软新一代企业级服务器操作系统平台 - Windows Server 2008 R2 系列中包含了一个全新操作体验的版本即 Server Core,包含在Win...

21990
来自专栏Porschev[钟慰]的专栏

Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站

配置环境Windows版本:Windows Server 2008 R2 Enterprise                      Service Pa...

47160
来自专栏张善友的专栏

Windows Server 2008 R2 网络负载平衡 (NLB)资料汇总

Windows Server 2008 R2 中的网络负载平衡 (NLB) 功能可以增强 Internet 服务器应用程序 [如在 Web、FTP、防火墙、代理...

23680
来自专栏Porschev[钟慰]的专栏

Windows Server 2008R2配置MySQL Cluster

配置环境   VMware:(版本10.0.01)   操作系统:Windows Server 2008 R2 Enterprise   VM1:192.168...

318100
来自专栏Porschev[钟慰]的专栏

C# AD(Active Directory)域信息同步,组织单位、用户等信息查询

接上篇 Windows Server 2008 R2 配置AD(Active Directory)域控制器 对AD域结合常见需求用C#进行一些读取信息的操作...

61050
来自专栏张善友的专栏

在Windows 7/Server 2008 R2上部署asp.net 1.1程序

.NET 1.1只有32位的,Windows Server 2008 R2只有64位的,可以通过WOW64运行32位应用程序,按照How to install ...

26750
来自专栏张善友的专栏

Windows Server AppFabric Caching

这套 AppFabric Caching 比我用过的 memcached 复杂多了,MSDN有一篇文章进行介绍Introduction to Caching w...

23390
来自专栏张善友的专栏

Windows Server 2003网络负载均衡的实现

       在现行的许多网络应用中,有时一台服务器往往不能满足客户端的要求,此时只能通过增加服务器来解决问题。   那么,有没有一个办法或者技术来解决此类问题...

23860

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励