aboutsummaryrefslogtreecommitdiff
path: root/themes/ananke/layouts/partials
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2019-06-19 21:18:55 +0200
committerDimitri Staessens <dimitri@ouroboros.rocks>2019-06-19 21:18:55 +0200
commit615d2211463e073a65b0de60c61ab1184b14b958 (patch)
treea7635aec59a689152061c00e8a462382112792f4 /themes/ananke/layouts/partials
parent2a2311ea3fb1b89a266668bfd16aa96475fc183e (diff)
downloadwebsite-615d2211463e073a65b0de60c61ab1184b14b958.tar.gz
website-615d2211463e073a65b0de60c61ab1184b14b958.zip
theme: Switch to ananke theme
Diffstat (limited to 'themes/ananke/layouts/partials')
-rw-r--r--themes/ananke/layouts/partials/commento.html2
-rw-r--r--themes/ananke/layouts/partials/i18nlist.html10
-rw-r--r--themes/ananke/layouts/partials/menu-contextual.html33
-rw-r--r--themes/ananke/layouts/partials/new-window-icon.html2
-rw-r--r--themes/ananke/layouts/partials/page-header.html26
-rw-r--r--themes/ananke/layouts/partials/site-favicon.html3
-rwxr-xr-xthemes/ananke/layouts/partials/site-footer.html8
-rwxr-xr-xthemes/ananke/layouts/partials/site-header.html36
-rw-r--r--themes/ananke/layouts/partials/site-navigation.html22
-rw-r--r--themes/ananke/layouts/partials/site-scripts.html4
-rw-r--r--themes/ananke/layouts/partials/social-follow.html56
-rw-r--r--themes/ananke/layouts/partials/summary-with-image.html29
-rw-r--r--themes/ananke/layouts/partials/summary.html13
-rw-r--r--themes/ananke/layouts/partials/svg/facebook.svg1
-rw-r--r--themes/ananke/layouts/partials/svg/github.svg3
-rw-r--r--themes/ananke/layouts/partials/svg/gitlab.svg1
-rw-r--r--themes/ananke/layouts/partials/svg/instagram.svg1
-rw-r--r--themes/ananke/layouts/partials/svg/linkedin.svg3
-rw-r--r--themes/ananke/layouts/partials/svg/mastodon.svg4
-rw-r--r--themes/ananke/layouts/partials/svg/medium.svg3
-rw-r--r--themes/ananke/layouts/partials/svg/new-window.svg3
-rw-r--r--themes/ananke/layouts/partials/svg/twitter.svg1
-rw-r--r--themes/ananke/layouts/partials/svg/youtube.svg1
-rw-r--r--themes/ananke/layouts/partials/tags.html9
24 files changed, 274 insertions, 0 deletions
diff --git a/themes/ananke/layouts/partials/commento.html b/themes/ananke/layouts/partials/commento.html
new file mode 100644
index 0000000..54e7589
--- /dev/null
+++ b/themes/ananke/layouts/partials/commento.html
@@ -0,0 +1,2 @@
+<div id="commento"></div>
+<script defer src="https://cdn.commento.io/js/commento.js"></script>
diff --git a/themes/ananke/layouts/partials/i18nlist.html b/themes/ananke/layouts/partials/i18nlist.html
new file mode 100644
index 0000000..ba7c1ea
--- /dev/null
+++ b/themes/ananke/layouts/partials/i18nlist.html
@@ -0,0 +1,10 @@
+{{ if .IsTranslated }}
+<h4>{{ i18n "translations" }}</h4>
+<ul class="pl0 mr3">
+ {{ range .Translations }}
+ <li class="list f5 f4-ns fw4 dib pr3">
+ <a class="hover-white no-underline white-90" href="{{ .Permalink }}">{{ .Lang }}</a>
+ </li>
+ {{ end}}
+</ul>
+{{ end }}
diff --git a/themes/ananke/layouts/partials/menu-contextual.html b/themes/ananke/layouts/partials/menu-contextual.html
new file mode 100644
index 0000000..ae50dc6
--- /dev/null
+++ b/themes/ananke/layouts/partials/menu-contextual.html
@@ -0,0 +1,33 @@
+{{/*
+ Use Hugo's native Table of contents feature. You must set `toc: true` in your parameters for this to show.
+ https://gohugo.io/content-management/toc/
+*/}}
+
+{{- if .Params.toc -}}
+ <div class="bg-light-gray pa3 nested-list-reset nested-copy-line-height nested-links">
+ <p class="f5 b mb3">{{ i18n "whatsInThis" . }}</p>
+ {{ .TableOfContents }}
+ </div>
+{{- end -}}
+
+{{/*
+ Use Hugo's native related content feature to pull in content that may have similar parameters, like tags. etc.
+ https://gohugo.io/content-management/related/
+*/}}
+
+{{ $related := .Site.RegularPages.Related . | first 15 }}
+
+{{ with $related }}
+ <div class="bg-light-gray pa3 nested-list-reset nested-copy-line-height nested-links">
+ <p class="f5 b mb3">{{ i18n "related" }}</p>
+ <ul class="pa0 list">
+ {{ range . }}
+ <li class="mb2">
+ <a href="{{ .RelPermalink }}">
+ {{- .Title -}}
+ </a>
+ </li>
+ {{ end }}
+ </ul>
+</div>
+{{ end }}
diff --git a/themes/ananke/layouts/partials/new-window-icon.html b/themes/ananke/layouts/partials/new-window-icon.html
new file mode 100644
index 0000000..8f422ca
--- /dev/null
+++ b/themes/ananke/layouts/partials/new-window-icon.html
@@ -0,0 +1,2 @@
+{{ $new_window_icon_size := "8px" }}
+<span class="new-window">{{ partial "svg/new-window.svg" (dict "size" $new_window_icon_size) }}</span> \ No newline at end of file
diff --git a/themes/ananke/layouts/partials/page-header.html b/themes/ananke/layouts/partials/page-header.html
new file mode 100644
index 0000000..8cd6d4f
--- /dev/null
+++ b/themes/ananke/layouts/partials/page-header.html
@@ -0,0 +1,26 @@
+{{ $featured_image := .Params.featured_image }}
+{{ if $featured_image }}
+ {{/* Trimming the slash and adding absURL make sure the image works no matter where our site lives */}}
+ {{ $featured_image := (trim $featured_image "/") | absURL }}
+ <header class="cover bg-top" style="background-image: url('{{ $featured_image }}');">
+ <div class="pb3-m pb6-l bg-black-60">
+ {{ partial "site-navigation.html" . }}
+ <div class="tc-l pv6 ph3 ph4-ns">
+ {{ if not .Params.omit_header_text }}
+ <h1 class="f2 f1-l fw2 white-90 mb0 lh-title">{{ .Title | default .Site.Title }}</h1>
+ {{ with .Params.description }}
+ <h2 class="fw1 f5 f3-l white-80 measure-wide-l center lh-copy mt3 mb4">
+ {{ . }}
+ </h2>
+ {{ end }}
+ {{ end }}
+ </div>
+ </div>
+ </header>
+{{ else }}
+ <header>
+ <div class="{{ .Site.Params.background_color_class | default "bg-black" }}">
+ {{ partial "site-navigation.html" . }}
+ </div>
+ </header>
+{{ end }}
diff --git a/themes/ananke/layouts/partials/site-favicon.html b/themes/ananke/layouts/partials/site-favicon.html
new file mode 100644
index 0000000..ffb9642
--- /dev/null
+++ b/themes/ananke/layouts/partials/site-favicon.html
@@ -0,0 +1,3 @@
+{{ if .Site.Params.favicon }}
+<link rel="shortcut icon" href="/{{ .Site.Params.favicon }}" type="image/x-icon" />
+{{ end }} \ No newline at end of file
diff --git a/themes/ananke/layouts/partials/site-footer.html b/themes/ananke/layouts/partials/site-footer.html
new file mode 100755
index 0000000..d014f77
--- /dev/null
+++ b/themes/ananke/layouts/partials/site-footer.html
@@ -0,0 +1,8 @@
+<footer class="{{ .Site.Params.background_color_class | default "bg-black" }} bottom-0 w-100 pa3" role="contentinfo">
+ <div class="flex justify-between">
+ <a class="f4 fw4 hover-white no-underline white-70 dn dib-ns pv2 ph3" href="{{ .Site.BaseURL }}" >
+ &copy; {{ now.Format "2006" }} {{ .Site.Title }}
+ </a>
+ <div>{{ partial "social-follow.html" . }}</div>
+ </div>
+</footer>
diff --git a/themes/ananke/layouts/partials/site-header.html b/themes/ananke/layouts/partials/site-header.html
new file mode 100755
index 0000000..10a682f
--- /dev/null
+++ b/themes/ananke/layouts/partials/site-header.html
@@ -0,0 +1,36 @@
+{{ $featured_image := .Param "featured_image"}}
+{{ if $featured_image }}
+ {{/* Trimming the slash and adding absURL make sure the image works no matter where our site lives */}}
+ {{ $featured_image := (trim $featured_image "/") | absURL }}
+ <header class="cover bg-top" style="background-image: url('{{ $featured_image }}');">
+ <div class="{{ .Site.Params.cover_dimming_class | default "bg-black-60" }}">
+ {{ partial "site-navigation.html" .}}
+ <div class="tc-l pv4 pv6-l ph3 ph4-ns">
+ <h1 class="f2 f-subheadline-l fw2 white-90 mb0 lh-title">
+ {{ .Title | default .Site.Title }}
+ </h1>
+ {{ with .Params.description }}
+ <h2 class="fw1 f5 f3-l white-80 measure-wide-l center mt3">
+ {{ . }}
+ </h2>
+ {{ end }}
+ </div>
+ </div>
+ </header>
+{{ else }}
+ <header>
+ <div class="pb3-m pb6-l {{ .Site.Params.background_color_class | default "bg-black" }}">
+ {{ partial "site-navigation.html" . }}
+ <div class="tc-l pv3 ph3 ph4-ns">
+ <h1 class="f2 f-subheadline-l fw2 light-silver mb0 lh-title">
+ {{ .Title | default .Site.Title }}
+ </h1>
+ {{ with .Params.description }}
+ <h2 class="fw1 f5 f3-l white-80 measure-wide-l center lh-copy mt3 mb4">
+ {{ . }}
+ </h2>
+ {{ end }}
+ </div>
+ </div>
+ </header>
+{{ end }}
diff --git a/themes/ananke/layouts/partials/site-navigation.html b/themes/ananke/layouts/partials/site-navigation.html
new file mode 100644
index 0000000..d1f31da
--- /dev/null
+++ b/themes/ananke/layouts/partials/site-navigation.html
@@ -0,0 +1,22 @@
+<nav class="pv3 ph3 ph4-ns" role="navigation">
+ <div class="flex-l justify-between items-center center">
+ <a href="{{ .Site.BaseURL }}" class="f3 fw2 hover-white no-underline white-90 dib">
+ {{ .Site.Title }}
+ </a>
+ <div class="flex-l items-center">
+ {{ partial "i18nlist.html" . }}
+ {{ if .Site.Menus.main }}
+ <ul class="pl0 mr3">
+ {{ range .Site.Menus.main }}
+ <li class="list f5 f4-ns fw4 dib pr3">
+ <a class="hover-white no-underline white-90" href="{{ .URL }}" title="{{ .Name }} page">
+ {{ .Name }}
+ </a>
+ </li>
+ {{ end }}
+ </ul>
+ {{ end }}
+ {{ partialCached "social-follow.html" . }}
+ </div>
+ </div>
+</nav>
diff --git a/themes/ananke/layouts/partials/site-scripts.html b/themes/ananke/layouts/partials/site-scripts.html
new file mode 100644
index 0000000..bd6c7f5
--- /dev/null
+++ b/themes/ananke/layouts/partials/site-scripts.html
@@ -0,0 +1,4 @@
+{{ $script := .Site.Data.webpack_assets.app }}
+{{ with $script.js }}
+ <script src="{{ relURL (printf "%s%s" "dist/" .) }}"></script>
+{{ end }}
diff --git a/themes/ananke/layouts/partials/social-follow.html b/themes/ananke/layouts/partials/social-follow.html
new file mode 100644
index 0000000..249a2a0
--- /dev/null
+++ b/themes/ananke/layouts/partials/social-follow.html
@@ -0,0 +1,56 @@
+<!-- TODO: Add follow intents where available TODO: Revisit color and hover color -->
+{{ $icon_size := "32px" }}
+{{ with .Param "facebook" }}
+<a href="{{ . }}" target="_blank" class="link-transition facebook link dib z-999 pt3 pt0-l mr1" title="Facebook link" rel="noopener" aria-label="follow on Facebook——Opens in a new window">
+ {{ partial "svg/facebook.svg" (dict "size" $icon_size) }}
+ {{- partial "new-window-icon.html" . -}}
+</a>
+{{ end }}
+{{ with .Param "twitter" }}
+<a href="{{ . }}" target="_blank" class="link-transition twitter link dib z-999 pt3 pt0-l mr1" title="Twitter link" rel="noopener" aria-label="follow on Twitter——Opens in a new window">
+ {{ partial "svg/twitter.svg" (dict "size" $icon_size) }}
+ {{- partial "new-window-icon.html" . -}}
+</a>
+{{ end }}
+{{ with .Param "instagram" }}
+<a href="{{ . }}" target="_blank" class="link-transition instagram link dib z-999 pt3 pt0-l mr1" title="Instagram link" rel="noopener" aria-label="follow on Instagram——Opens in a new window">
+ {{ partial "svg/instagram.svg" (dict "size" $icon_size) }}
+ {{- partial "new-window-icon.html" . -}}
+</a>
+{{ end }}
+{{ with .Param "youtube" }}
+<a href="{{ . }}" target="_blank" class="link-transition youtube link dib z-999 pt3 pt0-l mr1" title="Youtube link" rel="noopener" aria-label="follow on Youtube——Opens in a new window">
+ {{ partial "svg/youtube.svg" (dict "size" $icon_size) }}
+ {{- partial "new-window-icon.html" . -}}
+</a>
+{{ end }}
+{{ with .Param "linkedin" }}
+<a href="{{ . }}" target="_blank" class="link-transition linkedin link dib z-999 pt3 pt0-l mr1" title="LinkedIn link" rel="noopener" aria-label="follow on LinkedIn——Opens in a new window">
+ {{ partial "svg/linkedin.svg" (dict "size" $icon_size) }}
+ {{- partial "new-window-icon.html" . -}}
+</a>
+{{ end }}
+{{ with .Param "github" }}
+<a href="{{ . }}" target="_blank" class="link-transition github link dib z-999 pt3 pt0-l mr1" title="Github link" rel="noopener" aria-label="follow on Github——Opens in a new window">
+ {{ partial "svg/github.svg" (dict "size" $icon_size) }}
+ {{- partial "new-window-icon.html" . -}}
+</a>
+{{ end }}
+{{ with .Param "gitlab" }}
+<a href="{{ . }}" target="_blank" class="link-transition gitlab link dib z-999 pt3 pt0-l mr1" title="Gitlab link" rel="noopener" aria-label="follow on Gitlab——Opens in a new window">
+ {{ partial "svg/gitlab.svg" (dict "size" $icon_size) }}
+ {{- partial "new-window-icon.html" . -}}
+</a>
+{{ end }}
+{{ with .Param "medium" }}
+<a href="{{ . }}" target="_blank" class="link-transition medium link dib z-999 pt3 pt0-l mr1" title="Medium link" rel="noopener" aria-label="follow on Medium——Opens in a new window">
+ {{ partial "svg/medium.svg" (dict "size" $icon_size) }}
+ {{- partial "new-window-icon.html" . -}}
+</a>
+{{ end }}
+{{ with .Param "mastodon" }}
+<a href="{{ . }}" target="_blank" class="link-transition mastodon link dib z-999 pt3 pt0-l mr1" title="Mastodon link" rel="noopener" aria-label="follow on Mastodon——Opens in a new window">
+ {{ partial "svg/mastodon.svg" (dict "size" $icon_size) }}
+ {{- partial "new-window-icon.html" . -}}
+</a>
+{{ end }}
diff --git a/themes/ananke/layouts/partials/summary-with-image.html b/themes/ananke/layouts/partials/summary-with-image.html
new file mode 100644
index 0000000..da162e3
--- /dev/null
+++ b/themes/ananke/layouts/partials/summary-with-image.html
@@ -0,0 +1,29 @@
+{{ $featured_image := .Params.featured_image }}
+<article class="bb b--black-10">
+ <div class="db pv4 ph3 ph0-l no-underline dark-gray">
+ <div class="flex flex-column flex-row-ns">
+ {{ if .Params.featured_image }}
+ {{/* Trimming the slash and adding absURL make sure the image works no matter where our site lives */}}
+ {{ $featured_image := (trim $featured_image "/") | absURL }}
+ <div class="pr3-ns mb4 mb0-ns w-100 w-40-ns">
+ <a href="{{.URL}}" class="db grow">
+ <img src="{{ $featured_image }}" class="img" alt="image from {{ .Title }}">
+ </a>
+ </div>
+ {{ end }}
+ <div class="blah w-100{{ if .Params.featured_image }} w-60-ns pl3-ns{{ end }}">
+ <h1 class="f3 fw1 athelas mt0 lh-title">
+ <a href="{{.URL}}" class="color-inherit dim link">
+ {{ .Title }}
+ </a>
+ </h1>
+ <div class="f6 f5-l lh-copy nested-copy-line-height nested-links">
+ {{ .Summary }}
+ </div>
+ <a href="{{.URL}}" class="ba b--moon-gray bg-light-gray br2 color-inherit dib f7 hover-bg-moon-gray link mt2 ph2 pv1">{{ $.Param "read_more_copy" | default (i18n "readMore") }}</a>
+ {{/* TODO: add author
+ <p class="f6 lh-copy mv0">By {{ .Author }}</p> */}}
+ </div>
+ </div>
+ </div>
+</article>
diff --git a/themes/ananke/layouts/partials/summary.html b/themes/ananke/layouts/partials/summary.html
new file mode 100644
index 0000000..0f140cf
--- /dev/null
+++ b/themes/ananke/layouts/partials/summary.html
@@ -0,0 +1,13 @@
+<div class="relative w-100 mb4 bg-white nested-copy-line-height">
+ <div class="bg-white mb3 pa4 gray overflow-hidden">
+ <span class="f6 db">{{ humanize .Section }}</span>
+ <h1 class="f3 near-black">
+ <a href="{{ .URL }}" class="link black dim">
+ {{ .Title }}
+ </a>
+ </h1>
+ <div class="nested-links f5 lh-copy nested-copy-line-height">
+ {{ .Summary }}
+ </div>
+ </div>
+</div>
diff --git a/themes/ananke/layouts/partials/svg/facebook.svg b/themes/ananke/layouts/partials/svg/facebook.svg
new file mode 100644
index 0000000..0afb80f
--- /dev/null
+++ b/themes/ananke/layouts/partials/svg/facebook.svg
@@ -0,0 +1 @@
+<svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M28.765,50.32h6.744V33.998h4.499l0.596-5.624h-5.095 l0.007-2.816c0-1.466,0.14-2.253,2.244-2.253h2.812V17.68h-4.5c-5.405,0-7.307,2.729-7.307,7.317v3.377h-3.369v5.625h3.369V50.32z M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;"/></svg>
diff --git a/themes/ananke/layouts/partials/svg/github.svg b/themes/ananke/layouts/partials/svg/github.svg
new file mode 100644
index 0000000..a362a60
--- /dev/null
+++ b/themes/ananke/layouts/partials/svg/github.svg
@@ -0,0 +1,3 @@
+<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
+ <path d="M256,32C132.3,32,32,134.8,32,261.7c0,101.5,64.2,187.5,153.2,217.9c11.2,2.1,15.3-5,15.3-11.1 c0-5.5-0.2-19.9-0.3-39.1c-62.3,13.9-75.5-30.8-75.5-30.8c-10.2-26.5-24.9-33.6-24.9-33.6c-20.3-14.3,1.5-14,1.5-14 c22.5,1.6,34.3,23.7,34.3,23.7c20,35.1,52.4,25,65.2,19.1c2-14.8,7.8-25,14.2-30.7c-49.7-5.8-102-25.5-102-113.5 c0-25.1,8.7-45.6,23-61.6c-2.3-5.8-10-29.2,2.2-60.8c0,0,18.8-6.2,61.6,23.5c17.9-5.1,37-7.6,56.1-7.7c19,0.1,38.2,2.6,56.1,7.7 c42.8-29.7,61.5-23.5,61.5-23.5c12.2,31.6,4.5,55,2.2,60.8c14.3,16.1,23,36.6,23,61.6c0,88.2-52.4,107.6-102.3,113.3 c8,7.1,15.2,21.1,15.2,42.5c0,30.7-0.3,55.5-0.3,63c0,6.1,4,13.3,15.4,11C415.9,449.1,480,363.1,480,261.7 C480,134.8,379.7,32,256,32z"/>
+</svg>
diff --git a/themes/ananke/layouts/partials/svg/gitlab.svg b/themes/ananke/layouts/partials/svg/gitlab.svg
new file mode 100644
index 0000000..36a3bed
--- /dev/null
+++ b/themes/ananke/layouts/partials/svg/gitlab.svg
@@ -0,0 +1 @@
+<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="M29.782 199.732L256 493.714 8.074 309.699c-6.856-5.142-9.712-13.996-7.141-21.993l28.849-87.974zm75.405-174.806c-3.142-8.854-15.709-8.854-18.851 0L29.782 199.732h131.961L105.187 24.926zm56.556 174.806L256 493.714l94.257-293.982H161.743zm349.324 87.974l-28.849-87.974L256 493.714l247.926-184.015c6.855-5.142 9.711-13.996 7.141-21.993zm-85.404-262.78c-3.142-8.854-15.709-8.854-18.851 0l-56.555 174.806h131.961L425.663 24.926z"></path></svg>
diff --git a/themes/ananke/layouts/partials/svg/instagram.svg b/themes/ananke/layouts/partials/svg/instagram.svg
new file mode 100644
index 0000000..2fa7d47
--- /dev/null
+++ b/themes/ananke/layouts/partials/svg/instagram.svg
@@ -0,0 +1 @@
+<svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M42.271,26.578v-0.006c0.502,0,1.005,0.01,1.508-0.002 c0.646-0.017,1.172-0.57,1.172-1.217c0-0.963,0-1.927,0-2.89c0-0.691-0.547-1.24-1.236-1.241c-0.961,0-1.922-0.001-2.883,0 c-0.688,0.001-1.236,0.552-1.236,1.243c-0.001,0.955-0.004,1.91,0.003,2.865c0.001,0.143,0.028,0.291,0.073,0.426 c0.173,0.508,0.639,0.82,1.209,0.823C41.344,26.579,41.808,26.578,42.271,26.578z M33,27.817c-3.384-0.002-6.135,2.721-6.182,6.089 c-0.049,3.46,2.72,6.201,6.04,6.272c3.454,0.074,6.248-2.686,6.321-6.043C39.254,30.675,36.462,27.815,33,27.817z M21.046,31.116 v0.082c0,4.515-0.001,9.03,0,13.545c0,0.649,0.562,1.208,1.212,1.208c7.16,0.001,14.319,0.001,21.479,0 c0.656,0,1.215-0.557,1.215-1.212c0.001-4.509,0-9.02,0-13.528v-0.094h-2.912c0.411,1.313,0.537,2.651,0.376,4.014 c-0.161,1.363-0.601,2.631-1.316,3.803s-1.644,2.145-2.779,2.918c-2.944,2.006-6.821,2.182-9.946,0.428 c-1.579-0.885-2.819-2.12-3.685-3.713c-1.289-2.373-1.495-4.865-0.739-7.451C22.983,31.116,22.021,31.116,21.046,31.116z M45.205,49.255c0.159-0.026,0.318-0.049,0.475-0.083c1.246-0.265,2.264-1.304,2.508-2.557c0.025-0.137,0.045-0.273,0.067-0.409 V21.794c-0.021-0.133-0.04-0.268-0.065-0.401c-0.268-1.367-1.396-2.428-2.78-2.618c-0.058-0.007-0.113-0.02-0.17-0.03H20.761 c-0.147,0.027-0.296,0.047-0.441,0.08c-1.352,0.308-2.352,1.396-2.545,2.766c-0.008,0.057-0.02,0.114-0.029,0.171V46.24 c0.028,0.154,0.05,0.311,0.085,0.465c0.299,1.322,1.427,2.347,2.77,2.52c0.064,0.008,0.13,0.021,0.195,0.03H45.205z M33,64 C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>
diff --git a/themes/ananke/layouts/partials/svg/linkedin.svg b/themes/ananke/layouts/partials/svg/linkedin.svg
new file mode 100644
index 0000000..3381996
--- /dev/null
+++ b/themes/ananke/layouts/partials/svg/linkedin.svg
@@ -0,0 +1,3 @@
+<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 65 65;" version="1.1" viewBox="0 0 65 65" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <path d="M50.837,48.137V36.425c0-6.275-3.35-9.195-7.816-9.195 c-3.604,0-5.219,1.983-6.119,3.374V27.71h-6.79c0.09,1.917,0,20.427,0,20.427h6.79V36.729c0-0.609,0.044-1.219,0.224-1.655 c0.49-1.22,1.607-2.483,3.482-2.483c2.458,0,3.44,1.873,3.44,4.618v10.929H50.837z M22.959,24.922c2.367,0,3.842-1.57,3.842-3.531 c-0.044-2.003-1.475-3.528-3.797-3.528s-3.841,1.524-3.841,3.528c0,1.961,1.474,3.531,3.753,3.531H22.959z M34,64 C17.432,64,4,50.568,4,34C4,17.431,17.432,4,34,4s30,13.431,30,30C64,50.568,50.568,64,34,64z M26.354,48.137V27.71h-6.789v20.427 H26.354z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>
+</svg>
diff --git a/themes/ananke/layouts/partials/svg/mastodon.svg b/themes/ananke/layouts/partials/svg/mastodon.svg
new file mode 100644
index 0000000..205345b
--- /dev/null
+++ b/themes/ananke/layouts/partials/svg/mastodon.svg
@@ -0,0 +1,4 @@
+<svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 230 230;" version="1.1" viewBox="0 0 230 230" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<path d="M211.80683 139.0875c-3.1825 16.36625-28.4925 34.2775-57.5625 37.74875-15.16 1.80875-30.0825 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.3925 27.9425 21.115.7225 39.91625-5.20625 39.91625-5.20625l.86875 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23183 213.82 1.40558 165.31125.20808 116.09125c-.36375-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67058 3.45375 78.20308.2425 107.86433 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.97625 14.7525 32.97625 65.0825 0 0 .4125 37.13375-4.6 62.915" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>
+<path d="M65.68743 96.45938c0 9.01375-7.3075 16.32125-16.3225 16.32125-9.01375 0-16.32-7.3075-16.32-16.32125 0-9.01375 7.30625-16.3225 16.32-16.3225 9.015 0 16.3225 7.30875 16.3225 16.3225M124.52893 96.45938c0 9.01375-7.30875 16.32125-16.3225 16.32125-9.01375 0-16.32125-7.3075-16.32125-16.32125 0-9.01375 7.3075-16.3225 16.32125-16.3225 9.01375 0 16.3225 7.30875 16.3225 16.3225M183.36933 96.45938c0 9.01375-7.3075 16.32125-16.32125 16.32125-9.01375 0-16.32125-7.3075-16.32125-16.32125 0-9.01375 7.3075-16.3225 16.32125-16.3225 9.01375 0 16.32125 7.30875 16.32125 16.3225" fill="#fff"/>
+</svg>
diff --git a/themes/ananke/layouts/partials/svg/medium.svg b/themes/ananke/layouts/partials/svg/medium.svg
new file mode 100644
index 0000000..cc5dc23
--- /dev/null
+++ b/themes/ananke/layouts/partials/svg/medium.svg
@@ -0,0 +1,3 @@
+<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 170 170;" version="1.1" viewBox="0 0 170 170" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
+<path d="M46.5340803,65.2157554 C46.6968378,63.6076572 46.0836,62.018231 44.8828198,60.93592 L32.6512605,46.2010582 L32.6512605,44 L70.6302521,44 L99.9859944,108.380952 L125.794585,44 L162,44 L162,46.2010582 L151.542017,56.2281011 C150.640424,56.9153477 150.193188,58.0448862 150.380019,59.1628454 L150.380019,132.837155 C150.193188,133.955114 150.640424,135.084652 151.542017,135.771899 L161.755369,145.798942 L161.755369,148 L110.38282,148 L110.38282,145.798942 L120.963119,135.527337 C122.002801,134.487948 122.002801,134.182246 122.002801,132.592593 L122.002801,73.0417402 L92.585901,147.755438 L88.6106443,147.755438 L54.3622782,73.0417402 L54.3622782,123.115814 C54.0767278,125.221069 54.7759199,127.3406 56.2581699,128.863022 L70.0186741,145.55438 L70.0186741,147.755438 L31,147.755438 L31,145.55438 L44.7605042,128.863022 C46.2319621,127.338076 46.8903838,125.204485 46.5340803,123.115814 L46.5340803,65.2157554 Z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>
+</svg>
diff --git a/themes/ananke/layouts/partials/svg/new-window.svg b/themes/ananke/layouts/partials/svg/new-window.svg
new file mode 100644
index 0000000..ba148ad
--- /dev/null
+++ b/themes/ananke/layouts/partials/svg/new-window.svg
@@ -0,0 +1,3 @@
+<svg {{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 1000 1000;" version="1.1" viewBox="0 0 1000 1000" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
+<path d="M598 128h298v298h-86v-152l-418 418-60-60 418-418h-152v-86zM810 810v-298h86v298c0 46-40 86-86 86h-596c-48 0-86-40-86-86v-596c0-46 38-86 86-86h298v86h-298v596h596z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/>
+</svg>
diff --git a/themes/ananke/layouts/partials/svg/twitter.svg b/themes/ananke/layouts/partials/svg/twitter.svg
new file mode 100644
index 0000000..6803558
--- /dev/null
+++ b/themes/ananke/layouts/partials/svg/twitter.svg
@@ -0,0 +1 @@
+<svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M37.167,22.283c-2.619,0.953-4.274,3.411-4.086,6.101 l0.063,1.038l-1.048-0.127c-3.813-0.487-7.145-2.139-9.974-4.915l-1.383-1.377l-0.356,1.017c-0.754,2.267-0.272,4.661,1.299,6.271 c0.838,0.89,0.649,1.017-0.796,0.487c-0.503-0.169-0.943-0.296-0.985-0.233c-0.146,0.149,0.356,2.076,0.754,2.839 c0.545,1.06,1.655,2.097,2.871,2.712l1.027,0.487l-1.215,0.021c-1.173,0-1.215,0.021-1.089,0.467 c0.419,1.377,2.074,2.839,3.918,3.475l1.299,0.444l-1.131,0.678c-1.676,0.976-3.646,1.526-5.616,1.568 C19.775,43.256,19,43.341,19,43.405c0,0.211,2.557,1.397,4.044,1.864c4.463,1.377,9.765,0.783,13.746-1.568 c2.829-1.673,5.657-5,6.978-8.221c0.713-1.716,1.425-4.851,1.425-6.354c0-0.975,0.063-1.102,1.236-2.267 c0.692-0.678,1.341-1.419,1.467-1.631c0.21-0.403,0.188-0.403-0.88-0.043c-1.781,0.636-2.033,0.551-1.152-0.402 c0.649-0.678,1.425-1.907,1.425-2.267c0-0.063-0.314,0.042-0.671,0.233c-0.377,0.212-1.215,0.53-1.844,0.72l-1.131,0.361l-1.027-0.7 c-0.566-0.381-1.361-0.805-1.781-0.932C39.766,21.902,38.131,21.944,37.167,22.283z M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4 s30,13.431,30,30S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>
diff --git a/themes/ananke/layouts/partials/svg/youtube.svg b/themes/ananke/layouts/partials/svg/youtube.svg
new file mode 100644
index 0000000..9a55379
--- /dev/null
+++ b/themes/ananke/layouts/partials/svg/youtube.svg
@@ -0,0 +1 @@
+<svg{{ with .size }} height="{{ . }}" {{ end }} style="enable-background:new 0 0 67 67;" version="1.1" viewBox="0 0 67 67" width="{{ .size }}" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M42.527,41.34c-0.278,0-0.478,0.078-0.6,0.244 c-0.121,0.156-0.18,0.424-0.18,0.796v0.896h1.543V42.38c0-0.372-0.062-0.64-0.185-0.796C42.989,41.418,42.792,41.34,42.527,41.34z M36.509,41.309c0.234,0,0.417,0.076,0.544,0.23c0.123,0.155,0.185,0.383,0.185,0.682v4.584c0,0.286-0.053,0.487-0.153,0.611 c-0.1,0.127-0.256,0.189-0.47,0.189c-0.148,0-0.287-0.033-0.421-0.096c-0.135-0.062-0.274-0.171-0.415-0.313v-5.531 c0.119-0.122,0.239-0.213,0.36-0.271C36.26,41.335,36.383,41.309,36.509,41.309z M41.748,44.658v1.672 c0,0.468,0.057,0.792,0.17,0.974c0.118,0.181,0.313,0.269,0.592,0.269c0.289,0,0.491-0.076,0.606-0.229 c0.114-0.153,0.175-0.489,0.175-1.013v-0.405h1.795v0.456c0,0.911-0.217,1.596-0.657,2.059c-0.435,0.459-1.089,0.687-1.958,0.687 c-0.781,0-1.398-0.242-1.847-0.731c-0.448-0.486-0.676-1.157-0.676-2.014v-3.986c0-0.768,0.249-1.398,0.742-1.882 c0.493-0.484,1.128-0.727,1.911-0.727c0.799,0,1.413,0.225,1.843,0.674c0.429,0.448,0.642,1.093,0.642,1.935v2.264H41.748z M38.623,48.495c-0.271,0.336-0.669,0.501-1.187,0.501c-0.343,0-0.646-0.062-0.912-0.192c-0.267-0.129-0.519-0.327-0.746-0.601 v0.681h-1.764V36.852h1.764v3.875c0.237-0.27,0.485-0.478,0.748-0.616c0.267-0.143,0.534-0.212,0.805-0.212 c0.554,0,0.975,0.189,1.265,0.565c0.294,0.379,0.438,0.933,0.438,1.66v4.926C39.034,47.678,38.897,48.159,38.623,48.495z M30.958,48.884v-0.976c-0.325,0.361-0.658,0.636-1.009,0.822c-0.349,0.191-0.686,0.282-1.014,0.282 c-0.405,0-0.705-0.129-0.913-0.396c-0.201-0.266-0.305-0.658-0.305-1.189v-7.422h1.744v6.809c0,0.211,0.037,0.362,0.107,0.457 c0.077,0.095,0.196,0.141,0.358,0.141c0.128,0,0.292-0.062,0.488-0.188c0.197-0.125,0.375-0.283,0.542-0.475v-6.744h1.744v8.878 H30.958z M24.916,38.6v10.284h-1.968V38.6h-2.034v-1.748h6.036V38.6H24.916z M32.994,32.978c0-0.001,12.08,0.018,13.514,1.45 c1.439,1.435,1.455,8.514,1.455,8.555c0,0-0.012,7.117-1.455,8.556C45.074,52.969,32.994,53,32.994,53s-12.079-0.031-13.516-1.462 c-1.438-1.435-1.441-8.502-1.441-8.556c0-0.041,0.004-7.12,1.441-8.555C20.916,32.996,32.994,32.977,32.994,32.978z M42.52,29.255 h-1.966v-1.08c-0.358,0.397-0.736,0.703-1.13,0.909c-0.392,0.208-0.771,0.312-1.14,0.312c-0.458,0-0.797-0.146-1.027-0.437 c-0.229-0.291-0.345-0.727-0.345-1.311v-8.172h1.962v7.497c0,0.231,0.045,0.399,0.127,0.502c0.08,0.104,0.216,0.156,0.399,0.156 c0.143,0,0.327-0.069,0.548-0.206c0.22-0.137,0.423-0.312,0.605-0.527v-7.422h1.966V29.255z M31.847,27.588 c0.139,0.147,0.339,0.219,0.6,0.219c0.266,0,0.476-0.075,0.634-0.223c0.157-0.152,0.235-0.358,0.235-0.618v-5.327 c0-0.214-0.08-0.387-0.241-0.519c-0.16-0.131-0.37-0.196-0.628-0.196c-0.241,0-0.435,0.065-0.586,0.196 c-0.148,0.132-0.225,0.305-0.225,0.519v5.327C31.636,27.233,31.708,27.439,31.847,27.588z M30.408,19.903 c0.528-0.449,1.241-0.674,2.132-0.674c0.812,0,1.48,0.237,2.001,0.711c0.517,0.473,0.777,1.083,0.777,1.828v5.051 c0,0.836-0.255,1.491-0.762,1.968c-0.513,0.476-1.212,0.714-2.106,0.714c-0.858,0-1.547-0.246-2.064-0.736 c-0.513-0.492-0.772-1.152-0.772-1.983v-5.068C29.613,20.954,29.877,20.351,30.408,19.903z M24.262,16h-2.229l2.634,8.003v5.252 h2.213v-5.5L29.454,16h-2.25l-1.366,5.298h-0.139L24.262,16z M33,64C16.432,64,3,50.569,3,34S16.432,4,33,4s30,13.431,30,30 S49.568,64,33,64z" style="fill-rule:evenodd;clip-rule:evenodd;fill:{{ .fill }};"/></svg>
diff --git a/themes/ananke/layouts/partials/tags.html b/themes/ananke/layouts/partials/tags.html
new file mode 100644
index 0000000..4fce241
--- /dev/null
+++ b/themes/ananke/layouts/partials/tags.html
@@ -0,0 +1,9 @@
+<ul class="pa0">
+ {{ range .Params.tags }}
+ <li class="list">
+ <a href="{{ "/tags/" | relLangURL }}{{ . | urlize }}" class="link f5 grow no-underline br-pill ba ph3 pv2 mb2 dib black sans-serif">
+ {{- . -}}
+ </a>
+ </li>
+ {{ end }}
+</ul>