Hello whiny.lol
This commit is contained in:
12
layouts/404.html
Executable file
12
layouts/404.html
Executable file
@@ -0,0 +1,12 @@
|
||||
{{ define "main" }}
|
||||
<section class="hero">
|
||||
<div class="hero-inner width-page">
|
||||
<h1>404</h1>
|
||||
<p>Page not found</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="container width-page prose">
|
||||
<p><a href="/">Go home</a></p>
|
||||
</div>
|
||||
{{ end }}
|
||||
27
layouts/_markup/render-image.html
Normal file
27
layouts/_markup/render-image.html
Normal file
@@ -0,0 +1,27 @@
|
||||
{{- $alt := .Text -}}
|
||||
{{- $caption := .Title -}}
|
||||
{{- $src := .Destination -}}
|
||||
|
||||
{{- $image := .Page.Resources.GetMatch $src -}}
|
||||
|
||||
{{- if $image -}}
|
||||
{{- $webp := $image.Resize (printf "%dx%d webp" $image.Width $image.Height) -}}
|
||||
|
||||
{{- if $caption -}}
|
||||
<figure>
|
||||
<img src="{{ $webp.RelPermalink }}" alt="{{ $alt }}" width="{{ $webp.Width }}" height="{{ $webp.Height }}">
|
||||
<figcaption>{{ $caption }}</figcaption>
|
||||
</figure>
|
||||
{{- else -}}
|
||||
<img src="{{ $webp.RelPermalink }}" alt="{{ $alt }}" width="{{ $webp.Width }}" height="{{ $webp.Height }}">
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- if $caption -}}
|
||||
<figure>
|
||||
<img src="{{ $src }}" alt="{{ $alt }}">
|
||||
<figcaption>{{ $caption }}</figcaption>
|
||||
</figure>
|
||||
{{- else -}}
|
||||
<img src="{{ $src }}" alt="{{ $alt }}">
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
1
layouts/_markup/render-link.html
Executable file
1
layouts/_markup/render-link.html
Executable file
@@ -0,0 +1 @@
|
||||
<a href="{{ .Destination | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if strings.HasPrefix .Destination "http" }} target="_blank"{{ end }}>{{ .Text }}</a>
|
||||
17
layouts/_partials/card.html
Normal file
17
layouts/_partials/card.html
Normal file
@@ -0,0 +1,17 @@
|
||||
<article class="card">
|
||||
{{ with .Resources.GetMatch "cover.*" }}
|
||||
<img src="{{ .RelPermalink }}" alt="{{ $.Title }}" width="1350" height="700">
|
||||
{{ end }}
|
||||
|
||||
<div class="card-info">
|
||||
<h3><a href="{{ .RelPermalink }}">{{ .Title }}</a></h3>
|
||||
|
||||
{{ if .Date }}
|
||||
<p>{{ if .Draft }}Draft • {{ end }}<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "January 2, 2006" }}</time></p>
|
||||
{{ end }}
|
||||
|
||||
{{ with .Params.period }}
|
||||
<p>{{ . }}</p>
|
||||
{{ end }}
|
||||
</div>
|
||||
</article>
|
||||
46
layouts/_partials/dialog.html
Normal file
46
layouts/_partials/dialog.html
Normal file
@@ -0,0 +1,46 @@
|
||||
<dialog class="block" id="dialog" aria-labelledby="dialog-title">
|
||||
{{ with .Site.Params.version.changelog }}
|
||||
{{ with $.Site.GetPage . }}
|
||||
<h2 class="block-title" id="dialog-title">{{ .Title }}</h2>
|
||||
|
||||
<div class="block-content prose">
|
||||
{{ .Summary }}
|
||||
|
||||
<p><a href="{{ .RelPermalink }}">Read the full changelog</a></p>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<div class="block-content options">
|
||||
<ul class="row">
|
||||
<li>
|
||||
<button id="close" class="link badge">Close</button>
|
||||
</li>
|
||||
<li>
|
||||
<button id="hide" class="link badge">Hide until next update</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</dialog>
|
||||
|
||||
<script>
|
||||
const dialog = document.getElementById('dialog');
|
||||
const hide = document.getElementById('hide');
|
||||
const close = document.getElementById('close');
|
||||
const currentVersion = "{{ .Site.Params.version.update }}";
|
||||
|
||||
if (localStorage.getItem('siteVersion') !== currentVersion) {
|
||||
dialog.showModal();
|
||||
}
|
||||
|
||||
function hideDialog() {
|
||||
dialog.close();
|
||||
localStorage.setItem('siteVersion', currentVersion);
|
||||
}
|
||||
|
||||
hide.addEventListener('click', hideDialog);
|
||||
|
||||
close.addEventListener('click', () => {
|
||||
dialog.close();
|
||||
});
|
||||
</script>
|
||||
18
layouts/_partials/footer.html
Executable file
18
layouts/_partials/footer.html
Executable file
@@ -0,0 +1,18 @@
|
||||
|
||||
<footer>
|
||||
<div class="footer-inner width-page">
|
||||
<div class="footer-text prose">
|
||||
{{ .Site.Copyright | $.Page.RenderString (dict "markup" "goldmark" "display" "block") }}
|
||||
|
||||
<p>Licensed under <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a>.</p>
|
||||
</div>
|
||||
|
||||
<ul class="row">
|
||||
{{ range site.Menus.footer }}
|
||||
<li>
|
||||
<a href="{{ .URL }}" {{ if strings.HasPrefix .URL "http" }}target="_blank"{{ end }}>{{ .Name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</footer>
|
||||
27
layouts/_partials/head.html
Executable file
27
layouts/_partials/head.html
Executable file
@@ -0,0 +1,27 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ site.Language.LanguageCode }}" dir="{{ or site.Language.LanguageDirection `ltr` }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
{{ $title := print .Title " - " .Site.Title }}<title>{{ $title }}</title>
|
||||
{{ $bundle := slice (resources.Get "css/fonts.css") (resources.Get "css/styles.css") | resources.Concat "css/bundle.css" }}
|
||||
<link rel="stylesheet" href="{{ $bundle.RelPermalink }}" crossorigin="anonymous">
|
||||
{{ $js := resources.Get "js/menu.js" }}<script src="{{ $js.RelPermalink }}"></script>
|
||||
{{ if eq hugo.Environment "production" }}
|
||||
<script data-goatcounter="https://analytics.whiny.lol/count" async src="//analytics.whiny.lol/count.js"></script>
|
||||
{{ end }}
|
||||
<meta name="darkreader-lock"> <!-- Exclude site from Dark Reader browser extension -->
|
||||
{{ if or (eq hugo.Environment "staging") (eq hugo.Environment "development") }}
|
||||
<link rel="icon" href="/dev/favicon.ico" sizes="32x32">
|
||||
<link rel="icon" href="/dev/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="/dev/apple-touch-icon.png">
|
||||
{{ else }}
|
||||
<link rel="icon" href="/favicon.ico" sizes="32x32">
|
||||
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
||||
<meta name="description" content="{{ .Description | default .Site.Params.description }}">
|
||||
<meta name="author" content="{{ .Site.Params.author }}">
|
||||
{{ partial "opengraph.html" . }}
|
||||
{{ partial "twitter_cards.html" . }}
|
||||
{{ end }}
|
||||
</head>
|
||||
29
layouts/_partials/header.html
Executable file
29
layouts/_partials/header.html
Executable file
@@ -0,0 +1,29 @@
|
||||
<header>
|
||||
<nav class="main-navigation width-page">
|
||||
<a href="/" class="site-title">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 786 308"><path d="m111.817 133.627 22.731 112.124h60.824l28.261-162.81h-47.614l-12.288 110.28-23.039-110.28H82.634l-22.732 110.28-12.288-110.28H0l27.954 162.81h61.131zM282.306 0H233.77v245.751h48.536V136.084c3.686-5.836 13.209-15.359 28.568-15.359 16.589 0 21.504 11.059 21.504 22.732v102.294h48.228V135.47c0-29.49-13.516-56.523-50.379-56.523-21.81 0-37.477 7.987-47.921 19.66zM399.652 245.751h48.536V82.941h-48.536zm49.764-237.15h-50.993v51.301h50.993zM615.912 245.751V135.47c0-29.49-13.516-56.523-50.379-56.523-25.189 0-42.084 10.445-52.222 24.883l-3.686-20.889h-43.313l2.764 46.078v116.732h48.536V136.084c3.686-5.836 13.209-15.359 28.569-15.359 16.588 0 21.503 11.059 21.503 22.732v102.294zM701.618 186.77 670.899 82.941h-52.836L675.2 237.149l-26.111 70.039h57.751l20.889-70.039 57.444-154.208h-52.836z" style="fill:currentColor; fill-rule:nonzero"/></svg>
|
||||
</a>
|
||||
|
||||
<ul class="row">
|
||||
{{ range site.Menus.main }}
|
||||
<li>
|
||||
<a href="{{ .URL }}" {{ if strings.HasPrefix .URL "http" }}target="_blank"{{ end }}>{{ .Name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
|
||||
<button id="menu-button" class="link" aria-label="Open mobile navigation" aria-expanded="false" aria-controls="mobile-navigation" onclick="mobileMenu()">Menu</button>
|
||||
</nav>
|
||||
|
||||
<nav id="mobile-navigation" class="mobile-navigation nav-closed">
|
||||
{{ with site.Menus.main }}
|
||||
<ul class="row vertical width-page">
|
||||
{{ range . }}
|
||||
<li>
|
||||
<a href="{{ .URL }}" {{ if strings.HasPrefix .URL "http" }}target="_blank"{{ end }}>{{ .Name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</nav>
|
||||
</header>
|
||||
38
layouts/_partials/pagination-controls.html
Normal file
38
layouts/_partials/pagination-controls.html
Normal file
@@ -0,0 +1,38 @@
|
||||
{{ $paginator := .Paginator }}
|
||||
{{ if gt $paginator.TotalPages 1 }}
|
||||
<nav class="pagination" role="navigation" aria-label="pagination">
|
||||
<ul class="row centered">
|
||||
{{ if $paginator.HasPrev }}
|
||||
<li>
|
||||
<a href="{{ $paginator.Prev.URL }}" class="link" aria-label="Go to previous page">
|
||||
Previous
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
|
||||
{{ range $paginator.Pagers }}
|
||||
{{ if eq . $paginator }}
|
||||
<li>
|
||||
<span class="link current-page" aria-label="Page {{ .PageNumber }}" aria-current="page">
|
||||
{{ .PageNumber }}
|
||||
</span>
|
||||
</li>
|
||||
{{ else }}
|
||||
<li>
|
||||
<a href="{{ .URL }}" class="link" aria-label="Go to page {{ .PageNumber }}">
|
||||
{{ .PageNumber }}
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if $paginator.HasNext }}
|
||||
<li>
|
||||
<a href="{{ $paginator.Next.URL }}" class="link" aria-label="Go to next page">
|
||||
Next
|
||||
</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</nav>
|
||||
{{ end }}
|
||||
33
layouts/_shortcodes/goatcounter.html
Normal file
33
layouts/_shortcodes/goatcounter.html
Normal file
@@ -0,0 +1,33 @@
|
||||
<div class="block opt-out">
|
||||
<div class="block-content">
|
||||
<div class="row">
|
||||
<button id="gc-toggle" class="link badge" onclick="toggleAnalytics()" aria-pressed="false" aria-describedby="analytics-heading">Checking status...</button>
|
||||
<span id="gc-status" role="status" aria-live="polite"></span>
|
||||
</div>
|
||||
|
||||
<p>Opting out of analytics creates an item in your browser's <code>localStorage</code> for this website. This will be removed if you clear site data in your browser or decide to opt back in.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const btn = document.getElementById('gc-toggle');
|
||||
const status = document.getElementById('gc-status');
|
||||
|
||||
function updateButton() {
|
||||
const isOptedOut = localStorage.getItem('skipgc') === 't';
|
||||
btn.textContent = isOptedOut ? 'Re-enable analytics' : 'Opt-out of analytics';
|
||||
btn.setAttribute('aria-pressed', isOptedOut);
|
||||
status.textContent = isOptedOut ? 'You have opted out of analytics' : 'Currently opted in (default)';
|
||||
}
|
||||
|
||||
function toggleAnalytics() {
|
||||
if (localStorage.getItem('skipgc') === 't') {
|
||||
localStorage.removeItem('skipgc');
|
||||
} else {
|
||||
localStorage.setItem('skipgc', 't');
|
||||
}
|
||||
updateButton();
|
||||
}
|
||||
|
||||
updateButton();
|
||||
</script>
|
||||
7
layouts/_shortcodes/note.html
Normal file
7
layouts/_shortcodes/note.html
Normal file
@@ -0,0 +1,7 @@
|
||||
<aside class="block note">
|
||||
<h2 class="block-title">{{ .Get "title" | default "Note" }}</h2>
|
||||
|
||||
<div class="block-content prose">
|
||||
{{ .Inner | markdownify }}
|
||||
</div>
|
||||
</aside>
|
||||
9
layouts/_shortcodes/overview.html
Normal file
9
layouts/_shortcodes/overview.html
Normal file
@@ -0,0 +1,9 @@
|
||||
<section class="block overview">
|
||||
<div class="block-content">
|
||||
<h3 class="score">{{ .Page.Params.score }}/10</h3>
|
||||
|
||||
<div class="prose">
|
||||
{{ .Inner | markdownify }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
13
layouts/baseof.html
Executable file
13
layouts/baseof.html
Executable file
@@ -0,0 +1,13 @@
|
||||
{{ partial "head.html" . }}
|
||||
|
||||
<body>
|
||||
{{ partial "header.html" . }}
|
||||
|
||||
<main>
|
||||
{{ block "main" . }}
|
||||
{{ end }}
|
||||
</main>
|
||||
|
||||
{{ partial "footer.html" . }}
|
||||
</body>
|
||||
</html>
|
||||
43
layouts/home.html
Executable file
43
layouts/home.html
Executable file
@@ -0,0 +1,43 @@
|
||||
{{ define "main" }}
|
||||
{{ if .Site.Params.version.dialog }}
|
||||
{{ partial "dialog.html" . }}
|
||||
{{ end }}
|
||||
|
||||
<section class="hero">
|
||||
<div class="hero-inner width-page home prose">
|
||||
{{ .Summary }}
|
||||
|
||||
{{ if .Site.Params.version.notice }}
|
||||
{{ with .Site.Params.version.changelog }}
|
||||
{{ with $.Site.GetPage . }}
|
||||
<a class="link badge" href="{{ .RelPermalink }}">{{ .Title }}</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="container width-page">
|
||||
<section class="latest">
|
||||
<div>
|
||||
<h2 class="section-title">Latest post</h2>
|
||||
{{ range ( where .Site.RegularPages "Type" "posts" | first 1 ) }}
|
||||
{{ partial "card.html" . }}
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2 class="section-title">Latest review</h2>
|
||||
{{ range ( where .Site.RegularPages "Type" "reviews" | first 1 ) }}
|
||||
{{ partial "card.html" . }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{ with .ContentWithoutSummary }}
|
||||
<div class="prose">
|
||||
{{ . }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
46
layouts/list.html
Executable file
46
layouts/list.html
Executable file
@@ -0,0 +1,46 @@
|
||||
{{ define "main" }}
|
||||
<section class="hero page">
|
||||
<div class="hero-inner width-page">
|
||||
{{ if eq .Kind "term" }}
|
||||
{{ with .Parent }}
|
||||
<a class="link meta" href="{{ .RelPermalink }}">{{ .Data.Singular | title }}</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
{{ with .Description }}
|
||||
<p>{{ . }}</p>
|
||||
{{ end }}
|
||||
|
||||
{{ if eq .Kind "term" }}
|
||||
<p>{{ len .Pages }} pages</p>
|
||||
{{ end }}
|
||||
|
||||
{{ if eq .Kind "taxonomy" }}
|
||||
<p>{{ len .Pages }} {{ .Data.Plural }}</p>
|
||||
{{ end }}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<div class="container width-page">
|
||||
|
||||
{{ if .Content }}
|
||||
<div class="prose">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ $pages := .Data.Pages }}
|
||||
{{ $paginator := .Paginate $pages 8 }}
|
||||
<div class="cards">
|
||||
{{ range $paginator.Pages }}
|
||||
{{ partial "card.html" . }}
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
{{ partial "pagination-controls.html" . }}
|
||||
|
||||
</div>
|
||||
|
||||
{{ end }}
|
||||
72
layouts/single.html
Executable file
72
layouts/single.html
Executable file
@@ -0,0 +1,72 @@
|
||||
{{ define "main" }}
|
||||
<article>
|
||||
<section class="hero">
|
||||
<div class="hero-inner width-content">
|
||||
{{ range $name, $taxonomy := .Site.Taxonomies }}
|
||||
{{ with $.GetTerms $name }}
|
||||
<ul class="row {{ $name }}" aria-label="List of {{ $name }}">
|
||||
{{ range . }}
|
||||
<li>
|
||||
<a class="link meta" href="{{ .RelPermalink }}">{{ .LinkTitle }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<h1>{{ .Title }}</h1>
|
||||
|
||||
{{ if .Date }}
|
||||
<p><time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "January 2, 2006" }}</time></p>
|
||||
{{ end }}
|
||||
|
||||
{{ with .Params.period }}
|
||||
<p>{{ . }}</p>
|
||||
{{ end }}
|
||||
|
||||
{{ with .Resources.GetMatch "cover.*" }}
|
||||
<img class="cover" src="{{ .RelPermalink }}" alt="{{ $.Title }}" width="1350" height="700">
|
||||
{{ end }}
|
||||
|
||||
{{ with .Description }}
|
||||
<p>{{ . }}</p>
|
||||
{{ end }}
|
||||
|
||||
{{ with .Params.link }}
|
||||
<a class="link meta icon" href="{{ . }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe-icon lucide-globe"><circle cx="12" cy="12" r="10"/><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"/><path d="M2 12h20"/></svg>
|
||||
{{ $.Title }} website
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{ if .Content }}
|
||||
<div class="container prose width-content">
|
||||
{{ .ContentWithoutSummary }}
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ if not .Parent.IsHome }}
|
||||
<section class="share">
|
||||
<div class="share-inner width-page">
|
||||
<h2>Share this page</h2>
|
||||
|
||||
<div class="row">
|
||||
<a class="link pill icon" aria-label="Send via Email" href="mailto:?to=&body={{ .Permalink }}&subject=%22{{ .Title }}%22 - {{ .Site.Title }}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail-icon lucide-mail"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"/><rect x="2" y="4" width="20" height="16" rx="2"/></svg>Email</a>
|
||||
|
||||
<a class="link pill icon" aria-label="Share on Blusky" href="https://bsky.app/intent/compose?text=%22{{ .Title | urlquery }}%22+-+{{ .Site.Title | urlquery }}%0A{{ .Permalink | urlquery }}" target="_blank"><svg role="img" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><title>Bluesky Logo</title><path d="M5.202 2.857C7.954 4.922 10.913 9.11 12 11.358c1.087-2.247 4.046-6.436 6.798-8.501C20.783 1.366 24 .213 24 3.883c0 .732-.42 6.156-.667 7.037-.856 3.061-3.978 3.842-6.755 3.37 4.854.826 6.089 3.562 3.422 6.299-5.065 5.196-7.28-1.304-7.847-2.97-.104-.305-.152-.448-.153-.327 0-.121-.05.022-.153.327-.568 1.666-2.782 8.166-7.847 2.97-2.667-2.737-1.432-5.473 3.422-6.3-2.777.473-5.899-.308-6.755-3.369C.42 10.04 0 4.615 0 3.883c0-3.67 3.217-2.517 5.202-1.026"/></svg>Bluesky</a>
|
||||
|
||||
<a class="link pill icon" aria-label="Share on Threads" href="https://threads.com/intent/post?url={{ .Permalink | urlquery }}&text=%22{{ .Title | urlquery }}%22+-+{{ .Site.Title | urlquery }}" target="_blank"><svg role="img" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><title>Threads Logo</title><path d="M12.186 24h-.007c-3.581-.024-6.334-1.205-8.184-3.509C2.35 18.44 1.5 15.586 1.472 12.01v-.017c.03-3.579.879-6.43 2.525-8.482C5.845 1.205 8.6.024 12.18 0h.014c2.746.02 5.043.725 6.826 2.098 1.677 1.29 2.858 3.13 3.509 5.467l-2.04.569c-1.104-3.96-3.898-5.984-8.304-6.015-2.91.022-5.11.936-6.54 2.717C4.307 6.504 3.616 8.914 3.589 12c.027 3.086.718 5.496 2.057 7.164 1.43 1.783 3.631 2.698 6.54 2.717 2.623-.02 4.358-.631 5.8-2.045 1.647-1.613 1.618-3.593 1.09-4.798-.31-.71-.873-1.3-1.634-1.75-.192 1.352-.622 2.446-1.284 3.272-.886 1.102-2.14 1.704-3.73 1.79-1.202.065-2.361-.218-3.259-.801-1.063-.689-1.685-1.74-1.752-2.964-.065-1.19.408-2.285 1.33-3.082.88-.76 2.119-1.207 3.583-1.291a13.853 13.853 0 0 1 3.02.142c-.126-.742-.375-1.332-.75-1.757-.513-.586-1.308-.883-2.359-.89h-.029c-.844 0-1.992.232-2.721 1.32L7.734 7.847c.98-1.454 2.568-2.256 4.478-2.256h.044c3.194.02 5.097 1.975 5.287 5.388.108.046.216.094.321.142 1.49.7 2.58 1.761 3.154 3.07.797 1.82.871 4.79-1.548 7.158-1.85 1.81-4.094 2.628-7.277 2.65Zm1.003-11.69c-.242 0-.487.007-.739.021-1.836.103-2.98.946-2.916 2.143.067 1.256 1.452 1.839 2.784 1.767 1.224-.065 2.818-.543 3.086-3.71a10.5 10.5 0 0 0-2.215-.221z"/></svg>Threads</a>
|
||||
|
||||
<a class="link pill icon" aria-label="Share on WhatsApp" href="https://api.whatsapp.com/send?text=%22{{ .Title | urlquery }}%22+-+{{ .Site.Title | urlquery }}%0A{{ .Permalink | urlquery }}" target="_blank"><svg role="img" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><title>WhatsApp Logo</title><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"/></svg>WhatsApp</a>
|
||||
|
||||
<a class="link pill icon" aria-label="Share on Telegram" href="https://t.me/share/url?text=%22{{ .Title | urlquery }}%22+-+{{ .Site.Title | urlquery }}&url={{ .Permalink | urlquery }}" target="_blank"><svg role="img" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><title>Telegram Logo</title><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg>Telegram</a>
|
||||
|
||||
<a class="link pill icon" aria-label="Share on Reddit" href="https://reddit.com/submit?url={{ .Permalink | urlquery }}&title=%22{{ .Title | urlquery }}%22+-+{{ .Site.Title | urlquery }}" target="_blank"><svg role="img" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><title>Reddit Logo</title><path d="M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z"/></svg>Reddit</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
</article>
|
||||
{{ end }}
|
||||
Reference in New Issue
Block a user