9 changed files with 157 additions and 44 deletions
@ -0,0 +1,29 @@ |
|||||||
|
{% load i18n translation_tags %} |
||||||
|
|
||||||
|
{% get_language_info_list for LANGUAGES as languages %} |
||||||
|
|
||||||
|
{% for language in languages %} |
||||||
|
{% if request.LANGUAGE_CODE != language.code %} |
||||||
|
<a class="language-switch" rel="alternate" hreflang="de" href="{% url 'set_language' %}?language={{ language.code }}">{{ language.name_local }}</a> |
||||||
|
{% else %} |
||||||
|
<span class="selected-language">{{ language.name_local }}</span> |
||||||
|
{% endif %} |
||||||
|
{% if not forloop.last %}{{ separator|default:"/" }}{% endif %} |
||||||
|
{% endfor %} |
||||||
|
|
||||||
|
|
||||||
|
{% comment %} |
||||||
|
// Language Switcher |
||||||
|
|
||||||
|
html { |
||||||
|
.selected-language { color: $active_color; } |
||||||
|
|
||||||
|
&:lang(de) { |
||||||
|
a.language-switch[hreflang=en] { @include interactive-underline; } |
||||||
|
} |
||||||
|
|
||||||
|
&:lang(en) { |
||||||
|
a.language-switch[hreflang=de] { @include interactive-underline; } |
||||||
|
} |
||||||
|
} |
||||||
|
{% endcomment %} |
@ -0,0 +1,50 @@ |
|||||||
|
{% load i18n %} |
||||||
|
|
||||||
|
{% get_language_info_list for LANGUAGES as languages %} |
||||||
|
|
||||||
|
{% for language in languages %} |
||||||
|
{% if request.LANGUAGE_CODE != language.code %} |
||||||
|
<form class="language-switch" action="{% url 'set_language' %}" method="post"> |
||||||
|
{% csrf_token %} |
||||||
|
<input name="next" type="hidden" value="{{ redirect_to }}"> |
||||||
|
<input name="language" type="hidden" value="{{ language.code }}"> |
||||||
|
<button type="submit">{{ language.name_local }}</button> |
||||||
|
</form> |
||||||
|
{% else %} |
||||||
|
<span class="selected-language">{{ language.name_local }}</span> |
||||||
|
{% endif %} |
||||||
|
{% if not forloop.last %}{{ separator|default:"/" }}{% endif %} |
||||||
|
{% endfor %} |
||||||
|
|
||||||
|
|
||||||
|
{% comment %} |
||||||
|
// Language Switcher |
||||||
|
|
||||||
|
form.language-switch { |
||||||
|
display: inline; |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
} |
||||||
|
|
||||||
|
form.language-switch button { |
||||||
|
margin: 0; |
||||||
|
padding: 0; |
||||||
|
border: none; |
||||||
|
background: none; |
||||||
|
|
||||||
|
@include interactive-underline; |
||||||
|
} |
||||||
|
|
||||||
|
html { |
||||||
|
.selected-language { color: $active_color; } |
||||||
|
|
||||||
|
&:lang(de) { |
||||||
|
a.language-switch[hreflang=en] { @include interactive-underline; } |
||||||
|
} |
||||||
|
|
||||||
|
&:lang(en) { |
||||||
|
a.language-switch[hreflang=de] { @include interactive-underline; } |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
{% endcomment %} |
@ -1,33 +0,0 @@ |
|||||||
# -*- coding: utf-8 -*- |
|
||||||
from __future__ import unicode_literals |
|
||||||
# Erik Stein <code@classlibrary.net>, 2015 |
|
||||||
|
|
||||||
from django import template |
|
||||||
from django.template.defaultfilters import stringfilter |
|
||||||
from django.utils.html import conditional_escape |
|
||||||
from django.utils.safestring import mark_safe |
|
||||||
from .. import markdown_utils |
|
||||||
|
|
||||||
|
|
||||||
register = template.Library() |
|
||||||
|
|
||||||
|
|
||||||
@register.filter(needs_autoescape=True) |
|
||||||
@stringfilter |
|
||||||
def inline_markdown(text, autoescape=None, **kwargs): |
|
||||||
""" Doesn't wrap the markup in a HTML paragraph. """ |
|
||||||
if autoescape: |
|
||||||
esc = conditional_escape |
|
||||||
else: |
|
||||||
esc = lambda x: x |
|
||||||
return mark_safe(markdown_utils.inline_markdown_processor.convert(esc(text), **kwargs)) |
|
||||||
|
|
||||||
|
|
||||||
@register.filter(needs_autoescape=True) |
|
||||||
@stringfilter |
|
||||||
def markdown(text, autoescape=None, **kwargs): |
|
||||||
if autoescape: |
|
||||||
esc = conditional_escape |
|
||||||
else: |
|
||||||
esc = lambda x: x |
|
||||||
return mark_safe(markdown_utils.markdown_processor.convert(esc(text), **kwargs)) |
|
Loading…
Reference in new issue