Whole refactor to accommodate Hugo >=0.146.0.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
{{ return time.Format (site.Params.dateFormat | default ":date_long") . }}
|
||||
@@ -0,0 +1,3 @@
|
||||
{{ $.Scratch.Set "searchCount" 0 }}
|
||||
{{ $.Scratch.Set "switchCount" 0 }}
|
||||
{{ $.Scratch.Set "localeCount" 0 }}
|
||||
@@ -0,0 +1,12 @@
|
||||
{{ if ne .Params.showAppearanceSwitcher nil }}
|
||||
{{ warnf "[CONGO] Theme parameter `showAppearanceSwitcher` has been renamed to `footer.showAppearanceSwitcher`. Please update your site configuration." }}
|
||||
{{ end }}
|
||||
{{ if ne .Params.showScrollToTop nil }}
|
||||
{{ warnf "[CONGO] Theme parameter `showScrollToTop` has been renamed to `footer.showScrollToTop`. Please update your site configuration." }}
|
||||
{{ end }}
|
||||
{{ if ne .Params.logo nil }}
|
||||
{{ warnf "[CONGO] Theme parameter `logo` has been renamed to `header.logo`. Please update your site configuration." }}
|
||||
{{ end }}
|
||||
{{ if .Author }}
|
||||
{{ warnf "[CONGO] Theme parameter `author` block in `languages.xx.toml` has been renamed to `params.author`. Please update your site configuration." }}
|
||||
{{ end }}
|
||||
@@ -0,0 +1,152 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="theme-color" content="{{ .Site.Params.defaultThemeColor | default "#ffffff" }}" />
|
||||
{{/* Title */}}
|
||||
{{ if .IsHome -}}
|
||||
<title>{{ .Site.Title | emojify }}</title>
|
||||
<meta name="title" content="{{ .Site.Title | emojify }}" />
|
||||
{{- else -}}
|
||||
<title>{{ .Title | emojify }} · {{ .Site.Title | emojify }}</title>
|
||||
<meta name="title" content="{{ .Title | emojify }} · {{ .Site.Title | emojify }}" />
|
||||
{{- end }}
|
||||
{{/* Asset bundles */}}
|
||||
{{ $assets := newScratch }}
|
||||
{{ $algorithm := .Site.Params.fingerprintAlgorithm | default "sha256" }}
|
||||
{{ $jsAppearance := resources.Get "js/appearance.js" }}
|
||||
{{ $jsAppearance = $jsAppearance | resources.Minify | resources.Fingerprint $algorithm }}
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="{{ $jsAppearance.Permalink }}"
|
||||
integrity="{{ $jsAppearance.Data.Integrity }}"
|
||||
></script>
|
||||
{{ $cssScheme := resources.Get (printf "css/schemes/%s.css" (lower .Site.Params.colorScheme | default "congo")) }}
|
||||
{{ if not $cssScheme }}
|
||||
{{ $cssScheme = resources.Get "css/schemes/congo.css" }}
|
||||
{{ end }}
|
||||
{{ $assets.Add "css" (slice $cssScheme) }}
|
||||
{{ $cssMain := resources.Get "css/compiled/main.css" }}
|
||||
{{ $assets.Add "css" (slice $cssMain) }}
|
||||
{{ $cssCustom := resources.Get "css/custom.css" }}
|
||||
{{ if $cssCustom }}
|
||||
{{ $assets.Add "css" (slice $cssCustom) }}
|
||||
{{ end }}
|
||||
{{ $bundleCSS := $assets.Get "css" | resources.Concat "css/main.bundle.css" | resources.Minify | resources.Fingerprint $algorithm }}
|
||||
<link
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
href="{{ $bundleCSS.Permalink }}"
|
||||
integrity="{{ $bundleCSS.Data.Integrity }}"
|
||||
/>
|
||||
{{ if .Site.Params.enableSearch | default false }}
|
||||
{{ $jsFuse := resources.Get "lib/fuse/fuse.min.js" }}
|
||||
{{ $jsSearch := resources.Get "js/search.js" }}
|
||||
{{ $assets.Add "js" (slice $jsFuse $jsSearch) }}
|
||||
{{ end }}
|
||||
{{ if .Site.Params.enableQuicklink | default false }}
|
||||
{{ $jsQuicklink := resources.Get "lib/quicklink/quicklink.umd.js" }}
|
||||
{{ $jsQuicklinkInit := resources.Get "js/quicklink.js" }}
|
||||
{{ $assets.Add "js" (slice $jsQuicklink $jsQuicklinkInit) }}
|
||||
{{ end }}
|
||||
{{ if .Site.Params.enableCodeCopy | default false }}
|
||||
{{ $jsCode := resources.Get "js/code.js" }}
|
||||
{{ $assets.Add "js" (slice $jsCode) }}
|
||||
{{ end }}
|
||||
{{ if or (eq .Site.Params.header.layout "hamburger") (eq .Site.Params.header.layout "hybrid") }}
|
||||
{{ $jsMenu := resources.Get "js/menu.js" }}
|
||||
{{ $assets.Add "js" (slice $jsMenu) }}
|
||||
{{ end }}
|
||||
{{ if eq (site.Language.LanguageDirection | default "ltr") "rtl" }}
|
||||
{{ $jsRTL := resources.Get "js/rtl.js" }}
|
||||
{{ $assets.Add "js" (slice $jsRTL) }}
|
||||
{{ end }}
|
||||
{{ if $assets.Get "js" }}
|
||||
{{ $bundleJS := $assets.Get "js" | resources.Concat "js/main.bundle.js" | resources.Minify | resources.Fingerprint $algorithm }}
|
||||
<script
|
||||
defer
|
||||
type="text/javascript"
|
||||
id="script-bundle"
|
||||
src="{{ $bundleJS.Permalink }}"
|
||||
integrity="{{ $bundleJS.Data.Integrity }}"
|
||||
data-copy="{{ i18n "code.copy" }}"
|
||||
data-copied="{{ i18n "code.copied" }}"
|
||||
></script>
|
||||
{{ end }}
|
||||
{{/* Metadata */}}
|
||||
<meta
|
||||
name="description"
|
||||
content="{{ with .Description }}
|
||||
{{ . }}
|
||||
{{ else }}
|
||||
{{ if .IsPage }}
|
||||
{{ .Summary }}
|
||||
{{ else }}
|
||||
{{ with .Site.Params.description }}{{ . }}{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}"
|
||||
/>
|
||||
{{ with union .Site.Params.keywords .Params.keywords -}}
|
||||
<meta name="keywords" content="{{ delimit . `, ` }}" />
|
||||
{{- end }}
|
||||
{{ with .Site.Params.robots }}
|
||||
<meta name="robots" content="{{ . }}" />
|
||||
{{ end }}
|
||||
{{ with .Params.robots }}
|
||||
<meta name="robots" content="{{ . }}" />
|
||||
{{ end }}
|
||||
{{ if .Params.canonicalUrl }}
|
||||
<link rel="canonical" href="{{ .Params.canonicalUrl }}" />
|
||||
{{ else }}
|
||||
<link rel="canonical" href="{{ .Permalink }}" />
|
||||
{{ end }}
|
||||
{{ range .AlternativeOutputFormats -}}
|
||||
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink ($.Site.Title | emojify) | safeHTML }}
|
||||
{{ end -}}
|
||||
{{/* Icons */}}
|
||||
{{ if templates.Exists "_partials/favicons.html" }}
|
||||
{{ partialCached "favicons.html" .Site }}
|
||||
{{ else }}
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ "apple-touch-icon.png" | relURL }}" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ "favicon-32x32.png" | relURL }}" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ "favicon-16x16.png" | relURL }}" />
|
||||
<link rel="manifest" href="{{ "site.webmanifest" | relURL }}" />
|
||||
{{ end }}
|
||||
{{/* Site Verification */}}
|
||||
{{ with .Site.Params.verification.google }}
|
||||
<meta name="google-site-verification" content="{{ . }}" />
|
||||
{{ end }}
|
||||
{{ with .Site.Params.verification.bing }}
|
||||
<meta name="msvalidate.01" content="{{ . }}" />
|
||||
{{ end }}
|
||||
{{ with .Site.Params.verification.pinterest }}
|
||||
<meta name="p:domain_verify" content="{{ . }}" />
|
||||
{{ end }}
|
||||
{{ with .Site.Params.verification.yandex }}
|
||||
<meta name="yandex-verification" content="{{ . }}" />
|
||||
{{ end }}
|
||||
{{ with $.Params.externalUrl }}
|
||||
<meta http-equiv="refresh" content="0; url={{ . }}" />
|
||||
{{ end }}
|
||||
{{/* Social */}}
|
||||
{{ template "_internal/opengraph.html" . }}
|
||||
{{ template "_internal/twitter_cards.html" . }}
|
||||
{{/* Schema */}}
|
||||
{{ partial "schema.html" . }}
|
||||
{{/* Me */}}
|
||||
{{ with .Site.Language.Params.Author.name }}
|
||||
<meta name="author" content="{{ . }}" />
|
||||
{{ end }}
|
||||
{{ with .Site.Language.Params.Author.links }}
|
||||
{{ range $links := . }}
|
||||
{{ range $name, $url := $links }}<link href="{{ $url }}" rel="me" />{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{/* Vendor */}}
|
||||
{{ partial "vendor.html" . }}
|
||||
{{/* Analytics */}}
|
||||
{{ partial "analytics.html" . }}
|
||||
{{/* Extend head - eg. for custom analytics scripts, etc. */}}
|
||||
{{ if templates.Exists "_partials/extend-head.html" }}
|
||||
{{ partial "extend-head.html" . }}
|
||||
{{ end }}
|
||||
</head>
|
||||
@@ -1,4 +1,4 @@
|
||||
<header class="py-6 font-semibold text-neutral-900 print:hidden sm:py-10 dark:text-neutral">
|
||||
<header class="py-6 font-semibold text-neutral-900 dark:text-neutral sm:py-10 print:hidden">
|
||||
<nav class="flex items-start justify-between sm:items-center">
|
||||
{{/* Site logo/title */}}
|
||||
<div class="z-40 flex flex-row items-center">
|
||||
@@ -25,7 +25,7 @@
|
||||
</li>
|
||||
{{ if .Site.Menus.main }}
|
||||
{{ range .Site.Menus.main }}
|
||||
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not hugo.IsMultilingual)) }}
|
||||
{{ continue }}
|
||||
{{ end }}
|
||||
<li class="group mb-1">
|
||||
@@ -130,7 +130,7 @@
|
||||
<ul class="hidden list-none flex-row text-end sm:flex">
|
||||
{{ if .Site.Menus.main }}
|
||||
{{ range .Site.Menus.main }}
|
||||
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not site.IsMultiLingual)) }}
|
||||
{{ if and (eq .Params.action "locale") (or (not page.IsTranslated) (not hugo.IsMultilingual)) }}
|
||||
{{ continue }}
|
||||
{{ end }}
|
||||
<li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0">
|
||||
@@ -0,0 +1,60 @@
|
||||
{{- $ctx := "" -}}
|
||||
{{- $dir := default "down" -}}
|
||||
{{- if (reflect.IsMap . ) -}}
|
||||
{{- $ctx = .ctx -}}
|
||||
{{- $dir = cond (not .dir) nil .dir -}}
|
||||
{{- else -}}
|
||||
{{- $ctx = . -}}
|
||||
{{- end -}}
|
||||
{{ with page }}
|
||||
{{ if .IsTranslated }}
|
||||
{{ $currentLang := .Page.Lang }}
|
||||
{{ if hugo.IsMultilingual }}
|
||||
<div class="group relative">
|
||||
<button
|
||||
class="group-dark:hover:text-primary-400 flex w-full items-center justify-end transition-colors group-hover:text-primary-600"
|
||||
>
|
||||
{{ partial "icon.html" "translate" }}<span class="text-sm">{{ .Lang | upper }}</span
|
||||
><span class="text-[0.6rem]"
|
||||
>{{ partial "icon.html" (cond (eq $dir "down") "chevron-down" "chevron-up") }}</span
|
||||
>
|
||||
</button>
|
||||
{{ if eq $dir "down" }}
|
||||
<div class="invisible w-full bg-transparent group-hover:visible"></div>
|
||||
{{ end }}
|
||||
<div
|
||||
class="{{ if not (eq $dir "down") }} bottom-7 {{ end }} invisible absolute z-50 flex flex-col whitespace-nowrap rounded border border-neutral-300 bg-neutral text-start text-base shadow group-hover:visible ltr:right-0 rtl:left-0 dark:border-neutral-600 dark:bg-neutral-800"
|
||||
>
|
||||
{{ $siteLanguages := site.Languages }}
|
||||
{{ $pageLang := .Page.Lang }}
|
||||
{{ range .Page.AllTranslations }}
|
||||
{{ $translation := . }}
|
||||
{{ range $siteLanguages }}
|
||||
{{ if eq $translation.Lang .Lang }}
|
||||
{{ $selected := false }}
|
||||
<div class="flex flex-grow">
|
||||
{{ if eq $pageLang .Lang }}
|
||||
<a
|
||||
href="{{ cond hugo.IsMultihost $translation.Permalink $translation.Permalink }}"
|
||||
class="flex w-full items-center justify-between bg-primary-100 px-2 py-1 dark:bg-primary-900"
|
||||
>{{ .LanguageName }}<span
|
||||
class="ms-2 w-6 text-primary-600 dark:text-primary-400"
|
||||
>{{ partial "icon.html" "check" }}</span
|
||||
></a
|
||||
>
|
||||
{{ else }}
|
||||
<a
|
||||
href="{{ cond hugo.IsMultihost $translation.Permalink $translation.Permalink }}"
|
||||
class="w-full py-1 pe-10 ps-2 decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2"
|
||||
>{{ .LanguageName }}</a
|
||||
>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
Reference in New Issue
Block a user