Dennis Rodewyk преди 5 години
родител
ревизия
20684770f1
променени са 1 файла, в които са добавени 46 реда и са изтрити 4 реда
  1. 46 4
      hugo-encrypt.go

+ 46 - 4
hugo-encrypt.go

@@ -62,13 +62,55 @@ func encryptPage(path string) {
 	}
 }
 
+type stringFlag struct {
+    set   bool
+    value string
+}
+
+func (sf *stringFlag) Set(x string) error {
+    sf.value = x
+    sf.set = true
+    return nil
+}
+
+func (sf *stringFlag) String() string {
+    return sf.value
+}
+
+var sitepath stringFlag
+
+func init() {
+    flag.Var(&sitepath, "sitepath", "the sitepath")
+type stringFlag struct {
+    set   bool
+    value string
+}
+
+func (sf *stringFlag) Set(x string) error {
+    sf.value = x
+    sf.set = true
+    return nil
+}
+
+func (sf *stringFlag) String() string {
+    return sf.value
+}
+
+var sitepath stringFlag
+
+func init() {
+    flag.Var(&sitepath, "sitepath", "the sitepath")
+}
+
 func main() {
-	sitePath := os.Args[1]
-	if sitePath == "" {
-	    fmt.Printf("dir not explicitly set, using default\n")
+	flag.Parse()
+	if !sitepath.set {
+	    fmt.Println("--sitepath not set")
 		os.Exit(1)
+	} else {
+	    fmt.Printf("--sitepath set to %q\n", sitepath.value)
 	}
-	err := filepath.Walk(sitePath, func(path string, f os.FileInfo, err error) error {
+	err := filepath.Walk(sitepath.value, func(path string, f os.FileInfo, err error) error {
 		if f == nil {
 			return err
 		}