{ "info": { "author": "Mr. Senko", "author_email": "atodorov@mrsenko.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "Pelican A/B testing plugin\n--------------------------\n\n.. image:: https://img.shields.io/travis/MrSenko/pelican-ab/master.svg\n :target: https://travis-ci.org/MrSenko/pelican-ab\n :alt: Build status\n\n\nThis is an A/B testing plugin for Pelican. It allows you to encode\nexperiments in your templates and renders the experiment selected by\nthe ``AB_EXPERIMENT`` environment variable. 'control' is the default\nexperiment name if ``AB_EXPERIMENT`` is not specified!\n\nTo install::\n\n pip install pelican-ab\n\n\nEnable the plugin in ``pelicanconf.py`` like this::\n\n\n PLUGIN_PATHS = ['path/to/pelican-ab']\n PLUGINS = ['pelican_ab']\n\n``PLUGIN_PATHS`` can be a path relative to your settings file or an absolute\npath. Alternatively, if plugins are in an importable path, you can omit\n``PLUGIN_PATHS`` and list them::\n\n PLUGINS = ['pelican_ab']\n\nor you can ``import`` the plugin directly and give the module name instead::\n\n import pelican_ab\n PLUGINS = [pelican_ab]\n\n\nThe template syntax is provided by the\n`jinja-ab `_ extension\nwhich is automatically loaded::\n\n {% experiment control %}This is the control{% endexperiment %}\n {% experiment v1 %}This is version 1{% endexperiment %}\n\nAlternative syntax is also supported::\n\n {% ab control %}This is the control{% endab %}\n {% ab v1 %}This is version 1{% endab %}\n\nYou can also mix the two tags in a single template::\n\n {% experiment control %}This is the control{% endexperiment %}\n {% ab v1 %}This is version 1{% endab %}\n\nSingle and double quoted names are also supported!\n\n\nHow to test and publish experiments\n===================================\n\nFor local development use the command::\n\n AB_EXPERIMENT=\"xy\" make regenerate\n\nor::\n\n AB_EXPERIMENT=\"xy\" make html\n\ntogether with ``make serve`` to review the experiments.\nWhen you are ready to publish them online use::\n\n rm -rf output/\n make github\n AB_EXPERIMENT=\"01\" make github\n AB_EXPERIMENT=\"02\" make github\n\nSee the section about ``DELETE_OUTPUT_DIRECTORY`` for more info.\n\nOutput files\n============\n\nAfter encoding your experiments into the theme templates you can generate the\nresulting HTML files like this::\n\n AB_EXPERIMENT=\"v1\" make html\n\nWhen rendering experiments the resulting HTML files are saved under\n``OUTPUT_PATH`` plus the experiment name. For example 'output/v1', 'output/v2',\netc. The control experiments are rendered directly under ``OUTPUT_PATH``.\n\nThis plugin automatically updates the ``Content.url`` and ``URLWrapper.url``\nclass properties from Pelican so that things like ``{{ article.url }}``\nand ``{{ author.url }}``\nwill point to URLs from the same experiment. In other words each experiment\nproduces its own HTML and URL structure, using the experiment name as\nprefix. For example 'blog/about-me.html' becomes 'v1/blog/about-me.html'.\n\n\nDELETE_OUTPUT_DIRECTORY\n========================\n\nBy default ``publishconf.py`` has ``DELETE_OUTPUT_DIRECTORY`` set to True\nwhich causes pelican-ab to raise an exception. The problem is that you need to\nexecute ``make publish`` or ``make github`` for each experiment you'd like to\npublish online. When ``DELETE_OUTPUT_DIRECTORY`` is True the previous\ncontents will be deleted and **ONLY** that variation will be published!\nThis will break your website because everything will be gone!\n\nCHANGELOG\n=========\n\n* v0.2.4 (Dec 25th 2016)\n - add more tests\n - enable pylint during testing\n - fix bad ``super()`` call\n* v0.2.3 (Dec 13th 2016)\n - rebuilt for Pelican v3.7.0 which now expects\n Jinja2 extensions in the ``JINJA_ENVIRONMENT`` setting instead of\n ``JINJA_EXTENSIONS``.\n* v0.2.2 (May 12th 2016)\n - raise RuntimeError if ``DELETE_OUTPUT_DIRECTORY`` is set to True\n* v0.2.1 (May 11th 2016)\n - updated README\n* v0.2.0 (May 10th 2016)\n - initial release\n\n\nContributing\n============\n\nSource code and issue tracker are at https://github.com/MrSenko/pelican-ab\n\n\nCommercial support\n==================\n\n`Mr. Senko `_ provides commercial support for open source\nlibraries, should you need it!", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MrSenko/pelican-ab", "keywords": "A/B testing,Pelican", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "pelican-ab", "package_url": "https://pypi.org/project/pelican-ab/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pelican-ab/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/MrSenko/pelican-ab" }, "release_url": "https://pypi.org/project/pelican-ab/0.2.4/", "requires_dist": null, "requires_python": null, "summary": "Support A/B testing for Pelican", "version": "0.2.4" }, "last_serial": 2538289, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "4fa1ff08d2af65caa950510f19845a64", "sha256": "d3575e8b3229c09a529b08cc253823c864a9a5dda471fd05fa3a92ccbd8ef05e" }, "downloads": -1, "filename": "pelican-ab-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4fa1ff08d2af65caa950510f19845a64", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2340, "upload_time": "2016-05-10T23:03:00", "url": "https://files.pythonhosted.org/packages/13/85/00285fbfa6047ca24bbc430812c8c0dc41c195fe3ca377519a2d98b8f84d/pelican-ab-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "7d79c67d185f95faed8fc24f58ef95a8", "sha256": "0f5d5f04a38a1f1184bb49f272c60fd20db4555e61f278aeac238cbabeb5fab0" }, "downloads": -1, "filename": "pelican-ab-0.2.1.tar.gz", "has_sig": false, "md5_digest": "7d79c67d185f95faed8fc24f58ef95a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3375, "upload_time": "2016-05-11T19:14:37", "url": "https://files.pythonhosted.org/packages/11/d3/7dfb73084c21f10ea07f935c843b65183158478d3fce47ae616fda565a23/pelican-ab-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "422196e3dd5306c0d22c957c464b006b", "sha256": "a11991757741c41495a5e65ecc0f60c22ddc019e323078935e2b08c28ae5b6e4" }, "downloads": -1, "filename": "pelican-ab-0.2.2.tar.gz", "has_sig": false, "md5_digest": "422196e3dd5306c0d22c957c464b006b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3937, "upload_time": "2016-05-12T10:01:06", "url": "https://files.pythonhosted.org/packages/dc/d1/017a12925f38b2c99cad209031b32519900be71b64a6dfe9edc5b667c1f9/pelican-ab-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "621f58e9dfa499beebaa7e0ceba6c1b2", "sha256": "d022ca8264313a7e5bab24a99b00a925e9cd667216b829f2f342516e4424fa85" }, "downloads": -1, "filename": "pelican-ab-0.2.3.tar.gz", "has_sig": false, "md5_digest": "621f58e9dfa499beebaa7e0ceba6c1b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4187, "upload_time": "2016-12-13T08:42:27", "url": "https://files.pythonhosted.org/packages/04/d6/ffb57e09a90345dcdf8a4fbed87206c3f38d0919c82f7677c9508a2638fa/pelican-ab-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "31b4dd989f047a7aa39e173e804d2aa1", "sha256": "e91d86a6b1697da0f664f967bebdc044f724648f206727cec84b41e2f04e49a2" }, "downloads": -1, "filename": "pelican-ab-0.2.4.tar.gz", "has_sig": false, "md5_digest": "31b4dd989f047a7aa39e173e804d2aa1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4355, "upload_time": "2016-12-24T22:04:10", "url": "https://files.pythonhosted.org/packages/b8/5b/320f68ffeb1e3672bed7e3bc3e7d9aeb40c60f5dd0137a7cdf8d726c1381/pelican-ab-0.2.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "31b4dd989f047a7aa39e173e804d2aa1", "sha256": "e91d86a6b1697da0f664f967bebdc044f724648f206727cec84b41e2f04e49a2" }, "downloads": -1, "filename": "pelican-ab-0.2.4.tar.gz", "has_sig": false, "md5_digest": "31b4dd989f047a7aa39e173e804d2aa1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4355, "upload_time": "2016-12-24T22:04:10", "url": "https://files.pythonhosted.org/packages/b8/5b/320f68ffeb1e3672bed7e3bc3e7d9aeb40c60f5dd0137a7cdf8d726c1381/pelican-ab-0.2.4.tar.gz" } ] }