Typography related template filters for Django & Jinja2 applications
Project description
Note: This is a fork of the original `typogrify` project made especially
for `Engineer<http://www.github.com/tylerbutler/engineer/>`_. The
modifications are very minor:
- SmartyPants defaults changed so that `--` is interpreted as an en-dash
and `---` is interpreted as an em-dash. I don't know why in the world this
isn't the default.
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.
Version 2 changes
-----------------
* Django is no longer a requirement. The typogrify filters can be used in any
environment by importing them from typogrify.filters
* Experimental jinja2 support added in typogrify.templatetags.jinja_filters –
untested and defintely needs some eyes on it. Might trigger a point release
soon to update.
Requirements
============
``typogrify`` is a set of functions that take text or html input and mark them up with HTML.
it requires `the Python port of John Gruber's SmartyPants`_ for tokenization.
It includes optional template filters for Django. So you'll need Django if you want to use those.
.._ The Python port of John Gruber's SmartyPants: http://web.chad.org/projects/smartypants.py/
To use with Django
==================
BACKWARDS INCOMPATIBILTY NOTE: Version 2 of typogrify has moved the typogrify
tag to {% load typogrify_tags %} – This necessary to allow the tags files to
import from the rest of the library.
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_tags %}`` in your templates to
load the filters it provides.
Included filters
================
``amp``
-------
Wraps ampersands in HTML with ``<span class="amp">`` so they can be
styled with CSS. Ampersands are also normalized to ``&``. Requires
ampersands to have whitespace or an `` `` on both sides. Will not
change any ampersand which has already been wrapped in this fashion.
``caps``
--------
Wraps multiple capital letters in ``<span class="caps">`` so they can
be styled with CSS.
``initial_quotes``
------------------
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``.
``smartypants``
---------------
Applies ``SmartyPants``.
``typogrify``
-------------
Applies all of the following filters, in order:
* ``amp``
* ``widont``
* ``smartypants``
* ``caps``
* ``initial_quotes``
``widont``
----------
Based on Shaun Inman's PHP utility of the same name, replaces the
space between the last two words in a string with `` `` 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``.
for `Engineer<http://www.github.com/tylerbutler/engineer/>`_. The
modifications are very minor:
- SmartyPants defaults changed so that `--` is interpreted as an en-dash
and `---` is interpreted as an em-dash. I don't know why in the world this
isn't the default.
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.
Version 2 changes
-----------------
* Django is no longer a requirement. The typogrify filters can be used in any
environment by importing them from typogrify.filters
* Experimental jinja2 support added in typogrify.templatetags.jinja_filters –
untested and defintely needs some eyes on it. Might trigger a point release
soon to update.
Requirements
============
``typogrify`` is a set of functions that take text or html input and mark them up with HTML.
it requires `the Python port of John Gruber's SmartyPants`_ for tokenization.
It includes optional template filters for Django. So you'll need Django if you want to use those.
.._ The Python port of John Gruber's SmartyPants: http://web.chad.org/projects/smartypants.py/
To use with Django
==================
BACKWARDS INCOMPATIBILTY NOTE: Version 2 of typogrify has moved the typogrify
tag to {% load typogrify_tags %} – This necessary to allow the tags files to
import from the rest of the library.
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_tags %}`` in your templates to
load the filters it provides.
Included filters
================
``amp``
-------
Wraps ampersands in HTML with ``<span class="amp">`` so they can be
styled with CSS. Ampersands are also normalized to ``&``. Requires
ampersands to have whitespace or an `` `` on both sides. Will not
change any ampersand which has already been wrapped in this fashion.
``caps``
--------
Wraps multiple capital letters in ``<span class="caps">`` so they can
be styled with CSS.
``initial_quotes``
------------------
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``.
``smartypants``
---------------
Applies ``SmartyPants``.
``typogrify``
-------------
Applies all of the following filters, in order:
* ``amp``
* ``widont``
* ``smartypants``
* ``caps``
* ``initial_quotes``
``widont``
----------
Based on Shaun Inman's PHP utility of the same name, replaces the
space between the last two words in a string with `` `` 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``.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
typogrify-engineer-2.0.0.zip
(14.5 kB
view details)
File details
Details for the file typogrify-engineer-2.0.0.zip
.
File metadata
- Download URL: typogrify-engineer-2.0.0.zip
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71b0cb82754e1cf9171f9cbb3a7ce479b6b8087cd5bd7bf95cd3c3f956dd0cb3 |
|
MD5 | 87e8a0689395e39235f292cfa1ad48f0 |
|
BLAKE2b-256 | 993723e6b03b79e42b8096cbc59a2c771c135c3b795ac593ad79ea7ba0dec00a |