【发布时间】:2010-07-04 21:20:15
【问题描述】:
我正在使用重新结构化的文本来创建一些简单的网站。 所以我有很多 *.rst 文件,我想在其中添加 Google Analytics 代码。 但据我所知,不可能添加这样的东西?!
我正在使用 rst2html 将文件转换为 html。
【问题讨论】:
标签: python restructuredtext docutils
我正在使用重新结构化的文本来创建一些简单的网站。 所以我有很多 *.rst 文件,我想在其中添加 Google Analytics 代码。 但据我所知,不可能添加这样的东西?!
我正在使用 rst2html 将文件转换为 html。
【问题讨论】:
标签: python restructuredtext docutils
我刚刚发现了一种将自定义内容添加到 .rst 文件的简单方法。您只需要修改 html 文件的模板即可。
新建一个模板template.txt,并为其添加以下内容(基于默认模板):
%(head_prefix)s
%(head)s
<!--your tracking code-->
%(stylesheet)s
%(body_prefix)s
%(body_pre_docinfo)s
%(docinfo)s
%(body)s
%(body_suffix)s
这种格式很容易解释,它也是删除默认 CSS 并在模板中指定指向另一个 CSS 的链接等的好方法。
现在您可以将自定义模板与 rst2html 编写器一起使用:
rst2html.py --template=template.txt document.rst
【讨论】:
我猜,您必须扩展 docutils HTML Translator 或 Writer 以包含 GA。
如果可能,我建议放弃 rst2html 和普通的 docutils 并改用 Sphinx。它基于 docutils,但功能更强大。它的 HTML 模板可以轻松扩展以包含任意 HTML,例如用于 Google Analytics 的脚本标签。
【讨论】:
您可以使用 .. raw:: directive 将 html 插入到 rst 文件中。
【讨论】:
作为解决您的问题的方法,您可以使用大量搜索/替换工具将 Google Analytics(分析)代码添加到文件中通过翻译器。只需搜索</body> 标签并将其替换为<!--your tracking code--></body>。
我检查了你是否可以在 reStructuredText 中包含原始 HTML(并且保持原样),但似乎不可能......
【讨论】:
.. comment语法在RST中添加一个不可见的文本,它会被转换成HTML转换的注释