Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspf13 <steve.francia@gmail.com>2013-07-19 11:38:24 +0400
committerspf13 <steve.francia@gmail.com>2013-07-19 11:38:24 +0400
commit627cf26571cbbe7a1a02439a3d7b7b4dce8ad066 (patch)
tree7b580f2abcb43ef012bb0c5f0142828100c2b495
parent8fae5f0dd68476ae1e58704abccb61a34a2989df (diff)
Adding proper command line option parsing
-rw-r--r--README.md33
-rw-r--r--docs/content/doc/usage.md24
-rw-r--r--main.go26
3 files changed, 49 insertions, 34 deletions
diff --git a/README.md b/README.md
index cd57ec91a..623da591f 100644
--- a/README.md
+++ b/README.md
@@ -168,15 +168,17 @@ Make sure either hugo is in your path or provide a path to it.
$ hugo --help
usage: hugo [flags] []
- -b="": hostname (and path) to the root eg. http://spf13.com/
- -c="config.json": config file (default is path/config.json)
- -d=false: include content marked as draft
- -h=false: show this help
- -k=false: analyze content and provide feedback
- -p="": filesystem path to read files relative from
- -w=false: watch filesystem for changes and recreate as needed
- -s=false: a (very) simple webserver
- -port="1313": port for webserver to run on
+ -b, --base-url="": hostname (and path) to the root eg. http://spf13.com/
+ -d, --build-drafts=false: include content marked as draft
+ --config="": config file (default is path/config.yaml|json|toml)
+ -h, --help=false: show this help
+ --port="1313": port to run web server on, default :1313
+ -S, --server=false: run a (very) simple web server
+ -s, --source="": filesystem path to read files relative from
+ --uglyurls=false: use /filename.html instead of /filename/
+ -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
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
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
diff --git a/docs/content/doc/usage.md b/docs/content/doc/usage.md
index 772c10394..5cee1ed23 100644
--- a/docs/content/doc/usage.md
+++ b/docs/content/doc/usage.md
@@ -7,15 +7,17 @@ Make sure either hugo is in your path or provide a path to it.
$ hugo --help
usage: hugo [flags] []
- -b="": hostname (and path) to the root eg. http://spf13.com/
- -c="config.json": config file (default is path/config.json)
- -d=false: include content marked as draft
- -h=false: show this help
- -k=false: analyze content and provide feedback
- -p="": filesystem path to read files relative from
- -w=false: watch filesystem for changes and recreate as needed
- -s=false: a (very) simple webserver
- -port="1313": port for webserver to run on
+ -b, --base-url="": hostname (and path) to the root eg. http://spf13.com/
+ -d, --build-drafts=false: include content marked as draft
+ --config="": config file (default is path/config.yaml|json|toml)
+ -h, --help=false: show this help
+ --port="1313": port to run web server on, default :1313
+ -S, --server=false: run a (very) simple web server
+ -s, --source="": filesystem path to read files relative from
+ --uglyurls=false: use /filename.html instead of /filename/
+ -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:
@@ -35,14 +37,14 @@ immediately, tell Hugo to watch for changes.
recreate the site faster than you can tab over to
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 -p ~/mysite -w -s
+ $hugo --server -ws ~/mysite
Watching for changes. Press ctrl+c to stop
15 pages created
0 tags created
diff --git a/main.go b/main.go
index ddac8f02e..83239c2fa 100644
--- a/main.go
+++ b/main.go
@@ -14,9 +14,9 @@
package main
import (
- "flag"
"fmt"
"github.com/howeyc/fsnotify"
+ flag "github.com/ogier/pflag"
"github.com/spf13/hugo/hugolib"
"net/http"
"os"
@@ -27,17 +27,17 @@ import (
)
var (
- baseUrl = flag.String("b", "", "hostname (and path) to the root eg. http://spf13.com/")
- cfgfile = flag.String("c", "", "config file (default is path/config.yaml|json|toml)")
- checkMode = flag.Bool("k", false, "analyze content and provide feedback")
- draft = flag.Bool("d", false, "include content marked as draft")
- help = flag.Bool("h", false, "show this help")
- path = flag.String("p", "", "filesystem path to read files relative from")
- verbose = flag.Bool("v", false, "verbose output")
+ baseUrl = flag.StringP("base-url", "b", "", "hostname (and path) to the root eg. http://spf13.com/")
+ cfgfile = flag.String("config", "", "config file (default is path/config.yaml|json|toml)")
+ checkMode = flag.Bool("check", false, "analyze content and provide feedback")
+ draft = flag.BoolP("build-drafts", "d", false, "include content marked as draft")
+ help = flag.BoolP("help", "h", false, "show this help")
+ path = flag.StringP("source", "s", "", "filesystem path to read files relative from")
+ verbose = flag.BoolP("verbose", "v", false, "verbose output")
version = flag.Bool("version", false, "which version of hugo")
- cpuprofile = flag.Int("cpuprofile", 0, "Number of times to create the site and profile it")
- watchMode = flag.Bool("w", false, "watch filesystem for changes and recreate as needed")
- server = flag.Bool("s", false, "run a (very) simple web server")
+ cpuprofile = flag.Int("profile", 0, "Number of times to create the site and profile it")
+ watchMode = flag.BoolP("watch", "w", false, "watch filesystem for changes and recreate as needed")
+ 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")
uglyUrls = flag.Bool("uglyurls", false, "use /filename.html instead of /filename/ ")
)
@@ -45,7 +45,7 @@ var (
func usage() {
PrintErr("usage: hugo [flags]", "")
flag.PrintDefaults()
- os.Exit(2)
+ os.Exit(0)
}
func main() {
@@ -90,7 +90,7 @@ func main() {
if *checkMode {
site := hugolib.NewSite(config)
site.Analyze()
- os.Exit(2)
+ os.Exit(0)
}
if *watchMode {