Skip to content
Snippets Groups Projects
seo.html 2.8 KiB
Newer Older
Arnaud Levy's avatar
Arnaud Levy committed
{{- $title := chomp (htmlUnescape .Title) -}}
alexisben's avatar
alexisben committed
{{- $seoTitle := htmlUnescape site.Title -}}
Arnaud Levy's avatar
Arnaud Levy committed
{{- $seoTitleSeparator := htmlUnescape site.Params.seo.title.separator -}}
alexisben's avatar
alexisben committed
{{- if .Title -}}
Arnaud Levy's avatar
Arnaud Levy committed
  {{- $seoTitle = printf "%s %s %s" $title $seoTitleSeparator $seoTitle -}}
alexisben's avatar
alexisben committed
{{- end -}}
{{- $seoDescription := "" -}}
alexisben's avatar
alexisben committed
{{- if .Params.meta_description -}}
  {{- $seoDescription = partial "PrepareHTML" .Params.meta_description -}}
{{- else if .Params.description -}}
  {{- $seoDescription = partial "PrepareHTML" .Params.description -}} {{/*  LEGACY  */}}
alexisben's avatar
alexisben committed
{{- else if .Params.summary -}}
alexisben's avatar
alexisben committed
  {{- $seoDescription = partial "PrepareText" .Params.summary -}}
alexisben's avatar
alexisben committed
{{- else if .Content -}}
alexisben's avatar
alexisben committed
  {{- $seoDescription = partial "GetTruncateContent" ( dict "text" .Content ) -}}
alexisben's avatar
alexisben committed
{{- else if .Params.legacy_text -}}
alexisben's avatar
alexisben committed
  {{- $seoDescription = partial "GetTruncateContent" ( dict "text" .Params.legacy_text ) -}}
alexisben's avatar
alexisben committed
{{- else if .Params.blocks -}}
  {{- range first 1 .Params.blocks -}}
    {{- if .title -}}
alexisben's avatar
alexisben committed
      {{- $seoDescription = partial "GetTruncateContent" ( dict "text" .title ) -}}
alexisben's avatar
alexisben committed
    {{- end -}}
  {{- end -}}
{{- end -}}
{{- $seoImage := "" -}}
{{- if os.FileExists "static/assets/images/share.png" -}}
  {{- $seoImage = printf "%sassets/images/share.png" site.BaseURL -}}
{{- end -}}
{{- if os.FileExists "static/assets/images/share.jpg" -}}
  {{- $seoImage = printf "%sassets/images/share.jpg" site.BaseURL -}}
{{- end -}}
{{- $ogImage := $seoImage -}}
{{- $twitterImage := $seoImage -}}
{{- with .Params.image -}}
  {{- $id := . -}}
  {{ if isset . "id" -}}
    {{- $id = .id -}}
  {{- end -}}
  {{- $image := partial "GetMedia" $id -}}
  {{- $ogImage = partial "GetImageUrl" (dict
          "media" $image
          "size" "1200x630"
          "crop" true
        ) -}}
  {{- $twitterImage = partial "GetImageUrl" (dict
          "media" $image
          "size" "1200x675"
          "crop" true
        ) -}}
{{- end -}}
{{- $seoUrl := .Permalink -}}

<!-- HTML Meta Tags -->
<title>{{ $seoTitle }}</title>
<meta name="description" content="{{ $seoDescription }}">

<!-- Facebook Meta Tags -->
<meta property="og:title" content="{{ $seoTitle }}">
<meta property="og:description" content="{{ $seoDescription }}">
{{- with $ogImage }}
<meta property="og:image" content="{{ . }}">
{{ end -}}
<meta property="og:url" content="{{ $seoUrl }}">
<meta property="og:type" content="website">

<!-- Twitter Meta Tags -->
<meta name="twitter:title" content="{{ $seoTitle }}">
<meta name="twitter:description" content="{{ $seoDescription }}">
{{- with $twitterImage }}
<meta name="twitter:image" content="{{ . }}">
{{ end -}}
<meta name="twitter:card" content="summary_large_image">
{{- if site.Data.school.twitter }}
<meta name="twitter:site" content="@{{ site.Data.school.twitter }}" />
{{ else if site.Data.journal.twitter }}
<meta name="twitter:site" content="@{{ site.Data.journal.twitter }}" />
{{ end -}}