cmd/sgblog/main.go | 40 +++++++++++++++++++++++++--------------- diff --git a/cmd/sgblog/main.go b/cmd/sgblog/main.go index 64798ccba52250c7068b11a6d43f9b29dbc36d73cc04c8dbdbb62d289395f333..bb65fb52c4dc37ab886c6e25d13f40d9e80bee79670dc1ae1f24cb1d305aee7a 100644 --- a/cmd/sgblog/main.go +++ b/cmd/sgblog/main.go @@ -119,6 +119,20 @@ } return lines } +func lineURLize(urlPrefix, line string) string { + cols := strings.Split(html.EscapeString(line), " ") + for i, col := range cols { + if u := urlParse(col); u != nil { + cols[i] = makeA(col, col) + continue + } + cols[i] = sha1DigestRe.ReplaceAllString(col, makeA( + urlPrefix+"/$1", "$1", + )) + } + return strings.Join(cols, " ") +} + func getNote(tree *object.Tree, what plumbing.Hash) []byte { if tree == nil { return nil @@ -537,19 +551,7 @@ "[%s] [%s]
\n",
when, commit.Hash.String(), title,
)))
for _, line := range lines[2:] {
- line = html.EscapeString(line)
- cols := strings.Split(line, " ")
- for i, col := range cols {
- if u := urlParse(col); u != nil {
- cols[i] = makeA(col, col)
- continue
- }
- cols[i] = sha1DigestRe.ReplaceAllString(col, makeA(
- cfg.URLPrefix+"/$1", "$1",
- ))
- }
- line = strings.Join(cols, " ")
- out.Write([]byte(line + "\n"))
+ out.Write([]byte(lineURLize(cfg.URLPrefix, line) + "\n"))
}
out.Write([]byte("\n\n%s\n
\n",
+ i, i, i,
)))
+ lines = strings.Split(comment, "\n")
+ for _, line := range lines[:3] {
+ out.Write([]byte(line + "\n"))
+ }
+ for _, line := range lines[3:] {
+ out.Write([]byte(lineURLize(cfg.URLPrefix, line) + "\n"))
+ }
+ out.Write([]byte("