From 29c5d8201653d8a2fd33b4c1b5dc31cc15ca1091 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Guillot?= Date: Sat, 25 Nov 2017 17:08:04 -0800 Subject: [PATCH] Add template helper isEmail() --- server/template/html/entry.html | 2 +- server/template/template.go | 8 ++++++++ server/template/views.go | 6 +++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/server/template/html/entry.html b/server/template/html/entry.html index 3bb296f2..e832b27b 100644 --- a/server/template/html/entry.html +++ b/server/template/html/entry.html @@ -15,7 +15,7 @@ {{ if .entry.Author }} - {{ if contains .entry.Author "@" }} + {{ if isEmail .entry.Author }} - {{ .entry.Author }} {{ else }} – {{ .entry.Author }} diff --git a/server/template/template.go b/server/template/template.go index 627fd9fc..cf778b30 100644 --- a/server/template/template.go +++ b/server/template/template.go @@ -9,6 +9,7 @@ import ( "html/template" "io" "log" + "net/mail" "net/url" "strings" "time" @@ -64,6 +65,13 @@ func (e *Engine) parseAll() { 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 { return strings.HasPrefix(str, prefix) }, diff --git a/server/template/views.go b/server/template/views.go index 5db87133..9a429a97 100644 --- a/server/template/views.go +++ b/server/template/views.go @@ -1,5 +1,5 @@ // 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 @@ -463,7 +463,7 @@ var templateViewsMap = map[string]string{ {{ if .entry.Author }} - {{ if contains .entry.Author "@" }} + {{ if isEmail .entry.Author }} - {{ .entry.Author }} {{ else }} – {{ .entry.Author }} @@ -1054,7 +1054,7 @@ var templateViewsMapChecksums = map[string]string{ "edit_category": "cee720faadcec58289b707ad30af623d2ee66c1ce23a732965463250d7ff41c5", "edit_feed": "c5bc4c22bf7e8348d880395250545595d21fb8c8e723fc5d7cca68e25d250884", "edit_user": "c835d78f7cf36c11533db9cef253457a9003987d704070d59446cb2b0e84dcb9", - "entry": "32e605edd6d43773ac31329d247ebd81d38d974cd43689d91de79fffec7fe04b", + "entry": "2d7524cfd743f8a74fcf6bf7f4631fe4a61bb595173545d49793c845a450ff03", "feed_entries": "9aff923b6c7452dec1514feada7e0d2bbc1ec21c6f5e9f48b2de41d1b731ffe4", "feeds": "c22af39b42ba9ca69ea0914ca789303ec2c5b484abcd4eaa49016e365381257c", "history": "947603cbde888516e62925f5d08fb0b13d930623d3ee4c690dbc22612fdda75e",