django-markupmirror is a custom field and widget for editing markup text
in Django. It utilizes the CodeMirror_ JS editor for a richer editing
experience.
It uses parts of James Turk's_ django-markupfield_ and adds a nicer widget
with live-preview and an extension content-type for FeinCMS_.
Documentation
on Read the Docs: http://django-markupmirror.readthedocs.org/
Code and issues
on bitbucket: https://bitbucket.org/fabianbuechler/django-markupmirror
Releases
on PyPi: http://pypi.python.org/pypi/django-markupmirror
.. _CodeMirror: http://codemirror.net/
.. _James Turk's: https://github.com/jamesturk
.. _django-markupfield: https://github.com/jamesturk/django-markupfield
.. _FeinCMS: http://www.feinheit.ch/media/labs/feincms/
Quickstart
-
To install django-markupmirror, use pip_ and add 'markupmirror' to
the INSTALLED_APPS in your Django_ project.
-
In your settings.py specify at least MARKUPMIRROR_DEFAULT_MARKUP_TYPE
which is 'plaintext' by default.
-
For the markup HTML-preview, you'll need to add markupmirror's URLs in your
URLconf. In your urls.py add::
import markupmirror.urls
urlpatterns = patterns('',
(r'^markupmirror/', include(markupmirror.urls.preview)),
)
-
Add one or more markupmirror.fields.MarkupMirrorField s to your models
and define markup_type or default_markup_type::
class ModelWithMarkup(models.Model):
content = MarkupMirrorField(
verbose_name="content", markup_type='markdown')
-
If you want the FeinCMS_ content-type model MarkupMirrorContent, you'll
also need to add 'markupmirror.feincms' to your INSTALLED_APPS.
Also, you need to register the content-type model with FeinCMS' Page module::
from feincms.module.page.models import Page
from markupmirror.feincms.models import MarkupMirrorContent
Page.create_content_type(MarkupMirrorContent)
By default, django-markupmirror comes with markup converters for plain text
(converts links and linebreaks) and HTML (does nothing). Converters for
Markdown, reStructuredText and Textile_ are also available, but require
3rd-party libraries to be installed. However, you can register your own markup
converters.
.. _pip: http://www.pip-installer.org/
.. _easy_install: http://peak.telecommunity.com/DevCenter/EasyInstall
.. _Django: http://www.djangoproject.com/
.. _FeinCMS: http://www.feinheit.ch/media/labs/feincms/
.. _Markdown: http://daringfireball.net/projects/markdown/
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
.. _Textile: http://www.textism.com/tools/textile/
Changelog
0.1c1 - 2012-08-25
- A few documentation fixes. Thanks Paolo Dina.
0.1b2 - 2012-05-08
- Fixed problem with initializing the editor in FeinCMS when adding new
content blocks.
0.1b1 - 2012-05-08
- Textarea to editor conversion and live preview now also works for standard
models, in collapsed fieldsets, added inlines and when switching tabs
in FeinCMS pages.
0.1a2 - 2012-05-03
0.1a1 - 2012-04-27
- Initial release including
MarkupMirrorField field,
MarkupMirrorTextarea and AdminMarkupMirrorTextareaWidget widgets and
providing FeinCMS integration with MarkupMirrorContent Page content-type.
Supported markup types are plain text, HTML, Mardown, reStructuredText and
Textile.