Semantic editor is a Django CMS plugin for text editing. It allows you to edit a web site in a semantic way, and then assign presentation and layout details to each section of the text. It supports complex column layouts using a simple set of controls (new row, new column).
CSS classes are stored in the database, and can be limited to certain elements (p, ul, li etc) and to certain templates.
This project is used as part of Arkestra by Cardiff University School of Medicine, who conceived of the system.
PyPI page: http://pypi.python.org/pypi/semanticeditor
Installation: see INSTALL.rst
Other info: see README.rst
A screen shot of the user interface