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 ( ) {
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" )
2020-12-08 15:15:32 +00:00
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" )
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 )
}
2020-12-08 15:15:32 +00:00
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" )
}
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
2021-01-09 20:49:48 +00:00
user . ReadUsersFromFilesystem ( )
2020-11-13 18:45:42 +00:00
default :
log . Fatal ( "Error: unknown auth method:" , util . AuthMethod )
}
2020-10-25 15:06:51 +00:00
}