arns-lt-tree-push-service/collector.go
Arnas Udovic eb56e5c923
All checks were successful
continuous-integration/drone/push Build is passing
gallery app
2025-01-12 01:05:23 +02:00

66 lines
1.2 KiB
Go

package main
import (
"fmt"
"log"
"os"
"path"
"path/filepath"
"strings"
zord_tree "g.arns.lt/zordsdavini/zord-tree"
)
var config = zord_tree.NewConfig(
[]string{".md"},
"__a",
customMeta,
[]string{"\\.sync_.{12}\\.db"},
map[string]zord_tree.AppCallback{"gallery": gallery},
)
func gallery(dir string, content string, info os.FileInfo) (string, error) {
if info.Name() != "index.md" {
return content, nil
}
fullPath := path.Join(dir, info.Name())
_, _, fileMeta, err := zord_tree.GetFileParams(fullPath, meta)
if err != nil {
return content, err
}
if !strings.HasPrefix(fileMeta["app"], "gallery") {
return content, nil
}
entries, err := os.ReadDir(dir)
if err != nil {
return content, err
}
content += "\n"
for _, e := range entries {
if e.Name() != "index.md" {
content += fmt.Sprintf(
"![%s](%s)\n",
strings.TrimSuffix(e.Name(), filepath.Ext(e.Name())),
e.Name(),
)
}
}
return content, nil
}
func Collect() {
log.Println("Collect: start")
if _, err := os.Stat(source); os.IsNotExist(err) {
log.Print(err)
panic("Source directory does not exist.")
}
log.Println("Collect: pre")
_ = zord_tree.PopulateTree(source, meta, config)
log.Println("Collect: post")
}