跳转到主要内容

支持Pelican的A/B测试

项目描述

Build status

这是一个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.urlURLWrapper.url 类属性,以便像 {{ article.url }}{{ author.url }} 这样的内容指向同一实验的 URL。换句话说,每个实验都生成自己的 HTML 和 URL 结构,使用实验名称作为前缀。例如,'blog/about-me.html' 变为 'v1/blog/about-me.html'。

DELETE_OUTPUT_DIRECTORY

默认情况下,publishconf.pyDELETE_OUTPUT_DIRECTORY 设置为 True,这会导致 pelican-ab 抛出异常。问题是您需要为每个想要在线发布的实验执行 make publishmake 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 (4.4 kB 查看哈希值

上传时间 源代码

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面