diff --git a/docs/content/overview/usage.md b/docs/content/overview/usage.md index c5ab765d6..d7a3c4944 100644 --- a/docs/content/overview/usage.md +++ b/docs/content/overview/usage.md @@ -14,69 +14,154 @@ weight: 30 Make sure either `hugo` is in your `PATH` or provide a path to it. - $ hugo help - A Fast and Flexible Static Site Generator - built with love by spf13 and friends in Go. +
$ hugo help
+A Fast and Flexible Static Site Generator built with
+love by spf13 and friends in Go.
 
-    Complete documentation is available at http://gohugo.io
+Complete documentation is available at http://gohugo.io
 
-    Usage:
-      hugo [flags]
-      hugo [command]
+Usage:
+  hugo [flags]
+  hugo [command]
+Available Commands:
+  server      Hugo runs its own webserver to render the files
+  version     Print the version number of Hugo
+  config      Print the site configuration
+  check       Check content in the source directory
+  benchmark   Benchmark hugo by building a site a number of times
+  new         Create new content for your site
+  help        Help about any command
 
-    Available Commands:
-      server                    Hugo runs its own webserver to render the files
-      version                   Print the version number of Hugo
-      check                     Check content in the source directory
-      benchmark                 Benchmark hugo by building a site a number of times
-      new [path]                Create new content for your site
-      help [command]            Help about any command
+Flags:
+      --noTimes=false: Don't sync modification time of files
+  -w, --watch=false: watch filesystem for changes and recreate as needed
 
-     Available Flags:
-      -b, --baseUrl="": hostname (and path) to the root eg. http://spf13.com/
-      -D, --buildDrafts=false: build content marked as draft
-      -F, --buildFuture=false: build content with PublishDate in the future
-          --config="": config file (default is path/config.yaml|json|toml)
-      -d, --destination="": filesystem path to write files to
-          --disableRSS=false: Do not build RSS files
-          --disableSitemap=false: Do not build Sitemap file
-          --log=false: Enable Logging
-          --logFile="": Log File path (if set, logging enabled automatically)
-      -s, --source="": filesystem path to read files relative from
-          --stepAnalysis=false: display memory and timing of different steps of the program
-      -t, --theme="": theme to use (located in /themes/THEMENAME/)
-          --uglyUrls=false: if true, use /filename.html instead of /filename/
-      -v, --verbose=false: verbose output
-          --verboseLog=false: verbose logging
-      -w, --watch=false: watch filesystem for changes and recreate as needed
+Global Flags:
+  -b, --baseUrl="": hostname (and path) to the root eg. http://spf13.com/
+  -D, --buildDrafts=false: include content marked as draft
+  -F, --buildFuture=false: include content with datePublished in the future
+      --cacheDir="": filesystem path to cache directory. Defaults: $TMPDIR/hugo_cache/
+      --config="": config file (default is path/config.yaml|json|toml)
+  -d, --destination="": filesystem path to write files to
+      --disableRSS=false: Do not build RSS files
+      --disableSitemap=false: Do not build Sitemap file
+      --editor="": edit new content with this editor, if provided
+  -h, --help=false: help for hugo
+      --ignoreCache=false: Ignores the cache directory for reading but still writes to it
+      --log=false: Enable Logging
+      --logFile="": Log File path (if set, logging enabled automatically)
+      --pluralizeListTitles=true: Pluralize titles in lists using inflect
+  -s, --source="": filesystem path to read files relative from
+      --stepAnalysis=false: display memory and timing of different steps of the program
+  -t, --theme="": theme to use (located in /themes/THEMENAME/)
+      --uglyUrls=false: if true, use /filename.html instead of /filename/
+  -v, --verbose=false: verbose output
+      --verboseLog=false: verbose logging
 
-    Use "hugo help [command]" for more information about that command.
+Use "hugo help [command]" for more information about a command.
+
## Common Usage Example -The most common use is probably to run `hugo` with your current directory being the input directory. +The most common use is probably to run `hugo` with your current directory being the input directory: $ hugo - > X pages created - in 8 ms + 0 draft content + 0 future content + 99 pages created + 0 paginator pages created + 16 tags created + 0 groups created + in 120 ms + +This generates your web site to the `public/` directory, +ready to be deployed to your web server. + + +## Instant feedback as you develop your web site If you are working on things and want to see the changes immediately, tell Hugo to watch for changes. +Hugo will watch the filesystem for changes, and rebuild your site as soon as a file is saved: -Hugo will watch the filesystem for changes, rebuild your site as soon as a file is saved. + $ hugo -s ~/Code/hugo/docs --watch + 0 draft content + 0 future content + 99 pages created + 0 paginator pages created + 16 tags created + 0 groups created + in 120 ms + Watching for changes in /Users/spf13/Code/hugo/docs/content + Press Ctrl+C to stop - $ hugo -s ~/mysite --watch - 28 pages created - in 18 ms - Watching for changes in /Users/spf13/Code/hugo/docs/content - Press Ctrl+C to stop +Hugo can even run a server and create a site preview at the same time! +Hugo implements [LiveReload](/extras/livereload/) technology to automatically +reload any open pages in all JavaScript-enabled browsers, including mobile. +This is the easiest and most common way to develop a Hugo web site: -Hugo can even run a server and create a site preview at the same time! Hugo -implements [LiveReload](/extras/livereload/) technology to automatically reload any open pages in all browsers (including mobile). (Note that you'll need to run without -w before you deploy your site.) + $ hugo server -ws ~/Code/hugo/docs + 0 draft content + 0 future content + 99 pages created + 0 paginator pages created + 16 tags created + 0 groups created + in 120 ms + Watching for changes in /Users/spf13/Code/hugo/docs/content + Serving pages from /Users/spf13/Code/hugo/docs/public + Web Server is available at http://localhost:1313/ + Press Ctrl+C to stop - $ hugo server -ws ~/mysite - Watching for changes in /Users/spf13/Code/hugo/docs/content - Web Server is available at http://localhost:1313 - Press Ctrl+C to stop - 28 pages created - 0 tags created - in 18 ms \ No newline at end of file + +## Deploying your web site + +After running `hugo server` for local web development, +you need to do a final `hugo` run **without the `server` command** +and **without `--watch` or `-w`** to rebuild your site. +You may then **deploy your site** by copying the `public/` directory +(by FTP, SFTP, WebDAV, Rsync, git push, etc.) to your production web server. + +Since Hugo generates a static website, your site can be hosted anywhere, +including [Heroku][], [GoDaddy][], [DreamHost][], [GitHub Pages][], +[Amazon S3][] and [CloudFront][], or any other cheap or even free +static web hosting services. + +[Apache][], [nginx][], [IIS][]... Any web server software would do! + +[Apache]: http://httpd.apache.org/ "Apache HTTP Server" +[nginx]: http://nginx.org/ +[IIS]: http://www.iis.net/ +[Heroku]: https://www.heroku.com/ +[GoDaddy]: https://www.godaddy.com/ +[DreamHost]: http://www.dreamhost.com/ +[GitHub Pages]: https://pages.github.com/ +[Amazon S3]: http://aws.amazon.com/s3/ +[CloudFront]: http://aws.amazon.com/cloudfront/ "Amazon CloudFront" + + +### Alternatively, serve your web site with Hugo! + +Yes, that's right! Because Hugo is so blazingly fast both in web site creation +*and* in web serving (thanks to its concurrent and multi-threaded design and +its Go heritage), some users actually prefer using Hugo itself to serve their +web site *on their production server*! + +No other web server software (Apache, nginx, IIS...) is necessary. + +Here is the command: + + hugo server --watch \ + --baseUrl=http://yoursite.org/ --port=80 \ + --appendPort=false + +This way, you may actually deploy just the source files, +and Hugo on your server will generate the resulting web site +on-the-fly and serve them at the same time. + +You may optionally add `--disableLiveReload=true` if you do not want +the JavaScript code for LiveReload to be added to your web pages. + +Interested? Here are some great tutorials contributed by Hugo users: + +* [hugo, syncthing](http://fredix.ovh/2014/10/hugo-syncthing/) (French) by Frédéric Logier (@fredix) +* [服务器上 hugo 的安装和配置 (Installing and configuring Hugo on the server)](http://hucsmn.com/post/hugo-tutorial-make-it-work/) (Chinese) by hucsmn