From cddf7ed45147869a9d2eee2e40f59a97c472ea72 Mon Sep 17 00:00:00 2001 From: Mitch Riedstra Date: Sat, 26 Sep 2020 20:59:34 -0400 Subject: Split up http related stuff out of the page library. Make it an interface. Rename page to be 'local' reflecting that it reads the website off the local disk. Update the build script to include the go version. Switch to gorilla/mux Remove the convert command, since we're no longer utilizing that old layout or have any need to convert from it. --- cmd/convert/main.go | 94 ----------------------------------------------------- cmd/server/main.go | 19 +++++++++-- 2 files changed, 16 insertions(+), 97 deletions(-) delete mode 100644 cmd/convert/main.go (limited to 'cmd') 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 - }) - -} diff --git a/cmd/server/main.go b/cmd/server/main.go index c18aa55..f034cfa 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -6,8 +6,11 @@ import ( "log" "net/http" "os" + "time" - "git.riedstra.us/mitch/go-website/page" + siteHttp "git.riedstra.dev/mitch/go-website/http" + // "git.riedstra.dev/mitch/go-website/local" + // "git.riedstra.dev/mitch/go-website/page" ) var VersionString = "" @@ -32,6 +35,16 @@ func main() { log.Fatal(err) } - page.SetupHandlers() - _ = http.ListenAndServe(*listen, nil) + // We're going to utilize the local version of the website + // siteHttp.NewPage = func(u string) page.Page { + // return &local.Page{Path: u} + // } + + srv := &http.Server{ + Handler: siteHttp.GetHandler(), + Addr: *listen, + WriteTimeout: 15 * time.Second, + ReadTimeout: 15 * time.Second, + } + log.Fatal(srv.ListenAndServe()) } -- cgit v1.2.3