Files
HugoBlox-kit/modules/blox-bootstrap/layouts/baseof.html
T
2025-08-20 00:24:39 +01:00

76 lines
3.9 KiB
HTML

<!DOCTYPE html>
{{ "<!-- This site was created with Hugo Blox. https://hugoblox.com -->" | safeHTML }}
{{ printf "<!-- Last Published: %s -->" (now | time.Format ":date_long") | safeHTML }}
{{- $language_code := site.LanguageCode | default "en-us" -}}
<html lang="{{$language_code}}" {{ if in site.Data.i18n.rtl.rtl $language_code }}dir="rtl"{{end}}>
{{ partial "site_head" . }}
{{ $show_navbar := ((site.Params.header.navbar.enable | default true) | and (ne .Params.header.navbar.enable false)) | or .Params.header.navbar.enable }}
{{- $highlight_active_link := site.Params.header.navbar.highlight_active_link | default true -}}
<body id="top" data-spy="scroll" {{ if $show_navbar }}data-offset="70"{{end}} data-target="{{ if or .IsHome (eq .Type "widget_page") | and $highlight_active_link }}#navbar-main{{else}}#TableOfContents{{end}}" class="page-wrapper {{with .Params.design.css_class}}{{.}}{{end}} {{ if not (.Scratch.Get "light") }}dark{{end}} {{ if not $show_navbar }}no-navbar{{end}}" {{with .File}}data-wc-page-id="{{.UniqueID}}"{{end}} {{with .Params.design.css_style}}style="{{. | safeCSS}}"{{end}}>
{{/* Initialise Hugo Blox. */}}
{{ $js_license := printf "/*! Hugo Blox Builder v%s | https://hugoblox.com/ */\n" site.Data.hugoblox.version }}
{{ $js_license := $js_license | printf "%s/*! Copyright 2016-present George Cushen (https://georgecushen.com/) */\n" }}
{{ $js_license := $js_license | printf "%s/*! License: https://github.com/HugoBlox/hugo-blox-builder/blob/main/LICENSE.md */\n" }}
{{ $js_bundle_head := $js_license | resources.FromString "js/bundle-head.js" }}
{{ $wcDarkLightEnabled := (and site.Params.appearance.theme_day site.Params.appearance.theme_night) }}
{{ $wcIsSiteThemeDark := not (.Scratch.Get "light") | default false }}
{{ $js_params := dict "wcDarkLightEnabled" $wcDarkLightEnabled "wcIsSiteThemeDark" $wcIsSiteThemeDark }}
{{ $js_bundle := resources.Get "js/wowchemy-init.js" | js.Build (dict "params" $js_params) }}
{{- if hugo.IsProduction -}}
{{- $js_bundle = $js_bundle | js.Build (dict "format" "iife") | minify -}}
{{- else -}}
{{- $js_bundle = $js_bundle | js.Build (dict "format" "iife" "sourceMap" "inline") -}}
{{ end }}
{{ $js_bundle := slice $js_bundle_head $js_bundle | resources.Concat "js/wowchemy-init.min.js" }}
{{- if hugo.IsProduction -}}
{{ $js_bundle = $js_bundle | fingerprint "md5" }}
{{- end -}}
<script src="{{ $js_bundle.RelPermalink }}"></script>
{{ partial "search" . }}
{{ if .Params.announcement.text -}}
{{ partial "components/announcement_bar" . }}
{{ end -}}
<div class="page-header header--fixed">
{{/* Load header block */}}
{{ $block_name := .Params.header.navbar.block | default site.Params.header.navbar.block | default "navbar" }}
{{ $block_path := printf "components/headers/%s.html" $block_name }}
{{ if not (templates.Exists (printf "_partials/%s" $block_path)) }}
{{ errorf "Check your `header` config in `params.yaml` and/or front matter. Cannot find header block at `layouts/_partials/%s`" $block_path }}
{{ end }}
{{ partial $block_path . }}
</div>
<div class="page-body">
{{/* Breadcrumb */}}
{{/* Don't apply to Book layout as that has different breadcrumb placement. */}}
{{ if .Params.show_breadcrumb | and (ne .Type "book") }}
<!-- Use page bg color rather than any color applied to article-container. -->
{{ $class := cond .IsSection "universal-wrapper" "article-container" }}
<div class="{{$class}} py-1" style="background: initial">
{{ partial "components/breadcrumb" . }}
</div>
{{ end }}
{{ block "main" . }}{{ end }}
</div>
<div class="page-footer">
{{/* Docs and Updates layouts include the site footer in a different location. */}}
{{ if not (in (slice "book" "docs" "updates") .Type) }}
<div class="container">
{{ partial "site_footer" . }}
</div>
{{ end }}
</div>
{{ partial "site_js" . }}
</body>
</html>