1
0
mirror of https://github.com/osmarks/mycorrhiza.git synced 2024-10-30 11:46:16 +00:00
mycorrhiza/flag.go

59 lines
1.7 KiB
Go
Raw Normal View History

2020-10-25 15:06:51 +00:00
package main
import (
"flag"
"log"
"path/filepath"
"github.com/bouncepaw/mycorrhiza/user"
2020-10-25 15:06:51 +00:00
"github.com/bouncepaw/mycorrhiza/util"
)
func init() {
2020-12-17 12:59:59 +00:00
flag.StringVar(&util.URL, "url", "http://0.0.0.0:$port", "URL at which your wiki can be found. Used to generate feeds and social media previews")
flag.StringVar(&util.ServerPort, "port", "1737", "Port to serve the wiki at using HTTP")
flag.StringVar(&util.HomePage, "home", "home", "The home page name")
2020-10-25 15:06:51 +00:00
flag.StringVar(&util.SiteTitle, "title", "🍄", "How to call your wiki in the navititle")
flag.StringVar(&util.UserTree, "user-tree", "u", "Hypha which is a superhypha of all user pages")
flag.StringVar(&util.AuthMethod, "auth-method", "none", "What auth method to use. Variants: \"none\", \"fixed\"")
flag.StringVar(&util.FixedCredentialsPath, "fixed-credentials-path", "mycocredentials.json", "Used when -auth-method=fixed. Path to file with user credentials.")
2020-10-25 15:06:51 +00:00
}
// Do the things related to cli args and die maybe
func parseCliArgs() {
flag.Parse()
args := flag.Args()
if len(args) == 0 {
log.Fatal("Error: pass a wiki directory")
}
var err error
WikiDir, err = filepath.Abs(args[0])
util.WikiDir = WikiDir
if err != nil {
log.Fatal(err)
}
if util.URL == "http://0.0.0.0:$port" {
util.URL = "http://0.0.0.0:" + util.ServerPort
}
2020-10-25 15:06:51 +00:00
if !isCanonicalName(util.HomePage) {
log.Fatal("Error: you must use a proper name for the homepage")
}
if !isCanonicalName(util.UserTree) {
log.Fatal("Error: you must use a proper name for user tree")
}
switch util.AuthMethod {
case "none":
case "fixed":
user.AuthUsed = true
user.PopulateFixedUserStorage()
default:
log.Fatal("Error: unknown auth method:", util.AuthMethod)
}
2020-10-25 15:06:51 +00:00
}