diff options
Diffstat (limited to 'cmd/convert/main.go')
| -rw-r--r-- | cmd/convert/main.go | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/cmd/convert/main.go b/cmd/convert/main.go deleted file mode 100644 index 3cc4135..0000000 --- a/cmd/convert/main.go +++ /dev/null @@ -1,94 +0,0 @@ -package main - -import ( - "flag" - "io/ioutil" - "log" - "os" - "os/exec" - "path/filepath" - "regexp" - - "gopkg.in/yaml.v2" -) - -// Assumes we're getting a pageName ending in .page -func convertPage(newDir, pageName string) error { - yamlName := pageName[:len(pageName)-5] + ".yml" - headName := pageName[:len(pageName)-5] + ".head" - newPageName := pageName[:len(pageName)-5] + ".md" - hasHead := false - headBytes := []byte{} - if _, err := os.Stat(headName); err == nil { - hasHead = true - } - - if hasHead { - var err error - headBytes, err = ioutil.ReadFile(headName) - if err != nil { - return err - } - } - - y, err := yaml.Marshal(map[string]string{ - "head": string(headBytes), - }) - if err != nil { - return err - } - - cmd := exec.Command("mkdir", "-p", filepath.Join(newDir, filepath.Dir(pageName))) - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - err = cmd.Run() - if err != nil { - return err - } - cmd = exec.Command("cp", "-v", pageName, filepath.Join(newDir, newPageName)) - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - err = cmd.Run() - if err != nil { - return err - } - - if len(headBytes) == 0 { - return nil - } else { - return ioutil.WriteFile(newDir+"/"+yamlName, y, 0644) - } -} - -func main() { - fl := flag.NewFlagSet("Website converter", flag.ExitOnError) - origDirectory := fl.String("d", ".", "Directory to read from") - newDirectory := fl.String("D", ".", "Directory to write to") - _ = fl.Parse(os.Args[1:]) - - newDir, _ := filepath.Abs(*newDirectory) - origDir, _ := filepath.Abs(*origDirectory) - - if err := os.Chdir(origDir); err != nil { - log.Fatal(err) - } - - pageRe := regexp.MustCompile(`\.page$`) - _ = filepath.Walk(".", func(path string, info os.FileInfo, err error) error { - if err != nil { - // Prevents panic - log.Println(err) - return err - } - - if pageRe.MatchString(info.Name()) { - if err := convertPage(newDir, path); err != nil { - log.Println(err) - return err - } - } - - return nil - }) - -} |
