mirror of
https://github.com/Hopiu/django-markdownx.git
synced 2026-04-23 06:24:43 +00:00
v1.0.1
This commit is contained in:
parent
61eaefb4d6
commit
854bedf48e
4 changed files with 40 additions and 12 deletions
33
README.md
33
README.md
|
|
@ -1,4 +1,4 @@
|
|||
# django-markdownx
|
||||
# django-markdownx v1.0.1
|
||||
|
||||
Django Markdownx is a markdown editor built for Django.
|
||||
|
||||
|
|
@ -102,7 +102,10 @@ Template is highly customizable, so you can easily use i.e. Bootstrap to layout
|
|||
|
||||
1. **Django Admin**
|
||||
|
||||
When using included `MarkdowxModel` object in your models, just use `MarkdownxModelAdmin` as follows:
|
||||
|
||||
```python
|
||||
#admin.py
|
||||
from django.contrib import admin
|
||||
|
||||
from markdownx.admin import MarkdownxModelAdmin
|
||||
|
|
@ -112,6 +115,25 @@ Template is highly customizable, so you can easily use i.e. Bootstrap to layout
|
|||
admin.site.register(MyModel, MarkdownxModelAdmin)
|
||||
```
|
||||
|
||||
However, when you want to use `markdownx` with other models, lets say `TextField`, override default widget as below:
|
||||
|
||||
```python
|
||||
#admin.py
|
||||
from django.db import models
|
||||
from django.contrib import admin
|
||||
|
||||
from markdownx.widgets import AdminMarkdownxWidget
|
||||
|
||||
from .models import MyModel
|
||||
|
||||
class MyModelAdmin(admin.ModelAdmin):
|
||||
formfield_overrides = {
|
||||
models.TextField: {'widget': AdminMarkdownxWidget},
|
||||
}
|
||||
|
||||
admin.site.register(MyModel, MyModelAdmin)
|
||||
```
|
||||
|
||||
|
||||
# Customization
|
||||
|
||||
|
|
@ -169,7 +191,12 @@ When you want to use Bootstrap 3 and side-by-side panes (as in preview image abo
|
|||
|
||||
# Changelog
|
||||
|
||||
###### v1.0
|
||||
###### v1.0.1
|
||||
|
||||
* Moved html logic from FormField to Widget to be able to override model objects other than included MarkdownxModel
|
||||
* Fixed default value for `MARKDOWNX_EDITOR_RESIZABLE`
|
||||
|
||||
###### v1.0.0
|
||||
|
||||
* Warning: no backward compatibility
|
||||
* Admin, Model and Form custom objects
|
||||
|
|
@ -247,4 +274,4 @@ Would be nice to have some help with those!
|
|||
|
||||
# Notes
|
||||
|
||||
**django-markdownx** was inspired by great [django-images](https://github.com/mirumee/django-images) and [django-bootstrap-markdown](http://thegoods.aj7may.com/django-bootstrap-markdown/) packages.
|
||||
**django-markdownx** was inspired by great [django-images](https://github.com/mirumee/django-images) and [django-bootstrap-markdown](http://thegoods.aj7may.com/django-bootstrap-markdown/) packages.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
from django import forms
|
||||
|
||||
from .settings import MARKDOWNX_EDITOR_RESIZABLE
|
||||
from .widgets import (
|
||||
MarkdownxWidget,
|
||||
AdminMarkdownxWidget,
|
||||
|
|
@ -14,10 +13,3 @@ class MarkdownxFormField(forms.CharField):
|
|||
|
||||
if self.widget.__class__ != AdminMarkdownxWidget:
|
||||
self.widget = MarkdownxWidget()
|
||||
|
||||
if self.widget.attrs.has_key('class'):
|
||||
self.widget.attrs['class'] += ' markdownx-editor'
|
||||
else:
|
||||
self.widget.attrs.update({'class':'markdownx-editor'})
|
||||
|
||||
self.widget.attrs['data-markdownx-editor-resizable'] = MARKDOWNX_EDITOR_RESIZABLE
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ MARKDOWNX_UPLOAD_CONTENT_TYPES = getattr(settings, 'MARKDOWNX_UPLOAD_CONTENT_TYP
|
|||
MARKDOWNX_IMAGE_MAX_SIZE = getattr(settings, 'MARKDOWNX_IMAGE_MAX_SIZE', {'size': (500, 500), 'quality': 90,})
|
||||
|
||||
# Editor
|
||||
MARKDOWNX_EDITOR_RESIZABLE = getattr(settings, 'MARKDOWNX_EDITOR_RESIZABLE', False)
|
||||
MARKDOWNX_EDITOR_RESIZABLE = getattr(settings, 'MARKDOWNX_EDITOR_RESIZABLE', True)
|
||||
|
||||
# Translations
|
||||
LANGUAGES = getattr(settings, 'LANGUAGES', (
|
||||
|
|
|
|||
|
|
@ -3,10 +3,19 @@ from django.template import Context
|
|||
from django.template.loader import get_template
|
||||
from django.contrib.admin import widgets
|
||||
|
||||
from .settings import MARKDOWNX_EDITOR_RESIZABLE
|
||||
|
||||
|
||||
class MarkdownxWidget(forms.Textarea):
|
||||
|
||||
def render(self, name, value, attrs=None):
|
||||
if attrs.has_key('class'):
|
||||
attrs['class'] += ' markdownx-editor'
|
||||
else:
|
||||
attrs.update({'class':'markdownx-editor'})
|
||||
|
||||
attrs['data-markdownx-editor-resizable'] = MARKDOWNX_EDITOR_RESIZABLE
|
||||
|
||||
widget = super(MarkdownxWidget, self).render(name, value, attrs)
|
||||
|
||||
t = get_template('markdownx/widget.html')
|
||||
|
|
|
|||
Loading…
Reference in a new issue