Skip to content
A set of Django template filters to make caring about typography on the web a bit easier.
Find file
Pull request Compare This branch is 3 commits ahead, 51 commits behind mintchaos:master.
Latest commit 84b7bee @lakshmivyas lakshmivyas Update README.markdown
Failed to load latest commit information.
typogrify Separated typogrify guts from django. Added jinja2 support
INSTALL.txt Adding some real install documentation and fixes some typos. Fixes #1.…
LICENSE.txt Initial commit of packaging/setup files cleaned up MANIFEST files
README.markdown change name to typogrify-hyde


This fork is obsolete and will be deleted soon.

The original typogrify repository has the jinja2 filters

(Also available on pypi:

Note: This fork tries to separate the general purpose logic from django
related code so that it can be used with other template engines like

typogrify: Filters to make web typography easier

This application provides a set of custom filters for the Django template system which automatically apply various transformations to plain text in order to yield typographically-improved HTML.


typogrify is designed to work with Django, and so requires a functioning installation of Django 0.96 or later. Also requires the Python port of John Gruber's SmartyPants for tokenization.

.._ Django: .._ The Python port of John Gruber's SmartyPants:


To install a packaged version of typogrify, download the latest package from Google Code_, and -- in the directory in which you downloaded it -- open a command line and do the following::

tar zxvf typogrify-0.2.tar.gz
cd typogrify-0.2
python install

This will perform a standard installation of typogrify.

Alternately, you can perform a Subversion checkout of the latest code; execute the following in a directory that's on your Python path::

svn checkout

Once typogrify is installed on your system, you can add it to the INSTALLED_APPS setting of any Django project in which you wish to use it, and then use {% load typogrify %} in your templates to load the filters it provides.

.._ the latest package from Google Code:

Included filters


Wraps ampersands in HTML with <span class="amp"> so they can be styled with CSS. Ampersands are also normalized to &amp;. Requires ampersands to have whitespace or an &nbsp; on both sides. Will not change any ampersand which has already been wrapped in this fashion.


Wraps multiple capital letters in <span class="caps"> so they can be styled with CSS.


Wraps initial quotes in <span class="dquo"> for double quotes or <span class="quo"> for single quotes. Works inside these block elements:

  • h1, h2, h3, h4, h5, h6

  • p

  • li

  • dt

  • dd

Also accounts for potential opening inline elements: a, em, strong, span, b, i.


Applies SmartyPants.


Applies all of the following filters, in order:

  • amp

  • widont

  • smartypants

  • caps

  • initial_quotes


Based on Shaun Inman's PHP utility of the same name, replaces the space between the last two words in a string with &nbsp; to avoid a final line of text with only one word.

Works inside these block elements:

  • h1, h2, h3, h4, h5, h6

  • p

  • li

  • dt

  • dd

Also accounts for potential closing inline elements: a, em, strong, span, b, i.

Something went wrong with that request. Please try again.