From f5ddbafcb0899d2c95d8512b1316eaeeee9bedab Mon Sep 17 00:00:00 2001 From: substantialnoninfringinguser <substantialnoninfringinguser@gmail.com> Date: Wed, 13 May 2009 05:18:26 +0100 Subject: [PATCH] [svn] Wiki_markup imporved to include paragraphs wiki_to_html should be used when the field will include paragraphs wiki_to_html_short should be used when the field will not include paragraphs Copied from http://cucc@cucc.survex.com/svn/trunk/expoweb/troggle/, rev. 8061 by julian @ 11/6/2008 11:24 PM --- expo/templatetags/wiki_markup.py | 15 ++++++++++++++- templates/cave.html | 14 +++++++------- templates/caveindex.html | 2 +- templates/logbookentry.html | 1 - templates/person.html | 8 +++++--- 5 files changed, 27 insertions(+), 13 deletions(-) diff --git a/expo/templatetags/wiki_markup.py b/expo/templatetags/wiki_markup.py index 7634485..e2a9d7e 100644 --- a/expo/templatetags/wiki_markup.py +++ b/expo/templatetags/wiki_markup.py @@ -34,6 +34,17 @@ def wiki_list(line, listdepth): @register.filter() @stringfilter def wiki_to_html(value, autoescape=None): + #find paragraphs + outValue = "" + for paragraph in re.split("\n\s*?\n", value, re.DOTALL): + outValue += "<p>" + outValue += wiki_to_html_short(paragraph, autoescape) + outValue += "</p>\n" + return mark_safe(outValue) + +@register.filter() +@stringfilter +def wiki_to_html_short(value, autoescape=None): if autoescape: value = conditional_escape(value) #deescape doubly escaped characters @@ -42,9 +53,11 @@ def wiki_to_html(value, autoescape=None): value = re.sub("''''([^']+)''''", r"<b><i>\1</i></b>", value, re.DOTALL) value = re.sub("'''([^']+)'''", r"<b>\1</b>", value, re.DOTALL) value = re.sub("''([^']+)''", r"<i>\1</i>", value, re.DOTALL) + #make cave links + value = re.sub("\[\[\s*cave:([^\s]+)\s*\s*\]\]", r'<a href="/troggle/cave/\1/">\1</a>', value, re.DOTALL) #Make lists from lines starting with lists of [stars and hashes] - listdepth = [] outValue = "" + listdepth = [] for line in value.split("\n"): t, listdepth = wiki_list(line, listdepth) outValue += t diff --git a/templates/cave.html b/templates/cave.html index a043e7f..e8c597e 100644 --- a/templates/cave.html +++ b/templates/cave.html @@ -8,20 +8,20 @@ <tr> <th id="kat_no"> {% if cave.kataster_number %} - {{ cave.kataster_number|wiki_to_html }} + {{ cave.kataster_number|wiki_to_html_short }} {% if cave.entrancelist %} - - {{ cave.entrancelist|wiki_to_html }} + - {{ cave.entrancelist|wiki_to_html_short }} {% endif %} {% if cave.unofficial_number %} - <br />({{ cave.unofficial_number|wiki_to_html }}) + <br />({{ cave.unofficial_number|wiki_to_html_short }}) {% endif %} {% endif %} </th> <th id="name"> - {{ cave.official_name|wiki_to_html }} + {{ cave.official_name|wiki_to_html_short }} </th> <th id="status"> - {{ cave.kataster_code|wiki_to_html }} + {{ cave.kataster_code|wiki_to_html_short }} </th> </tr> </table> @@ -29,9 +29,9 @@ {% if cave.entrances %} <h2>Entrances</h2> {% for ent in cave.entrances %} - <a href = "./{{ ent.entrance_letter|wiki_to_html }}">{{ ent.entrance_letter|wiki_to_html }}</a> + <a href = "./{{ ent.entrance_letter|wiki_to_html_short }}">{{ ent.entrance_letter|wiki_to_html_short }}</a> {% if ent.entrance.marking %} - Marking: {{ ent.entrance.marking_val|wiki_to_html }} + Marking: {{ ent.entrance.marking_val|wiki_to_html_short }} {% endif %} <br> {% endfor %} diff --git a/templates/caveindex.html b/templates/caveindex.html index a19752f..445eddf 100644 --- a/templates/caveindex.html +++ b/templates/caveindex.html @@ -5,6 +5,6 @@ {% block content %} {% for cave in caves %} -<p>{{ cave }} <a href="./{{ cave.kataster_number }}/">{{ cave.official_name|wiki_to_html }}</a> </p> +<p>{{ cave }} <a href="./{{ cave.kataster_number }}/">{{ cave.official_name|wiki_to_html_short }}</a> </p> {% endfor %} {% endblock %} \ No newline at end of file diff --git a/templates/logbookentry.html b/templates/logbookentry.html index f1a1887..b76d9ab 100644 --- a/templates/logbookentry.html +++ b/templates/logbookentry.html @@ -20,7 +20,6 @@ </li> {% endfor %} </ul> - <em>[wiki_to_html doesn't do paragraphs. don't know where it is located]</em> <div>{{logbookentry.text|wiki_to_html}}</div> </div> {% endblock %} diff --git a/templates/person.html b/templates/person.html index 9d79141..ff1fe62 100644 --- a/templates/person.html +++ b/templates/person.html @@ -1,10 +1,10 @@ {% extends "base.html" %} {% load wiki_markup %} -{% block title %}Person {{person.id}}{% endblock %} +{% block title %}Person {{person|wiki_to_html_short}}{% endblock %} {% block content %} - <div class="personblock"><a href="/person/{{person.id}}">{{person}}</a> + <div class="personblock"><a href="/person/{{person.id}}">{{person|wiki_to_html_short}}</a> <ul> {% for personexpedition in person.personexpedition_set.all %} <li> @@ -14,7 +14,9 @@ <div> <ul> {% for persontrip in personexpedition.persontrip_set.all %} - <li><a href="/logbookentry/{{persontrip.logbookentry.id}}">{{persontrip.date}}</a> ({{persontrip.logbookentry.place}}) - {{persontrip.logbookentry.title}}</li> + <li><a href="/logbookentry/{{persontrip.logbookentry.id}}">{{persontrip.date}}</a> + ({{persontrip.logbookentry.place|wiki_to_html_short}}) - + {{persontrip.logbookentry.title|wiki_to_html_short}}</li> {% endfor %} <ul> </div>