From ab277aa4ea983118b743887d7d354a3a4e224eae Mon Sep 17 00:00:00 2001 From: lourenco <> Date: Thu, 25 Sep 2025 14:42:33 +0200 Subject: [PATCH] basic hugo integration --- pkg/hugo/hugo.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 pkg/hugo/hugo.go diff --git a/pkg/hugo/hugo.go b/pkg/hugo/hugo.go new file mode 100644 index 0000000..860bb96 --- /dev/null +++ b/pkg/hugo/hugo.go @@ -0,0 +1,36 @@ +package hugo + +import ( + "io" + "log" + "os/exec" + + "git.assilvestrar.club/lourenco/go-hugo-cms.git/pkg/git" +) + +func (g *git.GitOptions) NewBlog() { + if empty, _ := g.CheckIfEmpty(); !empty { + log.Fatal("blog dir is not empty") + } + + cmd := exec.Command("hugo", "new", "site", g.Name) + if err := cmd; err != nil { + log.Fatal(err) + } + + cmd.Run() +} + +func (g *git.GitOptions) CheckIfEmpty() (bool, error) { + dir := os.Open(g.Name) + if err != nil { + return false, err + } + defer dir.Close() + + _, err := os.Readdirnames(1) + if err == io.EOF { + return true, nil + } + return false, err +}