summaryrefslogtreecommitdiff
path: root/themes/LoveIt/layouts/partials/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'themes/LoveIt/layouts/partials/plugin')
-rw-r--r--themes/LoveIt/layouts/partials/plugin/a.html9
-rw-r--r--themes/LoveIt/layouts/partials/plugin/analytics.html43
-rw-r--r--themes/LoveIt/layouts/partials/plugin/compatibility.html22
-rw-r--r--themes/LoveIt/layouts/partials/plugin/h-card.html15
-rw-r--r--themes/LoveIt/layouts/partials/plugin/icon.html13
-rw-r--r--themes/LoveIt/layouts/partials/plugin/img.html46
-rw-r--r--themes/LoveIt/layouts/partials/plugin/script.html41
-rw-r--r--themes/LoveIt/layouts/partials/plugin/share.html171
-rw-r--r--themes/LoveIt/layouts/partials/plugin/social.html15
-rw-r--r--themes/LoveIt/layouts/partials/plugin/style.html46
10 files changed, 421 insertions, 0 deletions
diff --git a/themes/LoveIt/layouts/partials/plugin/a.html b/themes/LoveIt/layouts/partials/plugin/a.html
new file mode 100644
index 0000000..8dccaa7
--- /dev/null
+++ b/themes/LoveIt/layouts/partials/plugin/a.html
@@ -0,0 +1,9 @@
+{{- $rel := "" -}}
+<a href="{{ .Destination | safeURL }}"{{ with .Title }} title="{{ . }}"{{ end }}{{ if (urls.Parse .Destination).Host | or .Newtab }}{{ $rel = "noopener noreffer " }} target="_blank"{{ end }} rel="{{ $rel }}{{ with .Rel }}{{ . }}{{ end }}"{{ with .Class }} class="{{ . }}"{{ end }}>
+ {{- with .Icon -}}
+ {{- partial "plugin/icon.html" . -}}
+ {{- end -}}
+ {{- with .Content -}}
+ {{- . | safeHTML -}}
+ {{- end -}}
+</a> \ No newline at end of file
diff --git a/themes/LoveIt/layouts/partials/plugin/analytics.html b/themes/LoveIt/layouts/partials/plugin/analytics.html
new file mode 100644
index 0000000..9b174ed
--- /dev/null
+++ b/themes/LoveIt/layouts/partials/plugin/analytics.html
@@ -0,0 +1,43 @@
+{{- $analytics := .Scratch.Get "analytics" | default dict -}}
+
+{{- if $analytics.enable -}}
+ {{- /* Google Analytics */ -}}
+ {{- with $analytics.google.id -}}
+ <script type="text/javascript">
+ window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());
+ gtag('config', '{{ . }}'{{ if $analytics.google.anonymizeIP }}, { 'anonymize_ip': true }{{ end }});
+ </script>
+ {{- printf "https://www.googletagmanager.com/gtag/js?id=%v" . | dict "Async" true "Source" | partial "plugin/script.html" -}}
+ {{- end -}}
+
+ {{- /* Fathom Analytics */ -}}
+ {{- with $analytics.fathom.id -}}
+ <script type="text/javascript">
+ window.fathom=window.fathom||function(){(fathom.q=fathom.q||[]).push(arguments);};
+ fathom('set', 'siteId', '{{ . }}');
+ fathom('trackPageview');
+ </script>
+ {{- dict "Source" ($analytics.fathom.server | default "cdn.usefathom.com" | printf "https://%v/tracker.js") "Async" true "Attr" "id=fathom-script" | partial "plugin/script.html" -}}
+ {{- end -}}
+
+ {{- /* Plausible Analytics */ -}}
+ {{- with $analytics.plausible.dataDomain -}}
+ {{- dict "Source" "https://plausible.io/js/plausible.js" "Async" true "Defer" true "Attr" ($analytics.plausible.dataDomain | printf `data-domain="%v"`) | partial "plugin/script.html" -}}
+ {{- end -}}
+
+ {{- /* Yandex Metrica */ -}}
+ {{- with $analytics.yandexMetrica.id -}}
+ <script type="text/javascript" >
+ (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
+ m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
+ (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
+
+ ym({{ . }}, "init", {
+ clickmap:true,
+ trackLinks:true,
+ accurateTrackBounce:true
+ });
+ </script>
+ <noscript><div><img src="https://mc.yandex.ru/watch/{{ . }}" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
+ {{- end -}}
+{{- end -}}
diff --git a/themes/LoveIt/layouts/partials/plugin/compatibility.html b/themes/LoveIt/layouts/partials/plugin/compatibility.html
new file mode 100644
index 0000000..b460f18
--- /dev/null
+++ b/themes/LoveIt/layouts/partials/plugin/compatibility.html
@@ -0,0 +1,22 @@
+{{- $compatibility := .Site.Params.compatibility | default dict -}}
+{{- $cdn := .Scratch.Get "cdn" | default dict -}}
+{{- $fingerprint := .Scratch.Get "fingerprint" -}}
+
+{{- /* Polyfill.io */ -}}
+{{- if $compatibility.polyfill -}}
+ {{- $features := slice -}}
+ {{- range resources.Get "data/polyfill.yml" | transform.Unmarshal -}}
+ {{- range . -}}
+ {{- $features = $features | append . -}}
+ {{- end -}}
+ {{- end -}}
+ {{- with $features | uniq -}}
+ {{- delimit . "%2C" | printf "https://polyfill.io/v3/polyfill.min.js?features=%v" | dict "Source" | dict "Scratch" $.Scratch "Data" | partial "scratch/script.html" -}}
+ {{- end -}}
+{{- end -}}
+
+{{- /* object-fit-images */ -}}
+{{- if $compatibility.objectFit -}}
+ {{- $source := $cdn.objectFitImagesJS | default "lib/object-fit-images/ofi.min.js" -}}
+ {{- dict "Source" $source "Fingerprint" $fingerprint | dict "Scratch" .Scratch "Data" | partial "scratch/script.html" -}}
+{{- end -}}
diff --git a/themes/LoveIt/layouts/partials/plugin/h-card.html b/themes/LoveIt/layouts/partials/plugin/h-card.html
new file mode 100644
index 0000000..6613032
--- /dev/null
+++ b/themes/LoveIt/layouts/partials/plugin/h-card.html
@@ -0,0 +1,15 @@
+{{- $rel := .Rel -}}
+{{- $nick := .Nickname -}}
+{{- $text := .Text -}}
+{{- $n := .Nickname | default .Name | default .Email | default .URL | default "👀" -}}
+<span class="h-card{{ with .Class }} {{ . }}{{- end -}}">
+{{- with .URL -}}<a href="{{ . }}" class="u-url url"{{ with $rel }} rel="{{ . }}"{{- end -}}{{ with $text }} title="{{ . }}"{{ end }}>{{- else -}}{{- with .Email -}}<a href="mailto:{{ . }}" class="email"{{ with $text }} title="{{ . }}"{{ end }}>{{- end -}}{{- end -}}
+{{- with .Image -}}<img class="u-photo photo" src="{{ . }}" alt="{{ $n }}">{{- else -}}<i class="far fa-user-circle" aria-hidden="true"></i>{{ end -}}&#8201;
+{{- with .Name -}}<span class="p-name fn">{{ . }}</span>{{ with $nick }} ({{- end -}}{{- end -}}
+{{- with .Nickname -}}<span class="p-nickname nickname">{{ . }}</span>{{- end -}}
+{{- with .Name -}}{{ with $nick }}){{- end -}}{{- end -}}
+{{- with .URL -}}</a>{{- else -}}{{- with .Email -}}</a>{{- end -}}{{- end -}}
+{{- with .Email }}
+ <a href="mailto:{{ . }}" class="email"><span class="u-email">{{ . }}</span></a>
+{{- end -}}
+</span> \ No newline at end of file
diff --git a/themes/LoveIt/layouts/partials/plugin/icon.html b/themes/LoveIt/layouts/partials/plugin/icon.html
new file mode 100644
index 0000000..c5f98db
--- /dev/null
+++ b/themes/LoveIt/layouts/partials/plugin/icon.html
@@ -0,0 +1,13 @@
+{{- with .Class -}}
+ <i class="{{ . }}" aria-hidden="true"></i>
+{{- else -}}
+ {{- $src := .Src -}}
+ {{- with .Simpleicons -}}
+ {{- $prefix := $.Prefix | default "lib/simple-icons/icons" | strings.TrimSuffix "/" -}}
+ {{- $src = printf "%v/%v.svg" $prefix . -}}
+ {{- end -}}
+ {{- if (urls.Parse $src).Host | not -}}
+ {{- $src = (resources.Get $src | minify).RelPermalink -}}
+ {{- end -}}
+ <i data-svg-src="{{ $src }}" aria-hidden="true"></i>
+{{- end -}}
diff --git a/themes/LoveIt/layouts/partials/plugin/img.html b/themes/LoveIt/layouts/partials/plugin/img.html
new file mode 100644
index 0000000..8468583
--- /dev/null
+++ b/themes/LoveIt/layouts/partials/plugin/img.html
@@ -0,0 +1,46 @@
+{{- /* lazysizes and lightgallery */ -}}
+{{- $src := .Src -}}
+{{- $width := .Width -}}
+{{- $height := .Height -}}
+{{- with dict "Path" $src "Resources" .Resources | partial "function/resource.html" -}}
+ {{- $src = .RelPermalink -}}
+ {{- $width = $width | default .Width -}}
+ {{- $height = $height | default .Height -}}
+{{- end -}}
+
+{{- $small := .SrcSmall | default $src -}}
+{{- with dict "Path" .SrcSmall "Resources" .Resources | partial "function/resource.html" -}}
+ {{- $small = .RelPermalink -}}
+{{- end -}}
+
+{{- $large := .SrcLarge | default $src -}}
+{{- with dict "Path" .SrcLarge "Resources" .Resources | partial "function/resource.html" -}}
+ {{- $large = .RelPermalink -}}
+{{- end -}}
+
+{{- $alt := .Alt | default $src -}}
+{{- $loading := resources.Get "svg/loading.svg" | minify -}}
+{{- if .Linked -}}
+ <a class="lightgallery" href="{{ $large | safeURL }}" title="{{ .Title | default $alt }}" data-thumbnail="{{ $small | safeURL }}"{{ with .Caption }} data-sub-html="<h2>{{ . }}</h2>{{ with $.Title }}<p>{{ . }}</p>{{ end }}"{{ end }}{{ with .Rel }} rel="{{ . }}"{{ end }}>
+ <img
+ class="lazyload{{ with .Class }} {{ . }}{{ end }}"
+ src="{{ $loading.RelPermalink }}"
+ data-src="{{ $src | safeURL }}"
+ data-srcset="{{ $small | safeURL }}, {{ $src | safeURL }} 1.5x, {{ $large | safeURL }} 2x"
+ data-sizes="auto"
+ alt="{{ $alt }}"
+ {{- with $width }} width="{{ . }}"{{ end }}
+ {{- with $height }} height="{{ . }}"{{ end }} />
+ </a>
+{{- else -}}
+ <img
+ class="lazyload{{ with .Class }} {{ . }}{{ end }}"
+ src="{{ $loading.RelPermalink }}"
+ data-src="{{ $src | safeURL }}"
+ data-srcset="{{ $small | safeURL }}, {{ $src | safeURL }} 1.5x, {{ $large | safeURL }} 2x"
+ data-sizes="auto"
+ alt="{{ $alt }}"
+ title="{{ .Title | default $alt }}"
+ {{- with $width }} width="{{ . }}"{{ end }}
+ {{- with $height }} height="{{ . }}"{{ end }} />
+{{- end -}}
diff --git a/themes/LoveIt/layouts/partials/plugin/script.html b/themes/LoveIt/layouts/partials/plugin/script.html
new file mode 100644
index 0000000..9b9fa37
--- /dev/null
+++ b/themes/LoveIt/layouts/partials/plugin/script.html
@@ -0,0 +1,41 @@
+{{- with .Content -}}
+ <script type="text/javascript">{{ . | safeJS }}</script>
+{{- else -}}
+ {{- if strings.HasPrefix .Source "<script" -}}
+ {{- safeHTML .Source -}}
+ {{- else -}}
+ {{- $src := .Source -}}
+ {{- $integrity := .Integrity -}}
+ {{- if (urls.Parse $src).Host | not -}}
+ {{- $resource := resources.Get $src -}}
+ {{- with .Template -}}
+ {{- $resource = $resource | resources.ExecuteAsTemplate . $.Context -}}
+ {{- end -}}
+ {{- if .Minify -}}
+ {{- $resource = $resource | minify -}}
+ {{- end -}}
+ {{- with .Fingerprint -}}
+ {{- $resource = $resource | fingerprint . -}}
+ {{- $integrity = $resource.Data.Integrity -}}
+ {{- end -}}
+ {{- $src = $resource.RelPermalink -}}
+ {{- end -}}
+ {{- $attrs := printf `src="%v"` $src -}}
+ {{- if .Crossorigin -}}
+ {{- $attrs = ` crossorigin="anonymous"` | add $attrs -}}
+ {{- end -}}
+ {{- with $integrity -}}
+ {{- $attrs = printf ` integrity="%v"` . | add $attrs -}}
+ {{- end -}}
+ {{- if .Async -}}
+ {{- $attrs = " async" | add $attrs -}}
+ {{- end -}}
+ {{- if .Defer -}}
+ {{- $attrs = " defer" | add $attrs -}}
+ {{- end -}}
+ {{- with .Attr -}}
+ {{- $attrs = add " " . | add $attrs -}}
+ {{- end -}}
+ <script type="text/javascript" {{ $attrs | safeHTMLAttr }}></script>
+ {{- end -}}
+{{- end -}}
diff --git a/themes/LoveIt/layouts/partials/plugin/share.html b/themes/LoveIt/layouts/partials/plugin/share.html
new file mode 100644
index 0000000..fd29589
--- /dev/null
+++ b/themes/LoveIt/layouts/partials/plugin/share.html
@@ -0,0 +1,171 @@
+{{- $share := (.Scratch.Get "params").share | default dict -}}
+
+{{- if $share.enable -}}
+ {{- /* 001: Twitter */ -}}
+ {{- if $share.Twitter -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Twitter" data-sharer="twitter" data-url="{{ .Permalink }}" data-title="{{ .Title }}"{{ with .Site.Params.Social.Twitter }} data-via="{{ . }}"{{ end }}{{ with .Params.tags }} data-hashtags="{{ delimit . `,` }}"{{ end }}>
+ {{- dict "Class" "fab fa-twitter fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 002: Facebook */ -}}
+ {{- if $share.Facebook -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Facebook" data-sharer="facebook" data-url="{{ .Permalink }}"{{ with .Params.tags }} data-hashtag="{{ index . 0 }}"{{ end }}>
+ {{- dict "Class" "fab fa-facebook-square fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 003: Linkedin */ -}}
+ {{- if $share.Linkedin -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Linkedin" data-sharer="linkedin" data-url="{{ .Permalink }}">
+ {{- dict "Class" "fab fa-linkedin fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 004: WhatsApp */ -}}
+ {{- if $share.Whatsapp -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} WhatsApp" data-sharer="whatsapp" data-url="{{ .Permalink }}" data-title="{{ .Title }}" data-web>
+ {{- dict "Class" "fab fa-whatsapp fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 005: Viber */ -}}
+ {{- if $share.Viber -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Viber" data-sharer="viber" data-url="{{ .Permalink }}" data-title="{{ .Title }}">
+ {{- dict "Class" "fab fa-viber fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 006: Pinterest */ -}}
+ {{- if $share.Pinterest -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Pinterest" data-sharer="pinterest" data-url="{{ .Permalink }}"{{ with .Description }} data-description="{{ . }}"{{ end }}{{ with .Params.featuredImage }} data-image="{{ . }}"{{ end }}>
+ {{- dict "Class" "fab fa-pinterest fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 007: Tumblr */ -}}
+ {{- if $share.Tumblr -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Tumblr" data-sharer="tumblr" data-url="{{ .Permalink }}" data-title="{{ .Title }}"{{ with .Description }} data-caption="{{ . }}"{{ end }}{{ with .Params.tags }} data-tags="{{ delimit . `,` }}"{{ end }}>
+ {{- dict "Class" "fab fa-tumblr fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 008: Hacker News */ -}}
+ {{- if $share.Hackernews -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Hacker News" data-sharer="hackernews" data-url="{{ .Permalink }}" data-title="{{ .Title }}">
+ {{- dict "Class" "fab fa-hacker-news fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 009: Reddit */ -}}
+ {{- if $share.Reddit -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Reddit" data-sharer="reddit" data-url="{{ .Permalink }}">
+ {{- dict "Class" "fab fa-reddit fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 010: VK */ -}}
+ {{- if $share.VK -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} VK" data-sharer="vk" data-url="{{ .Permalink }}" data-title="{{ .Title }}"{{ with .Description }} data-caption="{{ . }}"{{ end }}{{ with .Params.featuredImage }} data-image="{{ . }}"{{ end }}>
+ {{- dict "Class" "fab fa-vk fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 011: Buffer */ -}}
+ {{- if $share.Buffer -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Buffer" data-sharer="buffer" data-url="{{ .Permalink }}" data-title="{{ .Title }}"{{ with .Site.Params.Social.Twitter }} data-via="{{ . }}"{{ end }}{{ with .Params.featuredImage }} data-picture="{{ . }}"{{ end }}>
+ {{- dict "Class" "fab fa-buffer fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 012: Xing */ -}}
+ {{- if $share.Xing -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Xing" data-sharer="xing" data-url="{{ .Permalink }}" data-title="{{ .Title }}">
+ {{- dict "Class" "fab fa-xing fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 013: Line */ -}}
+ {{- if $share.Line -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Line" data-sharer="line" data-url="{{ .Permalink }}" data-title="{{ .Title }}">
+ {{- dict "Simpleicons" "line" "Prefix" (.Scratch.Get "cdn" | default dict).simpleIconsPrefix | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 014: Instapaper */ -}}
+ {{- if $share.Instapaper -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Instapaper" data-sharer="instapaper" data-url="{{ .Permalink }}" data-title="{{ .Title }}" data-description="{{ .Description }}">
+ {{- dict "Simpleicons" "instapaper" "Prefix" (.Scratch.Get "cdn" | default dict).simpleIconsPrefix | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 015: Pocket */ -}}
+ {{- if $share.Pocket -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Pocket" data-sharer="pocket" data-url="{{ .Permalink }}">
+ {{- dict "Class" "fab fa-get-pocket fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 016: Flipboard */ -}}
+ {{- if $share.Flipboard -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Flipboard" data-sharer="flipboard" data-url="{{ .Permalink }}" data-title="{{ .Title }}">
+ {{- dict "Class" "fab fa-flipboard fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 017: 微博 */ -}}
+ {{- if $share.Weibo -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} 微博" data-sharer="weibo" data-url="{{ .Permalink }}" data-title="{{ .Title }}"{{ with .Params.featuredImage }} data-image="{{ . }}"{{ end }}{{ with .Site.Params.Social.Weibo }} data-ralateuid="{{ . }}"{{ end }}>
+ {{- dict "Class" "fab fa-weibo fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 018: Blogger */ -}}
+ {{- if $share.Blogger -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Blogger" data-sharer="blogger" data-url="{{ .Permalink }}" data-title="{{ .Title }}" data-description="{{ .Description }}">
+ {{- dict "Class" "fab fa-blogger fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 019: 百度 */ -}}
+ {{- if $share.Baidu -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} 百度" data-sharer="baidu" data-url="{{ .Permalink }}" data-title="{{ .Title }}">
+ {{- dict "Simpleicons" "baidu" "Prefix" (.Scratch.Get "cdn" | default dict).simpleIconsPrefix | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 020: OK.RU */ -}}
+ {{- if $share.Odnoklassniki -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} OK.RU" data-sharer="okru" data-url="{{ .Permalink }}" data-title="{{ .Title }}">
+ {{- dict "Class" "fab fa-odnoklassniki fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 021: Evernote */ -}}
+ {{- if $share.Evernote -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Evernote" data-sharer="evernote" data-url="{{ .Permalink }}" data-title="{{ .Title }}">
+ {{- dict "Class" "fab fa-evernote fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 022: Skype */ -}}
+ {{- if $share.Skype -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Skype" data-sharer="skype" data-url="{{ .Permalink }}" data-title="{{ .Title }}">
+ {{- dict "Class" "fab fa-skype fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 023: Trello */ -}}
+ {{- if $share.Trello -}}
+ <a href="javascript:void(0);" title="{{ T `shareOn` }} Trello" data-sharer="trello" data-url="{{ .Permalink }}" data-title="{{ .Title }}" data-description="{{ .Description }}">
+ {{- dict "Class" "fab fa-trello fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+
+ {{- /* 024: Mix */ -}}
+ {{- if $share.Mix -}}
+ <a href="//mix.com/add?url={{ .Permalink }}&amp;description={{ .Title }}" target="_blank" title="{{ T `shareOn` }} Mix">
+ {{- dict "Class" "fab fa-mix fa-fw" | partial "plugin/icon.html" -}}
+ </a>
+ {{- end -}}
+{{- end -}}
diff --git a/themes/LoveIt/layouts/partials/plugin/social.html b/themes/LoveIt/layouts/partials/plugin/social.html
new file mode 100644
index 0000000..4b74a94
--- /dev/null
+++ b/themes/LoveIt/layouts/partials/plugin/social.html
@@ -0,0 +1,15 @@
+{{- $destination := "" -}}
+{{- with .Url -}}
+ {{- $destination = . | relLangURL -}}
+{{- else -}}
+ {{- $template := .Template | default "%v" -}}
+ {{- with .Prefix -}}
+ {{- $template = . | strings.TrimSuffix "/" | printf "%v/%%v" -}}
+ {{- end -}}
+ {{- $destination = printf (string $template) .Id -}}
+{{- end -}}
+{{- $rel := "me" -}}
+{{- with .Rel -}}
+ {{- $rel = printf "%v %v" $rel . -}}
+{{- end -}}
+{{- dict "Destination" $destination "Rel" $rel | merge . | partial "plugin/a.html" -}}
diff --git a/themes/LoveIt/layouts/partials/plugin/style.html b/themes/LoveIt/layouts/partials/plugin/style.html
new file mode 100644
index 0000000..cbd89d9
--- /dev/null
+++ b/themes/LoveIt/layouts/partials/plugin/style.html
@@ -0,0 +1,46 @@
+{{- if strings.HasPrefix .Source "<link" -}}
+ {{- safeHTML .Source -}}
+{{- else -}}
+ {{- $href := .Source -}}
+ {{- $integrity := .Integrity -}}
+ {{- $resource := 0 -}}
+ {{- if $href | and (not (urls.Parse $href).Host) -}}
+ {{- $resource = resources.Get $href -}}
+ {{- end -}}
+ {{- with .Content -}}
+ {{- $resource = resources.FromString $.Path . -}}
+ {{- end -}}
+ {{- if $resource -}}
+ {{- with .Template -}}
+ {{- $resource = $resource | resources.ExecuteAsTemplate . $.Context -}}
+ {{- end -}}
+ {{- with .ToCSS -}}
+ {{- $options := . | merge (dict "outputStyle" "compressed") -}}
+ {{- $resource = $resource | toCSS $options -}}
+ {{- end -}}
+ {{- if .Minify -}}
+ {{- $resource = $resource | minify -}}
+ {{- end -}}
+ {{- with .Fingerprint -}}
+ {{- $resource = $resource | fingerprint . -}}
+ {{- $integrity = $resource.Data.Integrity -}}
+ {{- end -}}
+ {{- $href = $resource.RelPermalink -}}
+ {{- end -}}
+ {{- $attrs := printf `href="%v"` $href -}}
+ {{- if .Crossorigin -}}
+ {{- $attrs = ` crossorigin="anonymous"` | add $attrs -}}
+ {{- end -}}
+ {{- with $integrity -}}
+ {{- $attrs = printf ` integrity="%v"` . | add $attrs -}}
+ {{- end -}}
+ {{- with .Attr -}}
+ {{- $attrs = add " " . | add $attrs -}}
+ {{- end -}}
+ {{- if .Preload -}}
+ <link rel="preload" {{ $attrs | safeHTMLAttr }} as="style" onload="this.onload=null;this.rel='stylesheet'">
+ <noscript><link rel="stylesheet" {{ $attrs | safeHTMLAttr }}></noscript>
+ {{- else -}}
+ <link rel="stylesheet" {{ $attrs | safeHTMLAttr }}>
+ {{- end -}}
+{{- end -}}