支持Pelican的A/B测试
项目描述
这是一个Pelican的A/B测试插件。它允许你在模板中编码实验,并通过AB_EXPERIMENT环境变量渲染选择的实验。如果未指定AB_EXPERIMENT,则‘control’是默认的实验名称!
安装方法
pip install pelican-ab
在pelicanconf.py中启用插件,如下所示
PLUGIN_PATHS = ['path/to/pelican-ab'] PLUGINS = ['pelican_ab']
PLUGIN_PATHS可以是相对于你的设置文件的路径或绝对路径。或者,如果插件在可导入的路径中,你可以省略PLUGIN_PATHS并列出它们
PLUGINS = ['pelican_ab']
或者你可以直接导入插件并给出模块名称
import pelican_ab PLUGINS = [pelican_ab]
模板语法由jinja-ab扩展提供,该扩展将自动加载
{% experiment control %}This is the control{% endexperiment %} {% experiment v1 %}This is version 1{% endexperiment %}
还支持替代语法
{% ab control %}This is the control{% endab %} {% ab v1 %}This is version 1{% endab %}
你还可以在单个模板中将这两个标签混合使用
{% experiment control %}This is the control{% endexperiment %} {% ab v1 %}This is version 1{% endab %}
支持单引号和双引号命名的名称!
如何测试和发布实验
对于本地开发,使用以下命令
AB_EXPERIMENT="xy" make regenerate
或
AB_EXPERIMENT="xy" make html
与make serve一起使用以审查实验。当你准备好在线发布它们时,使用
rm -rf output/ make github AB_EXPERIMENT="01" make github AB_EXPERIMENT="02" make github
有关DELETE_OUTPUT_DIRECTORY的部分了解更多信息。
输出文件
将你的实验编码到主题模板后,你可以像这样生成结果HTML文件
AB_EXPERIMENT="v1" make html
渲染实验时,生成的HTML文件将保存到OUTPUT_PATH加上实验名称。例如‘output/v1’,‘output/v2’,等等。控制实验将直接在OUTPUT_PATH下渲染。
此插件自动更新 Pelican 的 Content.url 和 URLWrapper.url 类属性,以便像 {{ article.url }} 和 {{ author.url }} 这样的内容指向同一实验的 URL。换句话说,每个实验都生成自己的 HTML 和 URL 结构,使用实验名称作为前缀。例如,'blog/about-me.html' 变为 'v1/blog/about-me.html'。
DELETE_OUTPUT_DIRECTORY
默认情况下,publishconf.py 将 DELETE_OUTPUT_DIRECTORY 设置为 True,这会导致 pelican-ab 抛出异常。问题是您需要为每个想要在线发布的实验执行 make publish 或 make github。当 DELETE_OUTPUT_DIRECTORY 为 True 时,先前的内容将被删除,并且**只**会发布该变体!这将破坏您的网站,因为一切都将消失!
CHANGELOG
- v0.2.4(2016年12月25日)
添加更多测试
在测试期间启用 pylint
修复了错误的 super() 调用
- v0.2.3(2016年12月13日)
为 Pelican v3.7.0 重新构建,现在期望在 JINJA_ENVIRONMENT 设置中使用 Jinja2 扩展,而不是 JINJA_EXTENSIONS。
- v0.2.2(2016年5月12日)
如果 DELETE_OUTPUT_DIRECTORY 设置为 True,则引发 RuntimeError
- v0.2.1(2016年5月11日)
更新了 README
- v0.2.0(2016年5月10日)
首次发布
贡献
源代码和问题跟踪器位于 https://github.com/MrSenko/pelican-ab
商业支持
Mr. Senko 提供开源库的商业支持,如果您需要的话!
项目详情
pelican-ab-0.2.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e91d86a6b1697da0f664f967bebdc044f724648f206727cec84b41e2f04e49a2 |
|
MD5 | 31b4dd989f047a7aa39e173e804d2aa1 |
|
BLAKE2b-256 | b85b320f68ffeb1e3672bed7e3bc3e7d9aeb40c60f5dd0137a7cdf8d726c1381 |