This package provides widgets and filters for Mezzanine that enable admins to use Markdown syntax to create their site content, rather than using the TinyMCE editor to generate HTML code for rich text content types, such as rich text pages and blog posts.
Differences between mezzanine-pagedown and:
PageDown have two main advantages over wmd:
- Still maintained
- Extensible via hooks
Also, mezzanine-pagedown integrates with Mezzanine's file browser differently. See the differences between mezzanine-pagedown and django-pagedown below.
django-pagedown: mezzanine-pagedown integrates the editor's
Insert Imagebutton with Mezzanine's file browser (Media Library). Clicking the
Insert Imagebutton pops up an in-window dialog of Mezzanine's Media Library.
mezzanine-pagedown provides two rich text widgets that can be used for editing Mezzanine's rich text content fields:
mezzanine_pagedown.widgets.PlainWidget: Uses a plain text area.
mezzanine-pagedown provides two rich text filters that can be used to render Markdown content:
mezzanine_pagedown.filters.codehilite: Renders the content using Markdown with the CodeHilite extension enabled.
mezzanine_pagedown.filters.plain: Renders the content using vanilla Markdown formatting.
CodeHilite Style Generation
mezzanine-pagedown shamelessly reuses (among other things)
mezzanine-mdown's management command
allows you to generate CSS styles for colorizing code blocks parsed by
the CodeHilite filter.
This feature requires the
pygments python package, which can be
installed by running:
pip install pygments
Invoke the management command without arguments to see a usage message:
$ python manage.py pygments_styles Usage: ./manage.py pygments_styles <scheme_name> Available color schemes: monokai manni rrt perldoc borland colorful default ...
Invoking with the scheme's name as an argument will print the CSS to stdout:
python manage.py pygment_styles colorful > pygments.css
In additon to this single scheme method, the command also accepts the
--all flag, which will generate styles for all available styles, but
with one key difference: each scheme is prefixed with its name as a
CSS class name. This is handy during theme development as you can
quickly switch pygments schemes just by setting the class on the body
tag to your choice of scheme without having to regenerate CSS files
How to Use
Get and install the package:
hg clone https://bitbucket.org/akhayyat/mezzanine-pagedown pip install ./mezzanine-pagedown/
At this time, a recent checkout of Mezzanine is required for mezzanine-pagedown to work properly. In particular, this commit is required:
Install the app in your Mezzanine project by adding
mezzanine_pagedownto the list of
INSTALLED_APPSin your project's
Configure Mezzanine to use one of the provided widgets and filters for its rich text fields.
In your project's
settings.py, add the following two lines, depending on the widget and filter you would like to use:
RICHTEXT_WIDGET_CLASS = 'mezzanine_pagedown.widgets.PageDownWidget'
RICHTEXT_WIDGET_CLASS = 'mezzanine_pagedown.widgets.PlainWidget'
RICHTEXT_FILTER = 'mezzanine_pagedown.filters.codehilite'
RICHTEXT_FILTER = 'mezzanine_pagedown.filters.plain'
(Optional): Generate and use a pygments CSS style:
python manage.py pygments_styles <scheme_name>
Licence: BSD. See included