MayMeow/php-encrypt

View on GitHub
docs/layouts/partials/head/opengraph.html

Summary

Maintainability
Test Coverage
<meta property="og:title" content="{{ .Title }}">
<meta property="og:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}">
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}">
{{ if $.Scratch.Get "paginator" -}}
  {{ $paginator := .Paginate (where .Site.RegularPages.ByDate.Reverse "Section" "blog" ) -}}
  <meta property="og:url" content="{{ .Paginator.URL | absURL }}">
{{ else -}}
  <meta property="og:url" content="{{ .Permalink }}">
{{ end -}}

{{ with $.Params.images -}}
  {{ range first 6 . -}}
  <meta property="og:image" content="{{ $.Permalink }}{{ . }}">
  {{ end -}}
{{ else -}}
  {{ $images := $.Resources.ByType "image" -}}
  {{ $featured := $images.GetMatch "*feature*" -}}
  {{ if not $featured -}}
    {{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}
  {{ end -}}
  {{ with $featured -}}
    <meta property="og:image" content="{{ $featured.Permalink }}"/>
  {{ else -}}
    {{ with $.Site.Params.images -}}
      <meta property="og:image" content="{{ index . 0 | absURL }}"/>
    {{ end -}}
  {{ end -}}
{{ end -}}

{{ $iso8601 := "2006-01-02T15:04:05-07:00" -}}
{{ if .IsPage -}}
  {{ if not .PublishDate.IsZero -}}
    <meta property="article:published_time" {{ .PublishDate.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}>
  {{ else if not .Date.IsZero -}}
    <meta property="article:published_time" {{ .Date.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}>
  {{ end -}}
  {{ if not .Lastmod.IsZero -}}
    <meta property="article:modified_time" {{ .Lastmod.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}>
  {{ end -}}
{{ else -}}
  {{ if not .Date.IsZero -}}
    <meta property="og:updated_time" {{ .Lastmod.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}>
  {{ end -}}
{{ end -}}

{{ with .Params.audio -}}
  <meta property="og:audio" content="{{ . }}">
{{ end -}}
{{ with .Params.locale -}}
  <meta property="og:locale" content="{{ . }}">
{{ end -}}
{{ with .Site.Params.title -}}
  <meta property="og:site_name" content="{{ . }}">
{{ end -}}
{{ with .Params.videos -}}
  {{ range . -}}
    <meta property="og:video" content="{{ . | absURL }}">
  {{ end -}}
{{ end -}}

{{ $permalink := .Permalink -}}
{{ $siteSeries := .Site.Taxonomies.series -}}
{{ with .Params.series -}}
  {{ range $name := . -}}
    {{ $series := index $siteSeries $name -}}
    {{ range $page := first 6 $series.Pages -}}
      {{ if ne $page.Permalink $permalink -}}
        <meta property="og:see_also" content="{{ $page.Permalink }}">
      {{ end -}}
    {{ end -}}
  {{ end -}}
{{ end -}}

{{ if .IsPage -}}
  {{ range .Site.Authors -}}
    {{ with .Social.facebook -}}
      <meta property="article:author" content="https://www.facebook.com/{{ . }}">
    {{ end -}}
    {{ with .Site.Social.facebook -}}
      <meta property="article:publisher" content="https://www.facebook.com/{{ . }}">
    {{ end -}}
    <meta property="article:section" content="{{ .Section }}">
    {{ with .Params.tags -}}
      {{ range first 6 . -}}
        <meta property="article:tag" content="{{ . }}">
      {{ end -}}
    {{ end -}}
  {{ end -}}
{{ end -}}

{{ with .Site.Social.facebook_admin -}}
  <meta property="fb:admins" content="{{ . }}">
{{ end -}}