Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/rmaguiar/hugo-theme-color-your-world.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrmaguiar <rmaguiar@tuta.io>2020-08-06 02:50:09 +0300
committerrmaguiar <rmaguiar@tuta.io>2020-08-06 02:50:09 +0300
commit561303fe79d885bd74ac5fcc8788be84bb0e3c58 (patch)
treed6e4f7c5dd1f0049635465653865c3f07145b319
parent79a7d9d0859a9f1f6ad3df170ba92cea87193b32 (diff)
Improve i18n organization and minor changes
* Improve i18n organization * Remove the possibility to configure social and contact form shortcodes per page * Other minor changes
-rw-r--r--README.md2
-rw-r--r--assets/js/postpone.js12
-rw-r--r--assets/scss/base/mixins.scss5
-rw-r--r--assets/scss/fonts/variables.scss4
-rw-r--r--assets/scss/main.scss25
-rw-r--r--exampleSite/content/contact/index.md2
-rw-r--r--exampleSite/content/contact/index.pt.md2
-rw-r--r--exampleSite/content/search/index.md4
-rw-r--r--exampleSite/content/search/index.pt.md4
-rw-r--r--exampleSite/resources/_gen/assets/scss/scss/main.scss_694b6a5caed62875bf9278dff98b7f5e.content2
-rw-r--r--exampleSite/resources/_gen/assets/scss/scss/main.scss_694b6a5caed62875bf9278dff98b7f5e.json2
-rw-r--r--i18n/en.toml135
-rw-r--r--i18n/pt.toml135
-rw-r--r--layouts/_default/_markup/render-heading.html2
-rw-r--r--layouts/_default/baseof.html10
-rw-r--r--layouts/_default/list.html6
-rw-r--r--layouts/_default/search.html3
-rw-r--r--layouts/_default/single.html22
-rw-r--r--layouts/partials/footer.html4
-rw-r--r--layouts/partials/head.html22
-rw-r--r--layouts/partials/header.html2
-rw-r--r--layouts/partials/pagination.html12
-rw-r--r--layouts/partials/processed-content.html8
-rw-r--r--layouts/partials/search-form.html2
-rw-r--r--layouts/partials/tag-list.html10
-rw-r--r--layouts/partials/tags.html5
-rw-r--r--layouts/shortcodes/contact-form.html14
-rw-r--r--layouts/shortcodes/gifoid.html2
-rw-r--r--layouts/shortcodes/social.html12
29 files changed, 260 insertions, 210 deletions
diff --git a/README.md b/README.md
index 1783134..441db3c 100644
--- a/README.md
+++ b/README.md
@@ -192,8 +192,6 @@ Here's an example of config file:
This information will also be used to generate social meta tags (ie.: rel="me" and Schema.org).
-Alternatively, you can have these params in the front matter of any page.
-
### Contact form
```toml
diff --git a/assets/js/postpone.js b/assets/js/postpone.js
index 529f928..71f591e 100644
--- a/assets/js/postpone.js
+++ b/assets/js/postpone.js
@@ -64,7 +64,7 @@ PALETTE.onchange = function () {
executeSearch(searchQuery);
} else {
- info.innerHTML = '<p>{{ T "search_awaiting_search" }}</p>'
+ info.innerHTML = '<p>{{ T "searchAwaitingSearch" }}</p>'
};
@@ -93,18 +93,18 @@ PALETTE.onchange = function () {
// Reset info regarding the search
info.innerHTML = '';
- info.innerHTML = '<p>{{ T "search_results_for" }}: ' + searchQuery + '</p>';
+ info.innerHTML = '<p>{{ T "searchResultsFor" }}: ' + searchQuery + '</p>';
if (result.length > 0) {
if (result.length == 1) {
- info.innerHTML += '<p>{{ T "search_one_page_found" }}.</p>'
+ info.innerHTML += '<p>{{ T "searchOnePageFound" }}.</p>'
} else if (1 < result.length && result.length < limit + 1) {
- info.innerHTML += '<p>' + result.length + ' {{ T "search_pages_found" }}.</p>'
+ info.innerHTML += '<p>' + result.length + ' {{ T "searchPagesFound" }}.</p>'
} else {
- info.innerHTML += '<p class=error>{{ T "search_too_many" }}</p>'
+ info.innerHTML += '<p class=error>{{ T "searchTooMany" }}</p>'
}
} else {
- info.innerHTML += '<p class=error>{{ T "search_no_page_found" }}</p>'
+ info.innerHTML += '<p class=error>{{ T "searchNoPageFound" }}</p>'
};
if (0 < result.length && result.length < limit + 1) {
diff --git a/assets/scss/base/mixins.scss b/assets/scss/base/mixins.scss
index 9a0c83d..74bd4db 100644
--- a/assets/scss/base/mixins.scss
+++ b/assets/scss/base/mixins.scss
@@ -18,6 +18,11 @@
1px 0 0 $color;
}
+// Heading scaling
+@mixin heading-scaling($level) {
+ font-size: 1rem + $heading-scaling-factor * (6 - $level);
+}
+
// Responsiveness
@mixin respond-above($breakpoint) {
diff --git a/assets/scss/fonts/variables.scss b/assets/scss/fonts/variables.scss
index 2c95cac..f09b1d3 100644
--- a/assets/scss/fonts/variables.scss
+++ b/assets/scss/fonts/variables.scss
@@ -3,8 +3,8 @@ $heading-font: 'Oswald', sans-serif;
$body-font: 'Open Sans', sans-serif;
$code-font: monospace;
-$font-size: 18px;
-$heading-scaling: .25;
+$font-size: 18px;
+$heading-scaling-factor: .25;
$heading-weight: 700;
$body-bold-weight: 700;
diff --git a/assets/scss/main.scss b/assets/scss/main.scss
index 0736063..49aa61a 100644
--- a/assets/scss/main.scss
+++ b/assets/scss/main.scss
@@ -265,7 +265,7 @@ ul {
}
-// Heading 1
+// Main heading
h1 {
@include letterpress(var(--rlpress));
}
@@ -319,7 +319,7 @@ article > header {
h#{$i} {
@extend %heading-base;
- font-size: 1rem + $heading-scaling * (6 - $i);
+ @include heading-scaling($i);
}
}
@@ -332,6 +332,8 @@ main {
code {
font-family: $code-font;
+
+ overflow-wrap: break-word;
}
@@ -339,15 +341,14 @@ code {
{{ if not (or (templates.Exists "partials/custom/site-title") (templates.Exists "partials/custom/site-title.html")) }}
body > header {
> a {
- font-family: $heading-font;
- font-size: 2.1rem;
- font-weight: $heading-weight;
+ @extend %heading-base;
transition:
color $change-transition,
opacity .2s ease-in-out,
outline-color $change-transition;
+ @include heading-scaling(1);
@include letterpress(var(--rlpress));
display: inline-block;
@@ -902,11 +903,11 @@ video {
border: 1px solid rgba(0,0,0,.3);
border-radius: $border-radius;
- font-family: $heading-font;
-
outline-offset: 2px;
padding: 15px 30px 18.5px;
+
+ @extend %heading-base;
@include button-like;
@include letterpress(var(--lpress));
@@ -1039,6 +1040,7 @@ input[type=submit] {
button,
input[type=color],
+input[type=submit],
summary {
cursor: pointer;
}
@@ -1155,12 +1157,12 @@ summary {
.label-form {
margin-top: 1rem;
- font-family: $heading-font;
font-size: .9rem;
- font-weight: $heading-weight;
letter-spacing: .5px;
text-transform: uppercase;
+
+ @extend %heading-base;
}
.input-text {
@@ -1331,9 +1333,6 @@ summary {
}
input[type=submit] {
- cursor: pointer;
-
- font-family: $heading-font;
font-size: .75rem;
text-transform: uppercase;
letter-spacing: .05rem;
@@ -1349,6 +1348,8 @@ summary {
color $change-transition,
outline-color .2s ease-in-out,
opacity .2s ease-in-out;
+
+ @extend %heading-base;
// HACK
// Override Firefox unnecessary extra inner outline
diff --git a/exampleSite/content/contact/index.md b/exampleSite/content/contact/index.md
index b5cccd9..8534f1e 100644
--- a/exampleSite/content/contact/index.md
+++ b/exampleSite/content/contact/index.md
@@ -4,8 +4,6 @@ description : "See how to contact me."
cover : "javier-mazzeo-GTXvpZ2eTdA.jpg"
coverAlt : "Brown animal hanging on tree by Javier Mazzeo."
sitemapExclude : true
-contact:
- messageMinLength: 999999
---
That's actually me.
diff --git a/exampleSite/content/contact/index.pt.md b/exampleSite/content/contact/index.pt.md
index 717a59d..b5a75a0 100644
--- a/exampleSite/content/contact/index.pt.md
+++ b/exampleSite/content/contact/index.pt.md
@@ -4,8 +4,6 @@ description : "Veja como entrar em contato comigo."
cover : "javier-mazzeo-GTXvpZ2eTdA.jpg"
coverAlt : "Animal marrom pendurado na árvore por Javier Mazzeo."
sitemapExclude : true
-contact:
- messageMinLength: 999999
---
Aquele na verdade sou eu.
diff --git a/exampleSite/content/search/index.md b/exampleSite/content/search/index.md
index 39a6d9e..d1c48a5 100644
--- a/exampleSite/content/search/index.md
+++ b/exampleSite/content/search/index.md
@@ -1,6 +1,6 @@
---
-title : "Search"
-description : "Search page."
+title : "Results"
+description : "Search results page."
layout : "search"
sitemapExclude : true
noindex : true
diff --git a/exampleSite/content/search/index.pt.md b/exampleSite/content/search/index.pt.md
index 32f32c6..e74ca8f 100644
--- a/exampleSite/content/search/index.pt.md
+++ b/exampleSite/content/search/index.pt.md
@@ -1,6 +1,6 @@
---
-title : "Busca"
-description : "Página de busca."
+title : "Resultados"
+description : "Página de resultados de busca."
layout : "search"
sitemapExclude : true
noindex : true
diff --git a/exampleSite/resources/_gen/assets/scss/scss/main.scss_694b6a5caed62875bf9278dff98b7f5e.content b/exampleSite/resources/_gen/assets/scss/scss/main.scss_694b6a5caed62875bf9278dff98b7f5e.content
index fa96cbe..f36d5b3 100644
--- a/exampleSite/resources/_gen/assets/scss/scss/main.scss_694b6a5caed62875bf9278dff98b7f5e.content
+++ b/exampleSite/resources/_gen/assets/scss/scss/main.scss_694b6a5caed62875bf9278dff98b7f5e.content
@@ -1 +1 @@
-@font-face{font-family:oswald;font-style:normal;font-weight:700;font-display:swap;src:local("Oswald"),url(../fonts/oswald-v29-latin-700.woff2)format("woff2"),url(../fonts/oswald-v29-latin-700.woff)format("woff")}@font-face{font-family:open sans;font-style:normal;font-weight:400;font-display:swap;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(../fonts/open-sans-v17-latin-regular.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-regular.woff)format("woff")}@font-face{font-family:open sans;font-style:normal;font-weight:700;font-display:swap;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(../fonts/open-sans-v17-latin-700.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-700.woff)format("woff")}@font-face{font-family:open sans;font-style:italic;font-weight:400;font-display:swap;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(../fonts/open-sans-v17-latin-italic.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-italic.woff)format("woff")}:root{font-size:18px}html{scroll-behavior:smooth}html[data-mode=light]{--bg: #ddd;--fg: #444;--alt-bg: #d6d6d6;--alt-fg: #333;--dtl: #fdfdfd;--err: #c70000;--bgmod: rgba(0, 0, 0, 0.3);--input-bg: #fefefe;--input-fg: #111;--input-bd: #ccc;--lpress: rgba(0, 0, 0, 0.2);--rlpress: rgba(255, 255, 255, 0.2)}html[data-mode=light] .chroma,html[data-mode=light] pre,html[data-mode=light] p code,html[data-mode=light] li code{color:#93a1a1;background-color:#002b36}html[data-mode=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}html[data-mode=light] .chroma .lntable{border-spacing:0;margin:0;border:0;width:auto;display:block}html[data-mode=light] .chroma .hl{display:block;width:100%;background-color:rgba(0,0,0,.3)}html[data-mode=light] .chroma .nb{color:#b58900}html[data-mode=light] .chroma .ge{font-style:italic}html[data-mode=light] .chroma .gr{color:#e8625f;font-weight:700}html[data-mode=light] .chroma .gs{font-weight:700}html[data-mode=light] .chroma .x,html[data-mode=light] .chroma .kc,html[data-mode=light] .chroma .no,html[data-mode=light] .chroma .ni,html[data-mode=light] .chroma .ne,html[data-mode=light] .chroma .se,html[data-mode=light] .chroma .gh{color:#e9662f}html[data-mode=light] .chroma .lnt,html[data-mode=light] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#848f8f}html[data-mode=light] .chroma .k,html[data-mode=light] .chroma .kn,html[data-mode=light] .chroma .kp,html[data-mode=light] .chroma .o,html[data-mode=light] .chroma .ow,html[data-mode=light] .chroma .cs,html[data-mode=light] .chroma .cp,html[data-mode=light] .chroma .cpf,html[data-mode=light] .chroma .gi{color:#859900}html[data-mode=light] .chroma .kd,html[data-mode=light] .chroma .kr,html[data-mode=light] .chroma .bp,html[data-mode=light] .chroma .nc,html[data-mode=light] .chroma .nd,html[data-mode=light] .chroma .nf,html[data-mode=light] .chroma .nt,html[data-mode=light] .chroma .nv,html[data-mode=light] .chroma .gu{color:#3294da}html[data-mode=light] .chroma .kt,html[data-mode=light] .chroma .sr,html[data-mode=light] .chroma .gd{color:#e8625f}html[data-mode=light] .chroma .s,html[data-mode=light] .chroma .sa,html[data-mode=light] .chroma .sc,html[data-mode=light] .chroma .dl,html[data-mode=light] .chroma .s2,html[data-mode=light] .chroma .si,html[data-mode=light] .chroma .sx,html[data-mode=light] .chroma .s1,html[data-mode=light] .chroma .ss,html[data-mode=light] .chroma .m,html[data-mode=light] .chroma .mb,html[data-mode=light] .chroma .mf,html[data-mode=light] .chroma .mh,html[data-mode=light] .chroma .mi,html[data-mode=light] .chroma .il,html[data-mode=light] .chroma .mo{color:#2aa198}html[data-mode=light] .chroma .sb,html[data-mode=light] .chroma .c,html[data-mode=light] .chroma .ch,html[data-mode=light] .chroma .cm,html[data-mode=light] .chroma .c1{color:#759299}html[data-mode=dark]{--bg: #1f1f1f;--fg: #bbb;--alt-bg: #1c1c1c;--alt-fg: #ddd;--dtl: #1a1a1a;--err: #ff3131;--bgmod: rgba(255, 255, 255, 0.3);--input-bg: #222;--input-fg: #f0f0f0;--input-bd: #262626;--lpress: rgba(255, 255, 255, 0.2);--rlpress: rgba(0, 0, 0, 0.2)}html[data-mode=dark] img{filter:contrast(0.85)grayscale(0.3)}html[data-mode=dark] .chroma,html[data-mode=dark] pre,html[data-mode=dark] p code,html[data-mode=dark] li code{color:#f8f8f2;background:#272822}html[data-mode=dark] .chroma .err{color:#eb0083;background-color:#1e0010}html[data-mode=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}html[data-mode=dark] .chroma .lntable{border-spacing:0;margin:0;border:0;width:auto;display:block}html[data-mode=dark] .chroma .hl{display:block;width:100%;background-color:rgba(0,0,0,.3)}html[data-mode=dark] .chroma .ge{font-style:italic}html[data-mode=dark] .chroma .gs{font-weight:700}html[data-mode=dark] .chroma .lnt,html[data-mode=dark] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#8e8e8e}html[data-mode=dark] .chroma .k,html[data-mode=dark] .chroma .kc,html[data-mode=dark] .chroma .kd,html[data-mode=dark] .chroma .kp,html[data-mode=dark] .chroma .kr,html[data-mode=dark] .chroma .kt,html[data-mode=dark] .chroma .no{color:#66d9ef}html[data-mode=dark] .chroma .kn,html[data-mode=dark] .chroma .nt,html[data-mode=dark] .chroma .o,html[data-mode=dark] .chroma .ow,html[data-mode=dark] .chroma .gd{color:#f94e8a}html[data-mode=dark] .chroma .na,html[data-mode=dark] .chroma .nc,html[data-mode=dark] .chroma .nd,html[data-mode=dark] .chroma .ne,html[data-mode=dark] .chroma .nf,html[data-mode=dark] .chroma .nx,html[data-mode=dark] .chroma .gi{color:#a6e22e}html[data-mode=dark] .chroma .l,html[data-mode=dark] .chroma .se,html[data-mode=dark] .chroma .m,html[data-mode=dark] .chroma .mb,html[data-mode=dark] .chroma .mf,html[data-mode=dark] .chroma .mh,html[data-mode=dark] .chroma .mi,html[data-mode=dark] .chroma .il,html[data-mode=dark] .chroma .mo{color:#ae81ff}html[data-mode=dark] .chroma .ld,html[data-mode=dark] .chroma .s,html[data-mode=dark] .chroma .sa,html[data-mode=dark] .chroma .sb,html[data-mode=dark] .chroma .sc,html[data-mode=dark] .chroma .dl,html[data-mode=dark] .chroma .sd,html[data-mode=dark] .chroma .s2,html[data-mode=dark] .chroma .sh,html[data-mode=dark] .chroma .si,html[data-mode=dark] .chroma .sx,html[data-mode=dark] .chroma .sr,html[data-mode=dark] .chroma .s1,html[data-mode=dark] .chroma .ss{color:#e6db74}html[data-mode=dark] .chroma .c,html[data-mode=dark] .chroma .ch,html[data-mode=dark] .chroma .cm,html[data-mode=dark] .chroma .c1,html[data-mode=dark] .chroma .cs,html[data-mode=dark] .chroma .cp,html[data-mode=dark] .chroma .cpf,html[data-mode=dark] .chroma .gu{color:#949076}body{margin:0;padding:0;font-family:open sans,sans-serif;background:var(--bg);color:var(--fg);display:flex;min-height:100vh;flex-direction:column}body a{color:var(--accent);outline-offset:2px;transition:opacity .2s ease-in-out,outline-color .2s ease-in-out;word-break:break-word}body a:hover{opacity:.75}body>header,body>footer{background:var(--alt-bg);color:var(--alt-fg);text-align:center}body>header{padding:0 1.5rem 1rem}body>header nav{margin:.5rem 0 0}body>header nav ul{margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}body>header nav ul a{display:block;word-break:keep-all;margin:0 7.5px 15px;padding:9px 21px 12px;font-size:.75rem;font-weight:700;text-transform:uppercase}body>footer{padding:1rem 3rem}body>footer p{line-height:1.8rem;margin:.75rem 0;white-space:pre-wrap}body>footer a{transition:opacity .2s ease-in-out,outline-color .3s ease}body>footer a:hover{opacity:.75}body>footer section{padding:6px 0 12px}body>footer section input{border:1px solid var(--fg);outline-offset:3px;padding:0}body>footer section input::-webkit-color-swatch{border:none}body>footer section input::-webkit-color-swatch-wrapper{padding:0}body>footer section button{background:0;border:0;padding:3px 3px 0}body>footer section button svg{fill:var(--fg);stroke:var(--lpress);stroke-width:.6rem}body>footer section input,body>footer section button{margin:0 7.5px;transition:outline-color .2s ease-in-out,transform .2s ease-in-out}body>footer section input:hover,body>footer section button:hover{transform:scale(1.2)}body>footer section input::-moz-focus-inner,body>footer section button::-moz-focus-inner{border:0}body>footer section input,body>footer section button svg{width:42px;height:42px}body a,.outline-dashed{outline:2px dashed transparent}body a:focus,.outline-dashed:focus{outline-color:var(--accent)}ol,ul{list-style:none}h1{text-shadow:0 1px 0 var(--rlpress),1px 0 0 var(--rlpress)}hr{border:1px solid var(--lpress);margin:2.4rem 0 1.2rem}::selection{background:var(--accent);color:#f0f0f0;text-shadow:none}.filler{flex:1;align-items:center;justify-content:center}article>header h1{line-height:3rem}article>header img{margin:1rem 0 0}article>header p{font-size:.9rem;font-style:italic}h6,h5,h4,h3,h2,h1{font-family:oswald,sans-serif;font-weight:700}h1{font-size:2.25rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}main p{line-height:1.65rem}code{font-family:monospace}body>header>a{font-family:oswald,sans-serif;font-size:2.1rem;font-weight:700;transition:color .3s ease,opacity .2s ease-in-out,outline-color .3s ease;text-shadow:0 1px 0 var(--rlpress),1px 0 0 var(--rlpress);display:inline-block;margin:1.5rem 0 .75rem}article>header{margin:0 0 2rem}article>header h1{margin:9px 0}article>header p{margin:0}article h2,article h3{margin:2rem 0 1rem}article p{margin:1.5rem 0}h6+p,h5+p,h4+p,h3+p,h2+p,h1+p{margin-top:0}h6,h5,h4,h3,h2{padding-top:1rem}audio,img,video{margin:1.8rem auto}.anchor{background-image:none}.anchor svg{fill:var(--accent);vertical-align:middle;width:24px;height:24px}h2 .anchor{margin:0 0 0 .65rem}h2 .anchor svg{transform:scale(1.7)}h3 .anchor{margin:0 0 0 .55rem}h3 .anchor svg{transform:scale(1.525)}h4 .anchor{margin:0 0 0 .45rem}h4 .anchor svg{transform:scale(1.35)}h5 .anchor{margin:0 0 0 .35rem}h5 .anchor svg{transform:scale(1.175)}h6 .anchor{margin:0 0 0 .25rem}h6 .anchor svg{transform:scale(1)}label,summary,.footnote-ref,.lnt{user-select:none}article ol li,article ul li{margin-bottom:.45rem}ol{counter-reset:a-counter}ol li{counter-increment:a-counter}ol li::before{content:counter(a-counter)"";font-size:.85rem;font-weight:700;text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress);background:var(--fg);border:1px solid var(--lpress);border-radius:2px;color:var(--bg);margin-right:12px;padding:2px 7.5px}.footnotes{border-top:2px solid var(--fg);display:block;margin-top:2.4rem;padding:1rem 1rem 1.8rem}.footnotes h2{margin:0 0 2rem}.footnotes a{word-break:break-word}.footnotes ol li p:first-of-type{display:inline;margin-left:-6px}.footnotes .footnote-backref{margin:0 0 0 9px;padding:0 9px;vertical-align:middle}.footnotes .footnote-backref svg{fill:var(--dtl);stroke:var(--lpress);stroke-width:.6rem;width:18px;height:18px}.footnotes hr{display:none}sup{line-height:0}sup .footnote-ref{text-decoration:none}sup .footnote-ref::before{content:'['}sup .footnote-ref::after{content:']'}code,.chroma{transition:background-color .3s ease,color .3s ease}article>pre,.scroll,.katex-display,.highlight>pre,.highlight>div{overflow-x:auto;transition:background-color .3s ease,color .3s ease,outline-color .3s ease;outline:3px solid transparent}article>pre:focus,.scroll:focus,.katex-display:focus,.highlight>pre:focus,.highlight>div:focus{outline-color:var(--accent)}.scroll{border:1px solid var(--fg)}.scroll>table{border-collapse:collapse;color:var(--fg);font-family:open sans,sans-serif;min-width:600px;width:100%}.scroll>table td+td{border-left:1px solid var(--fg)}.scroll>table tr+tr{border-top:1px solid var(--fg)}.scroll>table tr:not(:first-child):last-of-type{border-bottom:1px solid var(--fg)}.scroll>table td,.scroll>table th{padding:9px}.scroll>table th{background:var(--fg);color:var(--bg)}.scroll>table tr{transition:background .2s ease-in-out,color .2s ease-in-out}.scroll>table tr:nth-child(even){background:var(--alt-bg)}.scroll>table tr:nth-child(odd){background:var(--bg)}.scroll>table tr:hover{background:var(--accent);color:var(--dtl)}.highlight>div table{padding:0 24px;max-height:75vh}.chroma td:first-of-type{padding:0 18px 0 0}article>pre,.katex-display,.highlight>pre{padding:var(--hl-pad)}article>pre,.katex-display,.highlight>pre,.highlight>.chroma{border:1px solid #222;line-height:1.5rem;max-height:75vh}mark,p code,li code{border-radius:2px;padding:1px 3px}li a{word-break:break-all}article>header .terms{margin:.9rem 0 .6rem}article>header .terms ul{padding:0}article>header .terms li{display:inline}article>header .terms a{display:inline-block;margin:0 7.5px 9px 0;padding:6px 15px 9px}.posts{padding:0}.posts li{margin:.5rem 0}.posts a{background:var(--accent);color:var(--dtl);display:flex;margin:15px auto;padding:15px 30px 18px;text-decoration:none;align-items:center;word-break:break-word}.posts a p{flex:1;margin:0}.posts a time{background-image:linear-gradient(0deg,var(--bgmod),100%,transparent);border-radius:2px;font-size:.85rem;margin-left:1.8rem;padding:0 9px 2px}@media(max-width:768px){.posts a{flex-direction:column-reverse;align-items:unset}.posts a time{margin:.3rem 0}}.katex-display{border:1px dashed var(--alt-fg);overflow-x:auto;padding:15px 30px}.katex-display:focus{border:1px solid #222}img{display:block;max-width:100%;max-height:75vh;outline:3px solid transparent;transition:border-color .3s ease,outline-color .3s ease,filter .3s ease}img.cover{border:1px solid var(--fg);object-fit:cover;width:100%}article p>img{display:block;margin:2rem auto;max-width:100%}figure{margin:1.8rem auto}figure img{display:block;margin:0 auto;max-width:90%}figure figcaption{font-size:.85rem;text-align:center;margin:.75rem;line-height:1.5rem}video{display:block;max-width:91%;max-height:75vh;outline:3px solid transparent;transition:border-color .3s ease,outline-color .3s ease}video:focus,video:hover{border-color:var(--accent);outline-color:var(--accent)}video.gifoid{margin:3rem auto;max-width:90%}audio{display:block;width:90%}img.border,video.border{border:1px solid var(--fg)}img.borderless,video.borderless{border:0}.toc{background:var(--alt-bg);color:var(--dtl);transition:background-color .3s ease,border .3s ease,linear-gradient .3s ease}.toc summary{background:var(--accent);border:1px solid rgba(0,0,0,.3);border-radius:2px;font-family:oswald,sans-serif;outline-offset:2px;padding:15px 30px 18.5px;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -3px 0 rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress);transition:color .3s ease,opacity .2s ease,outline-color .3s ease,padding .2s ease}.toc summary:hover{opacity:.75}.toc[open] summary{border-radius:2px 2px 0 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.2);padding:15px 30px}.toc[open] summary~*{animation:smoothReveal .3s ease-in-out}.toc nav#TableOfContents{border-style:solid;border-color:rgba(0,0,0,.3);border-width:0 1px 1px;border-radius:0 0 2px 2px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.3);padding:6px 15px 15px 9px}.toc nav#TableOfContents li:first-of-type{margin-top:.3rem}.toc nav#TableOfContents ul li:not(:last-of-type),.toc nav#TableOfContents ul li ul li:first-of-type,.toc nav#TableOfContents ul li ol li:first-of-type,.toc nav#TableOfContents ol li:not(:last-of-type),.toc nav#TableOfContents ol li ul li:first-of-type,.toc nav#TableOfContents ol li ol li:first-of-type{margin-bottom:.3rem}#TableOfContents,.footnotes ol,article>ul,article>ol{line-height:1.5rem}#TableOfContents ul,.footnotes ol{padding-left:24px}article>ul,article>ul ul,article>ol,article>ol ol{padding:0 24px}#TableOfContents ul li:before,article>ul li:before{content:'';margin-right:12px;background:var(--fg);border-radius:2px;width:18px;height:18px;display:inline-block;margin-bottom:-3px}@keyframes smoothReveal{0%{opacity:0}100%{opacity:1}}.btn,.footnote-backref,input[type=submit]{background:var(--accent);border:1px solid rgba(0,0,0,.3);border-radius:2px;color:var(--dtl);text-decoration:none;transition:background-color .3s ease,color .3s ease,opacity .2s ease-in-out,outline-color .3s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -3px 0 rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress)}.btn:hover,.footnote-backref:hover,input[type=submit]:hover{opacity:.75}button,input[type=color],summary{cursor:pointer}.category a{font-weight:700}.terms{display:flex;flex-wrap:wrap;padding:0}.terms a{display:flex;flex:1;align-items:center;margin:0 9px 9px 0;padding:7.5px 18px 10.5px;word-break:keep-all}.terms a span{background-image:linear-gradient(0deg,var(--bgmod),100%,transparent);border-radius:2px;margin-left:.45rem;padding:0 6px 1px;font-size:.85rem}.pagination{font-family:open sans,sans-serif;font-weight:700;text-align:center;margin:3rem auto 1rem;display:flex;flex-wrap:wrap;justify-content:center}.pagination li{display:inline-block;transition:background .2s ease-in-out,border .2s ease-in-out}.pagination li a,.pagination li.current p{display:block;margin:0 9px 9px 0;padding:7.5px 12px 10.5px;width:21px}.pagination li a{color:var(--dtl)}.pagination li.current p{background:var(--alt-bg);border:1px solid rgba(0,0,0,.45);border-radius:2px;color:var(--alt-fg);line-height:inherit;user-select:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -3px 0 rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress)}.pagination svg{display:inline-block;fill:currentColor;width:18px;height:18px;margin:auto auto -2px}.label-form{margin-top:1rem;font-family:oswald,sans-serif;font-size:.9rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.input-text{background:var(--input-bg);border:1px solid var(--input-bd);color:var(--input-fg);font-family:open sans,sans-serif;font-size:.9rem;line-height:1.5rem;transition:background-color .3s ease,border .3s ease,outline-color .2s ease-in-out;outline:2px solid transparent}.input-text:focus{outline-color:var(--accent)}.search-box form{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch}.search-box label{flex-basis:100%;line-height:2rem}.search-box input[name=q]{padding:6px 12px;flex:1;border-radius:2px 0 0 2px}.search-box button{border-radius:0 2px 2px 0;padding:6px 30px;outline-offset:2px}.search-box button svg{width:15px;height:15px;fill:currentColor;stroke:var(--lpress);stroke-width:9px}#search-info{margin:1rem 0 2rem}#search-info+ul{margin:0 0 6rem}.social{display:flex;flex-wrap:wrap}.social a{display:flex;flex:1;align-items:center;margin:0 9px 9px 0;min-width:150px;padding:15px 21px;text-align:center}.social a svg{fill:currentColor;stroke:var(--lpress);stroke-width:9px;width:36px;height:36px}.social a p{flex:1;margin:0 12px;font-size:.75rem;font-weight:700;text-transform:uppercase;line-height:1rem}.social a:hover{opacity:.75}#contact{margin:1.5rem 0}#contact label{display:block;line-height:1.8rem}#contact input[name=name],#contact input[name=_replyto],#contact input[name=_subject],#contact select,#contact textarea{display:block;margin:3px 0;max-width:100%}#contact input[name=name],#contact input[name=_replyto],#contact input[name=_subject]{min-width:240px;padding:6px 12px}#contact select{min-width:210px;padding:6px}#contact textarea{padding:9px 15px;width:90%;height:auto}#contact input[type=submit]{cursor:pointer;font-family:oswald,sans-serif;font-size:.75rem;text-transform:uppercase;letter-spacing:.05rem;margin-top:1.2rem;padding:12px 42px 15px;outline-offset:2px;transition:background-color .3s ease,border .2s ease-in-out,color .3s ease,outline-color .2s ease-in-out,opacity .2s ease-in-out}#contact input[type=submit]::-moz-focus-inner{border:0}@supports(-moz-appearance:meterbar){#contact select{color:var(--fg);color:transparent;text-shadow:0 0 0 var(--fg)}}.error{color:var(--err)}mark{background:var(--accent);filter:contrast(1.2)invert(1)}abbr{text-decoration-style:solid}blockquote{background:var(--alt-bg);border-style:solid;border-width:1px 1px 1px 12px;color:var(--alt-fg);margin:var(--blk-mg);padding:0 30px}blockquote p{margin:1.2rem 0}kbd{background-color:#eee;border:1px solid #b4b4b4;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px 0 0 rgba(255,255,255,.7)inset;color:#333;display:inline-block;font-size:.85em;font-weight:700;line-height:1;padding:2px;white-space:nowrap}kbd>kbd{margin:0 2px}main{margin:90px auto;padding:0 15px;max-width:660px}article{margin:90px auto 120px}html{--blk-mg: 1.05rem .75rem;--il-pad: 0 12px;--hl-pad: 15.75px 18px}@media(min-width:769px){html{--blk-mg: 2.1rem 1.5rem;--il-pad: 6px 24px;--hl-pad: 21px 24px}}@media(min-width:769px){a.anchor:not(:focus){opacity:0}h6>a:focus+a.anchor,h6:hover>a.anchor,h5>a:focus+a.anchor,h5:hover>a.anchor,h4>a:focus+a.anchor,h4:hover>a.anchor,h3>a:focus+a.anchor,h3:hover>a.anchor,h2>a:focus+a.anchor,h2:hover>a.anchor{opacity:1}}.noscript{font-weight:700}blockquote.twitter-tweet{border-color:#1da0f1;padding:0 30px 27px}div.__h_instagram{margin:2rem auto}div.__h_instagram a:nth-child(2){display:block;margin:.6rem 0;line-height:0}div.__h_instagram a:nth-child(2):hover{opacity:.75}div.__h_instagram img{border:1px solid var(--fg);max-width:100%;object-fit:cover}h2#vimeo-simple-shortcode{margin-bottom:1rem}div.s_video_simple{margin:0 auto;width:96%}div.s_video_simple a{border:1px solid var(--fg);display:block;margin:6px;line-height:0}div.s_video_simple a:hover{opacity:.75}section.youtube{border:1px solid var(--fg);margin:2rem 0;padding-bottom:56.25%;position:relative;overflow:hidden;height:0}section.info img{border:3px solid var(--fg);border-radius:9px} \ No newline at end of file
+@font-face{font-family:oswald;font-style:normal;font-weight:700;font-display:swap;src:local("Oswald"),url(../fonts/oswald-v29-latin-700.woff2)format("woff2"),url(../fonts/oswald-v29-latin-700.woff)format("woff")}@font-face{font-family:open sans;font-style:normal;font-weight:400;font-display:swap;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(../fonts/open-sans-v17-latin-regular.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-regular.woff)format("woff")}@font-face{font-family:open sans;font-style:normal;font-weight:700;font-display:swap;src:local("Open Sans Bold"),local("OpenSans-Bold"),url(../fonts/open-sans-v17-latin-700.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-700.woff)format("woff")}@font-face{font-family:open sans;font-style:italic;font-weight:400;font-display:swap;src:local("Open Sans Italic"),local("OpenSans-Italic"),url(../fonts/open-sans-v17-latin-italic.woff2)format("woff2"),url(../fonts/open-sans-v17-latin-italic.woff)format("woff")}:root{font-size:18px}html{scroll-behavior:smooth}html[data-mode=light]{--bg: #ddd;--fg: #444;--alt-bg: #d6d6d6;--alt-fg: #333;--dtl: #fdfdfd;--err: #c70000;--bgmod: rgba(0, 0, 0, 0.3);--input-bg: #fefefe;--input-fg: #111;--input-bd: #ccc;--lpress: rgba(0, 0, 0, 0.2);--rlpress: rgba(255, 255, 255, 0.2)}html[data-mode=light] .chroma,html[data-mode=light] pre,html[data-mode=light] p code,html[data-mode=light] li code{color:#93a1a1;background-color:#002b36}html[data-mode=light] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}html[data-mode=light] .chroma .lntable{border-spacing:0;margin:0;border:0;width:auto;display:block}html[data-mode=light] .chroma .hl{display:block;width:100%;background-color:rgba(0,0,0,.3)}html[data-mode=light] .chroma .nb{color:#b58900}html[data-mode=light] .chroma .ge{font-style:italic}html[data-mode=light] .chroma .gr{color:#e8625f;font-weight:700}html[data-mode=light] .chroma .gs{font-weight:700}html[data-mode=light] .chroma .x,html[data-mode=light] .chroma .kc,html[data-mode=light] .chroma .no,html[data-mode=light] .chroma .ni,html[data-mode=light] .chroma .ne,html[data-mode=light] .chroma .se,html[data-mode=light] .chroma .gh{color:#e9662f}html[data-mode=light] .chroma .lnt,html[data-mode=light] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#848f8f}html[data-mode=light] .chroma .k,html[data-mode=light] .chroma .kn,html[data-mode=light] .chroma .kp,html[data-mode=light] .chroma .o,html[data-mode=light] .chroma .ow,html[data-mode=light] .chroma .cs,html[data-mode=light] .chroma .cp,html[data-mode=light] .chroma .cpf,html[data-mode=light] .chroma .gi{color:#859900}html[data-mode=light] .chroma .kd,html[data-mode=light] .chroma .kr,html[data-mode=light] .chroma .bp,html[data-mode=light] .chroma .nc,html[data-mode=light] .chroma .nd,html[data-mode=light] .chroma .nf,html[data-mode=light] .chroma .nt,html[data-mode=light] .chroma .nv,html[data-mode=light] .chroma .gu{color:#3294da}html[data-mode=light] .chroma .kt,html[data-mode=light] .chroma .sr,html[data-mode=light] .chroma .gd{color:#e8625f}html[data-mode=light] .chroma .s,html[data-mode=light] .chroma .sa,html[data-mode=light] .chroma .sc,html[data-mode=light] .chroma .dl,html[data-mode=light] .chroma .s2,html[data-mode=light] .chroma .si,html[data-mode=light] .chroma .sx,html[data-mode=light] .chroma .s1,html[data-mode=light] .chroma .ss,html[data-mode=light] .chroma .m,html[data-mode=light] .chroma .mb,html[data-mode=light] .chroma .mf,html[data-mode=light] .chroma .mh,html[data-mode=light] .chroma .mi,html[data-mode=light] .chroma .il,html[data-mode=light] .chroma .mo{color:#2aa198}html[data-mode=light] .chroma .sb,html[data-mode=light] .chroma .c,html[data-mode=light] .chroma .ch,html[data-mode=light] .chroma .cm,html[data-mode=light] .chroma .c1{color:#759299}html[data-mode=dark]{--bg: #1f1f1f;--fg: #bbb;--alt-bg: #1c1c1c;--alt-fg: #ddd;--dtl: #1a1a1a;--err: #ff3131;--bgmod: rgba(255, 255, 255, 0.3);--input-bg: #222;--input-fg: #f0f0f0;--input-bd: #262626;--lpress: rgba(255, 255, 255, 0.2);--rlpress: rgba(0, 0, 0, 0.2)}html[data-mode=dark] img{filter:contrast(0.85)grayscale(0.3)}html[data-mode=dark] .chroma,html[data-mode=dark] pre,html[data-mode=dark] p code,html[data-mode=dark] li code{color:#f8f8f2;background:#272822}html[data-mode=dark] .chroma .err{color:#eb0083;background-color:#1e0010}html[data-mode=dark] .chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}html[data-mode=dark] .chroma .lntable{border-spacing:0;margin:0;border:0;width:auto;display:block}html[data-mode=dark] .chroma .hl{display:block;width:100%;background-color:rgba(0,0,0,.3)}html[data-mode=dark] .chroma .ge{font-style:italic}html[data-mode=dark] .chroma .gs{font-weight:700}html[data-mode=dark] .chroma .lnt,html[data-mode=dark] .chroma .ln{margin-right:.4em;padding:0 .4em;color:#8e8e8e}html[data-mode=dark] .chroma .k,html[data-mode=dark] .chroma .kc,html[data-mode=dark] .chroma .kd,html[data-mode=dark] .chroma .kp,html[data-mode=dark] .chroma .kr,html[data-mode=dark] .chroma .kt,html[data-mode=dark] .chroma .no{color:#66d9ef}html[data-mode=dark] .chroma .kn,html[data-mode=dark] .chroma .nt,html[data-mode=dark] .chroma .o,html[data-mode=dark] .chroma .ow,html[data-mode=dark] .chroma .gd{color:#f94e8a}html[data-mode=dark] .chroma .na,html[data-mode=dark] .chroma .nc,html[data-mode=dark] .chroma .nd,html[data-mode=dark] .chroma .ne,html[data-mode=dark] .chroma .nf,html[data-mode=dark] .chroma .nx,html[data-mode=dark] .chroma .gi{color:#a6e22e}html[data-mode=dark] .chroma .l,html[data-mode=dark] .chroma .se,html[data-mode=dark] .chroma .m,html[data-mode=dark] .chroma .mb,html[data-mode=dark] .chroma .mf,html[data-mode=dark] .chroma .mh,html[data-mode=dark] .chroma .mi,html[data-mode=dark] .chroma .il,html[data-mode=dark] .chroma .mo{color:#ae81ff}html[data-mode=dark] .chroma .ld,html[data-mode=dark] .chroma .s,html[data-mode=dark] .chroma .sa,html[data-mode=dark] .chroma .sb,html[data-mode=dark] .chroma .sc,html[data-mode=dark] .chroma .dl,html[data-mode=dark] .chroma .sd,html[data-mode=dark] .chroma .s2,html[data-mode=dark] .chroma .sh,html[data-mode=dark] .chroma .si,html[data-mode=dark] .chroma .sx,html[data-mode=dark] .chroma .sr,html[data-mode=dark] .chroma .s1,html[data-mode=dark] .chroma .ss{color:#e6db74}html[data-mode=dark] .chroma .c,html[data-mode=dark] .chroma .ch,html[data-mode=dark] .chroma .cm,html[data-mode=dark] .chroma .c1,html[data-mode=dark] .chroma .cs,html[data-mode=dark] .chroma .cp,html[data-mode=dark] .chroma .cpf,html[data-mode=dark] .chroma .gu{color:#949076}body{margin:0;padding:0;font-family:open sans,sans-serif;background:var(--bg);color:var(--fg);display:flex;min-height:100vh;flex-direction:column}body a{color:var(--accent);outline-offset:2px;transition:opacity .2s ease-in-out,outline-color .2s ease-in-out;word-break:break-word}body a:hover{opacity:.75}body>header,body>footer{background:var(--alt-bg);color:var(--alt-fg);text-align:center}body>header{padding:0 1.5rem 1rem}body>header nav{margin:.5rem 0 0}body>header nav ul{margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}body>header nav ul a{display:block;word-break:keep-all;margin:0 7.5px 15px;padding:9px 21px 12px;font-size:.75rem;font-weight:700;text-transform:uppercase}body>footer{padding:1rem 3rem}body>footer p{line-height:1.8rem;margin:.75rem 0;white-space:pre-wrap}body>footer a{transition:opacity .2s ease-in-out,outline-color .3s ease}body>footer a:hover{opacity:.75}body>footer section{padding:6px 0 12px}body>footer section input{border:1px solid var(--fg);outline-offset:3px;padding:0}body>footer section input::-webkit-color-swatch{border:none}body>footer section input::-webkit-color-swatch-wrapper{padding:0}body>footer section button{background:0;border:0;padding:3px 3px 0}body>footer section button svg{fill:var(--fg);stroke:var(--lpress);stroke-width:.6rem}body>footer section input,body>footer section button{margin:0 7.5px;transition:outline-color .2s ease-in-out,transform .2s ease-in-out}body>footer section input:hover,body>footer section button:hover{transform:scale(1.2)}body>footer section input::-moz-focus-inner,body>footer section button::-moz-focus-inner{border:0}body>footer section input,body>footer section button svg{width:42px;height:42px}body a,.outline-dashed{outline:2px dashed transparent}body a:focus,.outline-dashed:focus{outline-color:var(--accent)}ol,ul{list-style:none}h1{text-shadow:0 1px 0 var(--rlpress),1px 0 0 var(--rlpress)}hr{border:1px solid var(--lpress);margin:2.4rem 0 1.2rem}::selection{background:var(--accent);color:#f0f0f0;text-shadow:none}.filler{flex:1;align-items:center;justify-content:center}article>header h1{line-height:3rem}article>header img{margin:1rem 0 0}article>header p{font-size:.9rem;font-style:italic}#contact input[type=submit],.label-form,.toc summary,body>header>a,h6,h5,h4,h3,h2,h1{font-family:oswald,sans-serif;font-weight:700}h1{font-size:2.25rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}main p{line-height:1.65rem}code{font-family:monospace;overflow-wrap:break-word}body>header>a{transition:color .3s ease,opacity .2s ease-in-out,outline-color .3s ease;font-size:2.25rem;text-shadow:0 1px 0 var(--rlpress),1px 0 0 var(--rlpress);display:inline-block;margin:1.5rem 0 .75rem}article>header{margin:0 0 2rem}article>header h1{margin:9px 0}article>header p{margin:0}article h2,article h3{margin:2rem 0 1rem}article p{margin:1.5rem 0}h6+p,h5+p,h4+p,h3+p,h2+p,h1+p{margin-top:0}h6,h5,h4,h3,h2{padding-top:1rem}audio,img,video{margin:1.8rem auto}.anchor{background-image:none}.anchor svg{fill:var(--accent);vertical-align:middle;width:24px;height:24px}h2 .anchor{margin:0 0 0 .65rem}h2 .anchor svg{transform:scale(1.7)}h3 .anchor{margin:0 0 0 .55rem}h3 .anchor svg{transform:scale(1.525)}h4 .anchor{margin:0 0 0 .45rem}h4 .anchor svg{transform:scale(1.35)}h5 .anchor{margin:0 0 0 .35rem}h5 .anchor svg{transform:scale(1.175)}h6 .anchor{margin:0 0 0 .25rem}h6 .anchor svg{transform:scale(1)}label,summary,.footnote-ref,.lnt{user-select:none}article ol li,article ul li{margin-bottom:.45rem}ol{counter-reset:a-counter}ol li{counter-increment:a-counter}ol li::before{content:counter(a-counter)"";font-size:.85rem;font-weight:700;text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress);background:var(--fg);border:1px solid var(--lpress);border-radius:2px;color:var(--bg);margin-right:12px;padding:2px 7.5px}.footnotes{border-top:2px solid var(--fg);display:block;margin-top:2.4rem;padding:1rem 1rem 1.8rem}.footnotes h2{margin:0 0 2rem}.footnotes a{word-break:break-word}.footnotes ol li p:first-of-type{display:inline;margin-left:-6px}.footnotes .footnote-backref{margin:0 0 0 9px;padding:0 9px;vertical-align:middle}.footnotes .footnote-backref svg{fill:var(--dtl);stroke:var(--lpress);stroke-width:.6rem;width:18px;height:18px}.footnotes hr{display:none}sup{line-height:0}sup .footnote-ref{text-decoration:none}sup .footnote-ref::before{content:'['}sup .footnote-ref::after{content:']'}code,.chroma{transition:background-color .3s ease,color .3s ease}article>pre,.scroll,.katex-display,.highlight>pre,.highlight>div{overflow-x:auto;transition:background-color .3s ease,color .3s ease,outline-color .3s ease;outline:3px solid transparent}article>pre:focus,.scroll:focus,.katex-display:focus,.highlight>pre:focus,.highlight>div:focus{outline-color:var(--accent)}.scroll{border:1px solid var(--fg)}.scroll>table{border-collapse:collapse;color:var(--fg);font-family:open sans,sans-serif;min-width:600px;width:100%}.scroll>table td+td{border-left:1px solid var(--fg)}.scroll>table tr+tr{border-top:1px solid var(--fg)}.scroll>table tr:not(:first-child):last-of-type{border-bottom:1px solid var(--fg)}.scroll>table td,.scroll>table th{padding:9px}.scroll>table th{background:var(--fg);color:var(--bg)}.scroll>table tr{transition:background .2s ease-in-out,color .2s ease-in-out}.scroll>table tr:nth-child(even){background:var(--alt-bg)}.scroll>table tr:nth-child(odd){background:var(--bg)}.scroll>table tr:hover{background:var(--accent);color:var(--dtl)}.highlight>div table{padding:0 24px;max-height:75vh}.chroma td:first-of-type{padding:0 18px 0 0}article>pre,.katex-display,.highlight>pre{padding:var(--hl-pad)}article>pre,.katex-display,.highlight>pre,.highlight>.chroma{border:1px solid #222;line-height:1.5rem;max-height:75vh}mark,p code,li code{border-radius:2px;padding:1px 3px}li a{word-break:break-all}article>header .terms{margin:.9rem 0 .6rem}article>header .terms ul{padding:0}article>header .terms li{display:inline}article>header .terms a{display:inline-block;margin:0 7.5px 9px 0;padding:6px 15px 9px}.posts{padding:0}.posts li{margin:.5rem 0}.posts a{background:var(--accent);color:var(--dtl);display:flex;margin:15px auto;padding:15px 30px 18px;text-decoration:none;align-items:center;word-break:break-word}.posts a p{flex:1;margin:0}.posts a time{background-image:linear-gradient(0deg,var(--bgmod),100%,transparent);border-radius:2px;font-size:.85rem;margin-left:1.8rem;padding:0 9px 2px}@media(max-width:768px){.posts a{flex-direction:column-reverse;align-items:unset}.posts a time{margin:.3rem 0}}.katex-display{border:1px dashed var(--alt-fg);overflow-x:auto;padding:15px 30px}.katex-display:focus{border:1px solid #222}img{display:block;max-width:100%;max-height:75vh;outline:3px solid transparent;transition:border-color .3s ease,outline-color .3s ease,filter .3s ease}img.cover{border:1px solid var(--fg);object-fit:cover;width:100%}article p>img{display:block;margin:2rem auto;max-width:100%}figure{margin:1.8rem auto}figure img{display:block;margin:0 auto;max-width:90%}figure figcaption{font-size:.85rem;text-align:center;margin:.75rem;line-height:1.5rem}video{display:block;max-width:91%;max-height:75vh;outline:3px solid transparent;transition:border-color .3s ease,outline-color .3s ease}video:focus,video:hover{border-color:var(--accent);outline-color:var(--accent)}video.gifoid{margin:3rem auto;max-width:90%}audio{display:block;width:90%}img.border,video.border{border:1px solid var(--fg)}img.borderless,video.borderless{border:0}.toc{background:var(--alt-bg);color:var(--dtl);transition:background-color .3s ease,border .3s ease,linear-gradient .3s ease}.toc summary{background:var(--accent);border:1px solid rgba(0,0,0,.3);border-radius:2px;outline-offset:2px;padding:15px 30px 18.5px;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -3px 0 rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress);transition:color .3s ease,opacity .2s ease,outline-color .3s ease,padding .2s ease}.toc summary:hover{opacity:.75}.toc[open] summary{border-radius:2px 2px 0 0;box-shadow:inset 0 1px 0 rgba(255,255,255,.2);padding:15px 30px}.toc[open] summary~*{animation:smoothReveal .3s ease-in-out}.toc nav#TableOfContents{border-style:solid;border-color:rgba(0,0,0,.3);border-width:0 1px 1px;border-radius:0 0 2px 2px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.3);padding:6px 15px 15px 9px}.toc nav#TableOfContents li:first-of-type{margin-top:.3rem}.toc nav#TableOfContents ul li:not(:last-of-type),.toc nav#TableOfContents ul li ul li:first-of-type,.toc nav#TableOfContents ul li ol li:first-of-type,.toc nav#TableOfContents ol li:not(:last-of-type),.toc nav#TableOfContents ol li ul li:first-of-type,.toc nav#TableOfContents ol li ol li:first-of-type{margin-bottom:.3rem}#TableOfContents,.footnotes ol,article>ul,article>ol{line-height:1.5rem}#TableOfContents ul,.footnotes ol{padding-left:24px}article>ul,article>ul ul,article>ol,article>ol ol{padding:0 24px}#TableOfContents ul li:before,article>ul li:before{content:'';margin-right:12px;background:var(--fg);border-radius:2px;width:18px;height:18px;display:inline-block;margin-bottom:-3px}@keyframes smoothReveal{0%{opacity:0}100%{opacity:1}}.btn,.footnote-backref,input[type=submit]{background:var(--accent);border:1px solid rgba(0,0,0,.3);border-radius:2px;color:var(--dtl);text-decoration:none;transition:background-color .3s ease,color .3s ease,opacity .2s ease-in-out,outline-color .3s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -3px 0 rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress)}.btn:hover,.footnote-backref:hover,input[type=submit]:hover{opacity:.75}button,input[type=color],input[type=submit],summary{cursor:pointer}.category a{font-weight:700}.terms{display:flex;flex-wrap:wrap;padding:0}.terms a{display:flex;flex:1;align-items:center;margin:0 9px 9px 0;padding:7.5px 18px 10.5px;word-break:keep-all}.terms a span{background-image:linear-gradient(0deg,var(--bgmod),100%,transparent);border-radius:2px;margin-left:.45rem;padding:0 6px 1px;font-size:.85rem}.pagination{font-family:open sans,sans-serif;font-weight:700;text-align:center;margin:3rem auto 1rem;display:flex;flex-wrap:wrap;justify-content:center}.pagination li{display:inline-block;transition:background .2s ease-in-out,border .2s ease-in-out}.pagination li a,.pagination li.current p{display:block;margin:0 9px 9px 0;padding:7.5px 12px 10.5px;width:21px}.pagination li a{color:var(--dtl)}.pagination li.current p{background:var(--alt-bg);border:1px solid rgba(0,0,0,.45);border-radius:2px;color:var(--alt-fg);line-height:inherit;user-select:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -3px 0 rgba(0,0,0,.3);text-shadow:0 1px 0 var(--lpress),1px 0 0 var(--lpress)}.pagination svg{display:inline-block;fill:currentColor;width:18px;height:18px;margin:auto auto -2px}.label-form{margin-top:1rem;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.input-text{background:var(--input-bg);border:1px solid var(--input-bd);color:var(--input-fg);font-family:open sans,sans-serif;font-size:.9rem;line-height:1.5rem;transition:background-color .3s ease,border .3s ease,outline-color .2s ease-in-out;outline:2px solid transparent}.input-text:focus{outline-color:var(--accent)}.search-box form{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch}.search-box label{flex-basis:100%;line-height:2rem}.search-box input[name=q]{padding:6px 12px;flex:1;border-radius:2px 0 0 2px}.search-box button{border-radius:0 2px 2px 0;padding:6px 30px;outline-offset:2px}.search-box button svg{width:15px;height:15px;fill:currentColor;stroke:var(--lpress);stroke-width:9px}#search-info{margin:1rem 0 2rem}#search-info+ul{margin:0 0 6rem}.social{display:flex;flex-wrap:wrap}.social a{display:flex;flex:1;align-items:center;margin:0 9px 9px 0;min-width:150px;padding:15px 21px;text-align:center}.social a svg{fill:currentColor;stroke:var(--lpress);stroke-width:9px;width:36px;height:36px}.social a p{flex:1;margin:0 12px;font-size:.75rem;font-weight:700;text-transform:uppercase;line-height:1rem}.social a:hover{opacity:.75}#contact{margin:1.5rem 0}#contact label{display:block;line-height:1.8rem}#contact input[name=name],#contact input[name=_replyto],#contact input[name=_subject],#contact select,#contact textarea{display:block;margin:3px 0;max-width:100%}#contact input[name=name],#contact input[name=_replyto],#contact input[name=_subject]{min-width:240px;padding:6px 12px}#contact select{min-width:210px;padding:6px}#contact textarea{padding:9px 15px;width:90%;height:auto}#contact input[type=submit]{font-size:.75rem;text-transform:uppercase;letter-spacing:.05rem;margin-top:1.2rem;padding:12px 42px 15px;outline-offset:2px;transition:background-color .3s ease,border .2s ease-in-out,color .3s ease,outline-color .2s ease-in-out,opacity .2s ease-in-out}#contact input[type=submit]::-moz-focus-inner{border:0}@supports(-moz-appearance:meterbar){#contact select{color:var(--fg);color:transparent;text-shadow:0 0 0 var(--fg)}}.error{color:var(--err)}mark{background:var(--accent);filter:contrast(1.2)invert(1)}abbr{text-decoration-style:solid}blockquote{background:var(--alt-bg);border-style:solid;border-width:1px 1px 1px 12px;color:var(--alt-fg);margin:var(--blk-mg);padding:0 30px}blockquote p{margin:1.2rem 0}kbd{background-color:#eee;border:1px solid #b4b4b4;border-radius:2px;box-shadow:0 1px 1px rgba(0,0,0,.2),0 2px 0 0 rgba(255,255,255,.7)inset;color:#333;display:inline-block;font-size:.85em;font-weight:700;line-height:1;padding:2px;white-space:nowrap}kbd>kbd{margin:0 2px}main{margin:90px auto;padding:0 15px;max-width:660px}article{margin:90px auto 120px}html{--blk-mg: 1.05rem .75rem;--il-pad: 0 12px;--hl-pad: 15.75px 18px}@media(min-width:769px){html{--blk-mg: 2.1rem 1.5rem;--il-pad: 6px 24px;--hl-pad: 21px 24px}}@media(min-width:769px){a.anchor:not(:focus){opacity:0}h6>a:focus+a.anchor,h6:hover>a.anchor,h5>a:focus+a.anchor,h5:hover>a.anchor,h4>a:focus+a.anchor,h4:hover>a.anchor,h3>a:focus+a.anchor,h3:hover>a.anchor,h2>a:focus+a.anchor,h2:hover>a.anchor{opacity:1}}.noscript{font-weight:700}blockquote.twitter-tweet{border-color:#1da0f1;padding:0 30px 27px}div.__h_instagram{margin:2rem auto}div.__h_instagram a:nth-child(2){display:block;margin:.6rem 0;line-height:0}div.__h_instagram a:nth-child(2):hover{opacity:.75}div.__h_instagram img{border:1px solid var(--fg);max-width:100%;object-fit:cover}h2#vimeo-simple-shortcode{margin-bottom:1rem}div.s_video_simple{margin:0 auto;width:96%}div.s_video_simple a{border:1px solid var(--fg);display:block;margin:6px;line-height:0}div.s_video_simple a:hover{opacity:.75}section.youtube{border:1px solid var(--fg);margin:2rem 0;padding-bottom:56.25%;position:relative;overflow:hidden;height:0}section.info img{border:3px solid var(--fg);border-radius:9px} \ No newline at end of file
diff --git a/exampleSite/resources/_gen/assets/scss/scss/main.scss_694b6a5caed62875bf9278dff98b7f5e.json b/exampleSite/resources/_gen/assets/scss/scss/main.scss_694b6a5caed62875bf9278dff98b7f5e.json
index 5ed7172..88c2058 100644
--- a/exampleSite/resources/_gen/assets/scss/scss/main.scss_694b6a5caed62875bf9278dff98b7f5e.json
+++ b/exampleSite/resources/_gen/assets/scss/scss/main.scss_694b6a5caed62875bf9278dff98b7f5e.json
@@ -1 +1 @@
-{"Target":"css/main.min.71ec6497f1b85b2d326652df1b26c256ddd753623dddc6085d1ee67a28e99bcd14c841b6188c1f914b1eb6c7f3a0073ce19cc641c5259231268638ec10333727.css","MediaType":"text/css","Data":{"Integrity":"sha512-cexkl/G4Wy0yZlLfGybCVt3XU2I93cYIXR7meijpm80UyEG2GIwfkUsetsfzoAc84ZzGQcUlkjEmhjjsEDM3Jw=="}} \ No newline at end of file
+{"Target":"css/main.min.c3fb07cca1fdf0ad2edbf9702ede18624838eefc9cb990e2948e17373edbbe427502181b1282820a0b8e10f19698ec8054744df1d20af6a3558e9471abff4db9.css","MediaType":"text/css","Data":{"Integrity":"sha512-w/sHzKH98K0u2/lwLt4YYkg47vycuZDilI4XNz7bvkJ1AhgbEoKCCguOEPGWmOyAVHRN8dIK9qNVjpRxq/9NuQ=="}} \ No newline at end of file
diff --git a/i18n/en.toml b/i18n/en.toml
index f4acab3..6eded49 100644
--- a/i18n/en.toml
+++ b/i18n/en.toml
@@ -1,50 +1,49 @@
-[main_menu]
+# Header & Footer
+
+[ariaMainMenu]
other = "Main menu."
-[change_accent]
+[changeAccent]
other = "Change accent color."
-[change_mode]
+[changeMode]
other = "Change to light/dark mode."
[noscript]
other = "Unable to execute JavaScript. Some features were disabled."
-[also_available]
-other = "Also available in"
-[anchor_for]
-other = "Anchor for"
+# Pages
-[missing_codec]
-other = "Your browser doesn't support HTML5 audio/video."
+[anchorFor]
+other = "Anchor for"
-[table_of_contents]
+[tableOfContents]
other = "Contents"
+[publishedOn]
+other = "Published on"
+
+[lastUpdatedOn]
+other = "Last updated on"
+
+
+# Footnotes
+
[references]
other = "References"
-[see_footnotes]
+[seeFootnotes]
other = "See footnotes."
[return]
other = "Return"
-[return_to_text]
+[returnToText]
other = "Return to text."
-[box_containing_code]
-other = "Box containing code sample."
-
-[box_containing_expression]
-other = "Box containing expression."
-
-[published_on]
-other = "Published on"
-[last_updated_on]
-other = "Last updated on"
+# Contact form
[name]
other = "Name"
@@ -58,21 +57,39 @@ other = "Message"
[submit]
other = "Submit"
-[go_to_pag]
+
+# List (layout)
+
+[tag]
+other = "Tag"
+
+[tags]
+other = "Tags"
+
+[categories]
+other = "Categories"
+
+[ariaPagination]
+other = "Pagination navigation."
+
+[ariaGoToPage]
other = "Go to page {{ .PageNumber }}."
-[go_to_first]
+[ariaGoToFirst]
other = "Go to first page."
-[go_to_next]
+[ariaGoToNext]
other = "Go to next page."
-[go_to_prev]
+[ariaGoToPrev]
other = "Go to previous page."
-[go_to_last]
+[ariaGoToLast]
other = "Go to last page."
+
+# List (meta tags)
+
[page]
other = "page"
@@ -82,53 +99,65 @@ other = "of"
[posts]
other = "Posts"
-[and]
-other = " and "
-
-[posts_under_tag]
+[postsUnderTag]
other = "Posts under the \"{{ .Title }}\" tag."
-[posts_under_category]
+[postsUnderCategory]
other = "Posts under the \"{{ .Title }}\" category."
-[page_containing]
+[pageContaining]
other = "Page containing"
-[tag]
-other = "Tag"
-[tags]
-other = "Tags"
+# Search form
-[categories]
-other = "Categories"
-
-[search_label]
+[searchLabel]
other = "Search"
-[search_title]
-other = "Results"
+[searchAriaButton]
+other = "Run search."
+
+[searchInput]
+other = "Search field. Accepts from {{ .minLength }} to {{ .maxLength }} characters."
+
+
+# Search results page
-[search_no_page_found]
+[searchNoPageFound]
other = "No pages found."
-[search_results_for]
+[searchResultsFor]
other = "Results for"
-[search_one_page_found]
+[searchOnePageFound]
other = "One page found"
-[search_pages_found]
+[searchPagesFound]
other = "pages found"
-[search_awaiting_search]
+[searchAwaitingSearch]
other = "Awaiting search."
-[search_too_many]
+[searchTooMany]
other = "Too many pages found. Please try to repeat the search using another term."
-[search_button_aria_label]
-other = "Run search."
-[search_input_title]
-other = "Search field. Accepts from {{ .minLength }} to {{ .maxLength }} characters." \ No newline at end of file
+# Translations
+
+[alsoAvailable]
+other = "Also available in"
+
+[and]
+other = " and "
+
+
+# Misc
+
+[missingCodec]
+other = "Your browser doesn't support HTML5 audio/video."
+
+[boxContainingCode]
+other = "Box containing code sample."
+
+[boxContainingExpression]
+other = "Box containing expression."
diff --git a/i18n/pt.toml b/i18n/pt.toml
index 473a80d..9cd8b9c 100644
--- a/i18n/pt.toml
+++ b/i18n/pt.toml
@@ -1,50 +1,49 @@
-[main_menu]
+# Header & Footer
+
+[ariaMainMenu]
other = "Menu principal."
-[change_accent]
+[changeAccent]
other = "Mudar cor de acentuação."
-[change_mode]
+[changeMode]
other = "Mudar para o modo claro/escuro."
[noscript]
other = "Não foi possível executar o JavaScript. Alguns recursos foram desativados."
-[also_available]
-other = "Também disponível em"
-[anchor_for]
-other = "Âncora para"
+# Pages
-[missing_codec]
-other = "Seu navegador não suporta áudio/vídeo em HTML5."
+[anchorFor]
+other = "Âncora para"
-[table_of_contents]
+[tableOfContents]
other = "Conteúdo"
+[publishedOn]
+other = "Publicado em"
+
+[lastUpdatedOn]
+other = "Última atualização em"
+
+
+# Footnotes
+
[references]
other = "Referências"
-[see_footnotes]
+[seeFootnotes]
other = "Ver nota no rodapé."
[return]
other = "Retornar"
-[return_to_text]
+[returnToText]
other = "Retornar ao texto."
-[box_containing_code]
-other = "Caixa contendo amostra de código."
-
-[box_containing_expression]
-other = "Caixa contendo expressão."
-
-[published_on]
-other = "Publicado em"
-[last_updated_on]
-other = "Última atualização em"
+# Contact form
[name]
other = "Nome"
@@ -58,21 +57,39 @@ other = "Mensagem"
[submit]
other = "Enviar"
-[go_to_pag]
+
+# List (layout)
+
+[tag]
+other = "Marcador"
+
+[tags]
+other = "Marcadores"
+
+[categories]
+other = "Categorias"
+
+[ariaPagination]
+other = "Navegação de paginação."
+
+[ariaGoToPage]
other = "Ir para a página {{ .PageNumber }}."
-[go_to_first]
+[ariaGoToFirst]
other = "Ir para a primeira página."
-[go_to_next]
+[ariaGoToNext]
other = "Ir para a próxima página."
-[go_to_prev]
+[ariaGoToPrev]
other = "Ir para a página anterior."
-[go_to_last]
+[ariaGoToLast]
other = "Ir para a última página."
+
+# List (meta tags)
+
[page]
other = "página"
@@ -82,53 +99,65 @@ other = "de"
[posts]
other = "Postagens"
-[and]
-other = " e "
-
-[posts_under_tag]
+[postsUnderTag]
other = "Postagens sob o marcador \"{{ .Title }}\"."
-[posts_under_category]
+[postsUnderCategory]
other = "Postagens sob a categoria \"{{ .Title }}\"."
-[page_containing]
+[pageContaining]
other = "Página contendo"
-[tag]
-other = "Marcador"
-[tags]
-other = "Marcadores"
+# Search form
-[categories]
-other = "Categorias"
-
-[search_label]
+[searchLabel]
other = "Busca"
-[search_title]
-other = "Resultados"
+[searchAriaButton]
+other = "Executar busca."
+
+[searchInput]
+other = "Campo de busca. Aceita de {{ .minLength }} até {{ .maxLength }} caracteres."
+
+
+# Search results page
-[search_no_page_found]
+[searchNoPageFound]
other = "Nenhuma página encontrada."
-[search_results_for]
+[searchResultsFor]
other = "Resultados para"
-[search_one_page_found]
+[searchOnePageFound]
other = "Uma página encontrada"
-[search_pages_found]
+[searchPagesFound]
other = "páginas encontradas"
-[search_awaiting_search]
+[searchAwaitingSearch]
other = "Aguardando pesquisa."
-[search_too_many]
+[searchTooMany]
other = "Muitas páginas encontradas. Por favor, tente repetir a busca usando outro termo."
-[search_button_aria_label]
-other = "Executar busca."
-[search_input_title]
-other = "Campo de busca. Aceita de {{ .minLength }} até {{ .maxLength }} caracteres." \ No newline at end of file
+# Translations
+
+[alsoAvailable]
+other = "Também disponível em"
+
+[and]
+other = " e "
+
+
+# Misc
+
+[missingCodec]
+other = "Seu navegador não suporta áudio/vídeo em HTML5."
+
+[boxContainingCode]
+other = "Caixa contendo amostra de código."
+
+[boxContainingExpression]
+other = "Caixa contendo expressão."
diff --git a/layouts/_default/_markup/render-heading.html b/layouts/_default/_markup/render-heading.html
index 768e3f3..2e2d651 100644
--- a/layouts/_default/_markup/render-heading.html
+++ b/layouts/_default/_markup/render-heading.html
@@ -11,7 +11,7 @@
{{ $anchoredLinkLevels := seq 2 6 }}
{{ if in $anchoredLinkLevels .Level }}
- <h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ .Text | safeHTML }} {{ printf "<a class=\"anchor\" href=\"#%s\" title='%s \"%s\".'><svg aria-hidden=\"true\"><use xlink:href=\"#hashtag\"/></svg></a>" (.Anchor | safeURL) (T "anchor_for") (.Text | plainify | safeHTML) | safeHTML }}</h{{ .Level }}>
+ <h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ .Text | safeHTML }} {{ printf "<a class=\"anchor\" href=\"#%s\" title='%s \"%s\".'><svg aria-hidden=\"true\"><use xlink:href=\"#hashtag\"/></svg></a>" (.Anchor | safeURL) (T "anchorFor") (.Text | plainify | safeHTML) | safeHTML }}</h{{ .Level }}>
{{ else }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ .Text | safeHTML }}</h{{ .Level }}>
{{ end }}
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 3bad352..f0f1679 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -44,16 +44,10 @@
{{ end }}
{{ if .HasShortcode "social" }}
-
- <!-- Reduce repetition... -->
- {{ $centralizedOnPage := $.Page.Params.Social.Centralized }}
- {{ $centralizedOnSite := $.Site.Params.Social.Centralized }}
- {{ $decentralizedOnPage := $.Page.Params.Social.Decentralized }}
- {{ $decentralizedOnSite := $.Site.Params.Social.Decentralized }}
-
+
<!-- Get info about social platform and icon id from "social.json" -->
{{ range .Site.Data.social }}
- {{ if and (or (index (or $centralizedOnPage $centralizedOnSite) .entry) (index (or $decentralizedOnPage $decentralizedOnSite) .entry)) .icon }}
+ {{ if and (or (index $.Site.Params.Social.Centralized .entry) (index $.Site.Params.Social.Decentralized .entry)) .icon }}
{{ $iconId := .icon.id }}
{{ $svgEssential := `(?:<svg (?:.*?)(viewBox="(?:.*?)")(?:.*?)>((?:.|\n)+?)(?:</svg>))` }}
{{ $asSymbol := printf `<symbol ${1} id="%s">${2}</symbol>` $iconId }}
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
index b1281cf..d0aab9c 100644
--- a/layouts/_default/list.html
+++ b/layouts/_default/list.html
@@ -37,11 +37,7 @@
{{ partial "pagination" . }}
- {{ if and (gt (len .Site.Taxonomies.tags) 1) (ne .Section "categories") }}
- <hr>
- <h2>{{ T "tags" }}</h2>
- {{ partial "tags" . }}
- {{ end }}
+ {{ partialCached "tag-list" . }}
{{ end }}
diff --git a/layouts/_default/search.html b/layouts/_default/search.html
index d8f954d..d9f0aed 100644
--- a/layouts/_default/search.html
+++ b/layouts/_default/search.html
@@ -4,7 +4,8 @@
{{ partial "search-form" . }}
- <h1>{{ T "search_title" }}</h1>
+ <h1>{{ .Title }}</h1>
+
<section id="search-info">
<!-- Info -->
</section>
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index b0fddf4..2b0a617 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -5,19 +5,19 @@
<header>
<h1>{{ .Title }}</h1>
+
+ {{ range .Data.Terms }}
+ {{ .Name }}
+ {{ end }}
{{ if or .Params.categories .Params.tags }}
<section class="terms">
<ul>
- {{- with .Params.categories -}}
- {{- range sort . -}}
- <li class="category"><a class="btn" href="/categories/{{ . | urlize }}">{{ . }}</a></li>
- {{- end -}}
+ {{- range sort (.GetTerms "categories") ".LinkTitle" "asc" -}}
+ <li class="category"><a class="btn" href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
{{- end -}}
- {{- with .Params.tags -}}
- {{- range sort . -}}
- <li><a class="btn" href="/tags/{{ . | urlize }}">{{ . }}</a></li>
- {{- end -}}
+ {{- range sort (.GetTerms "tags") ".LinkTitle" "asc" -}}
+ <li><a class="btn" href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
{{- end -}}
</ul>
</section>
@@ -26,9 +26,9 @@
{{ if not .Date.IsZero }}
<p>
{{ if eq .PublishDate .Lastmod }}
- {{ T "published_on" }} <time datetime="{{ .PublishDate.Format "2006-01-02" }}">{{ .PublishDate.Format "2006-01-02" }}</time>
+ {{ T "publishedOn" }} <time datetime="{{ .PublishDate.Format "2006-01-02" }}">{{ .PublishDate.Format "2006-01-02" }}</time>
{{ else }}
- {{ T "last_updated_on" }} <time datetime="{{ .Lastmod.Format "2006-01-02" }}">{{ .Lastmod.Format "2006-01-02" }}</time>
+ {{ T "lastUpdatedOn" }} <time datetime="{{ .Lastmod.Format "2006-01-02" }}">{{ .Lastmod.Format "2006-01-02" }}</time>
{{ end }}
</p>
{{ end }}
@@ -41,7 +41,7 @@
{{ if .Params.toc }}
<details class="toc" open>
- <summary class="outline-dashed">{{ T "table_of_contents" }}</summary>
+ <summary class="outline-dashed">{{ T "tableOfContents" }}</summary>
{{ .Page.TableOfContents }}
</details>
{{ end }}
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
index f5c934a..84c2bc3 100644
--- a/layouts/partials/footer.html
+++ b/layouts/partials/footer.html
@@ -23,14 +23,14 @@
{{ $processedKeys = $processedKeys | append $currentKey }}
{{ end }}
- <p>{{ T "also_available" }}: {{ delimit $processedKeys ", " (T "and") }}.</p>
+ <p>{{ T "alsoAvailable" }}: {{ delimit $processedKeys ", " (T "and") }}.</p>
{{ end }}
<!-- Footer button and color picker -->
<section class="req-js">
- <button class="outline-dashed" title="{{ T "change_mode" }}"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><use xlink:href="#adjust"/></svg></button><input class="outline-dashed" type="color" list="presets" value="{{ if .Site.Params.Style.isDark }}{{ $darkAccent }}{{ else }}{{ $lightAccent }}{{ end }}" title="{{ T "change_accent" }}" aria-label="{{ T "change_accent" }}"><datalist id="presets"><option value="{{ $lightAccent }}"><option value="{{ $darkAccent }}"><!-- Extra colors -->{{- range .Site.Params.style.presets -}}<option value="{{ . }}">{{ end }}</datalist>
+ <button class="outline-dashed" title="{{ T "changeMode" }}"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><use xlink:href="#adjust"/></svg></button><input class="outline-dashed" type="color" list="presets" value="{{ if .Site.Params.Style.isDark }}{{ $darkAccent }}{{ else }}{{ $lightAccent }}{{ end }}" title="{{ T "changeAccent" }}" aria-label="{{ T "changeAccent" }}"><datalist id="presets"><option value="{{ $lightAccent }}"><option value="{{ $darkAccent }}"><!-- Extra colors -->{{- range .Site.Params.style.presets -}}<option value="{{ . }}">{{ end }}</datalist>
</section>
<!-- noscript notice -->
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index fe7f30c..c2753ba 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -55,11 +55,11 @@
{{ if .IsHome }}
{{ $currentDesc = (.Site.Params.description | emojify) }}
{{ else if and (ne .Kind "taxonomyTerm") (eq .Type "tags") (not .Params.description) }}
- {{ $currentDesc = (T "posts_under_tag" .) }}
+ {{ $currentDesc = (T "postsUnderTag" .) }}
{{ else if and (ne .Kind "taxonomyTerm") (eq .Type "categories") (not .Params.description) }}
- {{ $currentDesc = (T "posts_under_category" .) }}
+ {{ $currentDesc = (T "postsUnderCategory" .) }}
{{ else if eq .Kind "taxonomyTerm" }}
- {{ $currentDesc = printf "%s %s." (T "page_containing") ($currentTitle | lower) }}
+ {{ $currentDesc = printf "%s %s." (T "pageContaining") ($currentTitle | lower) }}
{{ else if (eq .Kind "404") }}
{{ $currentDesc = .Site.Params.notFound.description | default .Site.Data.default.notFound.description }}
{{ end }}
@@ -196,7 +196,7 @@
<meta property="article:author" content="{{ . }}">
{{ end }}
- {{ with or .Page.Params.Social.Centralized .Site.Params.Social.Centralized.twitter }}
+ {{ with .Site.Params.Social.Centralized.twitter }}
<meta name="twitter:creator" content="{{ printf "@%s" (index . 0) }}">
{{ end}}
@@ -204,7 +204,7 @@
<meta property="og:type" content="website">
{{ end -}}
-{{ with or .Page.Params.Social.Centralized .Site.Params.Social.Centralized.twitter }}
+{{ with .Site.Params.Social.Centralized.twitter }}
<meta name="twitter:site" content="{{ printf "@%s" (index . 0) }}">
{{ end }}
@@ -237,10 +237,8 @@
<!-- Reduce repetition... -->
-{{ $centralizedOnPage := .Page.Params.Social.Centralized }}
-{{ $centralizedOnSite := .Site.Params.Social.Centralized }}
-{{ $decentralizedOnPage := .Page.Params.Social.Decentralized }}
-{{ $decentralizedOnSite := .Site.Params.Social.Decentralized }}
+{{ $centralized := .Site.Params.Social.Centralized }}
+{{ $decentralized := .Site.Params.Social.Decentralized }}
<!-- Generate array with social profiles -->
{{ $sameAs := slice }}
@@ -252,14 +250,14 @@
{{ if not .decentralized }}
- {{ with (index (or $centralizedOnPage $centralizedOnSite) $currentEntry) }}
+ {{ with (index $centralized $currentEntry) }}
{{ $sameAs = $sameAs | append (printf "%s%s" $currentBase (index . 0)) }}
{{ end }}
{{ else }}
- {{ if (index (or $decentralizedOnPage $decentralizedOnSite) $currentEntry) }}
- {{ range (index (or $decentralizedOnPage $decentralizedOnSite) $currentEntry) }}
+ {{ if (index $decentralized $currentEntry) }}
+ {{ range (index $decentralized $currentEntry) }}
{{ $sameAs = $sameAs | append (index . 0) }}
{{ end }}
{{ end }}
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
index 33a9c22..83e9cfc 100644
--- a/layouts/partials/header.html
+++ b/layouts/partials/header.html
@@ -8,7 +8,7 @@
<!-- Menu -->
{{ if .Site.Menus.main }}
{{ with .Site.Menus.main }}
- <nav aria-label="{{ T "main_menu" }}">
+ <nav aria-label="{{ T "ariaMainMenu" }}">
<ul>
{{ range . }}
<li>
diff --git a/layouts/partials/pagination.html b/layouts/partials/pagination.html
index c349689..bf9dde4 100644
--- a/layouts/partials/pagination.html
+++ b/layouts/partials/pagination.html
@@ -16,13 +16,13 @@
<!-- If there's more than one page. -->
{{ if gt $pag.TotalPages 1 }}
- <nav>
+ <nav aria-label="{{ T "ariaPagination" }}">
<ul class="pagination">
<!-- First page. -->
{{ if ne $pag.PageNumber 1 }}
<li>
- <a class="btn" href="{{ $pag.First.URL }}" aria-label="{{ T "go_to_first" }}">
+ <a class="btn" href="{{ $pag.First.URL }}" aria-label="{{ T "ariaGoToFirst" }}">
<svg aria-hidden="true">
<use transform="rotate(180) translate(-18 -18)" xlink:href="#angle-double-right"/>
</svg>
@@ -33,7 +33,7 @@
<!-- Previous page. -->
{{ if $pag.HasPrev }}
<li>
- <a class="btn" href="{{ $pag.Prev.URL }}" aria-label="{{ T "go_to_prev" }}">
+ <a class="btn" href="{{ $pag.Prev.URL }}" aria-label="{{ T "ariaGoToPrev" }}">
<svg transform="rotate(180)" aria-hidden="true">
<use xlink:href="#angle-right"/>
</svg>
@@ -92,7 +92,7 @@
{{ if eq . $pag }}
<p>{{ .PageNumber }}</p>
{{ else }}
- <a class="btn" href="{{ .URL }}" aria-label="{{ T "go_to_pag" . }}" >{{ .PageNumber }}</a>
+ <a class="btn" href="{{ .URL }}" aria-label="{{ T "ariaGoToPage" . }}" >{{ .PageNumber }}</a>
{{ end }}
</li>
{{ end }}
@@ -102,7 +102,7 @@
<!-- Next page. -->
{{ if $pag.HasNext }}
<li>
- <a class="btn" href="{{ $pag.Next.URL }}" aria-label="{{ T "go_to_next" }}">
+ <a class="btn" href="{{ $pag.Next.URL }}" aria-label="{{ T "ariaGoToNext" }}">
<svg aria-hidden="true">
<use xlink:href="#angle-right"/>
</svg>
@@ -113,7 +113,7 @@
<!-- Last page. -->
{{ if ne $pag.PageNumber $pag.TotalPages }}
<li>
- <a class="btn" href="{{ $pag.Last.URL }}" aria-label="{{ T "go_to_last" }}">
+ <a class="btn" href="{{ $pag.Last.URL }}" aria-label="{{ T "ariaGoToLast" }}">
<svg aria-hidden="true">
<use xlink:href="#angle-double-right"/>
</svg>
diff --git a/layouts/partials/processed-content.html b/layouts/partials/processed-content.html
index a19f1e3..7a9e66a 100644
--- a/layouts/partials/processed-content.html
+++ b/layouts/partials/processed-content.html
@@ -18,12 +18,12 @@
<!-- i18n -->
{{ $references := (printf "${1}<h2>%s</h2>" (T "references")) }}
-{{ $seeFootnotes := (printf "${1} title=\"%s\"" (T "see_footnotes")) }}
-{{ $returnToText := (printf "${1} title=\"%s\"" (T "return_to_text")) }}
+{{ $seeFootnotes := (printf "${1} title=\"%s\"" (T "seeFootnotes")) }}
+{{ $returnToText := (printf "${1} title=\"%s\"" (T "returnToText")) }}
<!-- More i18n and also a11y, kind of -->
-{{ $highlightCodeBlockLabel := (printf "${1} aria-label=\"%s\" tabindex=0${2}" (T "box_containing_code")) }}
-{{ $indentedCodeBlockLabel := (printf "${1} aria-label=\"%s\" tabindex=0>${2}" (T "box_containing_code")) }}
+{{ $highlightCodeBlockLabel := (printf "${1} aria-label=\"%s\" tabindex=0${2}" (T "boxContainingCode")) }}
+{{ $indentedCodeBlockLabel := (printf "${1} aria-label=\"%s\" tabindex=0>${2}" (T "boxContainingCode")) }}
<!-- Wrap tables to make use of overflow-x property (plus the tabindex thing) -->
{{ $improvedTable := printf "<section class=scroll tabindex=0> ${1} </section>" }}
diff --git a/layouts/partials/search-form.html b/layouts/partials/search-form.html
index e109286..142af3b 100644
--- a/layouts/partials/search-form.html
+++ b/layouts/partials/search-form.html
@@ -13,7 +13,7 @@
{{ else }}
<form role="search" action="{{ $searchPage.RelPermalink }}">
{{ end }}
- <label class="label-form" for="search-input">{{ T "search_label" }}</label><input class="input-text" type="search" id="search-input" title='{{ T "search_input_title" (dict "minLength" $minLength "maxLength" $maxLength) }}' name="q" {{ with .Site.Params.Search.placeholder }}placeholder="{{ . }}"{{ end }} minlength="{{ $minLength }}" maxlength="{{ $maxLength }}" pattern="^[\S].*" required><button aria-label="{{ T "search_button_aria_label" }}" class="btn outline-dashed" type="submit"><svg aria-hidden="true"><use xlink:href="#search"/></svg></button>
+ <label class="label-form" for="search-input">{{ T "searchLabel" }}</label><input class="input-text" type="search" id="search-input" title='{{ T "searchInput" (dict "minLength" $minLength "maxLength" $maxLength) }}' name="q" {{ with .Site.Params.Search.placeholder }}placeholder="{{ . }}"{{ end }} minlength="{{ $minLength }}" maxlength="{{ $maxLength }}" pattern="^[\S].*" required><button aria-label="{{ T "searchAriaButton" }}" class="btn outline-dashed" type="submit"><svg aria-hidden="true"><use xlink:href="#search"/></svg></button>
</form>
<hr>
</section>
diff --git a/layouts/partials/tag-list.html b/layouts/partials/tag-list.html
new file mode 100644
index 0000000..6bbcfcf
--- /dev/null
+++ b/layouts/partials/tag-list.html
@@ -0,0 +1,10 @@
+{{ if and (gt (len .Site.Taxonomies.tags) 1) (ne .Section "categories") }}
+ <hr>
+ <h2>{{ T "tags" }}</h2>
+
+ <ul class="terms">
+ {{ range .Site.Taxonomies.tags }}
+ <li><a class="btn" href="{{ .Page.RelPermalink }}" title="{{ .Page.Title }} ({{ .Count }})">{{ .Page.Title }}<span>{{ .Count }}</span></a></li>
+ {{ end }}
+ </ul>
+{{ end }}
diff --git a/layouts/partials/tags.html b/layouts/partials/tags.html
deleted file mode 100644
index 600b1fb..0000000
--- a/layouts/partials/tags.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<ul class="terms">
- {{ range .Site.Taxonomies.tags }}
- <li><a class="btn" href="{{ .Page.RelPermalink }}" aria-label="{{ .Page.Title }} ({{ .Count }})">{{ .Page.Title }} <span>{{ .Count }}</span></a></li>
- {{ end }}
-</ul>
diff --git a/layouts/shortcodes/contact-form.html b/layouts/shortcodes/contact-form.html
index 5fcb922..520f34e 100644
--- a/layouts/shortcodes/contact-form.html
+++ b/layouts/shortcodes/contact-form.html
@@ -1,18 +1,18 @@
{{ $autoComplete := "off" }}
-{{ if or .Page.Params.Contact.autoComplete .Site.Params.Contact.autoComplete }}
+{{ if .Site.Params.Contact.autoComplete }}
{{ $autoComplete = "on" }}
{{ end }}
-<form id="contact" action="https://formspree.io/{{ or .Page.Params.Contact.formspreeFormId .Site.Params.Contact.formspreeFormId }}" method="post" accept-charset="utf-8">
+<form id="contact" {{ with .Site.Params.Contact.formspreeFormId }}action="https://formspree.io/{{ . }}"{{ end }} method="post" accept-charset="utf-8">
<label class="label-form">{{ T "name" }}
- <input aria-label="{{ T "name" }}" class="input-text" type="text" name="name" minlength="3" {{ with or .Page.Params.Contact.Placeholder.name .Site.Params.Contact.Placeholder.name }}placeholder="{{ . }}"{{ end }} autocomplete="{{ $autoComplete }}" required>
+ <input aria-label="{{ T "name" }}" class="input-text" type="text" name="name" minlength="3" {{ with .Site.Params.Contact.Placeholder.name }}placeholder="{{ . }}"{{ end }} autocomplete="{{ $autoComplete }}" required>
</label>
- <label class="label-form">Email<input aria-label="Email" class="input-text" type="email" name="_replyto" {{ with or .Page.Params.Contact.Placeholder.email .Site.Params.Contact.Placeholder.email }}placeholder="{{ . }}"{{ end }} autocomplete="{{ $autoComplete }}" required></label>
+ <label class="label-form">Email<input aria-label="Email" class="input-text" type="email" name="_replyto" {{ with .Site.Params.Contact.Placeholder.email }}placeholder="{{ . }}"{{ end }} autocomplete="{{ $autoComplete }}" required></label>
- {{ with or .Page.Params.Contact.subject .Site.Params.Contact.subject }}
+ {{ with .Site.Params.Contact.subject }}
{{ if gt (len .) 1 }}
<label class="label-form">{{ T "subject" }}
<select aria-label="{{ T "subject" }}" class="input-text" name="_subject">
@@ -28,7 +28,7 @@
{{ end }}
{{ else }}
- {{ with or .Page.Params.Contact.Placeholder.subject .Site.Params.Contact.Placeholder.subject }}
+ {{ with .Site.Params.Contact.Placeholder.subject }}
<label class="label-form">{{ T "subject" }}
<input aria-label="{{ T "subject" }}" class="input-text" type="text" name="_subject" minlength="6" placeholder="{{ . }}" autocomplete="{{ $autoComplete }}" required>
</label>
@@ -37,7 +37,7 @@
{{ end }}
- <label class="label-form">{{ T "message" }}<textarea id="message" aria-label="{{ T "message" }}" class="input-text" rows="6" name="message" {{ with or .Page.Params.Contact.messageMinLength .Site.Params.Contact.messageMinLength | default 140 }}minlength="{{ . }}"{{ end }} {{ with or .Page.Params.Contact.Placeholder.message .Site.Params.Contact.Placeholder.message }}placeholder="{{ . }}"{{ end }} required></textarea></label>
+ <label class="label-form">{{ T "message" }}<textarea id="message" aria-label="{{ T "message" }}" class="input-text" rows="6" name="message" {{ with .Site.Params.Contact.messageMinLength | default 140 }}minlength="{{ . }}"{{ end }} {{ with .Site.Params.Contact.Placeholder.message }}placeholder="{{ . }}"{{ end }} required></textarea></label>
<input type="text" name="_gotcha" style="display:none">
diff --git a/layouts/shortcodes/gifoid.html b/layouts/shortcodes/gifoid.html
index 715f20d..48f3fac 100644
--- a/layouts/shortcodes/gifoid.html
+++ b/layouts/shortcodes/gifoid.html
@@ -37,5 +37,5 @@
<video class="gifoid {{ $class }}" autoplay loop muted playsinline {{ with $title }}title="{{ . }}"{{ end }}>
<source src="{{ $filePath }}.mp4" type="video/mp4">
<source src="{{ $filePath }}.webm" type="video/webm">
- <p class="error">{{ T "missing_codec" }}</p>
+ <p class="error">{{ T "missingCodec" }}</p>
</video>
diff --git a/layouts/shortcodes/social.html b/layouts/shortcodes/social.html
index 508ece0..4b11574 100644
--- a/layouts/shortcodes/social.html
+++ b/layouts/shortcodes/social.html
@@ -1,8 +1,6 @@
<!-- Reduce repetition... -->
-{{ $centralizedOnPage := $.Page.Params.Social.Centralized }}
-{{ $centralizedOnSite := $.Site.Params.Social.Centralized }}
-{{ $decentralizedOnPage := $.Page.Params.Social.Decentralized }}
-{{ $decentralizedOnSite := $.Site.Params.Social.Decentralized }}
+{{ $centralized := $.Site.Params.Social.Centralized }}
+{{ $decentralized := $.Site.Params.Social.Decentralized }}
<section class="social">
@@ -15,7 +13,7 @@
{{ if not .decentralized }}
- {{ with (index (or $centralizedOnPage $centralizedOnSite) $currentEntry) }}
+ {{ with (index $centralized $currentEntry) }}
{{ $url := printf "%s%s" $currentBase (index . 0) }}
{{ $label := $currentLabel }}
@@ -36,9 +34,9 @@
{{ else }}
- {{ if (index (or $decentralizedOnPage $decentralizedOnSite) $currentEntry) }}
+ {{ if (index $decentralized $currentEntry) }}
- {{ range (index (or $decentralizedOnPage $decentralizedOnSite) $currentEntry) }}
+ {{ range (index $decentralized $currentEntry) }}
<a class="btn" href="{{ index . 0 }}" rel="me nofollow" title="{{ printf "%s (%s)" (index . 1) $currentLabel }}">
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<use xlink:href="#{{ $currentIcon }}"/>