diff options
| author | Fuwn <[email protected]> | 2021-07-20 19:49:08 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-07-20 19:49:08 +0000 |
| commit | 1c3ed61e59fbcffd4c1429d83913d14b19a23d2c (patch) | |
| tree | 388600d0b61e188700aac9990e1e5f801fbf1094 | |
| parent | Add -e flag to place a stylesheet externally rather than loading it inline (diff) | |
| download | capybara-1c3ed61e59fbcffd4c1429d83913d14b19a23d2c.tar.xz capybara-1c3ed61e59fbcffd4c1429d83913d14b19a23d2c.zip | |
Add ability to specify flags via environment
| -rw-r--r-- | main.go | 39 |
1 files changed, 37 insertions, 2 deletions
@@ -518,6 +518,12 @@ func proxyGemini(req gemini.Request, external bool, root *url.URL, } } +func bindIfEnv(key string, do func()) { + if len(os.Getenv(key)) != 0 { + do() + } +} + func main() { var ( bind string = ":8080" @@ -529,6 +535,24 @@ func main() { if err != nil { log.Fatal(err) } + + bindIfEnv("BIND", func() { + bind = os.Getenv("BIND") + }) + bindIfEnv("CSS", func() { + external = false + cssContent, err := ioutil.ReadFile(os.Getenv("CSS")) + if err == nil { + css = string(cssContent) + } else { + log.Fatalf("Error opening custom CSS from '%s': %v", os.Getenv("CSS"), err) + } + }) + bindIfEnv("CSS_EXTERNAL", func() { + external = true + css = os.Getenv("CSS_EXTERNAL") + }) + for _, opt := range opts { switch opt.Option { case 'b': @@ -548,10 +572,21 @@ func main() { } args := os.Args[optind:] + var ( + envRoot string + root *url.URL + ) if len(args) != 1 { - log.Fatalf("Usage: %s <gemini root>", os.Args[0]) + envRoot = os.Getenv("ROOT") + if len(envRoot) == 0 { + log.Fatalf("Usage: %s <gemini root>", os.Args[0]) + } + } else { + root, err = url.Parse(args[0]) + } + if len(envRoot) != 0 { + root, err = url.Parse(envRoot) } - root, err := url.Parse(args[0]) if err != nil { log.Fatal(err) } |