summaryrefslogtreecommitdiff
path: root/internal/b2
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'internal/b2')
-rw-r--r--internal/b2/client.go13
1 files changed, 9 insertions, 4 deletions
diff --git a/internal/b2/client.go b/internal/b2/client.go
index f2b6cad..7b745a8 100644
--- a/internal/b2/client.go
+++ b/internal/b2/client.go
@@ -33,13 +33,14 @@ func NewB2Client(cfg *config.B2Config) (*B2Client, error) {
type BlogPage struct {
Link string
+ FileName string
Metadata *frontmatter.Metadata
}
-func (c *B2Client) Scan() ([]*BlogPage, error) {
+func (c *B2Client) Scan(prefix string) ([]*BlogPage, error) {
filePaths := []*BlogPage{}
- iter := c.bucket.List(context.Background(), b2.ListPrefix(c.prefix))
+ iter := c.bucket.List(context.Background(), b2.ListPrefix(c.prefix+prefix))
for iter.Next() {
obj := iter.Object()
@@ -69,10 +70,13 @@ func (c *B2Client) Scan() ([]*BlogPage, error) {
return nil, fmt.Errorf("failed to parse published time metadata field: %w", err)
}
- linkParts := strings.Split(obj.Name(), ".")
+ linkParts := strings.Split(obj.Name(), "/")
+ nameParts := strings.Split(linkParts[len(linkParts)-1], ".")
+ fileName := strings.Join(nameParts[:len(linkParts)-1], ".")
filePaths = append(filePaths, &BlogPage{
- Link: strings.Join(linkParts[:len(linkParts)-1], "."),
+ Link: obj.Name(),
+ FileName: fileName,
Metadata: &frontmatter.Metadata{
Title: attrs.Info["title"],
ShortDescription: attrs.Info["short-description"],
@@ -80,6 +84,7 @@ func (c *B2Client) Scan() ([]*BlogPage, error) {
PublishedTime: publishedTime,
Thumbnail: attrs.Info["thumbnail"],
Tags: strings.Split(attrs.Info["tags"], ","),
+ Geolocation: attrs.Info["geolocation"],
},
})
}