website/layouts/partials/head.html

140 lines
5.9 KiB
HTML

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta name="robots" content="all,follow">
<meta name="googlebot" content="index,follow,snippet,archive">
<title>{{ .Title }}</title>
<meta name="author" content="{{ .Site.Params.author.name }}" />
{{ if .Keywords }}
<meta name="keywords" content="{{ delimit .Keywords ", " }}">
{{ else if .Site.Params.DefaultKeywords }}
<meta name="keywords" content="{{ delimit .Site.Params.DefaultKeywords ", " }}">
{{ end }}
{{ if .Description }}
<meta name="description" content="{{ .Description }}">
{{ else if .Site.Params.DefaultDescription }}
<meta name="description" content="{{ .Site.Params.DefaultDescription }}">
{{ end }}
{{- $title := .Title | default "happyDomain" }}
{{- $description := .Description | default .Site.Params.DefaultDescription }}
{{- $image := .Params.og_image | default (printf "%simg/og.webp" .Site.BaseURL) }}
{{- $pageURL := .Permalink | default .Site.BaseURL }}
<!-- Canonical URL -->
<link rel="canonical" href="{{ $pageURL }}">
<!-- Facebook Meta Tags -->
<meta property="og:url" content="{{ $pageURL }}">
<meta property="og:type" content="{{ if .IsHome }}website{{ else }}article{{ end }}">
<meta property="og:title" content="{{ $title }}">
<meta property="og:description" content="{{ $description }}">
<meta property="og:image" content="{{ $image }}">
<meta property="og:locale" content="{{ .Lang }}">
{{ range .Translations }}
<meta property="og:locale:alternate" content="{{ .Lang }}">
{{ end }}
<!-- Twitter Meta Tags -->
<meta name="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="happydomain.org">
<meta property="twitter:url" content="{{ $pageURL }}">
<meta name="twitter:title" content="{{ $title }}">
<meta name="twitter:description" content="{{ $description }}">
<meta name="twitter:image" content="{{ $image }}">
<!-- Mastodon proof -->
<link rel="me" href="https://floss.social/@happyDomain">
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" href="/icons/font/bootstrap-icons.min.css">
<!-- Theme stylesheet, if possible do not edit this stylesheet -->
{{ if and (isset .Site.Params "style") .Site.Params.style }}
<link href="{{ .Site.BaseURL }}css/style.{{ .Site.Params.style }}.css" rel="stylesheet" id="theme-stylesheet">
{{ else }}
<link href="{{ .Site.BaseURL }}css/style.default.css" rel="stylesheet" id="theme-stylesheet">
{{ end }}
<!-- Custom stylesheet - for your changes -->
<link href="{{ .Site.BaseURL }}css/custom.css" rel="stylesheet">
<!-- Responsivity for older IE -->
{{ `
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
` | safeHTML }}
<!-- Favicon and apple touch icons-->
<link rel="shortcut icon" href="{{ .Site.BaseURL }}img/favicon.ico" type="image/x-icon" />
<link rel="apple-touch-icon" href="{{ .Site.BaseURL }}img/apple-touch-icon.png" />
<link rel="alternate" href="{{ "/index.xml" | absURL }}" type="application/rss+xml" title="{{ .Site.Title }}">
<!-- Structured Data (JSON-LD) -->
{{ if .IsHome }}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "{{ .Site.BaseURL }}#organization",
"name": "happyDomain",
"url": "{{ .Site.BaseURL }}",
"logo": {
"@type": "ImageObject",
"url": "{{ .Site.BaseURL }}img/happydomain.png"
},
"sameAs": [
"https://floss.social/@happyDomain",
"https://github.com/happyDomain/happydomain",
"https://framagit.org/happyDomain/happydomain"
]
},
{
"@type": "WebSite",
"@id": "{{ .Site.BaseURL }}#website",
"name": "happyDomain",
"url": "{{ .Site.BaseURL }}",
"description": "{{ $description }}",
"inLanguage": ["en", "fr"],
"publisher": {
"@id": "{{ .Site.BaseURL }}#organization"
}
},
{
"@type": "SoftwareApplication",
"@id": "{{ .Site.BaseURL }}#software",
"name": "happyDomain",
"url": "{{ .Site.BaseURL }}",
"description": "{{ $description }}",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Linux, Windows, macOS, Docker",
"license": "https://www.gnu.org/licenses/agpl-3.0.html",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"screenshot": "{{ .Site.BaseURL }}img/og.webp",
"softwareHelp": {
"@type": "WebPage",
"url": "https://help.happydomain.org/"
},
"author": {
"@id": "{{ .Site.BaseURL }}#organization"
}
}
]
}
</script>
{{ end }}
<script async defer data-website-id="a10b2ee8-ed13-4acb-a017-0b9a661f31c3" src="https://pythagore.p0m.fr/pythagore.js"></script>
</head>