{ "info": { "author": "Aamir Adnan", "author_email": "s33k.n.d3str0y@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7" ], "description": "django-joyride\r\n==============\r\n\r\nA django application which gives flexibility to configure Guided Tours\r\non your site through admin panel.\r\n\r\n- This application is built on top of jQuery plugin `zurb-joyride `__.\r\n\r\nInstallation\r\n============\r\n\r\n- Install from PyPI with ``easy_install`` or ``pip``:\r\n\r\n ::\r\n\r\n pip install django-joyride\r\n\r\n- To use ``django-joyride`` in your Django project:\r\n\r\n 1. Add ``joyride`` to your ``INSTALLED_APPS`` setting.\r\n 2. Run ``syncdb`` command to initialise the ``joyride`` database tables\r\n 3. Run ``collectstatic`` command to collect the static files of joyride\r\n into ``STATIC_ROOT``\r\n\r\nConfiguration\r\n=============\r\n\r\nAvailable settings:\r\n\r\n- ``JOYRIDE_JQUERY_URL``\r\n - Set this to different version of jquery in your static folder, If you\r\n wish to use a different version of jQuery, or host it yourself\r\n\r\n- e.g. ``JOYRIDE_JQUERY_URL = 'joyride/js/jquery.min.js'`` This will\r\n use the jQuery available at ``STATIC_URL/joyride/js/jquery.min.js``.\r\r A relative ``JOYRIDE_JQUERY_URL`` is relative to ``STATIC_URL``.\r\n\n - Set this to ``None`` if you have already included jQuery in your\r\n template so that ``joyride_media`` and ``joyride_js`` template tag\r\n should not include jQuery to avoid conflict.\r\n\n - e.g. ``JOYRIDE_JQUERY_URL = None``\r\n\r\n- ``JOYRIDE_JQUERY_COOKIE_URL``\r\n - Same settings as ``JOYRIDE_JQUERY_URL``, it decide whether to include\r\n or not to include the ``jquery.cookie.js``. This should be included\r\n if you are going to use the ``zurb-joyride`` option ``cookieMonster``\r\n\r\n- ``JOYRIDE_JQUERY_MODERNIZR_URL``\r\n - Same settings as ``JOYRIDE_JQUERY_URL``, it decide whether to include\r\n or not to include the jquery modernizr.\r\n\r\n- ``JOYRIDE_LIB_URL``\r\n - Set this to use latest version of ``zurb-joyride`` js library\r\n instead. This package already contains this library with some bug\r\n fixes. It is strongly suggested that you should not change this\r\n setting until ``zurb-joyride`` apply some fixes which I have posted\r\n there, check status of `Issue 161 `__\r and `Issue 167 `__\r\n\r\nAdd joyride tours from admin\r\n============================\r\n\r\n- The model and model fields are self explanatory. All model fields\r\n have help text for better understanding. Still if you want more\r\n documentation on it then check the comprehensive `documentation `__ on ``zurb-joyride``\r\n- Following model fields are extra and comes in handy:\r\n - ``url_path``\r\n\r\n - The url e.g. ``/about/`` or url regex ``/abc/\\d+/`` of the page\r\n for which you are creating the joyride tour. Later on you can use\r\n this as a parameter in template tags to filter joyrides based on\r\n ``request.path``\r\n\r\n - The **BOTTLENECK** of ``zurb-joyride``\r\n\r\n - ``showJoyRideElement`` and ``showJoyRideElementOn`` fields\r\n - Arrggh! it is not possible to use multiple joyrides on single page\r\n unless previous joyrides are destroyed. So in order to overcome\r\n that situation sometime you might want to activate the second\r\n joyride tour on some event. Lets say we want our second joyride to\r\n be activated when user ``click`` on some element whose id or class\r\n is ``abc`` then you need to set ``showJoyRideElement=#abc`` and\r\n ``showJoyRideElementOn=click``.\r\r\n - ``destroy`` field\r\n - IDs(slug) of joyrides which should be destroyed before invoking\r\n this joyride e.g. ``destroy=#abc, #cde``\r\n\r\nTemplate Tags\r\n=============\r\n\r\n1. **Include The Media**\r\n\r\n - Load the django-joyride template tags ``{% load joyride_tags %}``\r\n - Include the media (css and js files) ``{% joyride_media %}``\r\n\r\n - By default the ``joyride_media`` tag also includes ``jQuery``,\r\n ``jQuery Modernizer`` and ``jQuery Cookie`` based on the value of\r\n your ``JOYRIDE_JQUERY_URL``, ``JOYRIDE_JQUERY_MODERNIZR_URL`` and\r\n ``JOYRIDE_JQUERY_COOKIE_URL`` settings. To suppress the inclusion\r\n of these libraries (if you are already including it yourself), set\r\n these settings to ``None``.\r\n |\r\n If you prefer to link CSS and Javascript from different locations,\r\n the ``joyride_media`` tag can be replaced with two separate tags,\r\n ``joyride_css`` and ``joyride_js``. ``joyride_js`` accepts parameters\r\n to suppress jQuery, jQuery Modernizr and jQuery Cookie inclusion at\r\n template level also, just like ``joyride_media``\r\n\n - e.g.\r\n ``{% joyride_js no_jquery=\"true\" no_jquery_modernizr=\"true\" %}``\r\n\r\n1. **Include the joyride tour(s)**\r\n\r\n - You need to use ``get_joyrides``, ``include_joyrides`` and\r\n ``get_joyride``, ``include_joyride`` to include multiple joyride\r\n tours or single joyride tour respectively in template.\r\n - ``get_joyrides`` and ``get_joyride`` both tags accept parameters to\r\n filter the joyrides. Following filters are common in both:\r\n\n - ``url_path`` filter joyrides by url path.\r\n - e.g. ``{% get_joyrides url_path=request.path as joyrides %}``\r\n - If you have left ``url_path`` empty while configuring joyride in\r\n admin then in order to get those joyride whose ``url_path`` is\r\n empty you would do ``{% get_joyrides url_path=\"\" as joyrides %}``\r\n - ``for_user`` filter joyrides by user if you are using\r\n ``JoyRideHistory`` model to keep track of joyrides with respect to\r\n user.\r\n - e.g. ``{% get_joyrides for_user=request.user as joyrides %}`` #\r\n this will get all joyrides for user which are not viewed or\r\n cancelled by user.\r\n - ``exclude_viewed`` (default=True) if you want to include all\r\n joyrides for user irrespective of seen/cancelled or not\r\n - e.g.\r\n ``{% get_joyrides for_user=request.user exclude_viewed=False %}``\r\n - ``slug`` only used with ``get_joyride`` to get single joyride.\r\n - e.g. ``{% get_joyride \"my-tour-slug\" %}``\r\n\r\n - Include Multiple joyrides\r\n\r\n ::\r\n\r\n {% get_joyrides as joyrides %}\r\n {% include_joyrides joyrides %}\r\n\r\n - Include Single joyride\r\n\r\n ::\r\n\r\n {% get_joyride \"my-tour-slug\" as joyride %}\r\n {% include_joyride joyride %}\r\n\r\nJoyRideHistory Model\r\n====================\r\n\r\n- This model is only used if you have registered users on your site and\r\n you want to keep track of joyrides which are already viewed by user\r\n so that those joyrides should never be shown to user again. It is up\r\n to you how you are going to make use of this table. Below is an\r\n example:\r\n |\r\n Set ``postRideCallback=mark_viewed_joyride`` (A method to call once the\r\n tour closes (cancelled or complete)) in admin. Write the javascript\r\n callback ``mark_viewed_joyride`` some where in your template:\r\n ::\r\r\n function mark_joyride(index, tip, id){\r $.ajax({\r url: '{% url mark_joyride %}',\r data: {\"slug\": id},\r dataType: 'text',\r success: function(){\r $(\"#\"+id).remove(); // remove the element also from dom\r }\r });\r }\r\n\n The view for ``{% url mark_joyride %}`` would be:\r\n ::\r\r\n @login_required\r def mark_joyride(request):\r from joyride.models import JoyRide, JoyRideHistory\r slug = request.GET.get('slug')\r joyride = get_object_or_404(JoyRide, slug=slug)\r user = request.user\r obj, created = JoyRideHistory.objects.get_or_create(user=user, joyride=joyride)\r if not created:\r obj.viewed = True\r obj.save()\r return HttpResponse(json.dumps({}), content_type='application/json')\r\r\nThanks To\r\n=========\r\n\r\n- `zurb-joyride `__ This package is\r\n built on top of it.\r\n- `django-markitup `__\r\n for some help in template tags.\r\n\n\nChangelog Summary\n=================\n\n### v0.1.1\n\n* Lots of Bug Fixes\n* postRideCallback now accepts third parameter the `parent_id` on which the joyride was initialized e.g. id of
    tag\n\n### v0.1.0\n\n* django-joyride released\n\n\nTODO\n=====\n\n* Testing accross various django and python version", "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/intellisense/django-joyride", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "django-joyride", "package_url": "https://pypi.org/project/django-joyride/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-joyride/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/intellisense/django-joyride" }, "release_url": "https://pypi.org/project/django-joyride/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "A Django application that eases the guided tour", "version": "0.1.2" }, "last_serial": 1445342, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b460fa0b7444388926085a7246dd0bf0", "sha256": "778e0f701f43351b1cfe342a65f459bf85483601912d34f8b0c13ff290dfe638" }, "downloads": -1, "filename": "django-joyride-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b460fa0b7444388926085a7246dd0bf0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 99022, "upload_time": "2013-12-03T11:23:39", "url": "https://files.pythonhosted.org/packages/d6/20/c3ca71e03d3a1369a0e51455ccbe72427e92c7cffd809b5695b8f8933040/django-joyride-0.1.0.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "635cc776bebe02042c22c57c7ea1aef5", "sha256": "73cadad8532c4f06afc54ee93103f587a607e5764f27a52208cb61a75e0dcf8c" }, "downloads": -1, "filename": "django-joyride-0.1.2.zip", "has_sig": false, "md5_digest": "635cc776bebe02042c22c57c7ea1aef5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 119582, "upload_time": "2015-03-02T22:09:16", "url": "https://files.pythonhosted.org/packages/54/b0/9881ec585e8ef92774e6eabf6558144a7ed4cbe53b1bb439bf9556fb4ae8/django-joyride-0.1.2.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "635cc776bebe02042c22c57c7ea1aef5", "sha256": "73cadad8532c4f06afc54ee93103f587a607e5764f27a52208cb61a75e0dcf8c" }, "downloads": -1, "filename": "django-joyride-0.1.2.zip", "has_sig": false, "md5_digest": "635cc776bebe02042c22c57c7ea1aef5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 119582, "upload_time": "2015-03-02T22:09:16", "url": "https://files.pythonhosted.org/packages/54/b0/9881ec585e8ef92774e6eabf6558144a7ed4cbe53b1bb439bf9556fb4ae8/django-joyride-0.1.2.zip" } ] }