🏗️ Finish the head attributes redesign.

This commit is contained in:
凡梦星尘
2022-05-31 21:50:35 +08:00
parent eab0ea3bb1
commit f2ff0a5299
11 changed files with 167 additions and 143 deletions

View File

@@ -19,7 +19,7 @@
<link rel="icon" type="image/png" sizes="16x16" href="{{ $P.favicon.small }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ $P.favicon.medium }}">
<link rel="apple-touch-icon" sizes="180x180" href="{{ $P.favicon.appleTouchIcon }}">
{{- partial "head.html" (dict "P" $P "Page" .Page "Scratch" .Scratch) }}
{{- partial "head.html" . }}
<title>{{ .Title | default .Site.Title }}</title>
<noscript>
<link rel="stylesheet" href="/css/noscript.css">

View File

@@ -1,2 +1,15 @@
{{- partial "head/meta" . }}
{{- if .Site.Params.openGraph.enable }}
{{- partial "head/opengraph" . }}
{{- end }}
{{ if isset .Site.Params.openGraph "twitter" }}
{{- partial "head/twitter" . }}
{{- end }}
{{- if isset .Site.Params.openGraph "googleplus" }}
{{- partial "head/googleplus" . }}
{{- end }}
{{- if isset .Site.Params.openGraph "facebook" }}
{{- partial "head/facebook" . }}
{{- end }}
{{ partial "head/verify" . }}
{{- partial "head/style" . }}

View File

@@ -0,0 +1,5 @@
{{- with .Site.Params.openGraph.facebook }}
{{- range $attr, $val := . }}
<meta property="fb:{{ $attr }}" content="{{ $val }}">
{{- end }}
{{- end }}

View File

@@ -0,0 +1,3 @@
{{- with .Site.Params.openGraph.googlePlus }}
<link rel="publisher" href=" {{ . }}">
{{- end }}

View File

@@ -1,56 +1,22 @@
{{- if .P.darkmode }}
<meta name="theme-color" content="{{ .P.themeColor.dark }}" media="(prefers-color-scheme: dark)">
<meta itemprop="name" content="{{ .Title }}" />
<meta itemprop="description" content="{{ .Description | default .Site.Params.description }}" />
{{- if .IsPage }}
{{- with .PublishDate }}
<meta itemprop="datePublished" {{ . }} />
{{- end }}
{{- with .Lastmod }}
<meta itemprop="dateModified" {{ . }} />
{{- end }}
{{- end }}
{{- $img := .Site.Params.customLogo | default .Site.Params.avatar.url }}
{{- if and .IsPage (isset .Params "images") }}
{{- $img := index .Params.images 0 }}
{{- end }}
{{- .Scratch.Set "metaImg" $img }}
<meta itemprop="image" content="{{ $img | absURL }}" />
<meta itemprop="keywords" content="{{ if .IsPage}}{{ delimit .Params.tags ", " }}{{ else }}{{ .Site.Params.keywords }}{{ end }}" />
{{- if .Site.Params.darkmode }}
<meta name="theme-color" content="{{ .Site.Params.themeColor.dark }}" media="(prefers-color-scheme: dark)" />
{{- else }}
<meta name="theme-color" content="{{ .P.themeColor.light }}" media="(prefers-color-scheme: light)">
{{- end }}
{{- with .P.googleSiteVerification }}
<meta name="google-site-verification" content="{{ . }}">
{{- end }}
{{- with .P.bingSiteVerification }}
<meta name="msvalidate.01" content="{{ . }}">
{{- end }}
{{- with .P.yandexSiteVerification }}
<meta name="yandex-verification" content="{{ . }}">
{{- end }}
{{- with .P.baiduSiteVerification }}
<meta name="baidu-site-verification" content="{{ . }}">
{{- end }}
{{- $lang := .Scratch.Get "lang" }}
{{- $P := .P }}
{{- $Page := .Page }}
{{- with $P.openGraph }}
{{- if .enable }}
<meta property="og:type" content="website">
<meta property="og:title" content="{{ $Page.Title }}">
<meta property="og:description" content="{{ default $P.description $Page.Description }}">
<meta property="og:image" content="TODO" />
<meta property="og:image:width" content="TODO" />
<meta property="og:image:height" content="TODO" />
<meta property="og:image:type" content="TODO" />
<meta property="og:image" content="{{ $P.customLogo }}">
<meta property="og:url" content="{{ $Page.Permalink }}">
<meta property="og:site_name" content="{{ default $Page.Title $Page.Site.Title }}">
<meta property="og:locale" content="{{ $lang }}">
{{- if not $Page.IsHome }}
<meta property="article:author" content="{{ default $P.author $Page.Params.Author }}">
<meta property="article:published_time" content="{{ $Page.PublishDate }}" />
<meta property="article:modified_time" content="{{ $Page.Lastmod }}" />
{{- end }}
{{- with .twitter }}
{{- range $attr, $val := . }}
<meta name="twitter:{{ $attr }}" content="{{ $val }}">
{{- end }}
{{- end }}
{{- with .googlePlus }}
<link rel="publisher" href=" {{ . }}">
{{- end }}
{{- with .facebook }}
{{- range $attr, $val := . }}
<meta property="fb:{{ $attr }}" content="{{ $val }}">
{{- end }}
{{- end }}
{{- end }}
<meta name="theme-color" content="{{ .Site.Params.themeColor.light }}" media="(prefers-color-scheme: light)" />
{{- end }}

View File

@@ -0,0 +1,15 @@
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" />
<meta property="og:title" content="{{ .Title | default .Site.Title }}" />
<meta property="og:description" content="{{ .Description | default .Site.Params.Description }}" />
<meta property="og:image" content="{{ .Scratch.Get "metaImg" }}" />
<meta property="og:image:width" content="312" />
<meta property="og:image:height" content="312" />
<meta property="og:image:type" content="image/jpeg/png/svg/jpg" />
<meta property="og:url" content="{{ .Permalink }}"/>
<meta property="og:site_name" content="{{ .Title | default .Site.Title }}" />
<meta property="og:locale" content="{{ .Scratch.Get "lang" }}"/>
{{- if .IsHome }}
<meta property="article:author" content="{{ (delimit .Authors ",") | default .Site.Params.Author }}" />
<meta property="article:published_time" content="{{ .PublishDate }}" />
<meta property="article:modified_time" content="{{ .Lastmod }}" />
{{- end }}

View File

@@ -1,6 +1,6 @@
<!-- Plugin style files -->
{{- $cssRes := .Page.Site.Data.resources.css }}
{{- $vendor := .P.vendors.plugins }}
{{- $cssRes := .Site.Data.resources.css }}
{{- $vendor := .Site.Params.vendors.plugins }}
{{- $vendorCDN := .Scratch.Get "pluginCDN" }}
{{- range $css := $cssRes }}
{{- $pluginCSS := $vendorCDN }}

View File

@@ -0,0 +1,7 @@
{{- $img := .Site.Params.openGraph.twitter.image | default (.Scratch.Get "metaImg") }}
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:creator" content="{{ .Site.Params.openGraph.twitter.creator }}"/>
<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ .Site.Params.description }}{{ end }}{{ end }}"/>
<meta name="twitter:image" content="{{ $img | absURL }}"/>
<meta name="twitter:title" content="{{ .Title }}"/>
<meta name="twitter:site" content="@{{ .Site.Params.openGraph.twitter.site }}"/>

View File

@@ -0,0 +1,14 @@
{{ if .IsHome }}
{{- with .Site.Params.googleSiteVerification }}
<meta name="google-site-verification" content="{{ . }}">
{{- end }}
{{- with .Site.Params.bingSiteVerification }}
<meta name="msvalidate.01" content="{{ . }}">
{{- end }}
{{- with .Site.Params.yandexSiteVerification }}
<meta name="yandex-verification" content="{{ . }}">
{{- end }}
{{- with .Site.Params.baiduSiteVerification }}
<meta name="baidu-site-verification" content="{{ . }}">
{{- end }}
{{ end }}