2
我试图将端口pydoctor转换为twisted.web.template并且遇到了一个非常基本的问题:pydoctor使用epydoc将docstrings呈现为HTML,但我无法请参阅将此HTML包含在生成的页面中而不会转义的方法。我能做什么?等效于nevow.tags.raw twisted.web.template
我试图将端口pydoctor转换为twisted.web.template并且遇到了一个非常基本的问题:pydoctor使用epydoc将docstrings呈现为HTML,但我无法请参阅将此HTML包含在生成的页面中而不会转义的方法。我能做什么?等效于nevow.tags.raw twisted.web.template
有些故意没有办法在不解析的情况下将HTML插入页面; twisted.web.template
对于产生正确的输出比nevow更有一点坚持。
有几种解决方法。
Deferred
对象,并在第一个对象流之后但在第二个对象流之前插入.write
。这种毛病,但它有效地表达你的意图:)。XMLString
或类似的方法将epydoc的输出重新解析为HTML,以便twisted.web.template
可以正确写出它。这将“浪费”一点CPU,但在我看来,它将是值得的(A)压力测试它会给予和(B)的保证 - 假设t.w.t
是正确的 - 它会给你你发出有效的HTML。当我写这个答案,但是,我意识到,2点通常是不可能与twisted.web.template当前公共API任意的HTML。理想情况下,您可以使用html5lib
解析这些内容,然后将解析的输入转储到文档树中。
如果您不介意使用私有API,可以将html5lib's SAX support连接到我们用来加载模板的internal SAX parser。
当然,真正的解决办法是fix the ticket you already filed,所以你不必使用私有API扭曲本身以外...
感谢确认我的怀疑,有这个今天所做的任何设施。我会首先给选项2一个去。 – mwhudson