]> Sergey Matveev's repositories - sgblog.git/blobdiff - cmd/sgblog/gopher.go
Optimize and simplify templates
[sgblog.git] / cmd / sgblog / gopher.go
index d8e4fe4bc62e413bcd4babef51dcfcf89269fb65..59e2607644ec8d8c9da44175283fb2e54c592ffb 100644 (file)
@@ -38,18 +38,20 @@ import (
 )
 
 const (
-       TmplGopherMenu = `{{$Cfg := .Cfg}}{{$CR := .CR}}i{{.Cfg.Title}} ({{.Offset}}-{{.OffsetNext}})   err     {{.Cfg.GopherDomain}}   70{{.CR}}
-{{if .Cfg.AboutURL}}hAbout     URL:{{.Cfg.AboutURL}}   {{.Cfg.GopherDomain}}   70{{.CR}}{{end}}
-{{if .Offset}}1Prev    offset/{{.OffsetPrev}}  {{.Cfg.GopherDomain}}   70{{.CR}}{{end}}
-{{if not .LogEnded}}1Next      offset/{{.OffsetNext}}  {{.Cfg.GopherDomain}}   70{{.CR}}{{end -}}
-{{- $yearPrev := 0}}{{$monthPrev := 0}}{{$dayPrev := 0 -}}
-{{- range .Entries }}{{$yearCur := .Commit.Author.When.Year}}{{$monthCur := .Commit.Author.When.Month}}{{$dayCur := .Commit.Author.When.Day -}}
-{{- if or (ne $dayCur $dayPrev) (ne $monthCur $monthPrev) (ne $yearCur $yearPrev)}}{{$dayPrev = $dayCur}}{{$monthPrev = $monthCur}}{{$yearPrev = $yearCur}}
-i{{$yearCur | printf "%04d"}}-{{$monthCur | printf "%02d"}}-{{$dayCur | printf "%02d"}}        err     {{$Cfg.GopherDomain}}   70{{$CR}}{{end}}
-0[{{.Commit.Author.When.Hour | printf "%02d"}}:{{.Commit.Author.When.Minute | printf "%02d"}}] {{.Title}} ({{.LinesNum}}L){{if .CommentsNum}} ({{.CommentsNum}}C){{end}}       /{{.Commit.Hash.String}}        {{$Cfg.GopherDomain}}   70{{$CR}}{{end}}
-iGenerated by: SGBlog {{.Version}}     err     {{.Cfg.GopherDomain}}   70{{.CR}}
-.{{.CR}}
-`
+       TmplGopherMenu = `{{$CR := printf "\r"}}{{$CRLF := printf "\r\n" -}}
+{{- define "domainPort" }}     {{.GopherDomain}}       70{{end}}{{$Cfg := .Cfg -}}
+i{{.Cfg.Title}} ({{.Offset}}-{{.OffsetNext}})  err{{template "domainPort" .Cfg}}{{$CRLF -}}
+{{- if .Cfg.AboutURL}}hAbout   URL:{{.Cfg.AboutURL}}{{template "domainPort" .Cfg}}{{$CRLF}}{{end -}}
+{{- if .Offset}}1Prev  offset/{{.OffsetPrev}}{{template "domainPort" .Cfg}}{{$CRLF}}{{end -}}
+{{- if not .LogEnded}}1Next    offset/{{.OffsetNext}}{{template "domainPort" .Cfg}}{{$CRLF}}{{end -}}
+{{- $datePrev := "0001-01-01" -}}
+{{- range .Entries -}}
+{{- $dateCur := .Commit.Author.When.Format "2006-01-02" -}}
+{{- if ne $dateCur $datePrev}}{{$datePrev = $dateCur}}
+i{{$dateCur}}  err{{template "domainPort" $Cfg}}{{$CR}}{{end}}
+0[{{.Commit.Author.When.Format "15:04"}}] {{.Title}} ({{.LinesNum}}L){{with .CommentsNum}} ({{.}}C){{end}}     /{{.Commit.Hash.String}}{{template "domainPort" $Cfg}}{{$CR}}{{end}}
+iGenerated by: SGBlog {{.Version}}     err{{template "domainPort" .Cfg}}{{$CR}}
+.{{$CRLF}}`
        TmplGopherEntry = `What: {{.Commit.Hash.String}}
 When: {{.When}}
 ------------------------------------------------------------------------
@@ -152,7 +154,6 @@ func serveGopher() {
                        LogEnded   bool
                        Entries    []TableMenuEntry
                        Version    string
-                       CR         string
                }{
                        Cfg:        cfg,
                        Offset:     offset,
@@ -161,7 +162,6 @@ func serveGopher() {
                        LogEnded:   logEnded,
                        Entries:    entries,
                        Version:    sgblog.Version,
-                       CR:         "\r",
                })
                if err != nil {
                        log.Fatalln(err)