Since all post URIs are generated with a trailing slash, I thought
it would be a good idea to do the same for tag links. This can
save a few I/O operations here and there (or, depending on your
webhoster, even get rid of redirects).
Single and List views not apply to all page types. Previously list view
would only apply to posts. With this change, a new content folder named
"foo" will now list all content within the "foo" folder. In addition,
the Single layout is now generalized and applies to all types of
content.
Use block templates [1] for all of the full-page templates such as
index.html, _default/list.html, etc. This reduces code duplicated
between them.
Also, move the code in partials/page.html and partials/post.html
to page/single.html and post/single.html respectively. With block
templates the contents of the partials is almost exactly the same
as the contents of the single page templates, and having dedicated
single-page templates for the content types means that we can get
rid of the if/then/else logic in _default/single.html.
This also gets rid of an excess container div; the duplication of
the divs was being obscured by the way _default/single.html was
interacting with the partials. (This is the same duplicated div
as in pull request #51 found by @1138-4EB.)
[1] https://gohugo.io/templates/blocks/
Set the lang attribute in the html element to be the right
language, and also add lang attributes to text in a language that
is different to the page language, such as the language switcher
links.
This ensures that links work correctly in languages other than
English. For example, clicking on the navbar "brand" link used to
take you to the English home page even if you were browsing the
site in another language. Now it takes you to the home page for
that language.