diff options
author | Bjørn Erik Pedersen <[email protected]> | 2017-06-26 20:46:06 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2017-06-26 20:46:06 +0200 |
commit | a7765bb3c117efa93866556d2b5b129dae7768bf (patch) | |
tree | d0df162c8d2801006863cb89c9640c89213644b2 /docs/content/themes/customizing.md | |
parent | 31393f6024416ea1b2e61d1080dfd7104df36eda (diff) | |
parent | dd78d5b23fe597f4461aa4199401b4e07c0612e2 (diff) | |
download | hugo-a7765bb3c117efa93866556d2b5b129dae7768bf.tar.gz hugo-a7765bb3c117efa93866556d2b5b129dae7768bf.zip |
Merge commit 'dd78d5b23fe597f4461aa4199401b4e07c0612e2' as 'docs'
Diffstat (limited to 'docs/content/themes/customizing.md')
-rw-r--r-- | docs/content/themes/customizing.md | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/docs/content/themes/customizing.md b/docs/content/themes/customizing.md new file mode 100644 index 000000000..f381106db --- /dev/null +++ b/docs/content/themes/customizing.md @@ -0,0 +1,56 @@ +--- +lastmod: 2015-08-04 +date: 2014-05-12T10:09:34Z +menu: + main: + parent: themes +next: /themes/creation +prev: /themes/usage +title: Customizing a Theme +weight: 40 +toc: true +--- + +_The following are key concepts for Hugo site customization. Hugo permits you to **supplement or override** any theme template or static file, with files in your working directory._ + +_When you use a theme cloned from its git repository, you do not edit the theme's files directly. Rather, you override them as per the following:_ + +## Replace 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 + +... you would simply place your file in the same relative path, but in the root of your working folder: + + /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](/templates/overview/) _each different template type explains the rules it uses to determine which template to use_. Read and understand these rules carefully. + +This is especially helpful when the theme creator used [partial templates](/templates/partials/). These partial templates are perfect for easy injection into the theme with minimal maintenance to ensure future compatibility. + +For example: + + /themes/themename/layouts/_default/single.html + +... would be overridden by: + + /layouts/_default/single.html + +**Warning**: This only works for templates that Hugo "knows about" (that follow its convention for folder structure and naming). If the theme imports template files in a creatively-named directory, Hugo won’t 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) doesn’t 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. |