Compare commits

...

62 Commits

Author SHA1 Message Date
samsepi0l 1bb12c6311
Merge 0d8c268655 into 5e61be5903 2024-03-15 21:46:05 +01:00
d4rklynk 0d8c268655
Remove useless type 2024-03-15 21:45:51 +01:00
d4rklynk 6567c6c537
Rename webmanifest for W3C compliance 2024-03-15 21:30:37 +01:00
Wonderfall 5e61be5903
Update README.md 2023-12-31 20:57:00 +01:00
Wonderfall 71871d277c enforce xml escaping for content 2023-12-31 20:29:46 +01:00
Wonderfall 73484a80d7 refactor rss template 2023-12-31 20:09:48 +01:00
Wonderfall 4b45709402 add back XML content namespace to RSS 2023-12-31 18:23:55 +01:00
Wonderfall d3368d1bb9 Merge remote-tracking branch 'upstream/master' 2023-12-30 22:16:15 +01:00
Daniel Petre a1cb044262
Add romanian translation to ro.yaml (#1362)
Add romanian translation (with diacritics) to ro.yaml
2023-12-23 12:01:01 +05:30
Aditya Telange 0989c28a0e
Allow aligning social-icons in homeInfo mode
In Site config
    homeInfoParams:
        AlignSocialIconsTo: "center" # or left or right
2023-12-16 21:40:14 +05:30
Aditya Telange fb1c0aeb6f
social icons refactor Params.socialIcons 2023-12-16 21:38:24 +05:30
Aditya Telange 69e5e085ab
improved profile mode spacing 2023-12-16 20:59:36 +05:30
Aditya Telange f8e125c7ee
Add padding to social-icons for better tap sizing 2023-12-16 20:59:08 +05:30
Aditya Telange 5f624757ae
Workflows: Update release bin path for hugo linux-amd64.deb 2023-12-16 20:07:15 +05:30
Aditya Telange e3ad0aeb70
Bump minimum Hugo version to 0.112.4
* language.LanguageCode is required for Fix/hugo depr 0.120.x #1328
2023-12-16 19:59:55 +05:30
Aditya Telange f51ad49819 replace .Site with site & fix whitespace 2023-12-16 19:43:59 +05:30
Joe Mooring ff7443b17f [PATCH] tpl/tplimpl: Fix deprecation logic in RSS template
cherry-pick from 23fcfb7f74
2023-12-16 19:43:59 +05:30
Joe Mooring 00488d0146 [PATCH] tpl/tplimpl: Deprecate .Site.Author usage in RSS template
cherry-pick from d4016dd5cd
2023-12-16 19:43:59 +05:30
Joe Mooring cf62fa3c40 [PATCH] tpl/tplimpl: Use .Language.LanguageCode in built-in templates
cherry-pick from ff77a927f9
2023-12-16 19:43:59 +05:30
Joe Mooring 87df659c18 [PATCH] tpl/tplimpl: Fix deprecation logic in embedded templates
cherry-picked from cb98e9061b
2023-12-16 19:43:59 +05:30
Joe Mooring 3fb112bc85 [PATCH] tpl/tplimpl: Deprecate .Site.Social usage with internal templates
cherry-picked from 4910312ee7
2023-12-16 19:43:59 +05:30
Razon Yang 102e089bc3 [PATCH] tpl/embedded: Make Open Graph's series optional
cherry-picked from b82b547acb
2023-12-16 19:43:59 +05:30
Aditya Telange 86362ebd72
Update README.md 2023-12-16 19:28:05 +05:30
Aditya Telange 60984fd136
Add icon for 'draft' posts
https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Aedit_note%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048

LICENSE: https://developers.google.com/fonts/faq#can_i_use_any_font_in_a_commercial_product
2023-12-16 14:06:46 +05:30
Aditya Telange 65c2720ab9
lazy load cover images in lists only 2023-12-16 13:09:19 +05:30
Aditya Telange 28ec7a407d
Revert "Fix social icons extraneous margin"
This reverts commit 6864770ad4.
2023-12-16 00:32:25 +05:30
Aditya Telange 705ebeb729
table styles update
- reduce margins
- rm reduced fontsize
2023-12-15 22:09:48 +05:30
Aditya Telange 6864770ad4
Fix social icons extraneous margin 2023-12-15 22:09:15 +05:30
Aditya Telange 2ecb08a5ba
Plainify items insize toc list 2023-12-15 22:08:25 +05:30
Aditya Telange e0fc64c43e
Optimize footer margins 2023-12-10 12:36:05 +05:30
Aditya Telange b288ede80c
[breaking?] Allow page-specific cover settings to override site-level settings
Fixes:  #818 #185
2023-11-25 18:06:31 +05:30
Matěj Pokorný 65d650fc4d
Adding-czech-translation-to-i18n (#1338) 2023-11-20 00:41:16 +05:30
Aditya Telange ac444fc0f5
Update discord icon
Mark only from https://discord.com/branding
2023-11-19 20:03:41 +05:30
Josh Müller 5a99ab779d
Add Wordpress Icon (#1114) 2023-11-11 20:53:59 +05:30
Aditya Telange ba739cfe29
Set maxlength for search input to 64 chars
fixes  #1329
2023-11-11 12:15:11 +05:30
Aditya Telange 4c50ed8bfa
Update fuse.js v6.6.2 to v7.0.0 basic 2023-11-11 12:08:18 +05:30
Aditya Telange 72ab73ffe5
Error out if hugo.Version used is less than min required version 2023-11-04 16:01:44 +05:30
Sebastian Zanoni 50cafe4b1c
Add X icon in Share and Social buttons (replaces twitter share icon) (#1273)
* Add svg for X

* Add X share button

* Remove twitter share button

* Add backwards compatibility for twitter share button

* simplify condition

* alphabetize x svg

---------

Co-authored-by: Aditya Telange <21258296+adityatelange@users.noreply.github.com>
2023-11-04 10:32:55 +05:30
Aditya Telange 7795c90f6f
Add `safeHTML` to post_meta
- delimit now returns a string and not a template.HTML from hugo v0.120.0
- no impact found with min req version for Papermod
https://github.com/gohugoio/hugo/releases/tag/v0.120.0

fixes #1325
2023-10-31 21:34:19 +05:30
Aditya Telange 24f3096e33
Update README.md
Mention Paper's commit sha
2023-10-29 22:50:26 +05:30
Kevin Chung 4bbd551d2b
feat: add bugcrowd and intigriti to svg.html (#1205) 2023-10-28 13:25:25 +05:30
calalloo 7781c94699
Add Swahili translation sw.yaml (#1303)
Co-authored-by: dryscord <139716273+dryscord@users.noreply.github.com>
2023-10-28 13:22:31 +05:30
Thanos Apollo abe49a5ad4
Add codeberg icon (#1310)
Resolve #1268
2023-10-28 13:21:42 +05:30
Lars Kristian Haga 697034ccb7
Added Norwegian translation (#1318) 2023-10-28 13:17:21 +05:30
Thành Nhân b4dd5f0b18
Update vi.yaml (#1316) 2023-10-28 13:17:03 +05:30
COxDE efe4cb4516
Add social icon for Pleroma (#1293) 2023-08-26 20:18:57 +05:30
COxDE 3a064f5c76
Add the social icon for Firefish (#1294) 2023-08-26 20:18:14 +05:30
black jack 9d4a9e825a
add social icon of leetcode (#1286)
* add social icon of leetcode
from https://simpleicons.org/

* alphabetize

---------

Co-authored-by: Aditya Telange <21258296+adityatelange@users.noreply.github.com>
2023-08-12 17:52:00 +05:30
Hiroshi Shimoju eab731707a
fix: Prevent adjustments of font size after orientation changes in iOS (#1285)
The font size in the code block may be larger.
As shown below, the Reset CSS specifies `text-size-adjust: 100%`.
fc091cce15/normalize.css (L13)
092d0d8592/sanitize.css (L43)
2023-08-12 13:26:08 +05:30
Navendu Pottekkat f7bd1ec07c
feat: add configurable limit to search results (#1281)
* feat: add configurable limit to search results

Signed-off-by: Navendu Pottekkat <navendu@apache.org>

* Handle case where params.fuseOpts is not defined
resulting into `Cannot read properties of null (reading 'limit')`


Utilizes search options by fuse https://www.fusejs.io/api/methods.html#search 

The options:

limit (type: number): Denotes the max number of returned search results.

---------

Signed-off-by: Navendu Pottekkat <navendu@apache.org>
Co-authored-by: Aditya Telange <21258296+adityatelange@users.noreply.github.com>
2023-08-12 13:17:24 +05:30
Aditya Telange ac1e041419
Add news.ycombinator share button 2023-08-09 21:19:17 +05:30
Bob Zheng 69cec7a0ba
feat: add wechat icon (#1149)
Co-authored-by: Aditya Telange <21258296+adityatelange@users.noreply.github.com>
2023-08-05 12:12:02 +05:30
Berk Elyesa Yıldırım 4230109ff7
Add svg for pixelfed (#87) (#1272) 2023-08-05 12:01:43 +05:30
Rook1e 1521cc77a2
feat: allow hiding author in post_meta (#1250)
* feat: allow hiding author in post_meta

For a person's site, in most cases the author is the person, and displaying it
on every post and list may be redundant.

Setting the `params.author` in the configuration to empty will achieve
the hidden effect, but it will also empty the value of `<meta name="author">`.

So add hideAuthor
2023-08-05 11:52:30 +05:30
Morc 6f29d35d73
Add svg for root-me.org (#1174) 2023-07-23 14:14:45 +05:30
Markus Dick faa73a4ee8
add printables and thingiverse logo (#1216)
source of the logos is simpleicons.org
2023-07-23 14:06:25 +05:30
Andreas Deininger 61bf918a0d
socialIcons, fix: apply safeURL to make all URI schemes work (#1266) 2023-07-23 14:02:18 +05:30
Andreas Deininger 74d288ff94
Bump GitHub workflow actions to latest versions (#1267)
ref: https://github.com/actions/starter-workflows/blob/main/pages/hugo.yml
2023-07-23 14:00:36 +05:30
ppnplus 750feb9cc9
Create translations for Thai (th.yaml) (#1252) 2023-07-15 11:52:30 +05:30
Tarak Parab 804a8682f3
Icon for Google Play Store (#1242) 2023-07-09 11:10:43 +05:30
Roland Thomas Jr c52abfb09b
Add social icon for Tidal (#1259) 2023-07-09 11:10:07 +05:30
Geeqla 8ac719fb56
Add social icon for Threads (#1256) 2023-07-09 11:08:57 +05:30
36 changed files with 561 additions and 182 deletions

View File

@ -26,7 +26,7 @@ Please fill the template below
- Device/Os: [e.g. Android 10]
- Type: [e.g. Desktop/Mobile]
- Browser and version [e.g. Chrome 86.0]:
- Hugo Version [ >=0.97.1 expected]:
- Hugo Version [ >=0.112.4 expected]:
- Theme Version [e.g. v4.0, master, or commit-id ]:
**Steps to reproduce the behavior:**

View File

@ -15,7 +15,7 @@ on:
hugoVersion:
description: "Hugo Version"
required: false
default: "0.97.1"
default: "0.112.4"
# Allow one concurrent deployment
concurrency:
@ -38,14 +38,14 @@ jobs:
build:
runs-on: ubuntu-latest
env:
HUGO_VERSION: "0.97.1"
HUGO_VERSION: "0.112.4"
steps:
- name: Check version
if: ${{ github.event.inputs.hugoVersion }}
run: export HUGO_VERSION="${{ github.event.inputs.hugoVersion }}"
- name: Install Hugo CLI
run: |
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.deb \
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_linux-amd64.deb \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Checkout
uses: actions/checkout@v3
@ -53,7 +53,7 @@ jobs:
ref: exampleSite
- name: Setup Pages
id: pages
uses: actions/configure-pages@v1
uses: actions/configure-pages@v3
- name: Get Theme
run: git submodule update --init --recursive
- name: Update theme to Latest commit
@ -64,7 +64,7 @@ jobs:
--buildDrafts --gc --verbose \
--baseURL ${{ steps.pages.outputs.base_url }}
- name: Upload artifact
uses: actions/upload-pages-artifact@v1
uses: actions/upload-pages-artifact@v2
with:
path: ./public
# Deployment job
@ -77,4 +77,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v1
uses: actions/deploy-pages@v2

View File

@ -13,13 +13,14 @@ When implementing new features, I try to do as much as I can with pure CSS code
### Main changes
Current "main" changes are as follows:
- Remove inline JavaScript ([2528906](https://github.com/Wonderfall/hugo-WonderMod/commit/2528906a38a1ca8a50b3e3a74ffcf9a01a0483a7))
- Improved YouTube shortcode ([4dc3bee](https://github.com/Wonderfall/hugo-WonderMod/commit/4dc3bee5477b6d22ce830faa13375f4c2e6a216b))
- Built-in Chroma instead of client-side syntax highlighting with HLJS ([841141](https://github.com/Wonderfall/hugo-WonderMod/commit/8411411a671785d098ffff9323b064acc0c16cb4))
- Responsive Table of Contents with side display support ([2303605](https://github.com/Wonderfall/hugo-WonderMod/commit/230360552b44a8e45496da76ae539a63ad0a3f5a))
- Responsive "hamburger" menu for mobile ([723ac4f](https://github.com/Wonderfall/hugo-WonderMod/commit/723ac4f5c68180b816ebf1dce26839fd3db02ab3))
- Simple reading progress bar ([13876be](https://github.com/Wonderfall/hugo-WonderMod/commit/13876beb0afd9d535890e82af459e639064650f1))
- Bunch of CSS and other changes (see [commit history](https://github.com/Wonderfall/hugo-WonderMod/commits/master))
- Remove inline JavaScript
- Improved YouTube shortcode
- Built-in Chroma instead of client-side syntax highlighting with HLJS
- Responsive Table of Contents with side display support
- Responsive "hamburger" menu for mobile
- Simple reading progress bar
- Refactored RSS template (proper Atom feed)
- Bunch of CSS and other changes
### Credits
Additional credits:

View File

@ -27,12 +27,10 @@
margin-inline-start: auto;
}
.social-icons {
padding: 12px 0;
}
.social-icons a:not(:last-of-type) {
margin-inline-end: 12px;
.social-icons a {
display: inline-flex;
padding: 10px;
}
.social-icons a svg {

View File

@ -80,13 +80,17 @@
bottom: 0;
}
.entry-cover,
.entry-isdraft {
font-size: 14px;
.entry-hint {
color: var(--secondary);
}
.entry-hint-parent {
display: flex;
justify-content: space-between;
}
.entry-cover {
font-size: 14px;
margin-bottom: var(--gap);
text-align: center;
}

View File

@ -128,19 +128,18 @@
}
.post-content table {
margin-bottom: 32px;
margin-bottom: var(--content-gap);
}
.post-content table th,
.post-content table:not(.highlighttable, .highlight table, .gist .highlight) td {
min-width: 80px;
padding: 12px 8px;
padding: 8px 5px;
line-height: 1.5;
border-bottom: 1px solid var(--border);
}
.post-content table th {
font-size: 14px;
text-align: start;
}
@ -314,10 +313,18 @@
margin-top: 56px;
}
.post-footer>* {
margin-bottom: 10px;
}
.post-tags {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.post-tags li {
display: inline-block;
margin-inline-end: 3px;
margin-bottom: 5px;
}
.post-tags a,
@ -329,8 +336,7 @@
.post-tags a {
display: block;
padding-inline-start: 14px;
padding-inline-end: 14px;
padding: 0 14px;
color: var(--secondary);
font-size: 14px;
line-height: 34px;
@ -338,17 +344,16 @@
}
.share-buttons {
margin: 14px 0;
padding-inline-start: var(--radius);
padding: 10px;
display: flex;
justify-content: center;
overflow-x: auto;
background: none;
border: none;
gap: 10px;
}
.share-buttons li,
.share-buttons a {
margin-top: 10px;
display: inline-flex;
}
.share-buttons a:not(:last-of-type) {
@ -370,7 +375,6 @@ h6:hover .anchor {
}
.paginav {
margin: 10px 0;
display: flex;
line-height: 30px;
border-radius: var(--radius);

View File

@ -10,19 +10,20 @@
text-align: center;
}
.profile .profile_inner h1 {
padding: 12px 0;
.profile .profile_inner {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
}
.profile img {
display: inline-table;
border-radius: 50%;
}
.buttons {
flex-wrap: wrap;
max-width: 400px;
margin: 0 auto;
}
.button {

View File

@ -8,6 +8,8 @@ html {
-webkit-tap-highlight-color: transparent;
overflow-y: scroll;
scroll-behavior: smooth;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
}
a,

View File

@ -36,6 +36,12 @@
}
}
@media screen and (max-width: 340px) {
.share-buttons {
justify-content: unset;
}
}
@media (prefers-reduced-motion) {
/* terms; profile-mode; post-single; post-entry; post-entry; search; search */
.terms-tags a:active,

View File

@ -77,7 +77,12 @@ sInput.onkeyup = function (e) {
// run a search query (for "term") every time a letter is typed
// in the search box
if (fuse) {
const results = fuse.search(this.value.trim()); // the actual query being run using fuse.js
let results;
if (params.fuseOpts) {
results = fuse.search(this.value.trim(), {limit: params.fuseOpts.limit}); // the actual query being run using fuse.js along with options
} else {
results = fuse.search(this.value.trim()); // the actual query being run using fuse.js
}
if (results.length !== 0) {
// build our html if result exists
let resultSet = ''; // our results bucket

File diff suppressed because one or more lines are too long

33
i18n/cs.yaml Normal file
View File

@ -0,0 +1,33 @@
- id: prev_page
translation: "Předchozí"
- id: next_page
translation: "Další"
- id: read_time
translation:
one : "1 min"
other: "{{ .Count }} min"
- id: words
translation:
one : "slovo"
other: "{{ .Count }} slov"
- id: toc
translation: "Obsah"
- id: translations
translation: "Překlady"
- id: home
translation: "Domů"
- id: edit_post
translation: "Upravit"
- id: code_copy
translation: "kopírovat"
- id: code_copied
translation: "zkopírováno!"

33
i18n/no.yaml Normal file
View File

@ -0,0 +1,33 @@
- id: prev_page
translation: "Forrige Side"
- id: next_page
translation: "Neste Side"
- id: read_time
translation:
one: "1 min"
other: "{{ .Count }} min"
- id: words
translation:
one: "ord"
other: "{{ .Count }} ord"
- id: toc
translation: "Innholdsfortegnelse"
- id: translations
translation: "Oversettelser"
- id: home
translation: "Hjem"
- id: edit_post
translation: "Rediger"
- id: code_copy
translation: "Kopier"
- id: code_copied
translation: "Kopiert!"

33
i18n/ro.yaml Normal file
View File

@ -0,0 +1,33 @@
- id: prev_page
translation: "Înapoi"
- id: next_page
translation: "Înainte"
- id: read_time
translation:
one : "1 minut"
other: "{{ .Count }} minute"
- id: words
translation:
one : "cuvânt"
other: "{{ .Count }} cuvinte"
- id: toc
translation: "Sumar"
- id: translations
translation: "Traduceri"
- id: home
translation: "Acasă"
- id: edit_post
translation: "Editează"
- id: code_copy
translation: "copiază"
- id: code_copied
translation: "copiat!"

33
i18n/sw.yaml Normal file
View File

@ -0,0 +1,33 @@
- id: prev_page
translation: "Uliopita"
- id: next_page
translation: "Ujao"
- id: read_time
translation:
one : "dakika 1"
other: "dakika {{ .Count }}"
- id: words
translation:
one : "neno"
other: "maneno {{ .Count }}"
- id: toc
translation: "Jedwali la Yaliyomo"
- id: translations
translation: "Tafsiri"
- id: home
translation: "Mwanzo"
- id: edit_post
translation: "Hariri"
- id: code_copy
translation: "nakili"
- id: code_copied
translation: "nakiliwa!"

33
i18n/th.yaml Normal file
View File

@ -0,0 +1,33 @@
- id: prev_page
translation: "ก่อนหน้า"
- id: next_page
translation: "ถัดไป"
- id: read_time
translation:
one : "1 นาที"
other: "{{ .Count }} นาที"
- id: words
translation:
one : "คำ"
other: "{{ .Count }} คำ"
- id: toc
translation: "สารบัญ"
- id: translations
translation: "การแปล"
- id: home
translation: "หน้าหลัก"
- id: edit_post
translation: "แก้ไข"
- id: code_copy
translation: "คัดลอก"
- id: code_copied
translation: "คัดลอกแล้ว!"

View File

@ -6,9 +6,14 @@
- id: read_time
translation:
one : "1 phút"
one: "1 phút"
other: "{{ .Count }} phút"
- id: words
translation:
one: "từ"
other: "{{ .Count }} từ"
- id: toc
translation: "Mục lục"
@ -18,6 +23,9 @@
- id: home
translation: "Trang chủ"
- id: edit_post
translation: "Chỉnh sửa"
- id: code_copy
translation: "Sao chép"

View File

@ -6,7 +6,7 @@
{{- if (.Param "ShowRssButtonInSectionTermList") }}
{{- $rss := (.OutputFormats.Get "rss") }}
{{- if (eq .Kind `page`) }}
{{- $rss = (.Parent.OutputFormats.Get "rss") }}
{{- $rss = (.Parent.OutputFormats.Get "rss") }}
{{- end }}
{{- with $rss }}
<a href="{{ .RelPermalink }}" title="RSS" aria-label="RSS">
@ -46,9 +46,16 @@
{{- range .Pages }}
{{- if eq .Kind "page" }}
<div class="archive-entry">
<h3 class="archive-entry-title">
<h3 class="archive-entry-title entry-hint-parent">
{{- .Title | markdownify }}
{{- if .Draft }}<sup><span class="entry-isdraft">&nbsp;&nbsp;[draft]</span></sup>{{- end }}
{{- if .Draft }}
<span class="entry-hint" title="Draft">
<svg xmlns="http://www.w3.org/2000/svg" height="15" viewBox="0 -960 960 960" fill="currentColor">
<path
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
</svg>
</span>
{{- end }}
</h3>
<div class="archive-meta">
{{- partial "post_meta.html" . -}}

View File

@ -1,3 +1,7 @@
{{- if lt hugo.Version "0.112.4" }}
{{- errorf "=> hugo v0.112.4 or greater is required for hugo-PaperMod to build " }}
{{- end -}}
<!DOCTYPE html>
<html lang="{{ site.Language }}" dir="{{ .Language.LanguageDirection | default "auto" }}">

View File

@ -64,12 +64,19 @@
{{- end }}
<article class="{{ $class }}">
{{- $isHidden := (site.Params.cover.hidden | default site.Params.cover.hiddenInList) }}
{{- partial "cover.html" (dict "cxt" . "IsHome" true "isHidden" $isHidden) }}
{{- $isHidden := (.Param "cover.hiddenInList") | default (.Param "cover.hidden") | default false }}
{{- partial "cover.html" (dict "cxt" . "IsSingle" false "isHidden" $isHidden) }}
<header class="entry-header">
<h2>
<h2 class="entry-hint-parent">
{{- .Title }}
{{- if .Draft }}<sup><span class="entry-isdraft">&nbsp;&nbsp;[draft]</span></sup>{{- end }}
{{- if .Draft }}
<span class="entry-hint" title="Draft">
<svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" fill="currentColor">
<path
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
</svg>
</span>
{{- end }}
</h2>
</header>
{{- if (ne (.Param "hideSummary") true) }}

View File

@ -1,51 +1,80 @@
{{- $pctx := . -}}
{{- if .IsHome -}}{{ $pctx = site }}{{- end -}}
{{- $pages := slice -}}
{{- if or $.IsHome $.IsSection -}}
{{- $pages = $pctx.RegularPages -}}
{{- else -}}
{{- $pages = $pctx.Pages -}}
{{- end -}}
{{- $limit := site.Config.Services.RSS.Limit -}}
{{- if ge $limit 1 -}}
{{- $pages = $pages | first $limit -}}
{{- end -}}
{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}}
{{- $authorEmail := "" }}
{{- with site.Params.author }}
{{- if reflect.IsMap . }}
{{- with .email }}
{{- $authorEmail = . }}
{{- end }}
{{- end }}
{{- else }}
{{- with site.Author.email }}
{{- $authorEmail = . }}
{{- warnf "The author key in site configuration is deprecated. Use params.author.email instead." }}
{{- end }}
{{- end }}
{{- /* Deprecate site.Author.name in favor of site.Params.author.name */}}
{{- $authorName := "" }}
{{- with site.Params.author }}
{{- if reflect.IsMap . }}
{{- with .name }}
{{- $authorName = . }}
{{- end }}
{{- else }}
{{- $authorName = . }}
{{- end }}
{{- else }}
{{- with site.Author.name }}
{{- $authorName = . }}
{{- warnf "The author key in site configuration is deprecated. Use params.author.name instead." }}
{{- end }}
{{- end }}
{{- $pctx := . }}
{{- if .IsHome }}{{ $pctx = site }}{{ end }}
{{- $pages := slice }}
{{- if or $.IsHome $.IsSection }}
{{- $pages = $pctx.RegularPages }}
{{- else }}
{{- $pages = $pctx.Pages }}
{{- end }}
{{- $limit := site.Config.Services.RSS.Limit }}
{{- if ge $limit 1 }}
{{- $pages = $pages | first $limit }}
{{- end }}
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>{{ if eq .Title site.Title }}{{ site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ site.Title }}{{ end }}</title>
<link>{{ .Permalink }}</link>
<description>Recent content {{ if ne .Title site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ site.Title }}</description>
{{- with site.Params.images }}
<image>
<title>{{ site.Title }}</title>
<url>{{ index . 0 | absURL }}</url>
<link>{{ index . 0 | absURL }}</link>
</image>
{{- end }}
<generator>Hugo -- gohugo.io</generator>{{ with site.LanguageCode }}
<language>{{.}}</language>{{end}}{{ with site.Author.email }}
<managingEditor>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with site.Author.email }}
<webMaster>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with site.Copyright }}
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
{{- with .OutputFormats.Get "RSS" -}}
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
{{- end -}}
{{ range $pages }}
<feed xmlns="http://www.w3.org/2005/Atom">
<title>{{ if eq .Title site.Title }}{{ site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ site.Title }}{{ end }}</title>
<link rel="alternate" href="{{ (.OutputFormats.Get "HTML").Permalink }}" />
<link rel="self" href="{{ (.OutputFormats.Get "RSS").Permalink }}" />
<subtitle>Recent content {{ if ne .Title site.Title }}{{ with .Title }}in {{ . }} {{ end }}{{ end }}on {{ site.Title }}</subtitle>
<id>{{ .Permalink }}</id>
<generator uri="http://gohugo.io" version="{{ hugo.Version }}">Hugo</generator>
<language>{{ site.Language.LanguageCode }}</language>
<updated>{{ .Date.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}</updated>
<author>
{{ with $authorName }}<name>{{ . }}</name>{{ end }}
{{ with $authorEmail }}<name>{{ . }}</name>{{ end }}
</author>
{{ with site.Copyright }}<rights>{{ . }}</rights>{{ end }}
{{- range $pages }}
{{- if and (ne .Layout `search`) (ne .Layout `archives`) }}
<item>
<title>{{ .Title }}</title>
<link>{{ .Permalink }}</link>
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
{{ with site.Author.email }}<author>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</author>{{end}}
<guid>{{ .Permalink }}</guid>
<description>{{ with .Description | html }}{{ . }}{{ else }}{{ .Summary | html }}{{ end -}}</description>
{{- if site.Params.ShowFullTextinRSS }}
<content:encoded>{{ (printf "<![CDATA[%s]]>" .Content) | safeHTML }}</content:encoded>
{{- end }}
</item>
<entry>
<title>{{ .Title }}</title>
<link rel="alternate" href="{{ .Permalink }}" />
<id>{{ .Permalink }}</id>
<published>{{ .Date.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}</published>
<updated>{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}</updated>
<summary type="html">{{ with .Description | html }}{{ . }}{{ else }}{{ .Summary | html }}{{ end -}}</summary>
{{- if site.Params.ShowFullTextinRSS }}
<content type="html">{{ (printf "<![CDATA[%s]]>" .Content) | safeHTML }}</content>
{{- end }}
</entry>
{{- end }}
{{ end }}
</channel>
</rss>
{{- end }}
</feed>

View File

@ -22,7 +22,7 @@
<div id="searchbox">
<input id="searchInput" autofocus placeholder="{{ .Params.placeholder | default (printf "%s " .Title) }}"
aria-label="search" type="search" autocomplete="off">
aria-label="search" type="search" autocomplete="off" maxlength="64">
<ul id="searchResults" aria-label="search results"></ul>
<noscript>
Enable JavaScript to use the search function.

View File

@ -3,9 +3,16 @@
<article class="post-single">
<header class="post-header">
{{ partial "breadcrumbs.html" . }}
<h1 class="post-title">
<h1 class="post-title entry-hint-parent">
{{ .Title }}
{{- if .Draft }}<sup><span class="entry-isdraft">&nbsp;&nbsp;[draft]</span></sup>{{- end }}
{{- if .Draft }}
<span class="entry-hint" title="Draft">
<svg xmlns="http://www.w3.org/2000/svg" height="35" viewBox="0 -960 960 960" fill="currentColor">
<path
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
</svg>
</span>
{{- end }}
</h1>
{{- if .Description }}
<div class="post-description">
@ -24,8 +31,8 @@
</div>
{{- end }}
</header>
{{- $isHidden := .Params.cover.hidden | default site.Params.cover.hiddenInSingle | default site.Params.cover.hidden }}
{{- partial "cover.html" (dict "cxt" . "IsHome" false "isHidden" $isHidden) }}
{{- $isHidden := (.Param "cover.hiddenInSingle") | default (.Param "cover.hidden") | default false }}
{{- partial "cover.html" (dict "cxt" . "IsSingle" true "isHidden" $isHidden) }}
{{- if (.Param "ShowToc") }}
{{- partial "toc.html" . }}
{{- end }}

View File

@ -1,9 +1,10 @@
{{- with .cxt}} {{/* Apply proper context from dict */}}
{{- if (and .Params.cover.image (not $.isHidden)) }}
{{- $alt := (.Params.cover.alt | default .Params.cover.caption | plainify) }}
{{- $loading := cond $.IsSingle "eager" "lazy" }}
<figure class="entry-cover">
{{- $responsiveImages := (.Params.cover.responsiveImages | default site.Params.cover.responsiveImages) | default true }}
{{- $addLink := (and site.Params.cover.linkFullImages (not $.IsHome)) }}
{{- $addLink := (and site.Params.cover.linkFullImages $.IsSingle) }}
{{- $pageBundleCover := (.Resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
{{- $globalResourcesCover := (resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
{{- $cover := (or $pageBundleCover $globalResourcesCover)}}
@ -17,7 +18,7 @@
{{- end -}}
{{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
{{- if (and (in $processableFormats $cover.MediaType.SubType) ($responsiveImages) (eq $prod true)) }}
<img loading="lazy" srcset="{{- range $size := $sizes -}}
<img loading="{{$loading}}" srcset="{{- range $size := $sizes -}}
{{- if (ge $cover.Width $size) -}}
{{ printf "%s %s" (($cover.Resize (printf "%sx" $size)).Permalink) (printf "%sw ," $size) -}}
{{ end }}
@ -25,16 +26,16 @@
sizes="(min-width: 768px) 720px, 100vw" src="{{ $cover.Permalink }}" alt="{{ $alt }}"
width="{{ $cover.Width }}" height="{{ $cover.Height }}">
{{- else }}{{/* Unprocessable image or responsive images disabled */}}
<img loading="lazy" src="{{ (path.Join .RelPermalink .Params.cover.image) | absURL }}" alt="{{ $alt }}">
<img loading="{{$loading}}" src="{{ (path.Join .RelPermalink .Params.cover.image) | absURL }}" alt="{{ $alt }}">
{{- end }}
{{- else }}{{/* For absolute urls and external links, no img processing here */}}
{{- if $addLink }}<a href="{{ (.Params.cover.image) | absURL }}"
rel="noopener noreferrer">{{ end -}}
<img loading="lazy" src="{{ (.Params.cover.image) | absURL }}" alt="{{ $alt }}">
<img loading="{{$loading}}" src="{{ (.Params.cover.image) | absURL }}" alt="{{ $alt }}">
{{- end }}
{{- if $addLink }}</a>{{ end -}}
{{/* Display Caption */}}
{{- if not $.IsHome }}
{{- if $.IsSingle }}
{{ with .Params.cover.caption }}<p>{{ . | markdownify }}</p>{{- end }}
{{- end }}
</figure>

View File

@ -83,14 +83,13 @@
</noscript>
{{- /* Favicons */}}
<link rel="icon" type="image/x-icon" href="{{ site.Params.assets.favicon | default "favicon.ico" | absURL }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ site.Params.assets.favicon16x16 | default "favicon-16x16.png" | absURL }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ site.Params.assets.favicon32x32 | default "favicon-32x32.png" | absURL }}">
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="{{ site.Params.assets.apple_touch_icon | default "apple-touch-icon.png" | absURL }}">
<link rel="mask-icon" type="image/svg+xml" href="{{ site.Params.assets.safari_pinned_tab | default "safari-pinned-tab.svg" | absURL }}" color="{{ site.Params.assets.mask_icon | default "#2e2e33" }}">
<link rel="manifest" type="application/manifest+json" href="{{ site.Params.assets.site_webmanifest | default "site.webmanifest" | absURL }}">
<meta name="theme-color" content="{{ site.Params.assets.theme_color | default "#2e2e33" }}">
<meta name="msapplication-TileColor" content="{{ site.Params.assets.msapplication_TileColor | default "#2e2e33" }}">
<link rel="icon" href="{{ site.Params.assets.favicon | default "favicon.ico" | absURL }}">
<link rel="icon" sizes="any" type="image/svg+xml" href="{{ site.Params.assets.faviconSVG | default "favicon.svg" | absURL }}">
<link rel="apple-touch-icon" href="{{ site.Params.assets.appleTouchIcon | default "apple-touch-icon.png" | absURL }}">
<link rel="mask-icon" href="{{ site.Params.assets.maskIcon | default "mask-icon.svg" | absURL }}" color="{{ site.Params.assets.maskIconColor | default "#2e2e33" }}">
<link rel="manifest" href="{{ site.Params.assets.webmanifest | default "manifest.webmanifest" | absURL }}">
<meta name="theme-color" content="{{ site.Params.assets.themeColor | default "#2e2e33" }}">
<meta name="msapplication-TileColor" content="{{ site.Params.assets.msapplicationTileColor | default "#2e2e33" }}">
{{- /* RSS */}}
{{ range .AlternativeOutputFormats -}}

View File

@ -7,7 +7,7 @@
{{ .Content | markdownify }}
</div>
<footer class="entry-footer">
{{ partial "social_icons.html" site.Params.socialIcons }}
{{ partial "social_icons.html" (dict "align" site.Params.homeInfoParams.AlignSocialIconsTo) }}
</footer>
</article>
{{- end -}}

View File

@ -32,7 +32,7 @@
{{- end }}
<h1>{{ .title | default site.Title | markdownify }}</h1>
<span>{{ .subtitle | markdownify }}</span>
{{- partial "social_icons.html" site.Params.socialIcons -}}
{{- partial "social_icons.html" -}}
{{- with .buttons }}
<div class="buttons">

View File

@ -12,10 +12,12 @@
{{- $scratch.Add "meta" (slice (i18n "words" .WordCount | default (printf "%d words" .WordCount))) }}
{{- end }}
{{- if not (.Param "hideAuthor") -}}
{{- with (partial "author.html" .) }}
{{- $scratch.Add "meta" (slice .) }}
{{- end }}
{{- end }}
{{- with ($scratch.Get "meta") }}
{{- delimit . "&nbsp;·&nbsp;" -}}
{{- delimit . "&nbsp;·&nbsp;" | safeHTML -}}
{{- end -}}

View File

@ -13,59 +13,83 @@
{{- $ShareButtons := (.Param "ShareButtons")}}
{{- with $ShareButtons }}{{ $custom = true }}{{ end }}
<div class="share-buttons">
{{- if (cond ($custom) (in $ShareButtons "twitter") (true)) }}
<a rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on twitter"
href="https://twitter.com/intent/tweet/?text={{ $title }}&amp;url={{ $pageurl }}&amp;hashtags={{- $.Scratch.Get "tags" -}}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-253.927,424.544c135.939,0 210.268,-112.643 210.268,-210.268c0,-3.218 0,-6.437 -0.153,-9.502c14.406,-10.421 26.973,-23.448 36.935,-38.314c-13.18,5.824 -27.433,9.809 -42.452,11.648c15.326,-9.196 26.973,-23.602 32.49,-40.92c-14.252,8.429 -30.038,14.56 -46.896,17.931c-13.487,-14.406 -32.644,-23.295 -53.946,-23.295c-40.767,0 -73.87,33.104 -73.87,73.87c0,5.824 0.613,11.494 1.992,16.858c-61.456,-3.065 -115.862,-32.49 -152.337,-77.241c-6.284,10.881 -9.962,23.601 -9.962,37.088c0,25.594 13.027,48.276 32.95,61.456c-12.107,-0.307 -23.448,-3.678 -33.41,-9.196l0,0.92c0,35.862 25.441,65.594 59.311,72.49c-6.13,1.686 -12.72,2.606 -19.464,2.606c-4.751,0 -9.348,-0.46 -13.946,-1.38c9.349,29.426 36.628,50.728 68.965,51.341c-25.287,19.771 -57.164,31.571 -91.8,31.571c-5.977,0 -11.801,-0.306 -17.625,-1.073c32.337,21.15 71.264,33.41 112.95,33.41Z" />
</svg>
</a>
<ul class="share-buttons">
{{- if (or (cond ($custom) (in $ShareButtons "x") (true)) (cond ($custom) (in $ShareButtons "twitter") (true))) }}
<li>
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on x"
href="https://x.com/intent/tweet/?text={{ $title }}&amp;url={{ $pageurl }}&amp;hashtags={{- $.Scratch.Get "tags" -}}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.367 L 432.367 75.216 L 371.033 75.216 Z M 127.633 110 L 164.101 110 L 383.481 400.065 L 349.5 400.065 Z" />
</svg>
</a>
</li>
{{- end }}
{{- if (cond ($custom) (in $ShareButtons "linkedin") (true)) }}
<a rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on linkedin"
href="https://www.linkedin.com/shareArticle?mini=true&amp;url={{ $pageurl }}&amp;title={{ $title }}&amp;summary={{ $title }}&amp;source={{ $pageurl }}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
</svg>
</a>
<li>
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on linkedin"
href="https://www.linkedin.com/shareArticle?mini=true&amp;url={{ $pageurl }}&amp;title={{ $title }}&amp;summary={{ $title }}&amp;source={{ $pageurl }}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
</svg>
</a>
</li>
{{- end }}
{{- if (cond ($custom) (in $ShareButtons "reddit") (true)) }}
<a rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on reddit"
href="https://reddit.com/submit?url={{ $pageurl }}&title={{ $title }}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
</svg>
</a>
<li>
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on reddit"
href="https://reddit.com/submit?url={{ $pageurl }}&title={{ $title }}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
</svg>
</a>
</li>
{{- end }}
{{- if (cond ($custom) (in $ShareButtons "facebook") (true)) }}
<a rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on facebook"
href="https://facebook.com/sharer/sharer.php?u={{ $pageurl }}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
</svg>
</a>
<li>
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on facebook"
href="https://facebook.com/sharer/sharer.php?u={{ $pageurl }}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
</svg>
</a>
</li>
{{- end }}
{{- if (cond ($custom) (in $ShareButtons "whatsapp") (true)) }}
<a rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on whatsapp"
href="https://api.whatsapp.com/send?text={{ $title }}%20-%20{{ $pageurl }}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
</svg>
</a>
<li>
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on whatsapp"
href="https://api.whatsapp.com/send?text={{ $title }}%20-%20{{ $pageurl }}">
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
<path
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
</svg>
</a>
</li>
{{- end }}
{{- if (cond ($custom) (in $ShareButtons "telegram") (true)) }}
<a rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on telegram"
href="https://telegram.me/share/url?text={{ $title }}&amp;url={{ $pageurl }}">
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
<path
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
</svg>
</a>
<li>
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on telegram"
href="https://telegram.me/share/url?text={{ $title }}&amp;url={{ $pageurl }}">
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
<path
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
</svg>
</a>
</li>
{{- end }}
</div>
{{- if (cond ($custom) (in $ShareButtons "ycombinator") (true)) }}
<li>
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on ycombinator"
href="https://news.ycombinator.com/submitlink?t={{ $title }}&u={{ $pageurl }}">
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
<path
d="M449.446 0C483.971 0 512 28.03 512 62.554L512 449.446C512 483.97 483.97 512 449.446 512L62.554 512C28.03 512 0 483.97 0 449.446L0 62.554C0 28.03 28.029 0 62.554 0L449.446 0ZM183.8767 87.9921H121.8427L230.6673 292.4508V424.0079H281.3328V292.4508L390.1575 87.9921H328.1233L256 238.2489z" />
</svg>
</a>
</li>
{{- end }}
</ul>

View File

@ -1,6 +1,7 @@
<div class="social-icons">
{{- range . }}
<a href="{{ trim .url " " }}" rel="noopener noreferrer me" title="{{ (.title | default .name) | title }}">
<div class="social-icons" {{ with .align}}align="{{.}}" {{- end }}>
{{- range site.Params.socialIcons }}
<a href="{{ trim .url " " | safeURL }}" rel="noopener noreferrer me"
title="{{ (.title | default .name) | title }}">
{{ partial "svg.html" . }}
</a>
{{- end }}

File diff suppressed because one or more lines are too long

View File

@ -41,12 +41,27 @@
{{- /* 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 }}
{{- /* Deprecate site.Social.facebook_admin in favor of site.Params.social.facebook_admin */}}
{{- $facebookAdmin := "" }}
{{- with site.Params.social }}
{{- if reflect.IsMap . }}
{{- $facebookAdmin = .facebook_admin }}
{{- end }}
{{- else }}
{{- with site.Social.facebook_admin }}
{{- $facebookAdmin = . }}
{{- warnf "The social key in site configuration is deprecated. Use params.social.facebook_admin instead." }}
{{- end }}
{{- end }}
{{- /* Facebook Page Admin ID for Domain Insights */}}
{{- with site.Social.facebook_admin }}<meta property="fb:admins" content="{{ . }}" />{{ end }}
{{ with $facebookAdmin }}<meta property="fb:admins" content="{{ . }}" />{{ end }}

View File

@ -11,7 +11,7 @@
{{- if site.Params.schema.sameAs }}
{{ range $i, $e := site.Params.schema.sameAs }}{{ if $i }}, {{ end }}{{ trim $e " " }}{{ end }}
{{- else}}
{{ range $i, $e := site.Params.SocialIcons }}{{ if $i }}, {{ end }}{{ trim $e.url " " }}{{ end }}
{{ range $i, $e := site.Params.SocialIcons }}{{ if $i }}, {{ end }}{{ trim $e.url " " | safeURL }}{{ end }}
{{- end}}
]
}

View File

@ -28,6 +28,23 @@
{{- 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 -}}
{{- /* Deprecate site.Social.twitter in favor of site.Params.social.twitter */}}
{{- $twitterSite := "" }}
{{- with site.Params.social }}
{{- if reflect.IsMap . }}
{{- $twitterSite = .twitter }}
{{- end }}
{{- else }}
{{- with site.Social.twitter }}
{{- $twitterSite = . }}
{{- warnf "The social key in site configuration is deprecated. Use params.social.twitter instead." }}
{{- end }}
{{- end }}
{{- with $twitterSite }}
{{- $content := . }}
{{- if not (strings.HasPrefix . "@") }}
{{- $content = printf "@%v" $twitterSite }}
{{- end }}
<meta name="twitter:site" content="{{ $content }}"/>
{{- end }}

View File

@ -71,10 +71,10 @@
{{- end -}}
{{- end }}
<li>
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify -}}">{{- $header | safeHTML -}}</a>
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify | safeHTML -}}">{{- $header | plainify | safeHTML -}}</a>
{{- else }}
<li>
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify -}}">{{- $header | safeHTML -}}</a>
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify | safeHTML -}}">{{- $header | plainify | safeHTML -}}</a>
{{- end -}}
{{- end -}}
<!-- {{- $firstHeaderLevel := len (seq (index (findRE "[1-6]" (index $headers 0) 1) 0)) -}} -->

View File

@ -37,7 +37,7 @@ features = [
"scroll-to-top",
"search"
]
min_version = "0.97.1"
min_version = "0.112.4"
[author]
name = "Wonderfall"