Chinaunix首页 | 论坛 | 博客
  • 博客访问: 411877
  • 博文数量: 36
  • 博客积分: 960
  • 博客等级: 准尉
  • 技术积分: 1368
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-13 19:26
文章分类
文章存档

2018年(3)

2012年(6)

2011年(27)

分类: 项目管理

2011-08-23 17:23:50

-------------------------------------------

本文系作者原创, 欢迎大家转载!
转载请注明出处:netwalker.blog.chinaunix.net
-------------------------------------------

因为要写一些含有源代码的文档,但是使用Word让我感觉很Boring,以前写的文档今天再去看实在有些头大:贴上去的代码相当Ugly,即便花了很长时间调节排版格式最后还是很差强人意,另外从Word中复制其他网站上可能会出现换行符不匹配问题,比如原来是\n,现在是\n\n,每次都要调节。

后来在网上找到了DocBook,以及相当多的文档,但是研究了半天,实在是配置太繁琐,本来是要为书写文档服务,但是又要为配置书写的工具花上几天功夫,后来又找到了高德纳开发的Tex的衍生版本Latex,但是使用起来还是相当不顺手,本来无需太多的复杂功能,却要花费很多时间去研究Latex的语法。怎么办呢? 突然想到以前用到过的一个Wiki,好像具有很好的源码显示功能,但是呢,又必须安装服务器!懒到家了,后来就找到了txt2tags,终于算是满足了我的小小的简单功能要求了。

 

注:另一篇介绍Docbook的文档在Docbook实践记录可以找到,如果只是基本功能的话,它并没有想象的那么繁琐,只是网上的文档太多写的实在不实用!

 

1. txt2tags是什么

txt2tags是使用Pthyon语言写的脚本,一个文本格式化和转换工具,能够将带有特定标记的纯文本文件转换为支持的任意一种目标格式,包括:

  • HTML文档
  • XHTML文档
  • SGML文档
  • LaTeX源文件
  • Unix手册页(man page)
  • MagicPoint演示文稿
  • Wikipedia维基百科页面
  • Google Wiki 页面
  • DokuWiki页面
  • MoinMoin页面
  • PageMaker 6.0 文档
  • 纯文本文件

更多的信息可以从得到,一个中文的指南可以在这里下载

 

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的缺点

 

  • 在vim中编译,中文输入法实在不便,这可能需要更新一下Linux输入法了。
  • 有些标记似乎在嵌套的时候有问题,有待研究
  • 有些输出和网站提供的演示输出不同,比如"```"标记部分并不带阴影,可能需要自己提供css来实现了。
  • txt2tags对于图片的控制只能是简单的联入,而不能控制属性
  • txt2tags使用标记,需要不停在中文和Ascii码切换,幸亏不是太多
  • txt2tags不能直接输出pdf格式,需要走t2t->tex->pdf。

    虽然如此,txt2tags已经可以满足大多数的文档的编辑,特别是格式比较复杂的文档的编辑,并且可以方便的到处各类格式的最终文件。另外,对于一个喜欢折腾的人,自己可以直接更改txt2tags Pthyon脚本,来扩充自己的需要。txt2tags中的宏也是一个亮点。

注意:编辑t2t文件时使用的编码一定要和%!encoding:xxx 一致,否则会出现乱码

以上完全是用txt2tags自动生成的,虽然看起来还很粗陋,毕竟是刚刚开始使用,对各种标记还不是很了解,另外chinaunix似乎对直接黏贴过来的html内容显示有问题,点击查看产生的html。txt2tags源码中提供了丰富samples,通过它掌握txt2tags应该不是一件难事。

阅读(4310) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~