Metadata-Version: 1.1
Name: django-progressive-web-app
Version: 0.1.1
Summary: A Django app to include a manifest.json and Service Worker instance to enable progressive web app behavior 
Home-page: http://github.com/svvitale/django-progressive-web-app
Author: Scott Vitale
Author-email: svvitale@gmail.com
License: MIT License
Description-Content-Type: UNKNOWN
Description: django-progressive-web-app

        ==========================

        

        This Django app turns your project into a `progressive web

        app <https://developers.google.com/web/progressive-web-apps/>`__.

        Navigating to your site on an Android phone will prompt you to add the

        app to your home screen.

        

        .. figure:: https://github.com/svvitale/django-progressive-web-app/raw/master/images/screenshot1.png

           :alt: Prompt for install

        

           Prompt for install

        

        Launching the app from your home screen will display your app `without

        browser

        chrome <https://github.com/svvitale/django-progressive-web-app/raw/master/images/screenshot2.png>`__.

        As such, it's critical that your application provides all navigation

        within the HTML (no reliance on the browser back or forward button).

        

        Requirements

        ============

        

        Progressive Web Apps require HTTPS unless being served from localhost.

        If you're not already using HTTPS on your site, check out `Let's

        Encrypt <https://letsencrypt.org/>`__ and

        `ZeroSSL <https://zerossl.com/>`__.

        

        Installation

        ============

        

        Install from PyPI:

        

        ::

        

            pip install django-progressive-web-app

        

        Configuration

        =============

        

        Add ``pwa`` to your list of ``INSTALLED_APPS`` in settings.py:

        

        .. code:: python

        

            INSTALLED_APPS = [

                ...

                'pwa',

                ...

            ]

        

        Configure your app name, description, and icons in settings.py:

        

        .. code:: python

        

            PWA_APP_NAME = 'My Kickass App'

            PWA_APP_DESCRIPTION = "Do kickass things all day long without that pesky browser chrome"

            PWA_APP_THEME_COLOR = '#0A0302'

            PWA_APP_DISPLAY = 'standalone'

            PWA_APP_START_URL = '/'

            PWA_APP_ICONS = [

                {

                    'src': '/static/images/my_app_icon.png',

                    'sizes': '160x160'

                }

            ]

        

        All settings are optional, and the app will work fine with its internal

        defaults. Highly recommend setting at least ``PWA_APP_NAME`` and

        ``PWA_APP_DESCRIPTION``.

        

        Add the progressive web app URLs to urls.py:

        

        .. code:: python

        

            from django.conf.urls import url, include

        

            urlpatterns = [

                ...

                url('', include('pwa.urls')),  # You MUST use an empty string as the URL prefix

                ...

            ]

        

        Inject the required meta tags in your base.html (or wherever your HTML

        <head> is defined):

        

        .. code:: html

        

            {% load pwa %}

        

            <head>

                ...

                {% progressive_web_app_meta %}

                ...

            </head>

        

        Troubleshooting

        ===============

        

        While running the Django test server:

        

        1. Verify that ``/manifest.json`` is being served

        2. Verify that ``/serviceworker.js`` is being served

        3. Use the Application tab in the Chrome Developer Tools to verify the

           progressive web app is configured correctly.

        4. Use the "Add to homescreen" link on the Application Tab to verify you

           can add the app successfully.

        

        Adding Your Own Service Worker

        ==============================

        

        By default, the service worker implemented by this app is empty. To add

        service worker functionality, you'll want to create a

        ``serviceworker.js`` or similarly named file, and then point at it using

        the PWA\_SERVICE\_WORKER\_PATH variable.

        

        .. code:: python

        

            PWA_SERVICE_WORKER_PATH = os.path.join(BASE_DIR, 'my_app', 'serviceworker.js')

        

        Feedback

        ========

        

        I welcome your feedback and pull requests. Enjoy!

        

        License

        =======

        

        All files in this repository are distributed under the MIT license.

        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.10
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
