From 3db92d24d9bfa62c97bb02d1f236d7c228f0a6a6 Mon Sep 17 00:00:00 2001 From: rnewman Date: Thu, 3 Oct 2013 09:42:23 -0700 Subject: [PATCH 1/3] Add support for Textile --- knowledge/settings.py | 2 ++ .../templates/django_knowledge/thread.html | 4 ++-- knowledge/templatetags/knowledge_tags.py | 20 +++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/knowledge/settings.py b/knowledge/settings.py index 33a1c6a..00eec69 100644 --- a/knowledge/settings.py +++ b/knowledge/settings.py @@ -16,3 +16,5 @@ SLUG_URLS = getattr(settings, 'KNOWLEDGE_SLUG_URLS', True) BASE_TEMPLATE = getattr(settings, 'KNOWLEDGE_BASE_TEMPLATE', 'django_knowledge/base.html') + +DJANGO_KNOWLEDGE_MARKUP = getattr(settings, 'KNOWLEDGE_BASE_MARKUP', False) diff --git a/knowledge/templates/django_knowledge/thread.html b/knowledge/templates/django_knowledge/thread.html index 858037e..403266f 100644 --- a/knowledge/templates/django_knowledge/thread.html +++ b/knowledge/templates/django_knowledge/thread.html @@ -23,7 +23,7 @@
{{ question.get_name }}  {{ question.added }}
- {{ question.body|striptags|markdown }} + {% render_markup question.body|striptags %} {% include "django_knowledge/mod_bar.html" with allowed_mods=allowed_mods.question type="question" node=question %} @@ -48,7 +48,7 @@
{{ response.get_name }}  {{ response.added }}
- {{ response.body|striptags|markdown }} + {% render_markup response.body|striptags %} {% include "django_knowledge/mod_bar.html" with allowed_mods=allowed_mods.response type="response" node=response %} diff --git a/knowledge/templatetags/knowledge_tags.py b/knowledge/templatetags/knowledge_tags.py index 7c1e3a3..0deb278 100644 --- a/knowledge/templatetags/knowledge_tags.py +++ b/knowledge/templatetags/knowledge_tags.py @@ -3,6 +3,13 @@ from django import template +from knowledge import settings + +if settings.DJANGO_KNOWLEDGE_MARKUP == 'Markdown': + import markdown +elif settings.DJANGO_KNOWLEDGE_MARKUP == 'Textile': + import textile + register = template.Library() @@ -25,3 +32,16 @@ def page_query(request, page_num): qs = request.GET.copy() qs['page'] = page_num return qs.urlencode().replace('&', '&') + +@register.simple_tag +def render_markup(bodyblock): + """ + Based on setting value, convert body text using + the correct renderer, else just return string + """ + if settings.DJANGO_KNOWLEDGE_MARKUP == 'Markdown': + return markdown.markdown(bodyblock) + elif settings.DJANGO_KNOWLEDGE_MARKUP == 'Textile': + return textile.textile(bodyblock) + else: + return bodyblock From aadf04140564a1e65285bea3e2ea6530a2c80e34 Mon Sep 17 00:00:00 2001 From: rnewman Date: Thu, 3 Oct 2013 10:09:36 -0700 Subject: [PATCH 2/3] Remove any reference to Markdown in models.py --- knowledge/models.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/knowledge/models.py b/knowledge/models.py index 1e58676..6a52e8e 100644 --- a/knowledge/models.py +++ b/knowledge/models.py @@ -144,6 +144,13 @@ def internal(self, save=True): class Question(KnowledgeBase): + + QBODY_HELP_TEXT = 'Please offer details.' + if settings.DJANGO_KNOWLEDGE_MARKUP == 'Markdown': + QBODY_HELP_TEXT += ' Markdown enabled.' + elif settings.DJANGO_KNOWLEDGE_MARKUP == 'Textile': + QBODY_HELP_TEXT += ' Textile enabled.' + is_question = True _requesting_user = None @@ -152,7 +159,7 @@ class Question(KnowledgeBase): help_text=_('Enter your question or suggestion.')) body = models.TextField(blank=True, null=True, verbose_name=_('Description'), - help_text=_('Please offer details. Markdown enabled.')) + help_text=_(QBODY_HELP_TEXT)) status = models.CharField( verbose_name=_('Status'), @@ -249,6 +256,13 @@ def url(self): class Response(KnowledgeBase): + + RBODY_HELP_TEXT = 'Please enter your response.' + if settings.DJANGO_KNOWLEDGE_MARKUP == 'Markdown': + RBODY_HELP_TEXT += ' Markdown enabled.' + elif settings.DJANGO_KNOWLEDGE_MARKUP == 'Textile': + RBODY_HELP_TEXT += ' Textile enabled.' + is_response = True question = models.ForeignKey('knowledge.Question', @@ -256,7 +270,7 @@ class Response(KnowledgeBase): body = models.TextField(blank=True, null=True, verbose_name=_('Response'), - help_text=_('Please enter your response. Markdown enabled.')) + help_text=_(RBODY_HELP_TEXT)) status = models.CharField( verbose_name=_('Status'), max_length=32, choices=STATUSES_EXTENDED, From 258695295b5238f3eb331126d2ddb044eda0ce19 Mon Sep 17 00:00:00 2001 From: rnewman Date: Fri, 20 Dec 2013 15:08:29 -0800 Subject: [PATCH 3/3] Remove markup from template --- knowledge/templates/django_knowledge/thread.html | 1 - 1 file changed, 1 deletion(-) diff --git a/knowledge/templates/django_knowledge/thread.html b/knowledge/templates/django_knowledge/thread.html index 403266f..db7cd58 100644 --- a/knowledge/templates/django_knowledge/thread.html +++ b/knowledge/templates/django_knowledge/thread.html @@ -1,7 +1,6 @@ {% extends 'django_knowledge/inner.html' %} {% load i18n %} -{% load markup %} {% load knowledge_tags %} {% load url from future %}