aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go13
1 files changed, 11 insertions, 2 deletions
diff --git a/main.go b/main.go
index 49b27fa..2c0cf81 100644
--- a/main.go
+++ b/main.go
@@ -22,6 +22,7 @@ package main
22import ( 22import (
23 "flag" 23 "flag"
24 "fmt" 24 "fmt"
25 "strings"
25) 26)
26 27
27var settings struct { 28var settings struct {
@@ -29,6 +30,8 @@ var settings struct {
29 sourceDir *string 30 sourceDir *string
30 outputDir *string // for compiled site 31 outputDir *string // for compiled site
31 port *string // for the integrated web server (dynamic mode only) 32 port *string // for the integrated web server (dynamic mode only)
33 exts []string
34 saveAs *string
32} 35}
33 36
34func init() { 37func init() {
@@ -37,7 +40,13 @@ func init() {
37 settings.sourceDir = flag.String("source", ".", "Path to sources directory.") 40 settings.sourceDir = flag.String("source", ".", "Path to sources directory.")
38 settings.outputDir = flag.String("output", "./out", "[compiled mode] Path to output directory.") 41 settings.outputDir = flag.String("output", "./out", "[compiled mode] Path to output directory.")
39 settings.port = flag.String("port", "8080", "[dynamic mode] Port to listen.") 42 settings.port = flag.String("port", "8080", "[dynamic mode] Port to listen.")
43 exts := flag.String("exts", "html, txt, md", "List parsable file extensions. Separated by commas.")
44 settings.saveAs = flag.String("saveAs", "index.html", "[compiled and interactive modes] Save compiled files as named.")
40 flag.Parse() 45 flag.Parse()
46 settings.exts = strings.Split(*exts, ",")
47 for i, ext := range settings.exts {
48 settings.exts[i] = "." + strings.Trim(ext, ". ")
49 }
41} 50}
42 51
43func main() { 52func main() {
@@ -49,9 +58,9 @@ func main() {
49 58
50 switch *settings.mode { 59 switch *settings.mode {
51 case "compiled": 60 case "compiled":
52 compiled(*settings.sourceDir, *settings.outputDir) 61 compiled(*settings.sourceDir, *settings.outputDir, settings.exts, *settings.saveAs)
53 case "interactive": 62 case "interactive":
54 interactive(*settings.sourceDir, *settings.outputDir) 63 interactive(*settings.sourceDir, *settings.outputDir, settings.exts, *settings.saveAs)
55 case "dynamic": 64 case "dynamic":
56 dynamic(*settings.port) 65 dynamic(*settings.port)
57 default: 66 default: