FIX: Re-enable markdown on paperwork

Strikethrough is broken in all sorts of places for whatever reason
This commit is contained in:
2020-02-09 22:38:58 +00:00
parent 6e28476ca3
commit d3de04a03b
3 changed files with 22 additions and 25 deletions

View File

@@ -1,7 +1,8 @@
{% load markdown_tags %}
<setNextFrame name="main"/> <setNextFrame name="main"/>
<nextFrame/> <nextFrame/>
<blockTable style="headLayout" colWidths="330,165"> <blockTable style="headLayout" colWidths="330,165">
<tr> <tr>
<td> <td>
@@ -12,9 +13,7 @@
</para> </para>
<keepInFrame> <keepInFrame>
<para style="style.event_description"> {{ object.description|default_if_none:""|markdown:"rml" }}
{{ object.description|default_if_none:""|linebreaksbr }}
</para>
</keepInFrame> </keepInFrame>
</td> </td>
<td> <td>
@@ -184,9 +183,9 @@
<para>{{ item.name }} <para>{{ item.name }}
{% if item.description %} {% if item.description %}
</para> </para>
<para style="item_description"> <indent left="0.6cm">
<em>{{ item.description|linebreaksbr }}</em> {{ item.description|markdown:"rml" }}
</para> </indent>
<para> <para>
{% endif %} {% endif %}
</para> </para>

View File

@@ -8,14 +8,14 @@ __author__ = 'ghost'
register = template.Library() register = template.Library()
@register.filter(name="markdown") @register.filter(name="markdown")
def markdown_filter(text, format='html'): def markdown_filter(text, input_format='html'):
# markdown library can't handle text=None # markdown library can't handle text=None
if text is None: if text is None:
return text return text
html = markdown.markdown(text, extensions=['markdown.extensions.nl2br']) html = markdown.markdown(text, extensions=['markdown.extensions.nl2br'])
if format == 'html': if input_format == 'html':
return mark_safe('<div class="markdown">' + html + '</div>') return mark_safe('<div class="markdown">' + html + '</div>')
elif format == 'rml': elif input_format == 'rml':
# Convert format to RML # Convert format to RML
soup = BeautifulSoup(html, "html.parser") soup = BeautifulSoup(html, "html.parser")
@@ -33,22 +33,20 @@ def markdown_filter(text, format='html'):
bq.name = 'pre' bq.name = 'pre'
bq.string = bq.text bq.string = bq.text
for list in soup.findAll(['ul','ol']): for alist in soup.find_all(['ul','ol']):
list['style'] = list.name alist['style'] = alist.name
for li in list.findAll('li', recursive=False): for li in alist.find_all('li', recursive=False):
text = li.find(text=True) text = li.find(text=True)
text.wrap(soup.new_tag('p')) text.wrap(soup.new_tag('p'))
if list.parent.name != 'li': if alist.parent.name != 'li':
indent = soup.new_tag('indent') indent = soup.new_tag('indent')
indent['left'] = '0.6cm' indent['left'] = '0.6cm'
list.wrap(indent) alist.wrap(indent)
# Paragraphs have a different tag # Paragraphs have a different tag
for p in soup('p'): for p in soup('p'):
p.name = 'para' p.name = 'para'
# @todo: <ul> and <li> tags to not appear to be working return mark_safe(str(soup))
return mark_safe(soup)