mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
Adding proper command line option parsing
This commit is contained in:
parent
8fae5f0dd6
commit
627cf26571
3 changed files with 49 additions and 34 deletions
33
README.md
33
README.md
|
@ -168,15 +168,17 @@ Make sure either hugo is in your path or provide a path to it.
|
||||||
|
|
||||||
$ hugo --help
|
$ hugo --help
|
||||||
usage: hugo [flags] []
|
usage: hugo [flags] []
|
||||||
-b="": hostname (and path) to the root eg. http://spf13.com/
|
-b, --base-url="": hostname (and path) to the root eg. http://spf13.com/
|
||||||
-c="config.json": config file (default is path/config.json)
|
-d, --build-drafts=false: include content marked as draft
|
||||||
-d=false: include content marked as draft
|
--config="": config file (default is path/config.yaml|json|toml)
|
||||||
-h=false: show this help
|
-h, --help=false: show this help
|
||||||
-k=false: analyze content and provide feedback
|
--port="1313": port to run web server on, default :1313
|
||||||
-p="": filesystem path to read files relative from
|
-S, --server=false: run a (very) simple web server
|
||||||
-w=false: watch filesystem for changes and recreate as needed
|
-s, --source="": filesystem path to read files relative from
|
||||||
-s=false: a (very) simple webserver
|
--uglyurls=false: use /filename.html instead of /filename/
|
||||||
-port="1313": port for webserver to run on
|
-v, --verbose=false: verbose output
|
||||||
|
--version=false: which version of hugo
|
||||||
|
-w, --watch=false: watch filesystem for changes and recreate as needed
|
||||||
|
|
||||||
The most common use is probably to run hugo with your current
|
The most common use is probably to run hugo with your current
|
||||||
directory being the input directory.
|
directory being the input directory.
|
||||||
|
@ -192,8 +194,19 @@ immediately, tell Hugo to watch for changes. **It will
|
||||||
recreate the site faster than you can tab over to
|
recreate the site faster than you can tab over to
|
||||||
your browser to view the changes.**
|
your browser to view the changes.**
|
||||||
|
|
||||||
$ hugo -p ~/mysite -w
|
$ hugo --source ~/mysite --watch
|
||||||
|
Watching for changes. Press ctrl+c to stop
|
||||||
|
15 pages created
|
||||||
|
0 tags created
|
||||||
|
|
||||||
|
Hugo can even run a server and create your site at the same time!
|
||||||
|
|
||||||
|
$hugo --server -ws ~/mysite
|
||||||
|
Watching for changes. Press ctrl+c to stop
|
||||||
|
15 pages created
|
||||||
|
0 tags created
|
||||||
|
Web Server is available at http://localhost:1313
|
||||||
|
Press ctrl+c to stop
|
||||||
|
|
||||||
# Layout
|
# Layout
|
||||||
|
|
||||||
|
|
|
@ -7,15 +7,17 @@ Make sure either hugo is in your path or provide a path to it.
|
||||||
|
|
||||||
$ hugo --help
|
$ hugo --help
|
||||||
usage: hugo [flags] []
|
usage: hugo [flags] []
|
||||||
-b="": hostname (and path) to the root eg. http://spf13.com/
|
-b, --base-url="": hostname (and path) to the root eg. http://spf13.com/
|
||||||
-c="config.json": config file (default is path/config.json)
|
-d, --build-drafts=false: include content marked as draft
|
||||||
-d=false: include content marked as draft
|
--config="": config file (default is path/config.yaml|json|toml)
|
||||||
-h=false: show this help
|
-h, --help=false: show this help
|
||||||
-k=false: analyze content and provide feedback
|
--port="1313": port to run web server on, default :1313
|
||||||
-p="": filesystem path to read files relative from
|
-S, --server=false: run a (very) simple web server
|
||||||
-w=false: watch filesystem for changes and recreate as needed
|
-s, --source="": filesystem path to read files relative from
|
||||||
-s=false: a (very) simple webserver
|
--uglyurls=false: use /filename.html instead of /filename/
|
||||||
-port="1313": port for webserver to run on
|
-v, --verbose=false: verbose output
|
||||||
|
--version=false: which version of hugo
|
||||||
|
-w, --watch=false: watch filesystem for changes and recreate as needed
|
||||||
|
|
||||||
## Common Usage Example:
|
## Common Usage Example:
|
||||||
|
|
||||||
|
@ -35,14 +37,14 @@ immediately, tell Hugo to watch for changes.
|
||||||
recreate the site faster than you can tab over to
|
recreate the site faster than you can tab over to
|
||||||
your browser to view the changes.**
|
your browser to view the changes.**
|
||||||
|
|
||||||
$ hugo -p ~/mysite -w
|
$ hugo --source ~/mysite --watch
|
||||||
Watching for changes. Press ctrl+c to stop
|
Watching for changes. Press ctrl+c to stop
|
||||||
15 pages created
|
15 pages created
|
||||||
0 tags created
|
0 tags created
|
||||||
|
|
||||||
Hugo can even run a server and create your site at the same time!
|
Hugo can even run a server and create your site at the same time!
|
||||||
|
|
||||||
$hugo -p ~/mysite -w -s
|
$hugo --server -ws ~/mysite
|
||||||
Watching for changes. Press ctrl+c to stop
|
Watching for changes. Press ctrl+c to stop
|
||||||
15 pages created
|
15 pages created
|
||||||
0 tags created
|
0 tags created
|
||||||
|
|
26
main.go
26
main.go
|
@ -14,9 +14,9 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"flag"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/howeyc/fsnotify"
|
"github.com/howeyc/fsnotify"
|
||||||
|
flag "github.com/ogier/pflag"
|
||||||
"github.com/spf13/hugo/hugolib"
|
"github.com/spf13/hugo/hugolib"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
|
@ -27,17 +27,17 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
baseUrl = flag.String("b", "", "hostname (and path) to the root eg. http://spf13.com/")
|
baseUrl = flag.StringP("base-url", "b", "", "hostname (and path) to the root eg. http://spf13.com/")
|
||||||
cfgfile = flag.String("c", "", "config file (default is path/config.yaml|json|toml)")
|
cfgfile = flag.String("config", "", "config file (default is path/config.yaml|json|toml)")
|
||||||
checkMode = flag.Bool("k", false, "analyze content and provide feedback")
|
checkMode = flag.Bool("check", false, "analyze content and provide feedback")
|
||||||
draft = flag.Bool("d", false, "include content marked as draft")
|
draft = flag.BoolP("build-drafts", "d", false, "include content marked as draft")
|
||||||
help = flag.Bool("h", false, "show this help")
|
help = flag.BoolP("help", "h", false, "show this help")
|
||||||
path = flag.String("p", "", "filesystem path to read files relative from")
|
path = flag.StringP("source", "s", "", "filesystem path to read files relative from")
|
||||||
verbose = flag.Bool("v", false, "verbose output")
|
verbose = flag.BoolP("verbose", "v", false, "verbose output")
|
||||||
version = flag.Bool("version", false, "which version of hugo")
|
version = flag.Bool("version", false, "which version of hugo")
|
||||||
cpuprofile = flag.Int("cpuprofile", 0, "Number of times to create the site and profile it")
|
cpuprofile = flag.Int("profile", 0, "Number of times to create the site and profile it")
|
||||||
watchMode = flag.Bool("w", false, "watch filesystem for changes and recreate as needed")
|
watchMode = flag.BoolP("watch", "w", false, "watch filesystem for changes and recreate as needed")
|
||||||
server = flag.Bool("s", false, "run a (very) simple web server")
|
server = flag.BoolP("server", "S", false, "run a (very) simple web server")
|
||||||
port = flag.String("port", "1313", "port to run web server on, default :1313")
|
port = flag.String("port", "1313", "port to run web server on, default :1313")
|
||||||
uglyUrls = flag.Bool("uglyurls", false, "use /filename.html instead of /filename/ ")
|
uglyUrls = flag.Bool("uglyurls", false, "use /filename.html instead of /filename/ ")
|
||||||
)
|
)
|
||||||
|
@ -45,7 +45,7 @@ var (
|
||||||
func usage() {
|
func usage() {
|
||||||
PrintErr("usage: hugo [flags]", "")
|
PrintErr("usage: hugo [flags]", "")
|
||||||
flag.PrintDefaults()
|
flag.PrintDefaults()
|
||||||
os.Exit(2)
|
os.Exit(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -90,7 +90,7 @@ func main() {
|
||||||
if *checkMode {
|
if *checkMode {
|
||||||
site := hugolib.NewSite(config)
|
site := hugolib.NewSite(config)
|
||||||
site.Analyze()
|
site.Analyze()
|
||||||
os.Exit(2)
|
os.Exit(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
if *watchMode {
|
if *watchMode {
|
||||||
|
|
Loading…
Reference in a new issue