# hugo_bootstrap_theme Simple Bootstrap-based theme for Hugo. ## Shortcodes ### `lead` Wraps its content in a Bootstrap `.lead` paragraph (the Markdown attribute syntax `{.lead}` cannot target a paragraph): ``` {{< lead >}} An introductory paragraph that stands out. {{< /lead >}} ``` Pass extra classes with `class`, e.g. `{{< lead class="mb-5" >}}`. ### `banner` A full-bleed banner / hero image: it spans the entire viewport width while the rest of the page stays within `.container`. Put it on the first line of a page's content to get a hero flush against the navbar. ``` {{< banner src="hero.png" alt="…" >}} ``` `src` is resolved as a page resource first, then a global resource (`assets/`), then as a plain link respecting the site's base URL. Optional params: `title`, `height` (a CSS length such as `60vh`, which crops the image with `object-fit: cover`) and `class`. ## Navigation The navbar renders the `main` menu. A top-level entry that has child entries (other entries pointing at it with `parent:`) is rendered as a Bootstrap dropdown; entries without children stay as plain links. Only one level of nesting is supported (Bootstrap 5 has no nested submenus). ```yaml # hugo.yaml / menus.yaml menu: main: - name: Home pageRef: / weight: 1 - name: Research weight: 2 - name: Proposals parent: Research pageRef: /proposals weight: 1 - name: History parent: Research pageRef: /history weight: 2 ``` The entry matching the current page (and its parent, for a dropdown child) gets Bootstrap's `active` class. A parent entry acts only as the dropdown toggle, so it does not need its own `url`/`pageRef`. ## Custom error page The theme has a custom 404 error page. If the site has an SVG image in `assets/svg/404.svg`, this image will be displayed instead of a generic 404 code. Regardless of whether an SVG assets exists or not, English and German explanations of what's going on will be included on the page.