19th June 2017
Contributing to Hugo Static
The discussion forum for Hugo contains a description: Hugo development - how to contribute code. Also see Contributing to Hugo.
Fetch source with
time go get -u -v github.com/spf13/hugo
takes around 1-2 minutes as it has to download almost 200MB.
Now change to the Hugo source code and compile
cd src/github.com/spf13/hugo/ time make hugo
Compilation from scratch takes roughly 1-2 minutes. Recompiling a single file usually takes less than 10 seconds.
In the same directory, run test-cases with
time make check
which takes less than a minute.
All timings are on an AMD FX(tm)-8120 Eight-Core Processor clocked with 3.1 GHz running Linux 4.11.3, and using Go 1.8.3.
2. Fork in Github, git branch and pull-request
https://github.com/spf13/hugo by pressing the "Fork" icon:
Move original Git repository out of your way, clone the new fork, add or modify files as required, add, and commit them:
cd $GOPATH/src/github.com/spf13/ mv hugo hugo.original time git clone firstname.lastname@example.org:eklausme/hugo.git cd hugo git branch YOURNAME git checkout YOURNAME go fmt git add YOURFILE git commit
git clone of
hugo alone takes less than 10 seconds. Watch out to run
go fmt before
Contributors are asked to provide single commits. In case you have multiple, then squash them into one, i.e.,
git rebase -i and
git push -f.
Finally press the pull-request button in Github:
Be prepared to wait weeks or even months before your pull-request will be accepted or even rejected, so patience is required. In our case the proposed pull-request was ignored/rejected. So I consider the Hugo developers to be rather unwelcoming.