]> Sergey Matveev's repositories - sgblog.git/blobdiff - cmd/sgblog/gopher.go
Shorter datetimes displaying
[sgblog.git] / cmd / sgblog / gopher.go
index 808c40fb0d343e080a82d1cbb73e5e2a62791691..e98d65b9f08d25c50639b39af32aec232495f08b 100644 (file)
@@ -30,6 +30,7 @@ import (
        "os"
        "strconv"
        "strings"
+       "time"
 
        "github.com/hjson/hjson-go"
        "go.stargrave.org/sgblog"
@@ -95,22 +96,33 @@ func serveGopher() {
 
                logEnded := false
                var menu bytes.Buffer
+               var yearPrev int
+               var monthPrev time.Month
+               var dayPrev int
                for i := 0; i < PageEntries; i++ {
                        commit, err := repoLog.Next()
                        if err != nil {
                                logEnded = true
                                break
                        }
+                       yearCur, monthCur, dayCur := commit.Author.When.Date()
+                       if dayCur != dayPrev || monthCur != monthPrev || yearCur != yearPrev {
+                               menu.WriteString(fmt.Sprintf(
+                                       "i%04d-%02d-%02d\t\tnull.host\t1%s",
+                                       yearCur, monthCur, dayCur, CRLF,
+                               ))
+                               yearPrev, monthPrev, dayPrev = yearCur, monthCur, dayCur
+                       }
                        commitN++
                        lines := msgSplit(commit.Message)
-
                        var commentsValue string
                        if l := len(parseComments(getNote(commentsTree, commit.Hash))); l > 0 {
                                commentsValue = fmt.Sprintf(" (%dC)", l)
                        }
                        menu.WriteString(fmt.Sprintf(
-                               "0[%s] %s (%dL)%s\t/%s\t%s\t%d%s",
-                               commit.Author.When.Format(sgblog.WhenFmt),
+                               "0[%02d:%02d] %s (%dL)%s\t/%s\t%s\t%d%s",
+                               commit.Author.When.Hour(),
+                               commit.Author.When.Minute(),
                                lines[0],
                                len(lines)-2,
                                commentsValue,