Skip to content

il-ja/django-markdown-app

 
 

Repository files navigation

Django-Markdown v. 0.9.4.1

Django markdown is django application that allows use markdown wysiwyg in flatpages, admin forms and other forms. Documentaton available at readthedocs or github.

Build Status Coverals Version License
  • django >= 2.0
  • markdown >= 2.6.11

Django markdown should be installed using pip:

pip install django-markdown-app

Starting with version 0.9.4.1, django-markdown-app requires Django 2.0 or later.

Django version django-markdown-app
2.0 or later 0.9.4.1
1.8 or later 0.9.3.1
prior to 1.8 0.8.5.1

Note

'django_markdown' require 'django.contrib.staticfiles' in INSTALLED_APPS

  • Add 'django_markdown' to INSTALLED_APPS

    INSTALLED_APPS += ( 'django_markdown', )
    
  • Add django_markdown urls to base urls

    path('markdown/', include( 'django_markdown.urls')),
    
  1. Models:

    from django_markdown.models import MarkdownField
    
    
    class MyModel(models.Model):
        content = MarkdownField()
    
  2. Custom forms:

    from django_markdown.fields import MarkdownFormField
    from django_markdown.widgets import MarkdownWidget
    
    
    class MyCustomForm(forms.Form):
        content = forms.CharField(widget=MarkdownWidget())
        content2 = MarkdownFormField()
    
  3. Custom admins:

    from django_markdown.admin import MarkdownModelAdmin
    
    admin.site.register(MyModel, MarkdownModelAdmin)
    
  4. Admin Overrides: (If you don't want to subclass package ModelAdmin's)

    from django.contrib import admin
    
    class YourModelAdmin(admin.ModelAdmin):
        formfield_overrides = {MarkdownField: {'widget': AdminMarkdownWidget}}
    
  5. Flatpages:

    # in your project main urls
    from django_markdown import flatpages
    ...
    # Django admin
    admin.autodiscover()
    flatpages.register()
    urlpatterns += [ path(r'admin/', admin.site.urls), ]
    
  6. Template tags:

    <textarea name="test" id="new"></textarea>
    {% markdown_editor "#new" %}
    {% markdown_media %}
    

MARKDOWN_EDITOR_SETTINGS - holds the extra parameters set to be passed to textarea.markItUp()

MARKDOWN_EDITOR_SKIN - skin option, default value is markitup

Example: settings.py

MARKDOWN_EDITOR_SKIN = 'simple'

MARKDOWN_EXTENSIONS - optional list of extensions passed to Markdown.

Officially supported extensions could be found at https://python-markdown.github.io/extensions/#officially-supported-extensions

Example: settings.py

MARKDOWN_EXTENSIONS = ['extra']

MARKDOWN_EXTENSION_CONFIGS - configure extensions

MARKDOWN_PREVIEW_TEMPLATE - template for preview a markdown. By default django_markdown/preview.css

MARKDOWN_STYLE - path to preview styles. By default django_markdown/preview.css

MARKDOWN_SET_PATH - path to folder with sets. By default django_markdown/sets

MARKDOWN_SET_NAME - name for current set. By default markdown.

MARKDOWN_PROTECT_PREVIEW - protect preview url for staff only

Execute make run in sources directory. Open http://127.0.0.1:8000 in your browser. For admin access use 'root:root' credentials.

Make sure you've read the changes document if you are upgrading from previous version.

If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/sv0/django-markdown-app/issues

Development of django-markdown happens at github: https://github.com/sv0/django-markdown-app

Licensed under a GNU lesser general public license.

Copyright (c) 2011 Kirill Klenov ([email protected])

Markitup:
(c) 2008 Jay Salvat http://markitup.jaysalvat.com/

About

Django markdown support and wysiwyg.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 39.3%
  • Python 36.7%
  • CSS 18.6%
  • Makefile 3.0%
  • HTML 2.4%