A Python library for hyphenating HTML in your Django project
Python Makefile
Switch branches/tags
Latest commit c3dd139 Dec 22, 2015 @palewire palewire Better language docs
Permalink
Failed to load latest commit information.
docs Better language docs Dec 22, 2015
softhyphen
.coveragerc More test coverage Jan 22, 2014
.gitignore first try at coverall.io integration Jan 5, 2014
.travis.yml Update Travis testing to latest django and python Dec 22, 2015
MANIFEST.in Got the dicts included in the dist file for pypi Nov 30, 2011
Makefile
README.md Touch Nov 21, 2014
requirements.txt Put the same version upgrade stuff in the requirements.txt Aug 1, 2014
scratch.py First run at Python3 compatibility and testing. This will probably fail. Jan 17, 2014
setup.py Bumped version to 1.1.0 Dec 22, 2015
tox.ini Switch to setup.py based installation and testing for #20. Aug 1, 2014

README.md

         ___ _       _           _
 ___ ___|  _| |_ ___| |_ _ _ ___| |_ ___ ___
|_ -| . |  _|  _|___|   | | | . |   | -_|   |
|___|___|_| |_|     |_|_|_  |  _|_|_|___|_|_|
                        |___|_|              

A Python library for hyphenating HTML in your Django project

Repurposed from Filipe Fortes' excellent AppEngine app.

Build Status PyPI version Coverage Status

Features

  • Use the ­ HTML entity to hyphenate text. Works well with text-align:justify;
  • Can be called as a function from inside Python code or as a filter in the Django template
  • Supports more than 25 languages

Getting started

Install it.

$ pip install django-softhyphen

Add it to the INSTALLED_APPS in your settings.py

INSTALLED_APPS = (
    ...
    'softhyphen',
    ...
)

Use it in as a function.

>>> from softhyphen.html import hyphenate
>>> hyphenate("<h1>I love hyphenation</h1>")
"<h1>I love hy&shy;phen&shy;a&shy;tion</h1>"
>>> # It is English by default, but you can provide another language.
>>> hyphenate("<h1>Me encanta guiones</h1>", language="es-es")
<h1>Me en&shy;can&shy;ta gu&shy;io&shy;nes</h1>

Or use it as a template filter.

{% load softhyphen_tags %}
{{ text|softhyphen }}
{# You can specify another language as an argument. English is the default #}
{{ text|softhyphen:"es-es" }}

(Warning! Because of its overhead, the filter is not recommended in production if it needs to run each time the page loads.)