From 3e6e481c0be089a8df0876ec73d521c2e4b3c5be Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sat, 9 Nov 2024 01:00:44 -0500 Subject: [PATCH] began implementing dir traversal --- cmd/zona/main.go | 13 ++++++++----- internal/util/path.go | 25 +++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/cmd/zona/main.go b/cmd/zona/main.go index a016e5d..c613031 100644 --- a/cmd/zona/main.go +++ b/cmd/zona/main.go @@ -6,7 +6,6 @@ import ( "fmt" "os" - "github.com/ficcdaf/zona/internal/convert" "github.com/ficcdaf/zona/internal/util" ) @@ -42,9 +41,13 @@ func main() { } } - if !validateFile(*mdPath, ".md") { - fmt.Println("File validation failed!") - os.Exit(1) + // if !validateFile(*mdPath, ".md") { + // fmt.Println("File validation failed!") + // os.Exit(1) + // } + // convert.ConvertFile(*mdPath, "test/test.html") + err := util.Traverse("test") + if err != nil { + fmt.Printf("Error: %s\n", err.Error()) } - convert.ConvertFile(*mdPath, "test/test.html") } diff --git a/internal/util/path.go b/internal/util/path.go index 3f12d74..e1f972b 100644 --- a/internal/util/path.go +++ b/internal/util/path.go @@ -3,6 +3,8 @@ package util import ( "errors" + "fmt" + "io/fs" "os" "path/filepath" ) @@ -29,3 +31,26 @@ func PathIsValid(path string, requireFile bool) bool { } return err == nil } + +func processFile(path string, entry fs.DirEntry, err error) error { + if err != nil { + return err + } + if !entry.IsDir() { + ext := filepath.Ext(path) + switch ext { + case ".md": + fmt.Println("Processing markdown...") + default: + // All other file types, we copy! + } + } + fmt.Printf("Visited: %s\n", path) + return nil +} + +func Traverse(root string) error { + // err := filepath.WalkDir(root, func(path string, entry fs.DirEntry, err error) error { + err := filepath.WalkDir(root, processFile) + return err +}