"time"
"go.cypherpunks.ru/netstring/v2"
+ "go.stargrave.org/sgblog"
)
-const WhenFmt = "2006-01-02 15:04:05Z07:00"
-
func main() {
gitCmd := flag.String("git-cmd", "/usr/local/bin/git", "Path to git executable")
gitDir := flag.String("git-dir", "", "Path to .git repository")
notesRef := flag.String("ref", "comments", "notes reference name")
umask := flag.String("umask", "027", "umask value")
dryRun := flag.Bool("dryrun", false, "Show comment, do not add")
+ committerEmail := flag.String(
+ "committer-email",
+ "comment@blog.example.com",
+ "Git committer's email",
+ )
flag.Parse()
uid := syscall.Geteuid()
if err := syscall.Setuid(uid); err != nil {
w.WriteChunk([]byte(fmt.Sprintf(
"From: %s\nDate: %s\n\n%s",
from,
- time.Now().UTC().Format(WhenFmt),
+ time.Now().UTC().Format(sgblog.WhenFmt),
strings.Join(lines, "\n"),
)))
"notes", "--ref", *notesRef, "add",
"-F", "-", "-f", subj,
)
+ cmd.Env = append(
+ cmd.Env,
+ "GIT_AUTHOR_NAME=SGBlog "+sgblog.Version,
+ "GIT_AUTHOR_EMAIL="+*committerEmail,
+ "GIT_COMMITTER_NAME=SGBlog "+sgblog.Version,
+ "GIT_COMMITTER_EMAIL="+*committerEmail,
+ )
cmd.Stdin = buf
if err = cmd.Run(); err != nil {
log.Fatal(err)
"github.com/hjson/hjson-go"
"go.cypherpunks.ru/netstring/v2"
+ "go.stargrave.org/sgblog"
"golang.org/x/crypto/blake2b"
"golang.org/x/tools/blog/atom"
"gopkg.in/src-d/go-git.v4"
const (
PageEntries = 50
- WhenFmt = "2006-01-02 15:04:05Z07:00"
AtomFeed = "feed.atom"
)
var (
- Version = "0.2.0"
sha1DigestRe = regexp.MustCompilePOSIX("([0-9a-f]{40,40})")
defaultLinks = []string{}
repo *git.Repository
</head>
<body>
`,
- Version, title,
+ sgblog.Version, title,
strings.Join(append(defaultLinks, additional...), "\n "),
)
}
panic(err)
}
etagHash.Write([]byte("SGBLOG"))
+ etagHash.Write([]byte(sgblog.Version))
etagHash.Write([]byte(cfg.GitPath))
etagHash.Write([]byte(cfg.Branch))
etagHash.Write([]byte(cfg.Title))
"<td>%s</td>"+
"<td>%d</td><td>%s</td>"+
"<td>%s</td></tr>\n",
- commentN, entry.commit.Author.When.Format(WhenFmt),
+ commentN, entry.commit.Author.When.Format(sgblog.WhenFmt),
makeA(cfg.URLPrefix+"/"+entry.commit.Hash.String(), lines[0]),
len(lines)-2,
commentsValue,
checkETag(etagHash)
lines := msgSplit(commit.Message)
title := lines[0]
- when := commit.Author.When.Format(WhenFmt)
+ when := commit.Author.When.Format(sgblog.WhenFmt)
os.Stdout.Write([]byte(startHeader(etagHash, gzipWriter != nil)))
links := []string{}
var parent string