如何将Google Analytics添加到reStructuredText?

3

我正在使用reStructured text创建一些简单的网站。 所以我有很多*.rst文件,我想在其中添加Google Analytics代码。 但据我所知,这是不可能的?!

我正在使用rst2html将文件转换为html。

4个回答

7
我刚刚发现了一种简单的方法来向.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并在模板中指定另一个链接等。

现在您可以使用rst2html编写器来使用您的自定义模板:

rst2html.py --template=template.txt document.rst

2

我想,您需要扩展docutils HTML翻译器或编写器以包含GA。

如果可能的话,我建议放弃rst2html和纯文本docutils,改用Sphinx。它基于docutils,但功能更强大。其HTML模板可以轻松扩展,包括Google Analytics的脚本标签。


我会看看Sphinx。谢谢。 - Mark
1
Sphinx非常适合用于手册,但对于网站,您可能更喜欢rest2web http://www.voidspace.org.uk/python/rest2web/。 - Matti Pastell

2

不幸的是,我需要将HTML添加到标题中。就我所见,这似乎无法使用raw::指令实现? - Mark
在使用GA时,您无需将代码添加到标题中,而是需要将其放置在</body>标记之前,这意味着您需要将其放置在.rst文档的末尾位置。 - Matti Pastell
谷歌说: 复制以下代码,然后将其粘贴到每个要跟踪的页面上,紧接在结束头标签之前。但我也发现了这个链接: http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=55488我想把它添加到头部可能更好... - Mark

1

作为解决问题的一种方法,您可以使用批量搜索/替换工具,在文件经过翻译后将Google Analytics代码添加到文件中。只需搜索</body>标记并用<!--your tracking code--></body>替换即可。

我检查了一下是否可以在reStructuredText中包含原始HTML(并使其保持不变),但似乎不可能...


实际上,您可以使用 .. comment 语法在 RST 中添加不可见文本,它将在转换为 HTML 时转换为注释。 - mykhal
2
我认为您不能包含HTML标记...那是一条注释。 - alecwh
好主意!谢谢。但我需要更全面的东西。 - Mark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接