From 4626f92bb9f53184e9c648227d9bfd25fd801ae4 Mon Sep 17 00:00:00 2001 From: lourenco <> Date: Thu, 25 Sep 2025 16:17:29 +0200 Subject: [PATCH] continuing basic hugo integration --- cmd/go-hugo-cms/main.go | 20 +++++++-------- pkg/hugo/hugo.go | 54 +++++++++++++++++++++++++++++++++++------ 2 files changed, 55 insertions(+), 19 deletions(-) diff --git a/cmd/go-hugo-cms/main.go b/cmd/go-hugo-cms/main.go index c71df48..8d32b74 100644 --- a/cmd/go-hugo-cms/main.go +++ b/cmd/go-hugo-cms/main.go @@ -1,19 +1,17 @@ package main import ( - "fmt" - - "git.assilvestrar.club/lourenco/go-hugo-cms.git/pkg/git" + "git.assilvestrar.club/lourenco/go-hugo-cms.git/pkg/hugo" ) func main() { - options := git.GitOptions{ - URL: "https://git.assilvestrar.club/lourenco/go-hugo-cms.git", - Name: "go-hugo-cms", - } + // options := git.GitOptions{ + // URL: "https://git.assilvestrar.club/lourenco/go-hugo-cms.git", + // Name: "go-hugo-cms", + // } - err := options.Fetch() - if err != nil { - fmt.Errorf("%w", err) - } + hugo.List() + //if err != nil { + // fmt.Errorf("%w", err) + //} } diff --git a/pkg/hugo/hugo.go b/pkg/hugo/hugo.go index 860bb96..8a176b6 100644 --- a/pkg/hugo/hugo.go +++ b/pkg/hugo/hugo.go @@ -3,17 +3,30 @@ package hugo import ( "io" "log" + "os" "os/exec" - - "git.assilvestrar.club/lourenco/go-hugo-cms.git/pkg/git" + "time" ) -func (g *git.GitOptions) NewBlog() { - if empty, _ := g.CheckIfEmpty(); !empty { +type Metadata struct { + Path string + Slug string + Title string + Date *time.Time + ExpiryDate *time.Time + PublishDate *time.Time + Draft bool + Permalink string + Kind string + Section string +} + +func NewBlog(name string) { + if empty, _ := CheckIfEmpty(name); !empty { // we need dir to be empty log.Fatal("blog dir is not empty") } - cmd := exec.Command("hugo", "new", "site", g.Name) + cmd := exec.Command("hugo", "new", "site", name) if err := cmd; err != nil { log.Fatal(err) } @@ -21,16 +34,41 @@ func (g *git.GitOptions) NewBlog() { cmd.Run() } -func (g *git.GitOptions) CheckIfEmpty() (bool, error) { - dir := os.Open(g.Name) +func CheckIfEmpty(name string) (bool, error) { + dir, err := os.Open(name) if err != nil { return false, err } defer dir.Close() - _, err := os.Readdirnames(1) + _, err = dir.Readdirnames(1) if err == io.EOF { return true, nil } return false, err } + +func Build() { + cmd := exec.Command("hugo", "build") + if err := cmd; cmd != nil { + log.Fatal(err) + } + + cmd.Run() +} + +func List() { + if err := os.Chdir("/home/lv/dev/assilvestrar-blog"); err != nil { + log.Fatal(err) + } + + cmd := exec.Command("hugo", "list", "all") + if err := cmd; cmd != nil { + log.Fatal(err) + } + + if err := cmd.Run(); err != nil { + log.Fatal(err) + } + +}