Files
hugo/content/en/themes/creating.md
T
Alexandros 4560a0169a Update Warning for Theme Links (#676)
The advice in this page is actually the opposite. Relative URLs output the wrong URL for theme assets on the Hugo website.

See relevant advice in the repository's [README](https://github.com/gohugoio/hugoThemes#common-permalink-issues)

I hadn't noticed this page (if I had noticed I would have sent a PR earlier because the advice offered here is plain wrong).

The reason I am merging this PR right away is due to [this](https://github.com/gohugoio/hugoThemes/issues/504#issuecomment-443253163) comment by a confused theme author. 

If you feel that this could be improved feel free to reword and amend as you see fit but the bottom line is that for themes that are going to be published on Hugo Themes authors should create absolute paths in their templates.

cc: @bep @digitalcraftsman @kaushalmodi
2018-11-30 23:04:21 +02:00

2.5 KiB

title, linktitle, description, date, publishdate, lastmod, categories, keywords, menu, weight, sections_weight, draft, aliases, toc, wip
title linktitle description date publishdate lastmod categories keywords menu weight sections_weight draft aliases toc wip
Create a Theme Create a Theme The `hugo new theme` command will scaffold the beginnings of a new theme for you to get you on your way. 2017-02-01 2017-02-01 2017-02-01
themes
themes
source
organization
directories
docs
parent weight
themes 30
30 30 false
/themes/creation/
/tutorials/creating-a-new-theme/
true true

{{% warning "Use Absolute Links" %}} If you're creating a theme with plans to share it on the Hugo Themes website please note that your theme's demo will be available in a sub-directory of website and for the theme's assets to load properly you will need to create absolute paths in the templates by using either the absURL function or .Permalink. Also make sure not to use a forward slash / in the beginning of a PATH, because Hugo will turn it into a relative URL and the absURL function will have no effect. {{% /warning %}}

Hugo can initialize a new blank theme directory within your existing themes using the hugo new command:

hugo new theme [name]

Theme Folders

A theme component can provide files in one or more of the following standard Hugo folders:

layouts
Templates used to render content in Hugo. Also see Templates Lookup Order.
static
Static files, such as logos, CSS and JavaScript.
i18n
Language bundles.
data
Data files.
archetypes
Content templates used in hugo new.

Theme Configuration File

A theme component can also provide its own Configuration File, e.g. config.toml. There are some restrictions to what can be configured in a theme component, and it is not possible to overwrite settings in the project.

The following settings can be set:

  • params (global and per language)
  • menu (global and per language)
  • outputformats and mediatypes

Theme Description File

In addition to the configuration file, a theme can also provide a theme.toml file that describes the theme, the author and origin etc. See Add Your Hugo Theme to the Showcase.

{{% note "Use the Hugo Generator Tag" %}} The .Hugo.Generator tag is included in all themes featured in the Hugo Themes Showcase. We ask that you include the generator tag in all sites and themes you create with Hugo to help the core team track Hugo's usage and popularity. {{% /note %}}