Custom urls path

This commit is contained in:
adi 2015-10-13 17:34:31 +02:00
parent d65c43e0c4
commit a617143b2f
5 changed files with 34 additions and 3 deletions

View file

@ -165,6 +165,7 @@ Place settings in your `settings.py` to override default values:
```python
#settings.py
MARKDOWNX_MARKDOWN_EXTENSIONS = []
MARKDOWNX_URLS_PATH = '/markdownx/markdownify/' # Urls path that returns compiled markdown text. Change this path to your custom app url. That could i.e. enable do some additional work with compiled markdown text.
MARKDOWNX_MEDIA_PATH = 'markdownx/' # subdirectory, where images will be stored in MEDIA_ROOT folder
MARKDOWNX_UPLOAD_MAX_SIZE = 52428800 # 50MB
MARKDOWNX_UPLOAD_CONTENT_TYPES = ['image/jpeg', 'image/png']
@ -179,6 +180,25 @@ MARKDOWNX_EDITOR_RESIZABLE = True # update editor's height to inner content heig
* **crop** default: `False` if `True` use `size` to crop final image
* **upscale** default: `False` if image dimensions are smaller than those in `size`, upscale image to `size` dimensions
## Custom MARKDOWNX_URLS_PATH
Change this path to your app path in `urls.py`. Default view that compiles markdown text:
```python
#views.py
import markdown
from django.http import HttpResponse
from django.views.generic.edit import View
from _your_app_.settings import MARKDOWNX_MARKDOWN_EXTENSIONS
class MarkdownifyView(View):
def post(self, request, *args, **kwargs):
return HttpResponse(markdown.markdown(request.POST['content'], extensions=MARKDOWNX_MARKDOWN_EXTENSIONS))
```
## Widget's template
Default widget's template looks like:
@ -212,6 +232,10 @@ When you want to use Bootstrap 3 and side-by-side panes (as in preview image abo
# Changelog
###### v1.2
* Added custom url path setting MARKDOWNX_URLS_PATH to compile markdown with custom view (i.e. for pre/post altering markdown text)
###### v1.1.3
* Setup tools fix

View file

@ -4,6 +4,9 @@ from django.utils.translation import ugettext_lazy as _
# Markdown extensions
MARKDOWNX_MARKDOWN_EXTENSIONS = getattr(settings, 'MARKDOWNX_MARKDOWN_EXTENSIONS', [])
# Markdown url
MARKDOWNX_URLS_PATH = getattr(settings, 'MARKDOWNX_URLS_PATH', '/markdownx/markdownify/')
# Media path
MARKDOWNX_MEDIA_PATH = getattr(settings, 'MARKDOWNX_MEDIA_PATH', 'markdownx/')

View file

@ -13,7 +13,7 @@
$.ajax({
type: 'POST',
url: '/markdownx/markdownify/',
url: markdownxEditor.data("markdownxUrlsPath"),
data: form,
processData: false,
contentType: false,

View file

@ -3,7 +3,10 @@ from django.template import Context
from django.template.loader import get_template
from django.contrib.admin import widgets
from .settings import MARKDOWNX_EDITOR_RESIZABLE
from .settings import (
MARKDOWNX_EDITOR_RESIZABLE,
MARKDOWNX_URLS_PATH,
)
class MarkdownxWidget(forms.Textarea):
@ -17,6 +20,7 @@ class MarkdownxWidget(forms.Textarea):
attrs.update({'class':'markdownx-editor'})
attrs['data-markdownx-editor-resizable'] = MARKDOWNX_EDITOR_RESIZABLE
attrs['data-markdownx-urls-path'] = MARKDOWNX_URLS_PATH
widget = super(MarkdownxWidget, self).render(name, value, attrs)

View file

@ -11,7 +11,7 @@ def get_requirements():
setup(
name='django-markdownx',
version='1.1.3',
version='1.2',
packages=find_packages(),
include_package_data=True,
description='Django Markdown editor with image uploads (stored in MEDIA_ROOT folder) and live preview.',