Add template helper isEmail()

This commit is contained in:
Frédéric Guillot 2017-11-25 17:08:04 -08:00
parent 39b03cc393
commit 29c5d82016
3 changed files with 12 additions and 4 deletions

View File

@ -15,7 +15,7 @@
</span> </span>
{{ if .entry.Author }} {{ if .entry.Author }}
<span class="entry-author"> <span class="entry-author">
{{ if contains .entry.Author "@" }} {{ if isEmail .entry.Author }}
- <a href="mailto:{{ .entry.Author }}">{{ .entry.Author }}</a> - <a href="mailto:{{ .entry.Author }}">{{ .entry.Author }}</a>
{{ else }} {{ else }}
<em>{{ .entry.Author }}</em> <em>{{ .entry.Author }}</em>

View File

@ -9,6 +9,7 @@ import (
"html/template" "html/template"
"io" "io"
"log" "log"
"net/mail"
"net/url" "net/url"
"strings" "strings"
"time" "time"
@ -64,6 +65,13 @@ func (e *Engine) parseAll() {
return parsedURL.Host return parsedURL.Host
}, },
"isEmail": func(str string) bool {
_, err := mail.ParseAddress(str)
if err != nil {
return false
}
return true
},
"hasPrefix": func(str, prefix string) bool { "hasPrefix": func(str, prefix string) bool {
return strings.HasPrefix(str, prefix) return strings.HasPrefix(str, prefix)
}, },

View File

@ -1,5 +1,5 @@
// Code generated by go generate; DO NOT EDIT. // Code generated by go generate; DO NOT EDIT.
// 2017-11-25 10:47:30.359140331 -0800 PST m=+0.015268437 // 2017-11-25 17:05:58.40092186 -0800 PST m=+0.019242510
package template package template
@ -463,7 +463,7 @@ var templateViewsMap = map[string]string{
</span> </span>
{{ if .entry.Author }} {{ if .entry.Author }}
<span class="entry-author"> <span class="entry-author">
{{ if contains .entry.Author "@" }} {{ if isEmail .entry.Author }}
- <a href="mailto:{{ .entry.Author }}">{{ .entry.Author }}</a> - <a href="mailto:{{ .entry.Author }}">{{ .entry.Author }}</a>
{{ else }} {{ else }}
<em>{{ .entry.Author }}</em> <em>{{ .entry.Author }}</em>
@ -1054,7 +1054,7 @@ var templateViewsMapChecksums = map[string]string{
"edit_category": "cee720faadcec58289b707ad30af623d2ee66c1ce23a732965463250d7ff41c5", "edit_category": "cee720faadcec58289b707ad30af623d2ee66c1ce23a732965463250d7ff41c5",
"edit_feed": "c5bc4c22bf7e8348d880395250545595d21fb8c8e723fc5d7cca68e25d250884", "edit_feed": "c5bc4c22bf7e8348d880395250545595d21fb8c8e723fc5d7cca68e25d250884",
"edit_user": "c835d78f7cf36c11533db9cef253457a9003987d704070d59446cb2b0e84dcb9", "edit_user": "c835d78f7cf36c11533db9cef253457a9003987d704070d59446cb2b0e84dcb9",
"entry": "32e605edd6d43773ac31329d247ebd81d38d974cd43689d91de79fffec7fe04b", "entry": "2d7524cfd743f8a74fcf6bf7f4631fe4a61bb595173545d49793c845a450ff03",
"feed_entries": "9aff923b6c7452dec1514feada7e0d2bbc1ec21c6f5e9f48b2de41d1b731ffe4", "feed_entries": "9aff923b6c7452dec1514feada7e0d2bbc1ec21c6f5e9f48b2de41d1b731ffe4",
"feeds": "c22af39b42ba9ca69ea0914ca789303ec2c5b484abcd4eaa49016e365381257c", "feeds": "c22af39b42ba9ca69ea0914ca789303ec2c5b484abcd4eaa49016e365381257c",
"history": "947603cbde888516e62925f5d08fb0b13d930623d3ee4c690dbc22612fdda75e", "history": "947603cbde888516e62925f5d08fb0b13d930623d3ee4c690dbc22612fdda75e",