.. include:: ../README.rst
Installation
============
The easiest method is to install directly from pypi using `pip`_ by
running the command below, which will also install the required
dependencies mentioned above::
$ pip install mezzanine
If you prefer, you can download Mezzanine and install it directly from
source::
$ python setup.py install
Once installed, the command ``mezzanine-project`` can be used to
create a new Mezzanine project in similar fashion to
``django-admin.py``::
$ mezzanine-project project_name
$ cd project_name
$ python manage.py createdb --noinput
$ python manage.py runserver
.. note::
The ``createdb`` command is a shortcut for using Django's
``migrate`` command, which will also install some demo content,
such as a contact form, image gallery, and more. If you'd like to
omit this step, use the ``--nodata`` option with ``createdb``.
You should then be able to browse to http://127.0.0.1:8000/admin/ and
log in using the default account (``username: admin, password:
default``). If you'd like to specify a different username and password
during set up, simply exclude the ``--noinput`` option included above
when running ``createdb``.
For information on how to add Mezzanine to an existing Django project,
see the FAQ section of the documentation.
Mezzanine makes use of as few libraries as possible (apart from a
standard Django environment), with the following dependencies, which
unless noted as optional, should be installed automatically following
the above instructions:
* `Python`_ 2.7 to 3.6
* `Django`_ 1.8 to 1.11
* `django-contrib-comments`_ - for built-in threaded comments
* `Pillow`_ - for image resizing (`Python Imaging Library`_ fork)
* `grappelli-safe`_ - admin skin (`Grappelli`_ fork)
* `filebrowser-safe`_ - for managing file uploads (`FileBrowser`_ fork)
* `bleach`_ and `BeautifulSoup`_ - for sanitizing markup in content
* `pytz`_ and `tzlocal`_ - for timezone support
* `chardet`_ - for supporting arbitrary encoding in file uploads
* `django-modeltranslation`_ - for multi-lingual content (optional)
* `django-compressor`_ - for merging JS/CSS assets (optional)
* `requests`_ and `requests_oauthlib`_ - for interacting with external APIs
* `pyflakes`_ and `pep8`_ - for running the test suite (optional)
Note that various systems may contain
`specialized instructions for installing Pillow`_.
Themes
======
A handful of attractive `Free Themes`_ are available thanks to
`@abhinavsohani`_, while there is also a marketplace for buying and
selling `Premium Themes`_ thanks to `@joshcartme`_.
Browser Support
===============
Mezzanine's admin interface works with all modern browsers.
Internet Explorer 7 and earlier are generally unsupported.
Third-Party Plug-Ins
====================
The following plug-ins have been developed outside of Mezzanine. If you
have developed a plug-in to integrate with Mezzanine and would like to
list it here, send an email to the `mezzanine-users`_ mailing list, or
better yet, fork the project and create a pull request with your
plug-in added to the list below. We also ask that you add it to the
`Mezzanine Grid on djangopackages.com`_.
* `Cartridge`_ - ecommerce for Mezzanine.
* `Drum`_ - A `Hacker News`_ / `Reddit`_ clone powered by Mezzanine.
* `mezzanine-html5boilerplate`_ - Integrates the
`html5boilerplate project`_ into Mezzanine.
* `mezzanine-mdown`_ - Adds `Markdown`_ support to Mezzanine's rich
text editor.
* `mezzanine-openshift`_ - Setup for running Mezzanine on
`Redhat's OpenShift`_ cloud platform.
* `mezzanine-stackato`_ - Setup for running Mezzanine on
`ActiveState's Stackato`_ cloud platform.
* `mezzanine-blocks`_ - A Mezzanine flavored fork of
django-flatblocks.
* `mezzanine-widgets`_ - Widget system for Mezzanine.
* `mezzanine-themes`_ - A collection of Django/Mezzanine templates.
* `mezzanine-twittertopic`_ - Manage multiple Twitter topic feeds
from the Mezzanine admin interface.
* `mezzanine-captcha`_ - Adds CAPTCHA field types to Mezzanine's
forms builder app.
* `mezzanine-bookmarks`_ - A multi-user bookmark app for Mezzanine.
* `mezzanine-events`_ - Events plugin for Mezzanine, with geocoding
via Google Maps, iCalendar files, webcal URLs and directions via
Google Calendar/Maps.
* `mezzanine-polls`_ - Polls application for Mezzanine.
* `mezzanine-pagedown`_ - Adds the `Pagedown`_ WYSIWYG editor to
Mezzanine.
* `mezzanine-careers`_ - Job posting application for Mezzanine.
* `mezzanine-recipes`_ - Recipes plugin with built-in REST API.
* `mezzanine-slides`_ - Responsive banner slides app for Mezzanine.
* `mezzyblocks`_ - Another app for adding blocks/modules to Mezzanine.
* `mezzanine-flexipage`_ - Allows designers to manage content areas
in templates.
* `mezzanine-instagram`_ - A simple Instagram app for Mezzanine.
* `mezzanine-wiki`_ - Wiki app for Mezzanine.
* `mezzanine-calendar`_ - Calendar pages in Mezzanine
* `mezzanine-facebook`_ - Simple Facebook integration for Mezzanine.
* `mezzanine-instagram-gallery`_ - Create Mezzanine galleries using
Instagram images.
* `mezzanine-cli`_ - Command-line interface for Mezzanine.
* `mezzanine-categorylink`_ - Integrates Mezzanine's Link pages with
its blog categories.
* `mezzanine-podcast`_ - A simple podcast streamer and manager for
Mezzanine.
* `mezzanine-linkcollection`_ - Collect links. Feature them. Share
them over RSS.
* `cash-generator`_ - Generate `GnuCash`_ invoices with Mezzanine.
* `mezzanine-foundation`_ - `Zurb Foundation`_ theme for Mezzanine.
* `mezzanine-file-collections`_ - Simple file collection page type
for Mezzanine.
* `mezzanine-wymeditor`_ - `WYMeditor`_ adapted as the rich text
editor for Mezzanine.
* `mezzanine-meze`_ - Adds support for `reStructuredText`_,
`Pygments`_ and more, to Mezzanine's rich text editing.
* `mezzanine-pageimages`_ - Add background and banner images per page
in Mezzanine.
* `mezzanine-protected-pages`_ - Restrict access to pages by group
membership.
* `mezzanine-page-auth`_ - A Mezzanine module for add group-level
permission to pages.
* `django-widgy`_ - Widget-oriented content editing. Includes an
adapter for Mezzanine and a powerful form builder.
* `mezzanine-admin-backup`_ - Export your Mezzanine database and assets
directly from the admin.
* `mezzanine-mailchimp`_ - Integrate Mezzanine forms with a MailChimp
subscription list.
* `mezzanine-grappelli`_ - Integrates latest upstream
grappelli/filebrowser with Mezzanine.
* `mezzanine-workout`_ - Store and display FIT data in Mezzanine.
* `mezzanine-agenda`_ - Event functionality for your Mezzanine sites.
* `mezzanine-dpaste`_ - Integrate `dpaste`_, a Django pastebin, into
your Mezzanine site.
* `mezzanine-linkdump`_ - Create, display and track links in Mezzanine.
* `mezzanine-people`_ - Categorize and list people in Mezzanine.
* `mezzanine-webf`_ - Fabfile for deploying Mezzanine to Webfaction.
* `mezzanineopenshift`_ Another setup for `Redhat's OpenShift`_ cloud
platform.
* `mezzanine-bsbanners`_ - Add `Twitter Bootstrap`_ Carousels and
Jumbotrons to Mezzanine.
* `mezzanine-business-theme`_ - Starter business theme for Mezzanine.
* `open-helpdesk`_ - A helpdesk app built with Mezzanine.
* `mezzanine-invites`_ - Allow site registration via alphanumeric
invite codes.
* `ansible-mezzanine`_ - Full pipeline (dev, staging, production)
deployment of Mezzanine using `Ansible`_.
* `mezzanine-modal-announcements`_ - Popup announcements for Mezzanine
websites via Bootstrap modals.
* `mezzanine-buffer`_ - `Buffer`_ integration for Mezzanine.
* `mezzanine-slideshows`_ - Allows placement of Mezzanine galleries
within other Mezzanine pages as slideshows.
* `mezzanine-onepage`_ - Design helper for single-page Mezzanine sites.
* `mezzanine-api`_ - RESTful web API for Mezzanine.
* `mezzanine-smartling`_ - Integrates Mezzanine content with
`Smartling Translations`_.
* `mezzanine-shortcodes`_ - `Wordpress shortcodes`_ for Mezzanine.
Sites Using Mezzanine
=====================
Got a site built with Mezzanine? You can add it to the gallery on
the `Mezzanine project page`_ by adding it to the list below - just
fork the project and create a pull request. Please omit the trailing
slash in the URL, as we manually add that ourselves to feature
certain sites.
* `Citrus Agency `_
* `Mezzanine Project `_
* `Nick Hagianis `_
* `Thomas Johnson `_
* `Central Mosque Wembley `_
* `Ovarian Cancer Research Foundation `_
* `The Source Procurement `_
* `Imageinary `_
* `Brad Montgomery `_
* `Jashua Cloutier `_
* `Alpha & Omega Contractors `_
* `Equity Advance `_
* `Head3 Interactive `_
* `PyLadies `_
* `Ripe Maternity `_
* `Cotton On `_
* `List G Barristers `_
* `Tri-Cities Flower Farm `_
* `daon.ru `_
* `autoindeks.ru `_
* `immiau.ru `_
* `ARA Consultants `_
* `Boîte à Z'images `_
* `The Melbourne Cup `_
* `Diablo News `_
* `Goldman Travel `_
* `IJC Digital `_
* `Coopers `_
* `Joe Julian `_
* `Sheer Ethic `_
* `Salt Lake Magazine `_
* `Boca Raton Magazine `_
* `Photog.me `_
* `Elephant Juice Soup `_
* `National Positions `_
* `Like Humans Do `_
* `Connecting Countries `_
* `tindie.com `_
* `Environmental World Products `_
* `Ross A. Laird `_
* `Etienne B. Roesch `_
* `Recruiterbox `_
* `Mod Productions `_
* `Appsembler `_
* `Pink Twig `_
* `Parfume Planet `_
* `Trading 4 Us `_
* `Chris Fleisch `_
* `Theneum `_
* `My Story Chest `_
* `Philip Sahli `_
* `Raymond Chandler `_
* `Nashsb `_
* `AciBASE `_
* `Matthe Wahn `_
* `Bit of Pixels `_
* `European Crystallographic Meeting `_
* `Dreamperium `_
* `UT Dallas `_
* `Go Yama `_
* `Yeti LLC `_
* `Li Xiong `_
* `Pageworthy `_
* `Prince Jets `_
* `30 sites in 30 days `_
* `St Barnabas' Theological College `_
* `Helios 3D `_
* `Life is Good `_
* `Building 92 `_
* `Pie Monster `_
* `Cotton On Asia `_
* `Ivan Diao `_
* `Super Top Secret `_
* `Jaybird Sport `_
* `Manai Glitter `_
* `Sri Emas International School `_
* `Boom Perun `_
* `Tactical Bags `_
* `apps.de `_
* `Sunfluence `_
* `ggzpreventie.nl `_
* `dakuaiba.com `_
* `Wdiaz `_
* `Hunted Hive `_
* `mjollnir.org `_
* `The Beancat Network `_
* `Raquel Marón `_
* `EatLove `_
* `Hospitality Quotient `_
* `The Andrew Story `_
* `Charles Koll Jewelry `_
* `Creuna (com/dk/fi/no/se) `_
* `Coronado School of the Arts `_
* `SiteComb `_
* `Dashing Collective `_
* `Puraforce Remedies `_
* `Google's VetNet `_
* `1800RESPECT `_
* `Evenhouse Consulting `_
* `Humboldt Community Christian School `_
* `Atlanta's Living Legacy `_
* `Shipgistix `_
* `Yuberactive `_
* `Medical Myth Busters `_
* `4player Network `_
* `Top500 Supercomputers `_
* `Die Betroffenen `_
* `uvena.de `_
* `ezless.com `_
* `Dominican Python `_
* `Stackful.io `_
* `Adrenaline `_
* `ACE EdVenture Programme `_
* `Butchershop Creative `_
* `Sam Kingston `_
* `Ludwig von Mises Institute `_
* `Incendio `_
* `Alexander Lillevik `_
* `Walk In Tromsø `_
* `Mandrivia Linux `_
* `Crown Preschool `_
* `Coronado Pathways Charter School `_
* `Raindrop Marketing `_
* `Web4py `_
* `The Peculiar Store `_
* `GrinDin `_
* `4Gume `_
* `Skydivo `_
* `Noshly `_
* `Kabu Creative `_
* `KisanHub `_
* `Your Song Your Story `_
* `Kegbot `_
* `Fiz `_
* `Willborn `_
* `Copilot Co `_
* `Amblitec `_
* `Gold's Gym Utah `_
* `Appsin - Blog to Native app `_
* `Take Me East `_
* `Code Raising `_
* `ZigZag Bags `_
* `VerifIP `_
* `Clic TV `_
* `JE Rivas `_
* `Heather Gregory Nutrition `_
* `Coronado Island Realty `_
* `Loans to Homes `_
* `Gensler Group `_
* `SaniCo `_
* `Grupo Invista `_
* `Brooklyn Navy Yard `_
* `MEZZaTHEME `_
* `Nektra Advanced Computing `_
* `Bootstrap ASAP `_
* `California Center for Jobs `_
* `Sam Kingston `_
* `Code Juggle DJ `_
* `Food News `_
* `Australian Discworld Conventions `_
* `Distilled `_
* `OpenMRP `_
* `Arkade Snowboarding `_
* `Linktective The Link Checker `_
* `Zetalab `_
* `Make-Up Artists & Hair Stylists Guild `_
* `Anywhereism `_
* `Assistive Listening Device Locator `_
* `Frank & Connie Spitzer `_
* `Coronado Unified School District `_
* `Coronado Inn `_
* `Coronado Schools Foundation `_
* `Light and Life Christian School `_
* `The Morabito Group `_
* `Law Offices of Nancy Gardner `_
* `Soden & Steinberger APLC `_
* `Stalwart Communications `_
* `Ubuntu Consultants `_
* `Wine a Bit Coronado `_
* `Mercury Mastering `_
* `Flowgrammable `_
* `Shibe Mart `_
* `Carlos Isaac Balderas `_
* `Enrico Tröger `_
* `Perugini `_
* `YouPatch `_
* `Batista Peniel `_
* `Perceptyx `_
* `Guddina Coffee `_
* `Atami Escape Resort `_
* `Philip Southwell `_
* `Justine & Katie's Bowtique `_
* `The Grantwell LLC `_
* `PyCon Asia-Pacific `_
* `Nerdot `_
* `Coworking.do `_
* `Arlette Pichardo `_
* `Sani Dental Group `_
* `Biocap 06 `_
* `Python Baja California `_
* `The Art Rebellion `_
* `Engineered Arts `_
* `Paul Whipp Consulting `_
* `Lipman Art `_
* `MODCo Group `_
* `Terminal Labs `_
* `Resource Management Companies `_
* `DollFires `_
* `Quantifind `_
* `ZHackers `_
* `Open ERP Arabia `_
* `DataKind `_
* `New Zealand Institute of Economic Research `_
* `CodingHouse `_
* `Triple J Products `_
* `Aaron E. Balderas `_
* `DVD.nl `_
* `Constantia Fabrics `_
* `Potrillo al Pie `_
* `Skyfalk Web Studio `_
* `Firefox OS Partners `_
* `You Name It `_
* `Atlas of Human Infectious Diseases `_
* `The Entrepreneurial School `_
* `Wednesday Martin `_
* `Avaris to Avanim `_
* `Cognitions Coaching and Consulting `_
* `Foundation Engineering Group `_
* `Hivelocity `_
* `Zooply `_
* `Oceana Technologies `_
* `TerraHub `_
* `djangoproject.jp `_
* `Joshua Ginsberg `_
* `Savant Digital `_
* `weBounty `_
* `Oxfam America `_
* `Artivest `_
* `Dark Matter Sheep `_
* `Mission Healthcare `_
* `Two Forty Fives `_
* `Rodeo Austin `_
* `Krisers `_
* `Intentional Creation `_
* `BytesArea `_
* `Debra Solomon `_
* `Pampanga Food Company `_
* `Aman Sinaya `_
* `Deschamps osteo `_
* `Deschamps kine `_
* `Creactu `_
* `scrunch `_
* `App Dynamics `_
* `Homespun Music Instruction `_
* `Fusionbox `_
* `The Street University `_
* `Glebe `_
* `CeoDental Seminars `_
* `Pay By Super `_
* `Noffs `_
* `Spokade `_
* `Brisbane Prosthodontics `_
* `Carbonised `_
* `Derry Donnell `_
* `Dr Kenneth Cutbush `_
* `American Institute for Foreign Study `_
* `Camp America `_
* `Code Source `_
* `The Federation of Egalitarian Communities `_
* `Caffeinated Lifestyle `_
* `The National: New Australian Art `_
.. _`Mezzanine Grid on djangopackages.com`: http://www.djangopackages.com/grids/g/mezzanine/
.. _`Cartridge`: http://cartridge.jupo.org/
.. _`Drum`: https://github.com/stephenmcd/drum
.. _`Hacker News`: https://news.ycombinator.com
.. _`Reddit`: http://www.reddit.com
.. _`mezzanine-html5boilerplate`: https://github.com/tvon/mezzanine-html5boilerplate
.. _`mezzanine-html5boilerplate`: https://github.com/tvon/mezzanine-html5boilerplate
.. _`html5boilerplate project`: http://html5boilerplate.com/
.. _`mezzanine-mdown`: https://bitbucket.org/onelson/mezzanine-mdown
.. _`Markdown`: http://en.wikipedia.org/wiki/Markdown
.. _`mezzanine-openshift`: https://github.com/overshard/mezzanine-openshift
.. _`Redhat's OpenShift`: https://openshift.redhat.com/
.. _`Ansible`: http://www.ansible.com/
.. _`mezzanine-stackato`: https://github.com/Stackato-Apps/mezzanine
.. _`ActiveState's Stackato`: http://www.activestate.com/stackato
.. _`mezzanine-blocks`: https://github.com/renyi/mezzanine-blocks
.. _`mezzanine-widgets`: https://github.com/osiloke/mezzanine_widgets
.. _`mezzanine-themes`: https://github.com/renyi/mezzanine-themes
.. _`mezzanine-twittertopic`: https://github.com/lockhart/mezzanine-twittertopic
.. _`mezzanine-captcha`: https://github.com/mjtorn/mezzanine-captcha
.. _`mezzanine-bookmarks`: https://github.com/adieu/mezzanine-bookmarks
.. _`mezzanine-events`: https://github.com/stbarnabas/mezzanine-events
.. _`mezzanine-polls`: https://github.com/sebasmagri/mezzanine_polls
.. _`mezzanine-pagedown`: https://bitbucket.org/akhayyat/mezzanine-pagedown
.. _`PageDown`: https://code.google.com/p/pagedown/
.. _`mezzanine-careers`: https://github.com/mogga/mezzanine-careers
.. _`mezzanine-recipes`: https://github.com/tjetzinger/mezzanine-recipes
.. _`mezzanine-slides`: https://github.com/overshard/mezzanine-slides
.. _`mezzyblocks`: https://github.com/jardaroh/mezzyblocks
.. _`mezzanine-flexipage`: https://github.com/mrmagooey/mezzanine-flexipage
.. _`mezzanine-wiki`: https://github.com/dfalk/mezzanine-wiki
.. _`mezzanine-instagram`: https://github.com/shurik/Mezzanine_Instagram
.. _`mezzanine-calendar`: https://github.com/shurik/mezzanine.calendar
.. _`mezzanine-facebook`: https://github.com/shurik/Mezzanine_Facebook
.. _`mezzanine-instagram-gallery`: https://github.com/georgeyk/mezzanine-instagram-gallery
.. _`mezzanine-cli`: https://github.com/adieu/mezzanine-cli
.. _`mezzanine-categorylink`: https://github.com/mjtorn/mezzanine-categorylink
.. _`mezzanine-podcast`: https://github.com/carpie/mezzanine-podcast
.. _`mezzanine-linkcollection`: https://github.com/mjtorn/mezzanine-linkcollection
.. _`cash-generator`: https://github.com/ambientsound/cash-generator
.. _`GnuCash`: http://www.gnucash.org/
.. _`mezzanine-foundation`: https://github.com/zgohr/mezzanine-foundation
.. _`Zurb Foundation`: http://foundation.zurb.com/
.. _`mezzanine-file-collections`: https://github.com/thibault/mezzanine-file-collections
.. _`mezzanine-wymeditor`: https://github.com/excieve/mezzanine-wymeditor
.. _`WYMeditor`: http://wymeditor.github.io/wymeditor/
.. _`mezzanine-meze`: https://github.com/abakan/mezzanine-meze
.. _`reStructuredText`: http://docutils.sourceforge.net/rst.html
.. _`Pygments`: http://pygments.org/
.. _`mezzanine-pageimages`: https://github.com/bcs-de/mezzanine-pageimages
.. _`mezzanine-protected-pages`: https://github.com/evilchili/mezzanine-protected-pages
.. _`mezzanine-page-auth`: https://github.com/simodalla/mezzanine_page_auth
.. _`django-widgy`: http://django-widgy.readthedocs.org/en/latest/
.. _`mezzanine-admin-backup`: https://bitbucket.org/joshcartme/mezzanine-admin-backup
.. _`mezzanine-mailchimp`: https://bitbucket.org/naritas/mezzanine-mailchimp
.. _`mezzanine-grappelli`: https://github.com/sephii/mezzanine-grappelli
.. _`mezzanine-workout`: https://github.com/kampfschlaefer/mezzanine-workout
.. _`mezzanine-agenda`: https://github.com/jpells/mezzanine-agenda
.. _`mezzanine-dpaste`: https://github.com/prikhi/mezzanine-dpaste
.. _`mezzanine-linkdump`: https://github.com/prikhi/mezzanine-linkdump
.. _`mezzanine-people`: https://github.com/eci/mezzanine-people
.. _`mezzanine-webf`: https://github.com/jerivas/mezzanine-webf
.. _`mezzanineopenshift`: https://bitbucket.org/radeksvarz/mezzanineopenshift
.. _`mezzanine-bsbanners`: https://pypi.python.org/pypi/mezzanine-bsbanners
.. _`mezzanine-business-theme`: https://github.com/dfalk/mezzanine-business-theme
.. _`open-helpdesk`: https://github.com/simodalla/open-helpdesk
.. _`mezzanine-invites`: https://github.com/averagehuman/mezzanine-invites
.. _`ansible-mezzanine`: https://github.com/keithadavidson/ansible-mezzanine
.. _`mezzanine-modal-announcements`: https://github.com/joshcartme/mezzanine-modal-announcements
.. _`mezzanine-buffer`: https://github.com/caffodian/mezzanine-buffer
.. _`Buffer`: http://buffer.com
.. _`mezzanine-slideshows`: https://github.com/philipsouthwell/mezzanine-slideshows
.. _`mezzanine-onepage`: https://github.com/lucmilland/mezzanine-onepage
.. _`mezzanine-api`: https://github.com/gcushen/mezzanine-api
.. _`mezzanine-smartling`: https://github.com/Appdynamics/mezzanine-smartling
.. _`mezzanine-shortcodes`: https://github.com/ryneeverett/mezzanine-shortcodes
.. _`Wordpress shortcodes`: https://codex.wordpress.org/Shortcode
.. _`Smartling Translations`: http://www.smartling.com/
.. _`dpaste`: https://github.com/bartTC/dpaste
.. _`Python`: http://python.org/
.. _`django-contrib-comments`: https://pypi.python.org/pypi/django-contrib-comments
.. _`bleach`: http://pypi.python.org/pypi/bleach
.. _`BeautifulSoup`: http://www.crummy.com/software/BeautifulSoup/
.. _`pytz`: http://pypi.python.org/pypi/pytz/
.. _`tzlocal`: http://pypi.python.org/pypi/tzlocal/
.. _`django-compressor`: https://pypi.python.org/pypi/django_compressor
.. _`Python Imaging Library`: http://www.pythonware.com/products/pil/
.. _`Pillow`: https://github.com/python-imaging/Pillow
.. _`grappelli-safe`: http://github.com/stephenmcd/grappelli-safe
.. _`filebrowser-safe`: http://github.com/stephenmcd/filebrowser-safe/
.. _`Grappelli`: http://code.google.com/p/django-grappelli/
.. _`FileBrowser`: http://code.google.com/p/django-filebrowser/
.. _`pip`: http://www.pip-installer.org/
.. _`requests`: http://docs.python-requests.org/en/latest/
.. _`requests_oauthlib`: http://requests-oauthlib.readthedocs.org/
.. _`pyflakes`: http://pypi.python.org/pypi/pyflakes
.. _`chardet`: https://chardet.readthedocs.org
.. _`pep8`: http://pypi.python.org/pypi/pep8
.. _`specialized instructions for installing Pillow`: https://pillow.readthedocs.io/en/latest/installation.html
.. _`Homebrew`: http://mxcl.github.com/homebrew/
.. _`django-modeltranslation`: http://django-modeltranslation.readthedocs.org