Add Lotusdocs theme
This commit is contained in:
18
themes/lotusdocs/layouts/partials/docs/head/favicon.html
Normal file
18
themes/lotusdocs/layouts/partials/docs/head/favicon.html
Normal file
@@ -0,0 +1,18 @@
|
||||
{{ if os.FileExists "static/favicon.ico" -}}
|
||||
<link rel="icon" href="{{ "favicon.ico" | absURL }}" sizes="any">
|
||||
{{ end -}}
|
||||
{{ if os.FileExists "static/favicon.svg" -}}
|
||||
<link rel="icon" type="image/svg+xml" href="{{ "favicon.svg" | absURL }}">
|
||||
{{ end -}}
|
||||
{{ if os.FileExists "static/apple-touch-icon.png" -}}
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="{{ "apple-touch-icon.png" | absURL }}">
|
||||
{{ end -}}
|
||||
{{ if os.FileExists "static/favicon-32x32.png" -}}
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="{{ "favicon-32x32.png" | absURL }}">
|
||||
{{ end -}}
|
||||
{{ if os.FileExists "static/favicon-16x16.png" -}}
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ "favicon-16x16.png" | absURL }}">
|
||||
{{ end -}}
|
||||
{{ if os.FileExists "static/site.webmanifest" -}}
|
||||
<link rel="manifest" crossorigin="use-credentials" href="{{ "site.webmanifest" | absURL }}">
|
||||
{{ end -}}
|
||||
@@ -0,0 +1,73 @@
|
||||
{{ $images := $.Resources.ByType "image" }}
|
||||
{{ $featured := $images.GetMatch "*feature*" }}
|
||||
{{ if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end }}
|
||||
{{ if not $featured }}
|
||||
{{ $featured = resources.Get "/opengraph/card-base-2.png" }}
|
||||
{{ $font := resources.Get "/opengraph/poppins-bold.ttf" }}
|
||||
{{ $descPadding := 0 }}
|
||||
|
||||
{{ $title := $.LinkTitle }}
|
||||
{{ $sizeTitle := 80 }}
|
||||
{{ $sizeDesc := 50 }}
|
||||
|
||||
{{ if gt (len $title) 23 }}
|
||||
{{ $sizeTitle = 60 }}
|
||||
{{ end }}
|
||||
|
||||
{{ $textTitle := $title }}
|
||||
{{ $textTitleOptions := dict
|
||||
"color" "#2e2e2e"
|
||||
"size" $sizeTitle
|
||||
"lineSpacing" 10
|
||||
"x" 65 "y" 180
|
||||
"font" $font
|
||||
}}
|
||||
|
||||
{{ $filters := slice (images.Text $textTitle $textTitleOptions) }}
|
||||
|
||||
{{ $logo := resources.Get "images/logos/logo.png" }}
|
||||
{{ with $logo }}
|
||||
{{ $logo = $logo.Resize "x60" }}
|
||||
{{ $logoFilter := (images.Overlay $logo 65 110) }}
|
||||
{{ $filters = $filters | append $logoFilter }}
|
||||
{{ end }}
|
||||
|
||||
{{ if gt ($title | strings.RuneCount) 23 }}
|
||||
{{ $descPadding = -30 }}
|
||||
{{ if gt ($title | strings.RuneCount) 40 }}
|
||||
{{ $descPadding = 40 }}
|
||||
{{ end }}
|
||||
{{ $sizeDesc = 45 }}
|
||||
{{ end }}
|
||||
|
||||
{{ $description := $.Description }}
|
||||
{{ with $description }}
|
||||
{{ $textDesc := $description }}
|
||||
{{ $textDescOptions := dict
|
||||
"color" "#8e8e8e"
|
||||
"size" $sizeDesc
|
||||
"lineSpacing" 10
|
||||
"x" 65 "y" (add 290 $descPadding)
|
||||
"font" $font
|
||||
}}
|
||||
{{ $descFilter := (images.Text $textDesc $textDescOptions) }}
|
||||
{{ $filters = $filters | append $descFilter }}
|
||||
{{ end }}
|
||||
|
||||
{{ $textSiteTitle := $.Site.Title }}
|
||||
{{ with $textSiteTitle }}
|
||||
{{ $textSiteTitleOptions := dict
|
||||
"color" "#5e5e5e"
|
||||
"size" 35
|
||||
"lineSpacing" 10
|
||||
"x" 65 "y" 550
|
||||
"font" $font
|
||||
}}
|
||||
{{ $siteTitleFilter := (images.Text $textSiteTitle $textSiteTitleOptions)}}
|
||||
{{ $filters = $filters | append $siteTitleFilter }}
|
||||
{{ end }}
|
||||
|
||||
{{ $featured = $featured | images.Filter $filters }}
|
||||
{{ end }}
|
||||
|
||||
{{ return $featured }}
|
||||
45
themes/lotusdocs/layouts/partials/docs/head/opengraph.html
Normal file
45
themes/lotusdocs/layouts/partials/docs/head/opengraph.html
Normal file
@@ -0,0 +1,45 @@
|
||||
<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 -}}
|
||||
{{- else -}}
|
||||
{{- $images := $.Resources.ByType "image" -}}
|
||||
{{- $featured := partial (printf "%s/%s" ($.Scratch.Get "pathName") "head/get-featured-image.html") . }}
|
||||
{{- 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 -}}
|
||||
|
||||
{{- if .IsPage }}
|
||||
{{- $iso8601 := "2006-01-02T15:04:05-07:00" -}}
|
||||
<meta property="article:section" content="{{ .Section }}" />
|
||||
{{ with .PublishDate }}<meta property="article:published_time" {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }}
|
||||
{{ with .Lastmod }}<meta property="article:modified_time" {{ .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 }}
|
||||
|
||||
{{- /* If it is part of a series, link to related articles */}}
|
||||
{{- $permalink := .Permalink }}
|
||||
{{- $siteSeries := .Site.Taxonomies.series }}
|
||||
{{- if $siteSeries }}
|
||||
{{ with .Params.series }}{{- range $name := . }}
|
||||
{{- $series := index $siteSeries ($name | urlize) }}
|
||||
{{- range $page := first 6 $series.Pages }}
|
||||
{{- if ne $page.Permalink $permalink }}<meta property="og:see_also" content="{{ $page.Permalink }}" />{{ end }}
|
||||
{{- end }}
|
||||
{{ end }}{{ end }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Facebook Page Admin ID for Domain Insights */}}
|
||||
{{- with .Site.Params.facebook_admin }}<meta property="fb:admins" content="{{ . }}" />{{ end }}
|
||||
@@ -0,0 +1,2 @@
|
||||
<script defer data-domain="{{ .Site.Params.plausible.dataDomain }}" {{ if .Site.Params.plausible.eventAPI }}data-api='{{ .Site.Params.plausible.eventAPI }}'{{ end }} src='{{ .Site.Params.plausible.scriptURL | default "https://plausible.io/js/script.js" }}'></script>
|
||||
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
|
||||
@@ -0,0 +1,23 @@
|
||||
{{- 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 := partial (printf "%s/%s" ($.Scratch.Get "pathName") "head/get-featured-image.html") . }}
|
||||
{{- 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.Params.twitter -}}
|
||||
<meta name="twitter:site" content="@{{ . }}"/>
|
||||
{{ end -}}
|
||||
Reference in New Issue
Block a user