Using ReStructuredText on App Engine

2008 August 14
by Andi Albrecht

To use docutils in your App Engine application to render ReStructuredText first download the module here and place the docutils directory and roman.py in the top-level directory of your application:

$ cd my_appengine_app/
$ wget http://prdownloads.sourceforge.net/docutils/docutils-0.5.tar.gz?download
$ tar xvfz docutils-0.5.tar.gz
$ mv docutils-0.5/docutils/ docutils-0.5/extras/roman.py .
$ rm -rf docutils-0.5*

By default, docutils tries to read configuration files from various locations. But this will ail in the App Engine environment. So you have to disable it by overwriting the default settings:

from docutils.core import publish_parts
def someview(request):
 parts = publish_parts(source=some_rst, writer_name='html4css1',
                       settings_overrides={'_disable_config': True})
  return parts['fragment']

If you are using the Django helpers, add

RESTRUCTUREDTEXT_FILTER_SETTINGS = {'_disable_config': True}

in settings.py to use the restructuredtext filter. Refer to the Django documentation on how to activate and use this filter.

No comments yet

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS