Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A Python library for hyphenating HTML in your Django project
Python
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
docs Docs update
softhyphen
.coveragerc
.gitignore
.travis.yml
MANIFEST.in
README.md
requirements.txt
scratch.py
setup.py
tox.ini

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.)

Something went wrong with that request. Please try again.