refactors the layouts

This commit is contained in:
Huy Tran 2018-07-16 13:22:00 +10:00
parent cefd39e9a1
commit 05d11325ea
28 changed files with 394 additions and 116 deletions

View file

@ -0,0 +1,3 @@
<!-- RSS -->
<link href="{{ .RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}" />
<link href="{{ .RSSLink }}" rel="feed" type="application/rss+xml" title="{{ .Site.Title }}" />

View file

@ -0,0 +1,3 @@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/solid.css" integrity="sha384-TbilV5Lbhlwdyc4RuIV/JhD8NR+BfMrvz4BL5QFa2we1hQu6wvREr3v6XSRfCTRp" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/brands.css" integrity="sha384-7xAnn7Zm3QC1jFjVc1A6v/toepoG3JXboQYzbM0jrPzou9OFXm/fY6Z/XiIebl/k" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/fontawesome.css" integrity="sha384-ozJwkrqb90Oa3ZNb+yKFW2lToAWYdTiF1vt8JiH5ptTGHTGcN7qdoR1F95e0kYyG" crossorigin="anonymous">

View file

@ -0,0 +1,2 @@
<link rel="dns-prefetch" href="//fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans:300,300i,400,400i,700|Source+Code+Pro:400,400i" rel="stylesheet">

View file

@ -0,0 +1,7 @@
{{- if .Site.Params.highlightjs -}}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/{{ .Site.Params.highlightjsstyle | default "default" }}.min.css">
{{- end -}}
{{ if .Site.Params.PygmentsUseClasses -}}
<!-- Pygments Syntax -->
<link rel="stylesheet" href="{{ .Site.BaseURL }}/css/syntax.min.css">
{{- end }}

View file

@ -0,0 +1,8 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Cache-Control" content="public" />
{{ "<!-- Enable responsiveness on mobile devices -->" | safeHTML }}
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
{{ .Hugo.Generator }}
{{ partial "header/twitter_cards.html" . }}
{{ partial "header/opengraph.html" . }}

View file

@ -0,0 +1,32 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Cache-Control" content="public" />
<!-- Enable responsiveness on mobile devices -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
{{ .Hugo.Generator }}
{{- if .IsHome }}
{{ $.Scratch.Set "theTitle" .Site.Title -}}
{{else}}
{{ $.Scratch.Add "theTitle" .Title}}
{{ $.Scratch.Add "theTitle" "·"}}
{{ $.Scratch.Add "theTitle" .Site.Title}}
{{- end -}}
<title>{{ $.Scratch.Get "theTitle" }}</title>
{{ with .Site.Params.meta.description -}}<meta name="description" content="{{ . }}">{{- end }}
{{ with .Site.Params.meta.keywords -}}<meta name="keywords" content="{{.}}">{{- end }}
<!-- Twitter -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="{{.Site.Params.social.twitter}}">
<meta name="twitter:title" content="{{$.Scratch.Get "theTitle"}}">
<meta name="twitter:description" content="{{.Site.Params.meta.description}}">
<meta property="twitter:image" content="{{.Site.Params.authorimage}}">
<meta name="twitter:creator" content="{{.Site.Params.author}}">
<!-- OpenGraph -->
<meta property="og:locale" content="{{.Site.LanguageCode}}">
<meta property="og:type" content="article">
<meta property="og:url" content="{{.Permalink}}">
<meta property="og:image" content="{{.Site.Params.authorimage}}">
<meta property="og:site_name" content="{{.Site.Title}}">
<meta property="og:title" content="{{$.Scratch.Get "theTitle"}}">
<meta property="og:description" content="{{.Site.Params.meta.description}}">
{{ $.Scratch.Delete "theTitle" -}}

View file

@ -0,0 +1,62 @@
<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 }}" />
<meta property="og:url" content="{{ .Permalink }}" />
{{ with .Params.images -}}
{{- range first 6 . -}}
<meta property="og:image" content="{{ . | absURL }}" />
{{- end -}}
{{- end -}}
{{- if .IsPage -}}
{{ if not .PublishDate.IsZero -}}
<meta property="article:published_time" content="{{ .PublishDate.Format "2006-01-02T15:04:05-07:00" | safeHTML }}"/>
{{- else if not .Date.IsZero -}}
<meta property="article:published_time" content="{{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }}"/>
{{- end }}
{{- if not .Lastmod.IsZero -}}
<meta property="article:modified_time" content="{{ .Lastmod.Format "2006-01-02T15:04:05-07:00" | safeHTML }}"/>
{{- end }}
{{- else -}}
{{ if not .Date.IsZero -}}
<meta property="og:updated_time" content="{{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }}"/>
{{- 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 }}
<!-- If it is part of a series, link to related articles -->
{{- $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 -}}
<!-- Facebook Page Admin ID for Domain Insights -->
{{ with .Site.Social.facebook_admin -}}<meta property="fb:admins" content="{{ . }}" />{{- end }}

View file

@ -0,0 +1,29 @@
{{- with $.Params.images -}}
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
{{ else -}}
{{- $images := $.Resources.ByType "image" -}}
{{- $featured := $images.GetMatch "*feature*" -}}
{{- $featured := cond (ne $featured nil) $featured ($images.GetMatch "{*cover*,*thumbnail*}") -}}
{{- with $featured -}}
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="{{ $featured.Permalink }}"/>
{{- else -}}
{{- with $.Site.Params.images -}}
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
{{ else -}}
<meta name="twitter:card" content="summary"/>
{{- end -}}
{{- end -}}
{{- end }}
<meta name="twitter:title" content="{{ .Title }}"/>
<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}"/>
{{ with .Site.Social.twitter -}}
<meta name="twitter:site" content="@{{ . }}"/>
{{ end -}}
{{ range .Site.Authors }}
{{ with .twitter -}}
<meta name="twitter:creator" content="@{{ . }}"/>
{{ end -}}
{{ end -}}