hugo/docs/content/themes/customizing.md
Anthony Fok ba44e860a3 [Docs] Copyediting
* Add meta author, description and generator tags
 * Add Hugo version beside the logo and in the footer
 * Suggest the user to run `go get -u -v` to update dependencies
 * Requires Go 1.3+ rather than Go 1.1+
 * Improve rendering/formatting in some places
 * Add trailing slash to URLs where appropriate
 * GitHub redirects all http requests to https, update accordingly
2015-01-28 18:02:40 -07:00

2.2 KiB
Raw Blame History

date menu next prev title weight
2014-05-12T10:09:34Z
main
parent
themes
/themes/creation /themes/usage Customizing a Theme 40

Hugo themes permit you to supplement or override any template or file from within your working directory.

Replacing Static files

For including a different file than what the theme ships with. For example, if you would like to use a more recent version of jQuery than what the theme happens to include, simply place an identically named file in the same relative location but in your working directory. For example, if the theme has jQuery 1.6 in /themes/themename/static/js/jquery.min.js, simply place your file in the same relative path /static/js/jquery.min.js.

Replace a single template file

Anytime Hugo looks for a matching template, it will first check the working directory before looking in the theme directory. If you would like to modify a template, simply create that template in your local layouts directory. In the template documentation each different template type explains the rules it uses to determine which template to use.

This is especially helpful when the theme creator used partial templates. These partial templates are perfect for easy injection into the theme with minimal maintenance to ensure future compatibility.

Warning: This only works for templates that Hugo knows about. If the theme imports template files in a creatively named directory, Hugo wont know to look for the local /layouts first.

Replace an archetype

If the archetype that ships with the theme for a given content type (or all content types) doesnt fit with how you are using the theme, feel free to copy it to your /archetypes directory and make modifications as you see fit.

Beware of the default

Default is a very powerful force in Hugo... Especially as it pertains to overwriting theme files. If a default is located in the local archetype directory or /layouts/_default/ directory, it will be used instead of any of the similar files in the theme.

It is usually better to override specific files rather than using the default in your working directory.