Skip to main content

Django field and widget for editing markup content (PlainText, HTML,Markdown, reStructuredText, Textile) using the CodeMirror editor withlive preview.

Project description

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

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.

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

  • Added jQuery plugin for CodeMirror initialization and preview updating. Thanks to Gustav Pursche!
  • Improved usage and installation docs.

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.

Project details


Release history Release notifications

This version
History Node

0.1c1

History Node

0.1b2

History Node

0.1b1

History Node

0.1a2

History Node

0.1a1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-markupmirror-0.1c1.tar.gz (374.5 kB) Copy SHA256 hash SHA256 Source None Aug 25, 2012
django-markupmirror-0.2a1.tar.gz (189.2 kB) Copy SHA256 hash SHA256 Source None Sep 24, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page