Quantcast
Channel: LiangXu Wang » code::blocks
Viewing all articles
Browse latest Browse all 4

代码高亮输出到文本:highlight

0
0

因为要申请计算机软件著作权,需要生成源代码文档。通常,生成源代码文档有两个要求:

  1. 代码可以根据语言规则进行高亮
  2. 可以有前置的行号
  3. 可以批量处理

其中,1和2应该是必须有的,3最好也应该有,不过要是程序自身没有应该也可以通过脚本来进行支持处理。

试验了几个方案:

1. code::blocks方案

codeblocks中有一个code export插件,可以支持代码高亮输出到多种格式,包括html、rtf、odt、pdf格式,输出时自带行号,但缺少选项支持。codeblocks自身作为一个ide,也支持code reformat,因此也可以在输出前先进行format。对中文支持也不错。但测试发现,输出php代码为odt格式时,文档中高亮部分有问题,通常只有前面一部分是正常的,之后高亮就不工作了。备注:使用此插件需要安装contrib包:

sudo apt-get install codeblocks-contrib

2. gnu source highlight

无意中发现ubuntu下还有一个软件:source-highlight-ide,于是安装尝试了一下,发现其只能转换为docbook、latex、xhtml、html,没有我想要的格式。

3. libreoffice的macroformmatter插件

openoffice/libreoffice之前有一个插件可以支持各种代码的高亮,即macroformmatter插件,但安装后发现其不支持我这次要的php代码输出。

4. highlight

搜索的时候,发现这儿的一个需求和我是一致的:

How do I embed source code or HTML in Open Office Org Presentations without using screenshots?

发现其中提到的一个highlight软件可以解决此问题,到其官方网站上查询发现,其提供了两个下载方式,分别是windows下的安装包以及源代码包,开始还以为此软件不支持linux呢,结果在其文档中发现此软件在各发行版中都已经内置,直接安装就可以了。

sudo apt-get install highlight

仓库中的软件版本为3.8,官方网站上最新版本为3.11 beta。

其输出格式支持html、xhtml、rtf、TeX, LaTeX, SVG, BBCode等格式。在ubuntu下默认安装后需要使用命令行操作,试验了一下rtf格式,发现效果很好,上面的123要求都能满足,但是打开转换后的文件发现中文乱码!但html格式是不乱码的。

尝试下载了最新版本,在编译过程也遇到了问题,就先把windows版本先下载下来尝试一下。在试验过程中,发现其输出格式中支持odt格式,试验了一下,用此格式中文是不乱码的,要求都满足了,若最终目的是打印输出的话,选择其中的print样式效果很好的。

在其changelog里发现,odt格式支持是在3.10beta版本中开始支持的。

highlight 3.10 beta

21.07.2012

-fixed HTML ordered lists to improve copy&paste in browsers (suggested by Nash)
-changed default output from HTML 4.01 to HTML5
-changed default HTML font family to include the generic monospace font
-<strong>added ODT Flat XML output format</strong> (--out-format=odt)
-added fontenc package in LaTeX output (patch by Yimin Li)
-fixed RTF hyperlink output in several plug-ins
-removed ctags option (functionality was replaced by plug-in)
-CLI: added --wrap-no-numbers option (patch by Michael Enßlin)
-GUI: replaced Qt file dialogs by native dialogs

Viewing all articles
Browse latest Browse all 4

Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Vimeo 10.6.2 by Vimeo.com, Inc.

Vimeo 10.6.2 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.0 by Vimeo.com, Inc.

Vimeo 10.6.0 by Vimeo.com, Inc.

Re:

Re:





Latest Images

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.1 by Vimeo.com, Inc.

Vimeo 10.6.0 by Vimeo.com, Inc.

Vimeo 10.6.0 by Vimeo.com, Inc.

Re:

Re:

Re:

Re: