Consider root and current section's content type if set in front matter
This should allow for less duplication of templates. Before this commit it was possible to override the content page of a given page/section, but only one page at a time.
Full "template sets" can now be inherited by setting `type: blog` etc. in the section content page's front matter, and that type will be considered when looking for layouts for all pages in that section.
For nested sections, it will use consider both `type` set in the current section first, then `type` set in the first section below home, e.g. `/docs`.
This commit also adds a new Page method: `FirstSection`. This navigates up to the first section below home (e.g. `/docs`). For the home page it will return itself.
golang.org/cl/84480 altered the API for the parse package for
clarity and consistency. However, the changes also broke the
API for consumers of the package. This CL reverts the API
to the previous spelling, adding only a single new exported
symbol.
Fixes #25968
Change-Id: Ieb81054b61eeac7df3bc3864ef446df43c26b80f
Reviewed-on: https://go-review.googlesource.com/120355 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Rob Pike <r@golang.org>
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Even on Windows machines, we want *.go files to have LF line
endings (go fmt insists). This leaves other files as auto, but
makes *.go files always be LF on Windows machines. With this
change, running go fmt will be a pleasant operation, not a
painful one.
Note that changing .gitattributes only affects files at initial
checkout. To update an entire working directory after making a
change like this, do this (but only after committing all work in
progress, this will destroy uncommitted changes):
$ git rm --cached -r .
$ git reset --hard
Again - do not do this to a working directory with uncommitted
work in it.
Ryan Skoblenick [Sun, 18 Mar 2018 20:54:49 +0000 (16:54 -0400)]
Update Dockerfile to a multi-stage build
- Hugo container is based on SCRATCH to further reduce the footprint
and the vulnerability surface
- Update Alpine image to 3.7 in the build container
- Update Go Lang to 1.10 in the build container
- Add .dockerignore file per the Docker best practices
commands: Do not fail server build when /static is missing
This was a un-intended change in Hugo 0.42. Most sites will have a static directory so this should not be a big issue, but this commit will revert back to old behaviour.
The theme definition example above in `config.toml` creates a theme with the 3 components with presedence from left to right.
So, Hugo will, for any given file, data entry etc., look first in the project, and then in `my-shortcode`, `base-theme` and lastly `hyde`.
Hugo uses two different algorithms to merge the filesystems, depending on the file type:
* For `i18n` and `data` files, Hugo merges deeply using the translation id and data key inside the files.
* For `static`, `layouts` (templates) and `archetypes` files, these are merged on file level. So the left-most file will be chosen.
The name used in the `theme` definition above must match a folder in `/your-site/themes`, e.g. `/your-site/themes/my-shortcodes`. There are plans to improve on this and get a URL scheme so this can be resolved automatically.
Also note that a component that is part of a theme can have its own configuration file, e.g. `config.toml`. There are currently some restrictions to what a theme component can configure:
* `params` (global and per language)
* `menu` (global and per language)
* `outputformats` and `mediatypes`
The same rules apply here: The left-most param/menu etc. with the same ID will win. There are some hidden and experimental namespace support in the above, which we will work to improve in the future, but theme authors are encouraged to create their own namespaces to avoid naming conflicts.
A final note: Themes/components can also have a `theme` definition in their `config.toml` and similar, which is the "inheritance" part of this commit's title. This is currently not supported by the Hugo theme site. We will have to wait for some "auto dependency" feature to be implemented for that to happen, but this can be a powerful feature if you want to create your own theme-variant based on others.
Stefan Neuhaus [Sun, 27 May 2018 21:20:39 +0000 (23:20 +0200)]
Add a BlackFriday option for rel="noreferrer" on external links
Add a configuration option "noreferrerLinks". When set to "true" the "HTML_NOREFERRER_LINKS" flag is being passed to Blackfriday. Thereby all *absolute* links will get a "noreferrer" value for their "rel" attribute.
Stefan Neuhaus [Sun, 27 May 2018 21:14:34 +0000 (23:14 +0200)]
Add a BlackFriday option for rel="nofollow" on external links
Add a configuration option "nofollowLinks". When set to "true" the "HTML_NOFOLLOW_LINKS" flag is being passed to Blackfriday. Thereby all *absolute* links will get a "nofollow" value for the "rel" attribute.
0fd7b4169 Fix typo: pygmentsUseClasses -> pygmentsUseClassic 9a3e1c19a Clarify that lower weight gets higher precedence 820d8b581 Clarify the true behavior of hrefTargetBlank #blackfriday eb3aa5e46 Fix typo 9aedb9269 Add examples for removing default taxonomies 772a26f84 Fix source link on maintainance 975c215ae Minor edits. 2bdb1a150 Fix invalid iink 991d2e139 Fix misspelling 60af8dfb0 Update eSolia link d7426b76e Release 0.40.3 4977bd9cf Merge branch 'release-0.40.3' 9946f7108 releaser: Prepare repository for 0.41-DEV beef16b01 releaser: Add release notes to /docs for release of 0.40.3 80c51c55a releaser: Bump versions for release of 0.40.3 21e2934c5 rename `taxonomies.html` to `taxonomy.html` 34a02c289 Add release notes from Hugo 0.7 to 0.15 for completeness b593f512e Update related.md 7c2bf528b Fix the "edit this page" link e8fbc163e Add warning about cond ae15a8831 Add link to Markdown Guide e077dfd65 Added documentation for a new migration tool: BlogMl2Hugo 957bfb6a8 Add Talkayrd, a new commenting system, & fix txtpen link 86acea7f8 Tomango showcase 3c2fc32f1 Fix snap classic command in installing.md 9a76f1737 Merge commit '83bef6955e014d40c0f00db9cebe09113154e999' a4b71fb84 Fix typo