分类: 项目管理
2011-08-23 17:23:50
-------------------------------------------
因为要写一些含有源代码的文档,但是使用Word让我感觉很Boring,以前写的文档今天再去看实在有些头大:贴上去的代码相当Ugly,即便花了很长时间调节排版格式最后还是很差强人意,另外从Word中复制其他网站上可能会出现换行符不匹配问题,比如原来是\n,现在是\n\n,每次都要调节。
后来在网上找到了DocBook,以及相当多的文档,但是研究了半天,实在是配置太繁琐,本来是要为书写文档服务,但是又要为配置书写的工具花上几天功夫,后来又找到了高德纳开发的Tex的衍生版本Latex,但是使用起来还是相当不顺手,本来无需太多的复杂功能,却要花费很多时间去研究Latex的语法。怎么办呢? 突然想到以前用到过的一个Wiki,好像具有很好的源码显示功能,但是呢,又必须安装服务器!懒到家了,后来就找到了txt2tags,终于算是满足了我的小小的简单功能要求了。
注:另一篇介绍Docbook的文档在Docbook实践记录可以找到,如果只是基本功能的话,它并没有想象的那么繁琐,只是网上的文档太多写的实在不实用!
1. txt2tags是什么
txt2tags是使用Pthyon语言写的脚本,一个文本格式化和转换工具,能够将带有特定标记的纯文本文件转换为支持的任意一种目标格式,包括:
更多的信息可以从得到,一个中文的指南可以在这里下载
2. 环境
Linux ubuntu 2.6.35-28-generic
txt2tags 2.6 version
3. 安装txt2tags
ubuntu 是自带txt2tags的,如果版本较低的话可以从下载最新版本,或者 apt-get install txt2tags。
强烈建议下载源码并安装,因为vim相关的配置需要下载源码。
4. 配置vim
可以直接使用文本编辑器编辑txt2tags使用的*.t2t文件,但是一个有颜色标注的编辑器是用来提高编辑效减少错误的前提。txt2tags-2.6\extras 源码中提供了相关的脚本。
4.1. txt2tags.vim
txt2tags.vim提供了在vim打开*.t2t文件时的颜色标注功能。将它放到/usr/share/vim/vim72/syntax/下,并编辑/usr/share/vim/vim72/filetype.vim ,在
" Z-Shell script au BufNewFile,BufRead .zprofile,/etc/zprofile,.zfbfmarks setf zsh au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh') au BufNewFile,BufRead *.zsh setf zsh下添加
" txt2tags file au BufNewFile,BufRead *.t2t setf txt2tags此时再使用vim打开*.t2t文件,就会可以看到颜色的变化了:所有的关键字都会用对应的颜色显示出来。
注意:不同的Linux操作系统vim72对应的路径名可能不同。
4.2. txt2tags-compiler.vim
txt2tags-compiler.vim提供了在vim中直接对当前文件转换的功能,这一点对于调试至关重要,因为一个通常的转换命令txt2tags -i test.t2t -t html -o test.html是相当繁琐的。
将txt2tags-compiler.vim放置到/usr/share/vim/vim72/plugin即可。
网上有文档提到需要将let g:txt2tags_executable = "txt2tags"更改为let g:txt2tags_executable = "txt2tags.py" 但是由于ubuntu上/usr/bin/txt2tags是没有后缀.py的,所以无需更改。
如果此时使用vim打开*.t2t文件并尝试使用:make来转换文件将提示txt2tags.error: txt2tags: Error: No target specified (try --help), 网上的文档没有提到为什么,实际上思考一下也会明白:txt2tags支持多种目标文件的输出,但是我们并没有告诉txt2tags需要哪一种文件,最终在userguide-zh.pdf找到了答案,%!Target用来定义缺省的文件格式,添加%!Target: html 到*.t2t文件的开始。此时在vim中直接使用:mak就可以转换了,此时相同目录下将出现同名的但是扩展名为.html的文件了。另外调节了%!Target: html后,在命令行中直接使用
txt2tags test.t2t即可。%!Options代表编译时命令行的其他选项,它不是必需的。
提示:txt2tags-compiler.vim不仅提供了命令mak,还提供了对应的快捷键F5,直接使用F5即可转换。
5. txt2tags的缺点
注意:编辑t2t文件时使用的编码一定要和%!encoding:xxx 一致,否则会出现乱码
以上完全是用txt2tags自动生成的,虽然看起来还很粗陋,毕竟是刚刚开始使用,对各种标记还不是很了解,另外chinaunix似乎对直接黏贴过来的html内容显示有问题,点击查看产生的html。txt2tags源码中提供了丰富samples,通过它掌握txt2tags应该不是一件难事。