/*
SGBlog -- Git-backed CGI/UCSPI blogging/phlogging/gemlogging engine
-Copyright (C) 2020-2022 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2020-2023 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
"github.com/go-git/go-git/v5"
"github.com/go-git/go-git/v5/plumbing"
"github.com/go-git/go-git/v5/plumbing/object"
+ "github.com/vorlif/spreak"
"go.stargrave.org/sgblog"
"go.stargrave.org/sgblog/cmd/sgblog/atom"
- "golang.org/x/crypto/blake2b"
+ "lukechampine.com/blake3"
)
const (
if err != nil {
log.Fatalln(err)
}
+ initLocalizer(cfg.Lang)
pathInfo := os.Getenv("PATH_INFO")
if len(pathInfo) == 0 {
makeErr(err, http.StatusBadRequest)
}
- etagHash, err := blake2b.New256(nil)
- if err != nil {
- panic(err)
- }
+ etagHash := blake3.New(32, nil)
for _, s := range []string{
"SGBLOG",
sgblog.Version,
cfg.CommentsNotesRef,
cfg.CommentsEmail,
}
- for _, gitURL := range cfg.GitURLs {
- etagHashForWeb = append(etagHashForWeb, gitURL)
- }
+ etagHashForWeb = append(etagHashForWeb, cfg.GitURLs...)
headHash, err := initRepo(cfg)
if err != nil {
}
os.Stdout.Write([]byte(startHeader(etagHash, gzipWriter != nil)))
err = TmplHTMLIndex.Execute(out, struct {
+ T *spreak.Localizer
Version string
Cfg *Cfg
Topic string
LogEnded bool
Entries []TableEntry
}{
+ T: localizer,
Version: sgblog.Version,
Cfg: cfg,
Topic: topic,
} else {
title = fmt.Sprintf("%s (topic: %s)", cfg.Title, topic)
}
- idHasher, err := blake2b.New256(nil)
- if err != nil {
- panic(err)
- }
+ idHasher := blake3.New(32, nil)
idHasher.Write([]byte("ATOM POSTS"))
idHasher.Write([]byte(cfg.AtomId))
idHasher.Write([]byte(topic))
etagHash.Write([]byte("ATOM COMMENTS"))
etagHash.Write(commit.Hash[:])
checkETag(etagHash)
- idHasher, err := blake2b.New256(nil)
- if err != nil {
- panic(err)
- }
+ idHasher := blake3.New(32, nil)
idHasher.Write([]byte("ATOM COMMENTS"))
idHasher.Write([]byte(cfg.AtomId))
feed := atom.Feed{
body: lines[3:],
})
}
- idHasher, err := blake2b.New256(nil)
- if err != nil {
- panic(err)
- }
+ idHasher := blake3.New(32, nil)
idHasher.Write([]byte("ATOM COMMENTS"))
idHasher.Write(commit.Hash[:])
feed := atom.Feed{
os.Stdout.Write([]byte(startHeader(etagHash, gzipWriter != nil)))
err = TmplHTMLEntry.Execute(out, struct {
+ T *spreak.Localizer
Version string
Cfg *Cfg
Title string
Comments []CommentEntry
Topics []string
}{
+ T: localizer,
Version: sgblog.Version,
Cfg: cfg,
Title: title,