2025-08-14 22:28:22 +02:00
|
|
|
{{ partial "seo.html" . }}
|
|
|
|
|
|
2025-06-06 18:12:46 +02:00
|
|
|
<meta charset="utf-8">
|
|
|
|
|
|
2025-09-08 01:15:11 +02:00
|
|
|
<title>
|
|
|
|
|
{{- if .IsHome -}}
|
|
|
|
|
Ingenieurbüro für PV, Speicher & Ladeinfrastruktur | AMPERION
|
|
|
|
|
{{- else -}}
|
|
|
|
|
{{- with .Params.meta_title -}}
|
|
|
|
|
{{ . }}
|
|
|
|
|
{{- else -}}
|
|
|
|
|
{{ .Title }} | AMPERION
|
|
|
|
|
{{- end -}}
|
|
|
|
|
{{- end -}}
|
|
|
|
|
</title>
|
|
|
|
|
|
|
|
|
|
<!-- base url (vom Theme genutzt, belassen) -->
|
2025-06-06 18:12:46 +02:00
|
|
|
{{ if or (eq site.BaseURL "/") (eq site.BaseURL "http://localhost:1313/") (eq site.BaseURL "http://examplesite.org/") (eq site.BaseURL "https://examplesite.org/") (eq site.BaseURL "http://examplesite.com/") (eq site.BaseURL "https://examplesite.com/")}}{{else}}
|
|
|
|
|
<base href="{{ .Permalink }}">
|
|
|
|
|
{{ end }}
|
|
|
|
|
|
2025-09-08 01:15:11 +02:00
|
|
|
<!-- Canonical + self-referential hreflang -->
|
|
|
|
|
<link rel="canonical" href="{{ .Permalink }}">
|
|
|
|
|
<link rel="alternate" hreflang="{{ site.LanguageCode | default `de-AT` }}" href="{{ .Permalink }}">
|
|
|
|
|
{{ if not .IsTranslated }}
|
|
|
|
|
<link rel="alternate" hreflang="x-default" href="{{ .Permalink }}">
|
2025-06-06 18:12:46 +02:00
|
|
|
{{ end }}
|
2025-09-08 01:15:11 +02:00
|
|
|
|
|
|
|
|
<!-- Multilingual alternates -->
|
|
|
|
|
{{ if .IsTranslated }}
|
|
|
|
|
{{ range .AllTranslations }}
|
|
|
|
|
<link rel="alternate" hreflang="{{ .Lang }}" href="{{ .RelPermalink | absLangURL }}">
|
|
|
|
|
{{ end }}
|
|
|
|
|
<link rel="alternate" hreflang="x-default" href="{{ .RelPermalink | absLangURL }}">
|
2025-06-06 18:12:46 +02:00
|
|
|
{{ end }}
|
|
|
|
|
|
2025-09-08 01:15:11 +02:00
|
|
|
<!-- Viewport: nur EIN Tag -->
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
|
|
|
|
|
|
{{ with site.Params.author }}<meta name="author" content="{{ . }}">{{ end }}
|
2025-06-06 18:12:46 +02:00
|
|
|
{{ hugo.Generator }}
|
|
|
|
|
|
2025-09-08 01:15:11 +02:00
|
|
|
<!-- Optional: manuelles Preload von Bildern pro Seite -->
|
|
|
|
|
{{ with .Params.preload_images }}
|
|
|
|
|
{{ range . }}
|
|
|
|
|
<link rel="preload" as="image" href="{{ . | relURL }}">
|
|
|
|
|
{{ end }}
|
|
|
|
|
{{ end }}
|
|
|
|
|
|
|
|
|
|
{{ with .Params.robots }}<meta name="robots" content="{{ . }}">{{ end }}
|
|
|
|
|
|
|
|
|
|
<!-- Theme / Manifest / Favicons -->
|
2025-06-06 18:12:46 +02:00
|
|
|
<meta name="theme-name" content="airspace-hugo" />
|
|
|
|
|
|
2025-09-08 01:15:11 +02:00
|
|
|
{{ $favicon := site.Params.favicon }}
|
2025-06-06 18:12:46 +02:00
|
|
|
{{ if $favicon }}
|
2025-09-08 01:15:11 +02:00
|
|
|
{{ if fileExists (add `assets/` $favicon) }}
|
|
|
|
|
{{ $fav := resources.Get $favicon }}
|
|
|
|
|
{{ $f16 := $fav.Resize "16x png" }}
|
|
|
|
|
{{ $f32 := $fav.Resize "32x png" }}
|
|
|
|
|
{{ $f180 := $fav.Resize "180x png" }}
|
|
|
|
|
<link rel="shortcut icon" href="{{ $f32.RelPermalink }}" type="image/x-icon">
|
|
|
|
|
<link rel="icon" href="{{ $f32.RelPermalink }}" type="image/x-icon">
|
|
|
|
|
<link rel="icon" type="image/png" sizes="16x16" href="{{ $f16.RelPermalink }}">
|
|
|
|
|
<link rel="icon" type="image/png" sizes="32x32" href="{{ $f32.RelPermalink }}">
|
|
|
|
|
<link rel="apple-touch-icon" sizes="180x180" href="{{ $f180.RelPermalink }}">
|
|
|
|
|
{{ end }}
|
2025-06-06 18:12:46 +02:00
|
|
|
{{ end }}
|
2025-09-08 01:15:11 +02:00
|
|
|
<link rel="manifest" href="{{ `manifest.webmanifest` | relLangURL }}">
|
|
|
|
|
<meta name="msapplication-TileColor" content="{{ site.Params.variables.color_primary | default `#da532c` }}">
|
|
|
|
|
<meta name="theme-color" content="{{ site.Params.variables.body_color | default `#ffffff` }}">
|
2025-06-06 18:12:46 +02:00
|
|
|
|
2025-09-08 01:15:11 +02:00
|
|
|
<!-- OG/Twitter: Bild + Maße + Card (einheitlich, ohne Duplikate) -->
|
2025-06-06 18:12:46 +02:00
|
|
|
{{ $image_path := .Params.image | default site.Params.image }}
|
2025-09-08 01:15:11 +02:00
|
|
|
{{ $image_path_local := printf "assets/%s" $image_path }}
|
2025-06-06 18:12:46 +02:00
|
|
|
{{ $image_ext := trim (path.Ext $image_path | lower) "." }}
|
|
|
|
|
|
2025-09-08 01:15:11 +02:00
|
|
|
{{/* Titel & Beschreibung für OG/Twitter */}}
|
|
|
|
|
{{ $ogt := cond .IsHome "Ingenieurbüro für PV, Speicher & Ladeinfrastruktur | AMPERION" (cond .Params.meta_title .Params.meta_title (printf "%s | AMPERION" .Title)) }}
|
|
|
|
|
{{ $desc := .Params.meta_description | default site.Params.description }}
|
|
|
|
|
|
|
|
|
|
{{ $isArticle := in (slice "post" "posts" "blog" "blogs" "news") .Section }}
|
|
|
|
|
<meta property="og:type" content="{{ if $isArticle }}article{{ else }}website{{ end }}">
|
|
|
|
|
<meta property="og:url" content="{{ .Permalink }}">
|
|
|
|
|
<meta property="og:title" content="{{ $ogt }}">
|
|
|
|
|
{{ with $desc }}<meta property="og:description" content="{{ . | plainify }}">{{ end }}
|
|
|
|
|
|
|
|
|
|
{{ if fileExists $image_path_local }}
|
|
|
|
|
<meta property="og:image" content="{{ $image_path | absURL }}">
|
|
|
|
|
{{ if ne $image_ext "svg" }}
|
|
|
|
|
{{ with (imageConfig $image_path_local) }}
|
|
|
|
|
{{ if (and (gt .Width 144) (gt .Height 144)) }}
|
|
|
|
|
<meta name="twitter:image" content="{{ $image_path | absURL }}">
|
|
|
|
|
{{ end }}
|
|
|
|
|
<meta property="og:image:width" content="{{ .Width }}">
|
|
|
|
|
<meta property="og:image:height" content="{{ .Height }}">
|
|
|
|
|
{{ end }}
|
|
|
|
|
{{ end }}
|
2025-06-06 18:12:46 +02:00
|
|
|
{{ end }}
|
|
|
|
|
|
2025-09-08 01:15:11 +02:00
|
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
|
|
|
<meta name="twitter:title" content="{{ $ogt }}">
|
|
|
|
|
{{ with $desc }}<meta name="twitter:description" content="{{ . | plainify }}">{{ end }}
|
2025-06-06 18:12:46 +02:00
|
|
|
|
2025-09-08 01:15:11 +02:00
|
|
|
<!-- AOS CSS + Bootstrap (defer) -->
|
|
|
|
|
<link rel="stylesheet" href="https://unpkg.com/aos@next/dist/aos.css">
|
2025-08-12 00:46:57 +02:00
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" defer></script>
|
2025-06-06 18:12:46 +02:00
|
|
|
|
2025-09-08 01:15:11 +02:00
|
|
|
<!-- Styles: werden über partial "style.html" eingebunden (nicht hier erneut) -->
|
2025-09-02 22:21:50 +02:00
|
|
|
|
2025-09-08 01:15:11 +02:00
|
|
|
<!-- Strukturierte Daten: Organization -->
|
|
|
|
|
{{ if templates.Exists "partials/ld-org.html" }}
|
|
|
|
|
{{ partial "ld-org.html" . }}
|
|
|
|
|
{{ end }}
|
2025-09-02 22:21:50 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Matomo -->
|
|
|
|
|
<script>
|
|
|
|
|
var _paq = window._paq = window._paq || [];
|
|
|
|
|
_paq.push(['trackPageView']);
|
|
|
|
|
_paq.push(['enableLinkTracking']);
|
|
|
|
|
(function() {
|
|
|
|
|
var u="//matomo.amperion.at/";
|
|
|
|
|
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
|
|
|
|
_paq.push(['setSiteId', '1']);
|
|
|
|
|
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
|
|
|
|
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
|
|
|
|
})();
|
|
|
|
|
</script>
|
2025-09-08 01:15:11 +02:00
|
|
|
<!-- End Matomo -->
|