2020-10-25 15:06:51 +00:00
package main
import (
"flag"
"log"
"path/filepath"
2020-11-13 18:45:42 +00:00
"github.com/bouncepaw/mycorrhiza/user"
2020-10-25 15:06:51 +00:00
"github.com/bouncepaw/mycorrhiza/util"
)
func init ( ) {
flag . StringVar ( & util . ServerPort , "port" , "1737" , "Port to serve the wiki at" )
flag . StringVar ( & util . HomePage , "home" , "home" , "The home page" )
flag . StringVar ( & util . SiteTitle , "title" , "🍄" , "How to call your wiki in the navititle" )
2020-11-13 18:45:42 +00:00
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 ! isCanonicalName ( util . HomePage ) {
log . Fatal ( "Error: you must use a proper name for the homepage" )
}
2020-11-13 18:45:42 +00:00
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
}