Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

A Mezzanine app to convert reStructuredText into HTML using Sphinx

Project Description

Meze adds Sphinx flavor to Mezzanine. You can write your blog posts and pages in reStructuredText and get them converted into HTML via Sphinx.

Usage Examples

See a number of usage examples at:


Sphinx is required to convert reStructuredText source.


You can use easy_install or pip:

easy_install -U mezzanine-meze
pip install mezzanine-meze

or download package from and install using

Quick start

Make the following changes in your project file:

  1. Add “meze” to INSTALLED_APPS:

  2. Inject source and convert fields to and mezzanine.pages.models.RichTextPage.source models:

    help_text = ("Source in reStructuredText format will be converted to "
                 "HTML and result will replace content field.")
        # Enable Meze for blog posts
         "TextField", (), {"blank": True, "help_text": help_text}),
         "BooleanField", ("Convert source",), {"default": True}),
        # Enable Meze for rich text pages
         "TextField", (), {"blank": True, "help_text": help_text}),
         "BooleanField", ("Convert source",), {"default": True}),
    del help_text

    If you have started using Meze after creating database, you may need to make a migration. See field injection caveats in Mezzanine documentation.

  3. Update file.


        'workdir': os.path.join(PROJECT_ROOT, 'meze_workdir'),

    Default values are shown. You will need write access to workdir.

    Add configuration options for Sphinx:

    SPHINX_CONF = """
    project = u''
    copyright = u''
    version = '0'
    release = '0'
    master_doc = 'index'
    pygments_style = 'sphinx'
    html_theme = 'default'
    html_sidebars = {'**': []}
    html_domain_indices = False
    html_use_index = False
    html_show_sourcelink = False
    html_add_permalinks = None
    source_suffix = '.rst'
    intersphinx_mapping = {'python': ('', None)}
    extlinks = {'wiki': ('', ''),}
    extensions = ['sphinx.ext.intersphinx', 'sphinx.ext.extlinks']

    This file is written to Meze workdir.

  4. Sphinx is using Pygments for syntax highlighting, so you will need to add pygments.css file to your template:

    {% compress css %}
    <link rel="stylesheet" href="{% static "meze/css/meze.css" %}">
    <link rel="stylesheet" href="{% static "meze/css/pygments.css" %}">

    If you are writing Python snippets, you can also add copybutton.js file, to enable a copy friendly display option for code:

    {% compress js %}
    <script src="{% static "meze/js/copybutton.js" %}"></script>

How does it work?

Meze starts a Sphinx project in workdir by creating a simple configuration file (

reStructuredText files are written into workdir, HTML files are built using Sphinx, and content of HTML files are stored in the database.


v0.3 (Jan 10, 2014)

  • Moved static files to meze folder.
  • Added static files to

v0.2.2 (Oct 11, 2013)

  • Searching images in both STATIC_ROOT and MEDIA_ROOT folders.
  • Improved revising image sources in HTML to avoid exceptions when an image file is not found.

v0.2.1 (July 17, 2013)

  • Fixed a bug in Meze class that prevented changes in Sphinx configuration to take place.

v0.2 (July 12, 2013)

  • Improved handling of image files.

v0.1 (July 11, 2013)

  • First release.
Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
mezzanine-meze-0.3.tar.gz (10.0 kB) Copy SHA256 Checksum SHA256 Source Jan 9, 2014 (13.7 kB) Copy SHA256 Checksum SHA256 Source Jan 9, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting