Skip to content

Commit

Permalink
Adds the habillity to opt for a rendering mode in the static content …
Browse files Browse the repository at this point in the history
…settings.

git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@617 0cfe37f9-358a-4d5e-be75-b63607b5c754
  • Loading branch information
hernani committed Nov 10, 2010
1 parent fae1cd4 commit 0f8b280
Show file tree
Hide file tree
Showing 7 changed files with 63 additions and 13 deletions.
18 changes: 16 additions & 2 deletions forum/settings/sidebar.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
from base import Setting, SettingSet
from django.forms.widgets import Textarea
from django.forms.widgets import Textarea, Select
from django.utils.translation import ugettext_lazy as _

from static import RENDER_CHOICES

SIDEBAR_SET = SettingSet('sidebar', 'Sidebar content', "Enter contents to display in the sidebar. You can use markdown and some basic html tags.", 10, True)

SHOW_WELCOME_BOX = Setting('SHOW_WELCOME_BOX', True, SIDEBAR_SET, dict(
Expand Down Expand Up @@ -40,6 +42,12 @@
help_text = " The upper sidebar block. ",
widget=Textarea(attrs={'rows': '10'})))

SIDEBAR_UPPER_RENDER_MODE = Setting('SIDEBAR_UPPER_RENDER_MODE', 'markdown', SIDEBAR_SET, dict(
label = _("Upper block rendering mode"),
help_text = _("How to render your upper block code."),
widget=Select(choices=RENDER_CHOICES),
required=False))


SIDEBAR_LOWER_SHOW = Setting('SIDEBAR_LOWER_SHOW', True, SIDEBAR_SET, dict(
label = "Show Lower Block",
Expand All @@ -61,4 +69,10 @@
""", SIDEBAR_SET, dict(
label = "Lower Block Content",
help_text = " The lower sidebar block. ",
widget=Textarea(attrs={'rows': '10'})))
widget=Textarea(attrs={'rows': '10'})))

SIDEBAR_LOWER_RENDER_MODE = Setting('SIDEBAR_LOWER_RENDER_MODE', 'markdown', SIDEBAR_SET, dict(
label = _("Lower block rendering mode"),
help_text = _("How to render your lower block code."),
widget=Select(choices=RENDER_CHOICES),
required=False))
26 changes: 25 additions & 1 deletion forum/settings/static.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
from base import Setting, SettingSet
from django.forms.widgets import Textarea, RadioSelect
from django.forms.widgets import Textarea, RadioSelect, Select
from django.utils.translation import ugettext_lazy as _

RENDER_CHOICES = (
('markdown', _('Markdown')),
('html', _('HTML')),
('escape', _('Escaped'))
)

STATIC_PAGE_REGISTRY = Setting('STATIC_PAGE_REGISTRY', {})

CSS_SET = SettingSet('css', 'Custom CSS', "Define some custom css you can use to override the default css.", 2000,
Expand Down Expand Up @@ -32,6 +38,12 @@
widget=Textarea(attrs={'rows': '25'}),
required=False))

CUSTOM_HEADER_RENDER_MODE = Setting('CUSTOM_HEADER_RENDER_MODE', 'markdown', HEAD_AND_FOOT_SET, dict(
label = _("Custom Header rendering mode"),
help_text = _("How to render your custom header code."),
widget=Select(choices=RENDER_CHOICES),
required=False))

USE_ANNOUNCEMENT_BAR = Setting('USE_ANNOUNCEMENT_BAR', False, HEAD_AND_FOOT_SET, dict(
label = _("Show announcement bar"),
help_text = _("Some piece of content that goes under the search bar and can be used for announcements, etc."),
Expand All @@ -43,6 +55,12 @@
widget=Textarea(attrs={'rows': '25'}),
required=False))

ANNOUNCEMENT_BAR_RENDER_MODE = Setting('ANNOUNCEMENT_BAR_RENDER_MODE', 'markdown', HEAD_AND_FOOT_SET, dict(
label = _("Announcement bar rendering mode"),
help_text = _("How to render your announcement bar code."),
widget=Select(choices=RENDER_CHOICES),
required=False))

USE_CUSTOM_FOOTER = Setting('USE_CUSTOM_FOOTER', False, HEAD_AND_FOOT_SET, dict(
label = _("Use custom footer"),
help_text = _("Do you want to use a custom footer."),
Expand All @@ -54,6 +72,12 @@
widget=Textarea(attrs={'rows': '25'}),
required=False))

CUSTOM_FOOTER_RENDER_MODE = Setting('CUSTOM_FOOTER_RENDER_MODE', 'markdown', HEAD_AND_FOOT_SET, dict(
label = _("Custom footer rendering mode"),
help_text = _("How to render your custom footer code."),
widget=Select(choices=RENDER_CHOICES),
required=False))

CUSTOM_FOOTER_MODE_CHOICES = (
('replace', _('Replace default footer')),
('above', _('Above default footer')),
Expand Down
10 changes: 5 additions & 5 deletions forum/skins/default/templates/base_content.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
</script>
{% endif %}
{% if settings.USE_CUSTOM_HEAD|or_preview:request %}
{{ settings.CUSTOM_HEAD|or_preview:request|markdown:"settingsparser" }}
{{ settings.CUSTOM_HEAD|or_preview:request|safe }}
{% endif %}
{% block forejs %}{% endblock %}
<link rel="search" type="application/opensearchdescription+xml" href="{% url opensearch %}" title="{{ settings.APP_SHORT_NAME }} Search" />
Expand All @@ -75,7 +75,7 @@
</div>
{% if settings.USE_CUSTOM_HEADER|or_preview:request %}
<div id="custom_header">
{{ settings.CUSTOM_HEADER|or_preview:request|safe }}
{{ settings.CUSTOM_HEADER|or_preview:request|static_content:settings.CUSTOM_HEADER_RENDER_MODE }}
</div>
{% endif %}
{% include "header.html" %}
Expand All @@ -98,19 +98,19 @@
{% if settings.USE_CUSTOM_FOOTER|or_preview:request %}
{% ifequal settings.CUSTOM_FOOTER_MODE|or_preview:request "above" %}
<div id="custom_footer">
{{ settings.CUSTOM_FOOTER|or_preview:request|markdown:"settingsparser" }}
{{ settings.CUSTOM_FOOTER|or_preview:request|static_content:settings.CUSTOM_FOOTER_RENDER_MODE }}
</div>
{% endifequal %}
<div id="ground">
{% ifequal settings.CUSTOM_FOOTER_MODE|or_preview:request "replace" %}
{{ settings.CUSTOM_FOOTER|or_preview:request|markdown:"settingsparser" }}
{{ settings.CUSTOM_FOOTER|or_preview:request|static_content:settings.CUSTOM_FOOTER_RENDER_MODE }}
{% else %}
{% include "footer.html" %}
{% endifequal %}
</div>
{% ifequal settings.CUSTOM_FOOTER_MODE|or_preview:request "below" %}
<div id="custom_footer">
{{ settings.CUSTOM_FOOTER|or_preview:request|markdown:"settingsparser" }}
{{ settings.CUSTOM_FOOTER|or_preview:request|static_content:settings.CUSTOM_FOOTER_RENDER_MODE }}
</div>
{% endifequal %}
{% else %}
Expand Down
2 changes: 1 addition & 1 deletion forum/skins/default/templates/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@

{% if settings.USE_ANNOUNCEMENT_BAR|or_preview:request %}
<div id="announcement">
{{ settings.ANNOUNCEMENT_BAR|or_preview:request|markdown:"settingsparser" }}
{{ settings.ANNOUNCEMENT_BAR|or_preview:request|static_content:settings.ANNOUNCEMENT_BAR_RENDER_MODE }}
</div>
{% endif %}

Expand Down
2 changes: 1 addition & 1 deletion forum/skins/default/templates/sidebar/user_blocks.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
{% if show %}
{% if wrap %}<div id="{{ blockid }}" class="boxC">
<div class="body">{% endif %}
{{ content|markdown }}
{{ content }}
{% if wrap %}</div>
</div>{% endif %}
{% endif %}
12 changes: 11 additions & 1 deletion forum/templatetags/extra_filters.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from django import template
from django.utils.safestring import mark_safe
import logging
import markdown

register = template.Library()

Expand Down Expand Up @@ -46,4 +47,13 @@ def getval(map, key):

@register.filter
def contained_in(item, container):
return item in container
return item in container

@register.filter
def static_content(content, render_mode):
if render_mode == 'markdown':
return mark_safe(markdown.markdown(unicode(content), ["settingsparser"]))
elif render_mode == "html":
return mark_safe(unicode(content))
else:
return unicode(content)
6 changes: 4 additions & 2 deletions forum/templatetags/general_sidebar_tags.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
from forum.models import Tag, Award
from forum import settings

from extra_filters import static_content

register = template.Library()

@register.inclusion_tag('sidebar/markdown_help.html')
Expand All @@ -16,7 +18,7 @@ def recent_awards():
def sidebar_upper():
return {
'show': settings.SIDEBAR_UPPER_SHOW,
'content': settings.SIDEBAR_UPPER_TEXT,
'content': static_content(settings.SIDEBAR_UPPER_TEXT, settings.SIDEBAR_UPPER_RENDER_MODE),
'wrap': not settings.SIDEBAR_UPPER_DONT_WRAP,
'blockid': 'sidebar-upper'
}
Expand All @@ -25,7 +27,7 @@ def sidebar_upper():
def sidebar_lower():
return {
'show': settings.SIDEBAR_LOWER_SHOW,
'content': settings.SIDEBAR_LOWER_TEXT,
'content': static_content(settings.SIDEBAR_LOWER_TEXT, settings.SIDEBAR_LOWER_RENDER_MODE),
'wrap': not settings.SIDEBAR_LOWER_DONT_WRAP,
'blockid': 'sidebar-lower'
}
Expand Down

0 comments on commit 0f8b280

Please sign in to comment.