This theme implements menus and navigation without requiring additional
metadata (e.g. menu: entries). First, it automatically creates a
menu bar based on the top level sections and their sibling pages and
sub-sections (from which individual pages or sections can be excluded).
Likewise, on each page we generate buttons for linear traversal
(Previous|Next) and Up. That means, except for pages which are
intentionally excluded, that the entire site can be read from landing
page to last page of the last section by clicking ‘Enter Site’, and then
‘Next’ on every subsequent page.
Finally the right sidebar will contain a navigation menu for the
current section and one level of subsections.
A note on navigation and display order
The linear traversal mentioned above uses Hugo’s default Page ordering,
which means you can set the ‘weight’ metadata in the front-matter of
pages that are not naturally in the order you wish (basic ordering
is by date). Lower weight sorts earlier.
This theme implements a search functionality using Fuse.js, Mark.js, and
some custom code.
The theme includes basic support for a contact form (given an
appropriate server-side POST receiver).
A note on displaying copyright / licenses
This theme has an archetype and taxonomy that make it easy to indicate
the copyright and licensing for your pages. In the front-matter add
the license (or licenses) as a list in a licenses field, and copyright
in a copyright field.
At present, due to the requirement to support IE11, there are
non-compliant media queries used to detect IE11.
A Human-readable sitemap shortcode is available.
Hugo Taxonomies are implemented.
Obtain the code in one of the following ways:
Grab a release tarball from https://github.com/cshoredaniel/new-oldnew-mashup/releases
and place it in your site’s themes directory. NB the
theme directory must be named new-oldnew-mashup. If you
extract from a ZIP or tarball you’ll probably have new-oldnew-mashup-<version> and will need to rename it.
hugo mod get github.com/cshoredaniel/new-oldnew-mashup
to define the use of a Hugo Module. (Don’t do this if you’re using the ZIP above).
Add theme = "new-oldnew-mashup" to your config.toml (or the
equivalent for YAML or JSON if you use one of those).
Generate and view the site:
Generate your site with hugo, and copy the public`
directory to a web server and browse to the appropriate location
on the server.
Generate and serve a local live version with hugo server -b http://localhost:1313/,
and browse to http://localhost:1313.
NB If you are deploying from ZIP or tarball and attempt to create
a site by copying the config.toml from exampleSite into the
theme, the build will fail complaining that it’s not a git repository.
In that case remove enableGitInfo = true from your config.toml.
Some features require Hugo Extended
Changing the styling via Params (e.g. colour selection) requires
Hugo Extended as the CSS must be regenerated from the base SCSS, which
requires Hugo Extended not just Basic.