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


Download files

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

Source Distributions

django-markupmirror-0.2a1.tar.gz (189.2 kB view hashes)

Uploaded Source

django-markupmirror-0.1c1.tar.gz (374.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page