Skip to main content

Docutils (a.k.a. reStructuredText, reST, RST) support for django.

Project description

django-docutils · Python Package License

docutils (a.k.a. reStructuredText / rst / reST) support for Django.

Quickstart

Install django-docutils:

$ pip install django-docutils

Next, add django_docutils to your INSTALLED_APPS in your settings file:

INSTALLED_APPS = [
    # ... your default apps,
    'django_docutils'
]

Template tag

In your template:

{% load django_docutils %}
{% rst %}
# hey
# how's it going
A. hows
B. it

C. going
D. today

**hi**
*hi*
{% endrst %}

Template filter

In your template:

{% load django_docutils %}
{% filter rst %}
# hey
# how's it going
A. hows
B. it

C. going
D. today

**hi**
*hi*
{% endfilter %}

Template engine (class-based view)

You can also use a class-based view to render reStructuredText (reST).

If you want to use reStructuredText as a django template engine, INSTALLED_APPS isn't required, instead you add this to your TEMPLATES variable in your settings:

TEMPLATES = [
    # ... Other engines
    {
        "NAME": "docutils",
        "BACKEND": "django_docutils.template.DocutilsTemplates",
        "DIRS": [],
        "APP_DIRS": True,
    }
]

Now django will be able to scan for .rst files and process them. In your view:

from django_docutils.views import DocutilsView

class HomeView(DocutilsView):
    template_name = 'base.html'
    rst_name = 'home.rst'

Settings

# Optional, automatically maps roles, directives and transformers
DJANGO_DOCUTILS_LIB_RST = {
    "docutils": {
        "raw_enabled": True,
        "strip_comments": True,
        "initial_header_level": 2,
    },
    "roles": {
        "local": {
            "gh": "django_docutils.lib.roles.github.github_role",
            "twitter": "django_docutils.lib.roles.twitter.twitter_role",
            "email": "django_docutils.lib.roles.email.email_role",
        }
    },
}

# Optional
DJANGO_DOCUTILS_LIB_TEXT = {
    "uncapitalized_word_filters": ["project.my_module.my_capitalization_fn"]
}

More information

  • Python 3.8+
  • Django 3.2+

Docs Build Status Code Coverage

Project details


Download files

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

Source Distribution

django_docutils-0.20.0.tar.gz (33.1 kB view details)

Uploaded Source

Built Distribution

django_docutils-0.20.0-py3-none-any.whl (44.1 kB view details)

Uploaded Python 3

File details

Details for the file django_docutils-0.20.0.tar.gz.

File metadata

  • Download URL: django_docutils-0.20.0.tar.gz
  • Upload date:
  • Size: 33.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for django_docutils-0.20.0.tar.gz
Algorithm Hash digest
SHA256 f16475db059d2394792f0854eb146abaa08c1b1f61e5abdfe72855bd4e4b7115
MD5 02e17069c38a0e59adc127f49930ef71
BLAKE2b-256 bd58a06fb9ea0f35c8175d2bb7d07d64730d775bee2a9d80123f93f712eaf089

See more details on using hashes here.

Provenance

File details

Details for the file django_docutils-0.20.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_docutils-0.20.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0e6e707ea98390e4fcbac5b8b722760ddb1bb0107d4310640db9ec48f5a60e7
MD5 a56b2ae2a13ba5b0925692f6d932e49c
BLAKE2b-256 53f58cb7f56fd6a75b3ecddadb7498e75c83ff255439e43ad5f291e9c8f8978f

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page