aboutsummaryrefslogtreecommitdiff
path: root/internal/template
diff options
context:
space:
mode:
Diffstat (limited to 'internal/template')
-rw-r--r--internal/template/feed.tpl.go76
-rw-r--r--internal/template/template.go68
2 files changed, 0 insertions, 144 deletions
diff --git a/internal/template/feed.tpl.go b/internal/template/feed.tpl.go
deleted file mode 100644
index 3f6470f..0000000
--- a/internal/template/feed.tpl.go
+++ /dev/null
@@ -1,76 +0,0 @@
-package template
-
-var Feed = fromString("Feed", feedTpl)
-
-//noinspection HtmlDeprecatedAttribute,HtmlUnknownTarget
-const feedTpl = `{{- /*gotype:github.com/Necoro/feed2imap-go/internal/feed.feeditem*/ -}}
-{{define "bottomLine"}}
- {{if .content}}
- <tr>
- <td align="right">
- <span style="color: #ababab; ">{{.descr}}</span>&nbsp;&nbsp;
- </td>
- <td>
- <span style="color: #ababab; ">{{.content}}</span>
- </td>
- </tr>
- {{end}}
-{{end}}
-<table border="1" width="100%" cellpadding="0" cellspacing="0" style="border-spacing: 0; ">
- <tr>
- <td>
- <table width="100%" bgcolor="#EDEDED" cellpadding="4" cellspacing="2">
- <tr>
- <td align="right"><b>Feed</b></td>
- <td width="100%">
- {{with .Feed.Link}}<a href="{{.}}">{{end}}
- <b>{{or .Feed.Title .Feed.Link "Unnammed feed"}}</b>
- {{if .Feed.Link}}</a>{{end}}
- </td>
- </tr>
- <tr>
- <td align="right"><b>Item</b></td>
- <td width="100%">
- {{with .Item.Link}}<a href="{{.}}">{{end}}
- <b>{{or .Item.Title .Item.Link}}</b>
- {{if .Item.Link}}</a>{{end}}
- </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-{{with .Item.Description}}
- <br /> <!-- originally: only if content and 'content !~ /\A\s*</m' -->
- {{html .}}
-{{end}}
-{{with .Item.Content}}
- <br /> <!-- originally: only if content and 'content !~ /\A\s*</m' -->
- {{html .}}
-{{end}}
-{{with .Item.Enclosures}}
- <table border="1" width="100%" cellpadding="0" cellspacing="0" style="border-spacing: 0; ">
- <tr>
- <td>
- <table width="100%" bgcolor="#EDEDED" cellpadding="2" cellspacing="2">
- <tr><td width="100%"><b>Files:</b></td></tr>
- {{range .}}
- <tr>
- <td>
- &nbsp;&nbsp;&nbsp;
- <a href={{.URL}}>{{.URL | lastUrlPart}}</a> ({{.Length | byteCount}}, {{.Type}})
- </td>
- </tr>
- {{end}}
- </table>
- </td>
- </tr>
- </table>
-{{end}}
-<hr width="100%"/>
-<table width="100%" cellpadding="0" cellspacing="0">
- {{template "bottomLine" (dict "descr" "Date:" "content" .Item.Published)}}
- {{with .Item.Author}}{{template "bottomLine" (dict "descr" "Author:" "content" .Name)}}{{end}}
- {{template "bottomLine" (dict "descr" "Subject:" "content" .Item.Title)}}
- {{template "bottomLine" (dict "descr" "Filed under:" "content" (join ", " .Item.Categories))}}
-</table>`
diff --git a/internal/template/template.go b/internal/template/template.go
deleted file mode 100644
index dd31f51..0000000
--- a/internal/template/template.go
+++ /dev/null
@@ -1,68 +0,0 @@
-package template
-
-import (
- "fmt"
- "html/template"
- "strconv"
- "strings"
-
- "github.com/Necoro/feed2imap-go/internal/log"
-)
-
-func dict(v ...string) map[string]string {
- dict := map[string]string{}
- lenv := len(v)
- for i := 0; i < lenv; i += 2 {
- key := v[i]
- if i+1 >= lenv {
- dict[key] = ""
- continue
- }
- dict[key] = v[i+1]
- }
- return dict
-}
-
-func join(sep string, parts []string) string {
- return strings.Join(parts, sep)
-}
-
-func lastUrlPart(url string) string {
- split := strings.Split(url, "/")
- return split[len(split)-1]
-}
-
-func byteCount(str string) string {
- b, err := strconv.ParseUint(str, 10, 64)
- if err != nil {
- log.Printf("Cannot convert '%s' to byte count: %s", str, err)
- }
-
- const unit = 1024
- if b < unit {
- return fmt.Sprintf("%d B", b)
- }
- div, exp := uint64(unit), 0
- for n := b / unit; n >= unit; n /= unit {
- div *= unit
- exp++
- }
- return fmt.Sprintf("%.1f %cB", float64(b)/float64(div), "KMGTPE"[exp])
-}
-
-func html(s string) template.HTML {
- return template.HTML(s)
-}
-
-var funcMap = template.FuncMap{
- "dict": dict,
- "join": join,
- "lastUrlPart": lastUrlPart,
- "byteCount": byteCount,
- "html": html,
-}
-
-func fromString(name, templateStr string) *template.Template {
- tpl := template.New(name).Funcs(funcMap)
- return template.Must(tpl.Parse(templateStr))
-}