From f037ae7b4fe08bccb547fe1821b10e86bfbc4f5d Mon Sep 17 00:00:00 2001 From: Joel Scoble Date: Wed, 5 Nov 2014 19:01:03 -0600 Subject: [PATCH] update README.md with info on adding compile information to version --- README.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/README.md b/README.md index b20a29bb..e6e0ce1d 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,31 @@ If you only want to build from source, it's even easier. go build -o hugo main.go mv hugo /usr/local/bin/ +##### Adding compile information to Hugo + +When Hugo is built using the above steps, the `version` sub-command will include the `mdate` of the Hugo executable. Instead, it is possible to have the `version` sub-command return information about the git commit used and time of compilation using `build` flags. + +To do this, replace the `go build` command with the following *(replace `/path/to/hugo` with the actual path)*: + + go build -ldflags "-X /path/to/hugo/commands.commitHash `git rev-parse --short HEAD 2>/dev/null` -X github.com/spf13/hugo/commands.buildDate `date +%FT%T`" + +This will result in hugo version output that looks similar to: + + Hugo Static Site Generator v0.13-DEV buildDate: 2014-10-16T09:59:55Z + Hugo Static Site Generator v0.13-DEV-24BBFE7 buildDate: 2014-10-16T10:00:55Z + +The format of the date is configurable via the `Params.DateFormat` setting. `DateFormat` is a string value representing the Go time layout that should be used to format the date output. If `Params.DateFormat` is not set, `time.RFC3339` will be used as the default format.See [time documentation](http://golang.org/pkg/time/#pkg-constants) for more information. + +Configuration setting using config.yaml as example: + + Params: + DateFormat: "2006-01-02" + +Will result in: + + Hugo Static Site Generator v0.13-DEV buildDate: 2014-10-16 + Hugo Static Site Generator v0.13-DEV-24BBFE7 buildDate: 2014-10-16 + #### Running Hugo cd /path/to/hugo