-- 211.150.223.154 [2004-09-13 00:11:26]

PyTextile

PyTextile是一个Textile的Python实现模块

PyTextile介绍

Python 下的包最初是由Mark Pilgrim完成的,地址在:Mark pytextile

上面有下载链接。不过现在已经由他人来继续维护了,pytextile。现在最新的版本为2.0.8。

有人在Mark的Blog评论中问:reStructuredText与Textile有什么不同呢?

Mark的回答是:

Mark原文如下:

我并未逐字翻译,还有一些自已的理解请见谅。

PyTextile 安装及使用

安装很简单,与一般的模块安装方法一样。

python setup.py install

使用示例:

   1 import textile
   2 a = textile.Textiler(Text) #Text为要处理的文本
   3 print a.process()

Textile可以自已将文档输出,将上面的Text设为:"tell me about textile."。然后执行后就是文档的Html文本了。拷贝下来,保存为html(或改下上面的示例,直接存为文件),在浏览器中就可以看了。

我就是这样用的,更复杂的还没有用到。不过,为了支持 NewEdit 使用我还是改了一下,派生了自已的MyTextiler派,以更很好地使用Unicode。

代码片段如下:

   1     class MyTextiler(textile.Textiler):
   2         def process(self, head_offset=textile.HEAD_OFFSET):
   3             self.head_offset = head_offset
   4         
   5             # Process each block.
   6             self.blocks = self.split_text()
   7         
   8             text = []
   9             for [function, captures] in self.blocks:
  10                 text.append(function(**captures))
  11         
  12             text = '\n\n'.join(text)
  13         
  14             # Add titles to footnotes.
  15             text = self.footnotes(text)
  16         
  17 #           # Convert to desired output.
  18 #           if encoding != 'unicode':
  19 #               text = unicode(text, encoding)
  20 #           if output != 'unicode':
  21 #               text = text.encode(output, 'xmlcharrefreplace')
  22         
  23             return text

上面对unicode的判断注释掉了是因为NewEdit中全部是Unicode,这样不再需要进行编码转换了,如果要保存文件的话,是要进行编辑转换的。那么应该把上面的注释去掉。并不存在'unicode'编码,这里只是为了指明是否是unicode编码而使用。

PyTextile 文档及翻译

现在有英文的文档,是用Textile生成的,翻译一点点来,有兴趣地也贡献啊。

* PyTextileDoc

下载

为了方便大家使用,先在这里放一个最新的版本。textile-2.0.8.tar.gz

讨论

PyTextile (last edited 2009-12-25 07:13:05 by localhost)