Browse Source

fixing comment keying, fixing comment storage location

pull/10/head
Stephen Searles 2 years ago
parent
commit
3f941de9c8
2 changed files with 18 additions and 7 deletions
  1. 17
    6
      comments/comments.go
  2. 1
    1
      setup.go

+ 17
- 6
comments/comments.go View File

@@ -8,6 +8,7 @@ import (
"html/template"
"io"
"net/http"
"strconv"
"sync"
"time"

@@ -175,17 +176,27 @@ func (d *diskvStorage) nextKey(post string) (string, error) {
d.keyMtx.Lock()
defer d.keyMtx.Unlock()

var i uint64

prefix := post + "-"

lastKey := prefix

keys := d.KeysPrefix(prefix, nil)
for range keys {
i++
for key := range keys {
lastKey = key
}

if lastKey == prefix {
return prefix + "1", nil
}

minusPrefix := lastKey[len(prefix):]
lastIdx, err := strconv.Atoi(minusPrefix)
if err != nil {
return "", fmt.Errorf("comment key %q seems malformed", lastKey)
}

key := prefix + fmt.Sprint(i)
err := d.WriteStream(key, &bytes.Buffer{}, true)
key := prefix + fmt.Sprint(lastIdx+1)
err = d.WriteStream(key, &bytes.Buffer{}, true)

return key, err
}

+ 1
- 1
setup.go View File

@@ -38,7 +38,7 @@ func (ch *CaddyHugo) commentsSetting(c *caddy.Controller) {
if c.Val() == "hugo" {
for c.NextBlock() {
if c.Val() == "comments" {
ch.Comments = comments.Default()
ch.Comments = comments.WithStorage(comments.NewDiskv(path.Join(ch.Site.Root, "comments")))
if c.NextArg() {
ch.Comments.Password = c.Val()
}

Loading…
Cancel
Save