Change motion content formatting
authorJan Dittberner <jandd@cacert.org>
Sun, 14 May 2017 13:01:12 +0000 (15:01 +0200)
committerJan Dittberner <jandd@cacert.org>
Sun, 14 May 2017 13:01:12 +0000 (15:01 +0200)
Use a linebreak sensitive paragraph instead of <pre> for motion content
output.

boardvoting.go
templates/motion_fragments.html

index c93709c..3b62116 100644 (file)
@@ -40,7 +40,11 @@ func getTemplateFilenames(templates []string) (result []string) {
 }
 
 func renderTemplate(w http.ResponseWriter, templates []string, context interface{}) {
-       t := template.Must(template.New(templates[0]).Funcs(sprig.FuncMap()).ParseFiles(getTemplateFilenames(templates)...))
+       funcMaps := sprig.FuncMap()
+       funcMaps["nl2br"] = func(text string) template.HTML {
+               return template.HTML(strings.Replace(template.HTMLEscapeString(text), "\n", "<br>", -1))
+       }
+       t := template.Must(template.New(templates[0]).Funcs(funcMaps).ParseFiles(getTemplateFilenames(templates)...))
        if err := t.Execute(w, context); err != nil {
                http.Error(w, err.Error(), http.StatusInternalServerError)
        }
index ed036d7..dbe59c2 100644 (file)
@@ -2,7 +2,7 @@
 <span class="ui {{ template "status_class" .Status }} ribbon label">{{ .Status|toString|title }}</span>
 <span class="header">{{ .Modified|date "2006-01-02 15:04:05 UTC" }}</span>
 <h3 class="header"><a href="/motions/{{ .Tag }}">{{ .Tag }}: {{ .Title }}</a></h3>
-<pre>{{ wrap 76 .Content }}</pre>
+<p>{{ wrap 76 .Content | nl2br }}</p>
 <table class="ui small definition table">
     <tbody>
     <tr>