X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=cmd%2Fsgblog-comment-add%2Fmain.go;h=ec8910eef9362d1eb89eb5d66583ece99a7ea9bc;hb=a55108f6b815427023df6ef5a56ddd0b109244cc;hp=2b977ae7feb14c0c886851f8871ca6e1d982b32c;hpb=643daee61179dcf2ed097e3f394facaa93b7bff0;p=sgblog.git diff --git a/cmd/sgblog-comment-add/main.go b/cmd/sgblog-comment-add/main.go index 2b977ae..ec8910e 100644 --- a/cmd/sgblog-comment-add/main.go +++ b/cmd/sgblog-comment-add/main.go @@ -36,6 +36,7 @@ import ( "syscall" "time" + "go.cypherpunks.ru/recfile" "go.stargrave.org/sgblog" ) @@ -142,15 +143,24 @@ func main() { note = bytes.TrimRight(note, "\r\n") buf := bytes.NewBuffer(note) - buf.WriteString(fmt.Sprintf( - "\n\nFrom: %s\nDate: %s\nBody:\n", - from, - time.Now().UTC().Format(sgblog.WhenFmt), - )) - for _, s := range cleanupBody(string(body)) { - buf.WriteString("+ ") - buf.WriteString(s) - buf.WriteString("\n") + recfileW := recfile.NewWriter(buf) + if _, err = recfileW.RecordStart(); err != nil { + log.Fatal(err) + } + // We trimmed newline, so have to start record twice + if _, err = recfileW.RecordStart(); err != nil { + log.Fatal(err) + } + if _, err = recfileW.WriteFields( + recfile.Field{"From", from}, + recfile.Field{"Date", time.Now().UTC().Format(sgblog.WhenFmt)}, + ); err != nil { + log.Fatal(err) + } + if _, err = recfileW.WriteFieldMultiline( + "Body", append([]string{""}, cleanupBody(string(body))...), + ); err != nil { + log.Fatal(err) } if *dryRun {