diff --git a/README.md b/README.md
index d4e0770..8c515c8 100644
--- a/README.md
+++ b/README.md
@@ -27,6 +27,28 @@ git clone https://github.com/kimcc/hugo-theme-noteworthy.git themes/noteworthy
Refer to the [Hugo docs](https://gohugo.io/getting-started/quick-start/) for more information.
+## Image shortcode for large images
+
+To add images using the resize-image shortcode included with this theme, you will need to create a [Post Bundle](https://gohugo.io/content-management/organization/#page-bundles). Create a folder for your post, put your Markdown file and images inside, and rename your Markdown file `index.md`. For example:
+
+```
+my-new-post
+- index.md
+- image1.jpg
+- image2.png
+```
+
+Then, you can add an image within your Markdown file by using the shortcode like thist:
+
+```
+{{< resize-image src="image1.jpg" alt="My first image" >}}
+```
+
+Add captions like this:
+
+```
+{{< resize-image src="image2.png" alt="My second image" caption="My caption" >}}
+```
## Social media accounts
@@ -77,6 +99,17 @@ disqusShortname = ""
googleAnalytics = ""
```
+## Ko-fi donation button
+
+If you'd like to enable a Ko-fi button on your posts, enable it in the config file and add your identifier.
+
+```
+# Set enableKofi to true to enable the Ko-fi support button. Add your Ko-fi
+ID to link to your account.
+enableKofi = true
+kofi = ""
+```
+
## License
diff --git a/assets/css/main.scss b/assets/css/main.scss
index 5a6dc2c..5405599 100644
--- a/assets/css/main.scss
+++ b/assets/css/main.scss
@@ -35,38 +35,38 @@ body {
}
html {
- margin: 0;
- line-height: 170%;
- -ms-overflow-style: -ms-autohiding-scrollbar;
+ margin: 0;
+ line-height: 170%;
+ -ms-overflow-style: -ms-autohiding-scrollbar;
}
body {
- color: $gray-dark;
- font-family: $sans-serif;
- margin: 0;
- font-size: 1.1rem;
+ color: $gray-dark;
+ font-family: $sans-serif;
+ margin: 0;
+ font-size: 1.1rem;
}
// TEXT
article p {
- a {
- text-decoration: underline;
- text-decoration-skip-ink: auto;
- color: $gray-dark;
- }
+ a {
+ text-decoration: underline;
+ text-decoration-skip-ink: auto;
+ color: $gray-dark;
+ }
}
article .post-footer>a {
- text-decoration: none;
+ text-decoration: none;
}
h1 {
- font-size: 1.9em;
- padding-top: 0.2em;
- margin: 0.5em 0em 0.75em 0em;
- font-family: $serif;
- font-weight: 600;
- line-height: 1.3em;
+ font-size: 1.9em;
+ padding-top: 0.2em;
+ margin: 0.5em 0em 0.75em 0em;
+ font-family: $serif;
+ font-weight: 600;
+ line-height: 1.3em;
}
h2,
@@ -74,422 +74,435 @@ h3,
h4,
h5,
h6 {
- margin: 1.25em 0em 0.75em 0em;
- font-family: $serif;
- font-weight: 600;
+ margin: 1.25em 0em 0.75em 0em;
+ font-family: $serif;
+ font-weight: 600;
}
h2 {
- font-size: 1.25em;
- line-height: 1.4em;
+ font-size: 1.25em;
+ line-height: 1.4em;
- a {
- text-decoration: none;
- position: relative;
- text-shadow: 0px -2px 0 white, 0px -1px 0 white, 0px 0px 0 white, 2px -2px 0 white, 2px -1px 0 white, 2px 0px 0 white, -2px -2px 0 white, -2px -1px 0 white, -2px 0px 0 white, 1px -2px 0 white, 1px -1px 0 white, 1px 0px 0 white, -1px -2px 0 white, -1px -1px 0 white, -1px 0px 0 white, 0px -2px 0 white, 0px -1px 0 white, 0px 0px 0 white;
- box-shadow: 0 -1px 0 0 white inset, 0 -2px 0 0 transparent inset;
- background-size: 1px 1em;
- position: relative;
- transition: all 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
+ a {
+ text-decoration: none;
+ position: relative;
+ text-shadow: 0px -2px 0 white, 0px -1px 0 white, 0px 0px 0 white, 2px -2px 0 white, 2px -1px 0 white, 2px 0px 0 white, -2px -2px 0 white, -2px -1px 0 white, -2px 0px 0 white, 1px -2px 0 white, 1px -1px 0 white, 1px 0px 0 white, -1px -2px 0 white, -1px -1px 0 white, -1px 0px 0 white, 0px -2px 0 white, 0px -1px 0 white, 0px 0px 0 white;
+ box-shadow: 0 -1px 0 0 white inset, 0 -2px 0 0 transparent inset;
+ background-size: 1px 1em;
+ position: relative;
+ transition: all 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
- &:hover {
- box-shadow: 0 -1px 0 0 white inset, 0 -2px 0 0 $gray-dark inset;
- transition: all 1s cubic-bezier(0.075, 0.82, 0.165, 1);
+ &:hover {
+ box-shadow: 0 -1px 0 0 white inset, 0 -2px 0 0 $gray-dark inset;
+ transition: all 1s cubic-bezier(0.075, 0.82, 0.165, 1);
+ }
}
- }
}
h5,
h6 {
- font-weight: 700;
- line-height: 1.3em;
+ font-weight: 700;
+ line-height: 1.3em;
}
h4 {
- line-height: 1.3em;
+ line-height: 1.3em;
}
h3 {
- font-size: 1.1em;
- line-height: 1.3em;
+ font-size: 1.1em;
+ line-height: 1.3em;
}
p {
- margin: 0em 0 1em 0;
+ margin: 0em 0 1em 0;
}
// LINKS AND TAGS
a {
- text-decoration: underline;
- text-decoration-skip-ink: auto;
- color: $gray-dark;
+ text-decoration: underline;
+ text-decoration-skip-ink: auto;
+ color: $gray-dark;
}
a,
a>svg {
- transition: 0.1s cubic-bezier(0.075, 0.82, 0.165, 1);
+ transition: 0.1s cubic-bezier(0.075, 0.82, 0.165, 1);
}
a:visited {
- color: $gray-dark;
+ color: $gray-dark;
}
.color-link {
- text-decoration: none;
- color: $teal;
- font-family: $sans-serif;
- margin-right: 1.5em;
+ text-decoration: none;
+ color: $teal;
+ font-family: $sans-serif;
+ margin-right: 1.5em;
}
.color-link:visited {
- color: $teal;
+ color: $teal;
}
.color-link:hover {
- color: $teal-darker;
+ color: $teal-darker;
- .color-arrow {
- fill: $teal-darker;
- }
+ .color-arrow {
+ fill: $teal-darker;
+ }
}
.tag {
- margin-right: 0.75em;
- margin-bottom: 1em;
- line-height: 1.75em;
- color: $gray-light;
+ margin-right: 0.75em;
+ margin-bottom: 1em;
+ line-height: 1.75em;
+ color: $gray-light;
}
.tag:visited {
- color: $gray-light;
+ color: $gray-light;
}
.tag:hover {
- color: $gray-medium;
+ color: $gray-medium;
}
// ARTICLE FORMATTING
time {
- margin-right: 1.5em;
- color: $gray-light;
+ margin-right: 1.5em;
+ color: $gray-light;
}
hr {
- border: 0;
- height: 0;
- border-bottom: 1px solid $gray-lightest;
+ border: 0;
+ height: 0;
+ border-bottom: 1px solid $gray-lightest;
}
ul,
ol {
- margin: 1em 0em;
- padding-left: 2em;
+ margin: 1em 0em;
+ padding-left: 2em;
}
li {
- line-height: 150%;
+ line-height: 150%;
}
mark {
- background-color: $highlight;
+ background-color: $highlight;
}
blockquote {
- border-left: 4px solid $gray-lightest;
- padding-left: 1.3em;
- margin-left: 0em;
- margin-top: 0em;
+ border-left: 4px solid $gray-lightest;
+ padding-left: 1.3em;
+ margin-left: 0em;
+ margin-top: 0em;
- p {
- margin-bottom: 0em;
- }
+ p {
+ margin-bottom: 0em;
+ }
}
cite {
- font-size: 0.95em;
+ font-size: 0.95em;
}
pre {
- padding: 1em;
- background-color: $gray-background;
- max-width: 100%;
- overflow: scroll;
+ padding: 1em;
+ background-color: $gray-background;
+ max-width: 100%;
+ overflow: scroll;
}
p code,
kbd {
- font-size: 0.95rem;
- background: $gray-background;
- padding: 0.2em;
+ font-size: 0.95rem;
+ background: $gray-background;
+ padding: 0.2em;
}
code,
pre,
kbd {
- font-family: $code;
- font-size: 0.95rem;
- line-height: 154%;
+ font-family: $code;
+ font-size: 0.95rem;
+ line-height: 154%;
}
.table-wrapper {
- overflow-x: auto;
+ overflow-x: auto;
}
table {
- max-width: 100%;
- border-spacing: 0;
+ max-width: 100%;
+ border-spacing: 0;
- thead {
- background: $gray-background;
- }
+ thead {
+ background: $gray-background;
+ }
- th,
- td {
- padding: 0.5em 1em;
- border: 1px double $gray-table-border;
- }
+ th,
+ td {
+ padding: 0.5em 1em;
+ border: 1px double $gray-table-border;
+ }
}
// TOP NAV
nav {
- padding: 0.25em 1.5em 1em 1.5em;
- max-width: 100%;
+ padding: 0.25em 1.5em 1em 1.5em;
+ max-width: 100%;
}
.site-title {
- margin: 1.5em 0em 1em 0em;
- text-align: center;
- line-height: 1.7em;
+ margin: 1.5em 0em 1em 0em;
+ text-align: center;
+ line-height: 1.7em;
- a {
- font-family: $serif;
- font-size: 1.5em;
- text-decoration: none;
- margin-top: 0.75em;
- }
+ a {
+ font-family: $serif;
+ font-size: 1.5em;
+ text-decoration: none;
+ margin-top: 0.75em;
+ }
}
.nav-menu {
- display: flex;
- flex-direction: row;
- justify-content: center;
- flex-wrap: wrap;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ flex-wrap: wrap;
}
.nav-link {
- margin-bottom: 0.5em;
+ margin-bottom: 0.5em;
}
.description {
- font-style: italic;
- color: $gray-medium;
- text-align: center;
- margin-bottom: 3.7em;
- margin-top: -0.75em;
+ font-style: italic;
+ color: $gray-medium;
+ text-align: center;
+ margin-bottom: 3.7em;
+ margin-top: -0.75em;
}
// CONTENT
.content-container {
- padding: 0.5em 1.5em 0em 1.5em;
- margin: 0em;
- max-width: 100%;
+ padding: 0.5em 1.5em 0em 1.5em;
+ margin: 0em;
+ max-width: 100%;
}
.paginator {
- flex-shrink: 0;
- display: flex;
- justify-content: space-between;
- align-items: flex-end;
- margin-top: 1em;
- padding-bottom: 1.5em;
- align-items: center;
+ flex-shrink: 0;
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-end;
+ margin-top: 1em;
+ padding-bottom: 1.5em;
+ align-items: center;
- .older {
- margin-left: 1em;
- }
+ .older {
+ margin-left: 1em;
+ }
- p {
- font-size: 0.95rem;
- margin: 0px;
- }
+ p {
+ font-size: 0.95rem;
+ margin: 0px;
+ }
- a {
- text-decoration: none;
- color: $teal;
- font-size: 0.95rem;
- }
+ a {
+ text-decoration: none;
+ color: $teal;
+ font-size: 0.95rem;
+ }
}
// ARTICLE CONTENT
.article-content {
- flex: 1 0 auto;
+ flex: 1 0 auto;
+}
+
+.article-figure {
+ margin: 0 0 1em;
+}
+
+.article-image {
+ max-width: 100%;
+ margin: 0 0 1em;
}
.canon {
- width: 100%;
- height: auto;
+ width: 100%;
+ height: auto;
}
.footnote-ref {
- a {
- margin-left: 0.3em;
- }
+ a {
+ margin-left: 0.3em;
+ }
- a::before {
- content: "[";
- }
+ a::before {
+ content: "[";
+ }
- a::after {
- content: "]";
- }
+ a::after {
+ content: "]";
+ }
}
.emojify {
- font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
- font-size: 1.5rem;
- vertical-align: middle;
+ font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
+ font-size: 1.5rem;
+ vertical-align: middle;
}
// SHORTCODE CONTENT
.twitter-tweet {
- font-family: $sans-serif !important;
- border-left: 4px solid $teal !important;
- color: $gray-dark !important;
- font-size: 1rem !important;
- font-style: italic !important;
- margin-left: 0em;
- padding-left: 1.3em !important;
-
- p {
- font-size: 1.1em;
- font-style: normal;
- margin-bottom: 1em;
- line-height: 155%;
- }
-
- a {
+ font-family: $sans-serif !important;
+ border-left: 4px solid $teal !important;
color: $gray-dark !important;
- text-decoration: underline !important;
- }
+ font-size: 1rem !important;
+ font-style: italic !important;
+ margin-left: 0em;
+ padding-left: 1.3em !important;
- a:hover,
- a:focus {
- text-decoration: underline !important;
- }
+ p {
+ font-size: 1.1em;
+ font-style: normal;
+ margin-bottom: 1em;
+ line-height: 155%;
+ }
+
+ a {
+ color: $gray-dark !important;
+ text-decoration: underline !important;
+ }
+
+ a:hover,
+ a:focus {
+ text-decoration: underline !important;
+ }
}
.__h_instagram.card {
- font-family: $sans-serif !important;
- font-size: 1.1em !important;
- border: 1px solid $gray-light;
- margin-top: 1.2em !important;
+ font-family: $sans-serif !important;
+ font-size: 1.1em !important;
+ border: 1px solid $gray-light;
+ margin-top: 1.2em !important;
}
// ARTICLE FOOTER
+.kofi-button {
+ margin: 0.75em 0em 0.5em 0em;
+}
+
.post-footer {
- font-size: 0.95rem;
- color: $gray-light;
- border-bottom: 1px solid $gray-lightest;
- padding-bottom: 1.8em;
+ font-size: 0.95rem;
+ color: $gray-light;
+ border-bottom: 1px solid $gray-lightest;
+ padding-bottom: 1.8em;
}
.hidden {
- visibility: hidden;
- border-bottom: 0px solid;
+ visibility: hidden;
+ border-bottom: 0px solid;
}
.page-footer {
- padding: 1.5em 0em 2em 0em;
- font-size: 0.95rem;
- color: $gray-light;
-
- a {
- text-decoration: none;
+ padding: 1.5em 0em 2em 0em;
+ font-size: 0.95rem;
color: $gray-light;
- }
+
+ a {
+ text-decoration: none;
+ color: $gray-light;
+ }
}
.footer-divider {
- color: $gray-lightest;
- margin-bottom: 1.5em;
+ color: $gray-lightest;
+ margin-bottom: 1.5em;
}
// ARCHIVES PAGE
.archives-list {
- padding-left: 0em;
+ padding-left: 0em;
}
.archives-list-item {
- display: flex;
- margin: 0.5em 0em;
+ display: flex;
+ margin: 0.5em 0em;
}
.archives-list-item-date {
- width: 60px;
- margin-right: 0.25em;
- color: $gray-light;
+ width: 60px;
+ margin-right: 0.25em;
+ color: $gray-light;
}
// 404 PAGE
.not-found-title {
- margin-bottom: 0em;
+ margin-bottom: 0em;
}
// MAIN FOOTER
.footer {
- visibility: hidden;
- height: 0;
+ visibility: hidden;
+ height: 0;
}
.footer-mobile {
- margin-top: 2em;
- max-width: 100%;
- padding: 0em 1.5em 0.75em 1.5em;
- overflow: hidden;
+ margin-top: 2em;
+ max-width: 100%;
+ padding: 0em 1.5em 0.75em 1.5em;
+ overflow: hidden;
- .footer-mobile-links {
- display: flex;
- justify-content: center;
- }
+ .footer-mobile-links {
+ display: flex;
+ justify-content: center;
+ }
- .divider-bar {
- color: $gray-light;
- padding: 0em 0.25em;
- }
+ .divider-bar {
+ color: $gray-light;
+ padding: 0em 0.25em;
+ }
}
footer {
- text-align: center;
+ text-align: center;
- .social-icons {
- margin: 0 0 1.25em -.5em;
- }
+ .social-icons {
+ margin: 0 0 1.25em -.5em;
+ }
- .social-icon {
- padding: 0.3em 0.5em;
- margin: 0.32em 0.1em;
- display: inline-block;
- height: 2em;
- position: relative;
- }
+ .social-icon {
+ padding: 0.3em 0.5em;
+ margin: 0.32em 0.1em;
+ display: inline-block;
+ height: 2em;
+ position: relative;
+ }
- .social-icon>svg:hover {
- fill: $gray-medium;
- }
+ .social-icon>svg:hover {
+ fill: $gray-medium;
+ }
- a {
- text-decoration: none;
- font-size: 0.95rem;
- color: $gray-light;
- }
+ a {
+ text-decoration: none;
+ font-size: 0.95rem;
+ color: $gray-light;
+ }
- a:visited {
- color: $gray-light;
- }
+ a:visited {
+ color: $gray-light;
+ }
- a:hover {
- color: $gray-medium;
- }
+ a:hover {
+ color: $gray-medium;
+ }
}
// BREAKPOINTS
diff --git a/exampleSite/config.toml b/exampleSite/config.toml
index 21f2c45..6552ab5 100644
--- a/exampleSite/config.toml
+++ b/exampleSite/config.toml
@@ -27,6 +27,10 @@ disqusShortname = ""
# Blog description at the top of the homepage. Supports markdown.
description = "Noteworthy is a minimalist Hugo theme, perfect for writers and bloggers."
+ # Set enableKofi to true to enable the Ko-fi support button. Add your Ko-fi ID to link to your account.
+ enableKofi = false
+ kofi = ""
+
# Add links to your accounts. Remove the ones you don't want to include.
# Main
email = "#"
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index d78a6c0..dcfa1d9 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -1,4 +1,5 @@
{{ define "main" }}
+
{{ .Title }}
{{ if .Date }}
@@ -10,6 +11,17 @@
{{ template "_internal/disqus.html" . }}
+ {{ if .Site.Params.enableKofi }}
+
+
+
+
+ {{ end }}
+
{{ $script := resources.Get "js/main.js" | minify | fingerprint -}}
-
+
\ No newline at end of file
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
index 9ee8dd9..c19fc8c 100644
--- a/layouts/partials/footer.html
+++ b/layouts/partials/footer.html
@@ -5,5 +5,5 @@
Built with Hugo
{{ $script := resources.Get "js/main.js" | minify | fingerprint -}}
-
+
\ No newline at end of file
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
index b517fd1..b160657 100644
--- a/layouts/partials/head.html
+++ b/layouts/partials/head.html
@@ -29,5 +29,7 @@
{{ with .OutputFormats.Get "RSS" }}
{{ printf `` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end }}
- {{ template "_internal/google_analytics.html" . }}
+ {{- if not .Site.IsServer -}}
+ {{ template "_internal/google_analytics.html" . }}
+ {{- end -}}
diff --git a/layouts/partials/math.html b/layouts/partials/math.html
index 3478944..87970ab 100644
--- a/layouts/partials/math.html
+++ b/layouts/partials/math.html
@@ -1,6 +1,6 @@
{{ if or .Page.Params.math .Site.Params.math }}
-
-
-
+
+
+
{{ end }}
\ No newline at end of file
diff --git a/layouts/shortcodes/resize-image.html b/layouts/shortcodes/resize-image.html
new file mode 100644
index 0000000..22d270d
--- /dev/null
+++ b/layouts/shortcodes/resize-image.html
@@ -0,0 +1,11 @@
+{{ $src := .Page.Resources.GetMatch (printf "*%s*" (.Get "src")) }}
+
+{{ if .Get "caption"}}
+
+{{ end }}
+
diff --git a/resources/_gen/assets/scss/css/main.scss_48b060fe05b0a273d182ef83c0605941.content b/resources/_gen/assets/scss/css/main.scss_48b060fe05b0a273d182ef83c0605941.content
index 9a57578..22e43af 100644
--- a/resources/_gen/assets/scss/css/main.scss_48b060fe05b0a273d182ef83c0605941.content
+++ b/resources/_gen/assets/scss/css/main.scss_48b060fe05b0a273d182ef83c0605941.content
@@ -1 +1 @@
-@font-face{font-family:Noto Sans;src:url(../fonts/NotoSans-Regular.woff2) format("woff2"),url(../fonts/NotoSans-Regular.woff) format("woff");font-weight:400;font-display:fallback}@font-face{font-family:Noto Sans;src:url(../fonts/NotoSans-Italic.woff2) format("woff2"),url(../fonts/NotoSans-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:fallback}@font-face{font-family:Noto Serif;src:url(../fonts/NotoSerif-SemiBold.woff2) format("woff2"),url(../fonts/NotoSerif-SemiBold.woff) format("woff");font-weight:600;font-display:fallback}@font-face{font-family:Noto Serif;src:url(../fonts/NotoSerif-Bold.woff2) format("woff2"),url(../fonts/NotoSerif-Bold.woff) format("woff");font-weight:700;font-display:fallback}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.chroma{color:#f8f8f2;background-color:#272822}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nf{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#f92672}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}html,body{height:100%}html{margin:0;line-height:170%;-ms-overflow-style:-ms-autohiding-scrollbar}body{color:#5f5f5f;font-family:noto sans,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,sans-serif;margin:0;font-size:1.1rem}article p a{text-decoration:underline;text-decoration-skip-ink:auto;color:#5f5f5f}article .post-footer>a{text-decoration:none}h1{font-size:1.9em;padding-top:.2em;margin:.5em 0 .75em;font-family:noto serif,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,serif;font-weight:600;line-height:1.3em}h2,h3,h4,h5,h6{margin:1.25em 0 .75em;font-family:noto serif,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,serif;font-weight:600}h2{font-size:1.25em;line-height:1.4em}h2 a{text-decoration:none;position:relative;text-shadow:0 -2px 0 #fff,0 -1px 0 #fff,0 0 0 #fff,2px -2px 0 #fff,2px -1px 0 #fff,2px 0 0 #fff,-2px -2px 0 #fff,-2px -1px 0 #fff,-2px 0 0 #fff,1px -2px 0 #fff,1px -1px 0 #fff,1px 0 0 #fff,-1px -2px 0 #fff,-1px -1px 0 #fff,-1px 0 0 #fff,0 -2px 0 #fff,0 -1px 0 #fff,0 0 0 #fff;box-shadow:0 -1px 0 0 #fff inset,0 -2px 0 0 transparent inset;background-size:1px 1em;position:relative;transition:all .6s cubic-bezier(0.075,0.82,0.165,1)}h2 a:hover{box-shadow:0 -1px 0 0 #fff inset,0 -2px 0 0 #5f5f5f inset;transition:all 1s cubic-bezier(0.075,0.82,0.165,1)}h5,h6{font-weight:700;line-height:1.3em}h4{line-height:1.3em}h3{font-size:1.1em;line-height:1.3em}p{margin:0 0 1em}a{text-decoration:underline;text-decoration-skip-ink:auto;color:#5f5f5f}a,a>svg{transition:.1s cubic-bezier(0.075,0.82,0.165,1)}a:visited{color:#5f5f5f}.color-link{text-decoration:none;color:#63bda2;font-family:noto sans,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,sans-serif;margin-right:1.5em}.color-link:visited{color:#63bda2}.color-link:hover{color:#359377}.color-link:hover .color-arrow{fill:#359377}.tag{margin-right:.75em;margin-bottom:1em;line-height:1.75em;color:#ababab}.tag:visited{color:#ababab}.tag:hover{color:#898989}time{margin-right:1.5em;color:#ababab}hr{border:0;height:0;border-bottom:1px solid #d2d2d2}ul,ol{margin:1em 0;padding-left:2em}li{line-height:150%}mark{background-color:#ffec5c}blockquote{border-left:4px solid #d2d2d2;padding-left:1.3em;margin-left:0;margin-top:0}blockquote p{margin-bottom:0}cite{font-size:.95em}pre{padding:1em;background-color:#f7f7f7;max-width:100%;overflow:scroll}p code,kbd{font-size:.95rem;background:#f7f7f7;padding:.2em}code,pre,kbd{font-family:Menlo,Monaco,courier new,monospace;font-size:.95rem;line-height:154%}.table-wrapper{overflow-x:auto}table{max-width:100%;border-spacing:0}table thead{background:#f7f7f7}table th,table td{padding:.5em 1em;border:1px double #eee}nav{padding:.25em 1.5em 1em;max-width:100%}.site-title{margin:1.5em 0 1em;text-align:center;line-height:1.7em}.site-title a{font-family:noto serif,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,serif;font-size:1.5em;text-decoration:none;margin-top:.75em}.nav-menu{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.nav-link{margin-bottom:.5em}.description{font-style:italic;color:#898989;text-align:center;margin-bottom:3.7em;margin-top:-.75em}.content-container{padding:.5em 1.5em 0;margin:0;max-width:100%}.paginator{flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-end;margin-top:1em;padding-bottom:1.5em;align-items:center}.paginator .older{margin-left:1em}.paginator p{font-size:.95rem;margin:0}.paginator a{text-decoration:none;color:#63bda2;font-size:.95rem}.article-content{flex:1 0 auto}.canon{width:100%;height:auto}.footnote-ref a{margin-left:.3em}.footnote-ref a::before{content:"["}.footnote-ref a::after{content:"]"}.emojify{font-family:Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;font-size:1.5rem;vertical-align:middle}.twitter-tweet{font-family:noto sans,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,sans-serif!important;border-left:4px solid #63bda2!important;color:#5f5f5f!important;font-size:1rem!important;font-style:italic!important;margin-left:0;padding-left:1.3em!important}.twitter-tweet p{font-size:1.1em;font-style:normal;margin-bottom:1em;line-height:155%}.twitter-tweet a{color:#5f5f5f!important;text-decoration:underline!important}.twitter-tweet a:hover,.twitter-tweet a:focus{text-decoration:underline!important}.__h_instagram.card{font-family:noto sans,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,sans-serif!important;font-size:1.1em!important;border:1px solid #ababab;margin-top:1.2em!important}.post-footer{font-size:.95rem;color:#ababab;border-bottom:1px solid #d2d2d2;padding-bottom:1.8em}.hidden{visibility:hidden;border-bottom:0 solid}.page-footer{padding:1.5em 0 2em;font-size:.95rem;color:#ababab}.page-footer a{text-decoration:none;color:#ababab}.footer-divider{color:#d2d2d2;margin-bottom:1.5em}.archives-list{padding-left:0}.archives-list-item{display:flex;margin:.5em 0}.archives-list-item-date{width:60px;margin-right:.25em;color:#ababab}.not-found-title{margin-bottom:0}.footer{visibility:hidden;height:0}.footer-mobile{margin-top:2em;max-width:100%;padding:0 1.5em .75em;overflow:hidden}.footer-mobile .footer-mobile-links{display:flex;justify-content:center}.footer-mobile .divider-bar{color:#ababab;padding:0 .25em}footer{text-align:center}footer .social-icons{margin:0 0 1.25em -.5em}footer .social-icon{padding:.3em .5em;margin:.32em .1em;display:inline-block;height:2em;position:relative}footer .social-icon>svg:hover{fill:#898989}footer a{text-decoration:none;font-size:.95rem;color:#ababab}footer a:visited{color:#ababab}footer a:hover{color:#898989}@media only screen and (min-width:900px){nav{position:fixed;overflow-y:scroll;height:100%;top:0;left:36px;width:240px;padding:0}.site-title{margin:3em 0 1em;text-align:left}.nav-menu{display:flex;flex-direction:column;align-items:flex-start}.nav-link{margin-bottom:.5em}.description{text-align:left;padding:1.55em 0 .5em;border-bottom:none;margin-bottom:1em;margin-top:0}.article-content{margin-top:1.4em}.paginator{padding-bottom:2em}.content-container{max-width:680px;margin-left:310px;padding:0 1.5em 0 0;height:100%;display:flex;flex-direction:column}.content-container h1{font-size:1.9em;border-top:none;padding-top:0;margin-top:1.4em}.post-title{border-top:none;padding-top:0;margin-top:.75em}.page-footer{border-bottom:none}.footer{position:relative;visibility:visible;margin-top:1em;text-align:left}.footer-mobile{visibility:hidden;height:0;padding:0;margin:0;overflow:hidden}.social-icons{width:100%}}
\ No newline at end of file
+@font-face{font-family:Noto Sans;src:url(../fonts/NotoSans-Regular.woff2)format("woff2"),url(../fonts/NotoSans-Regular.woff)format("woff");font-weight:400;font-display:fallback}@font-face{font-family:Noto Sans;src:url(../fonts/NotoSans-Italic.woff2)format("woff2"),url(../fonts/NotoSans-Italic.woff)format("woff");font-weight:400;font-style:italic;font-display:fallback}@font-face{font-family:Noto Serif;src:url(../fonts/NotoSerif-SemiBold.woff2)format("woff2"),url(../fonts/NotoSerif-SemiBold.woff)format("woff");font-weight:600;font-display:fallback}@font-face{font-family:Noto Serif;src:url(../fonts/NotoSerif-Bold.woff2)format("woff2"),url(../fonts/NotoSerif-Bold.woff)format("woff");font-weight:700;font-display:fallback}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.chroma{color:#f8f8f2;background-color:#272822}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nf{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#f92672}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}html,body{height:100%}html{margin:0;line-height:170%;-ms-overflow-style:-ms-autohiding-scrollbar}body{color:#5f5f5f;font-family:noto sans,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,sans-serif;margin:0;font-size:1.1rem}article p a{text-decoration:underline;text-decoration-skip-ink:auto;color:#5f5f5f}article .post-footer>a{text-decoration:none}h1{font-size:1.9em;padding-top:.2em;margin:.5em 0 .75em;font-family:noto serif,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,serif;font-weight:600;line-height:1.3em}h2,h3,h4,h5,h6{margin:1.25em 0 .75em;font-family:noto serif,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,serif;font-weight:600}h2{font-size:1.25em;line-height:1.4em}h2 a{text-decoration:none;position:relative;text-shadow:0 -2px 0 #fff,0 -1px 0 #fff,0 0 0 #fff,2px -2px 0 #fff,2px -1px 0 #fff,2px 0 0 #fff,-2px -2px 0 #fff,-2px -1px 0 #fff,-2px 0 0 #fff,1px -2px 0 #fff,1px -1px 0 #fff,1px 0 0 #fff,-1px -2px 0 #fff,-1px -1px 0 #fff,-1px 0 0 #fff,0 -2px 0 #fff,0 -1px 0 #fff,0 0 0 #fff;box-shadow:0 -1px 0 0 #fff inset,0 -2px 0 0 transparent inset;background-size:1px 1em;position:relative;transition:all .6s cubic-bezier(0.075,0.82,0.165,1)}h2 a:hover{box-shadow:0 -1px 0 0 #fff inset,0 -2px 0 0 #5f5f5f inset;transition:all 1s cubic-bezier(0.075,0.82,0.165,1)}h5,h6{font-weight:700;line-height:1.3em}h4{line-height:1.3em}h3{font-size:1.1em;line-height:1.3em}p{margin:0 0 1em}a{text-decoration:underline;text-decoration-skip-ink:auto;color:#5f5f5f}a,a>svg{transition:.1s cubic-bezier(0.075,0.82,0.165,1)}a:visited{color:#5f5f5f}.color-link{text-decoration:none;color:#63bda2;font-family:noto sans,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,sans-serif;margin-right:1.5em}.color-link:visited{color:#63bda2}.color-link:hover{color:#359377}.color-link:hover .color-arrow{fill:#359377}.tag{margin-right:.75em;margin-bottom:1em;line-height:1.75em;color:#ababab}.tag:visited{color:#ababab}.tag:hover{color:#898989}time{margin-right:1.5em;color:#ababab}hr{border:0;height:0;border-bottom:1px solid #d2d2d2}ul,ol{margin:1em 0;padding-left:2em}li{line-height:150%}mark{background-color:#ffec5c}blockquote{border-left:4px solid #d2d2d2;padding-left:1.3em;margin-left:0;margin-top:0}blockquote p{margin-bottom:0}cite{font-size:.95em}pre{padding:1em;background-color:#f7f7f7;max-width:100%;overflow:scroll}p code,kbd{font-size:.95rem;background:#f7f7f7;padding:.2em}code,pre,kbd{font-family:Menlo,Monaco,courier new,monospace;font-size:.95rem;line-height:154%}.table-wrapper{overflow-x:auto}table{max-width:100%;border-spacing:0}table thead{background:#f7f7f7}table th,table td{padding:.5em 1em;border:1px double #eee}nav{padding:.25em 1.5em 1em;max-width:100%}.site-title{margin:1.5em 0 1em;text-align:center;line-height:1.7em}.site-title a{font-family:noto serif,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,serif;font-size:1.5em;text-decoration:none;margin-top:.75em}.nav-menu{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap}.nav-link{margin-bottom:.5em}.description{font-style:italic;color:#898989;text-align:center;margin-bottom:3.7em;margin-top:-.75em}.content-container{padding:.5em 1.5em 0;margin:0;max-width:100%}.paginator{flex-shrink:0;display:flex;justify-content:space-between;align-items:flex-end;margin-top:1em;padding-bottom:1.5em;align-items:center}.paginator .older{margin-left:1em}.paginator p{font-size:.95rem;margin:0}.paginator a{text-decoration:none;color:#63bda2;font-size:.95rem}.article-content{flex:1 0 auto}.article-figure{margin:0 0 1em}.article-image{max-width:100%;margin:0 0 1em}.canon{width:100%;height:auto}.footnote-ref a{margin-left:.3em}.footnote-ref a::before{content:"["}.footnote-ref a::after{content:"]"}.emojify{font-family:Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;font-size:1.5rem;vertical-align:middle}.twitter-tweet{font-family:noto sans,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,sans-serif!important;border-left:4px solid #63bda2!important;color:#5f5f5f!important;font-size:1rem!important;font-style:italic!important;margin-left:0;padding-left:1.3em!important}.twitter-tweet p{font-size:1.1em;font-style:normal;margin-bottom:1em;line-height:155%}.twitter-tweet a{color:#5f5f5f!important;text-decoration:underline!important}.twitter-tweet a:hover,.twitter-tweet a:focus{text-decoration:underline!important}.__h_instagram.card{font-family:noto sans,segoe ui,helvetica neue,Helvetica,Roboto,FreeSans,sans-serif!important;font-size:1.1em!important;border:1px solid #ababab;margin-top:1.2em!important}.kofi-button{margin:.75em 0 .5em}.post-footer{font-size:.95rem;color:#ababab;border-bottom:1px solid #d2d2d2;padding-bottom:1.8em}.hidden{visibility:hidden;border-bottom:0 solid}.page-footer{padding:1.5em 0 2em;font-size:.95rem;color:#ababab}.page-footer a{text-decoration:none;color:#ababab}.footer-divider{color:#d2d2d2;margin-bottom:1.5em}.archives-list{padding-left:0}.archives-list-item{display:flex;margin:.5em 0}.archives-list-item-date{width:60px;margin-right:.25em;color:#ababab}.not-found-title{margin-bottom:0}.footer{visibility:hidden;height:0}.footer-mobile{margin-top:2em;max-width:100%;padding:0 1.5em .75em;overflow:hidden}.footer-mobile .footer-mobile-links{display:flex;justify-content:center}.footer-mobile .divider-bar{color:#ababab;padding:0 .25em}footer{text-align:center}footer .social-icons{margin:0 0 1.25em -.5em}footer .social-icon{padding:.3em .5em;margin:.32em .1em;display:inline-block;height:2em;position:relative}footer .social-icon>svg:hover{fill:#898989}footer a{text-decoration:none;font-size:.95rem;color:#ababab}footer a:visited{color:#ababab}footer a:hover{color:#898989}@media only screen and (min-width:900px){nav{position:fixed;overflow-y:scroll;height:100%;top:0;left:36px;width:240px;padding:0}.site-title{margin:3em 0 1em;text-align:left}.nav-menu{display:flex;flex-direction:column;align-items:flex-start}.nav-link{margin-bottom:.5em}.description{text-align:left;padding:1.55em 0 .5em;border-bottom:none;margin-bottom:1em;margin-top:0}.article-content{margin-top:1.4em}.paginator{padding-bottom:2em}.content-container{max-width:680px;margin-left:310px;padding:0 1.5em 0 0;height:100%;display:flex;flex-direction:column}.content-container h1{font-size:1.9em;border-top:none;padding-top:0;margin-top:1.4em}.post-title{border-top:none;padding-top:0;margin-top:.75em}.page-footer{border-bottom:none}.footer{position:relative;visibility:visible;margin-top:1em;text-align:left}.footer-mobile{visibility:hidden;height:0;padding:0;margin:0;overflow:hidden}.social-icons{width:100%}}
\ No newline at end of file
diff --git a/resources/_gen/assets/scss/css/main.scss_48b060fe05b0a273d182ef83c0605941.json b/resources/_gen/assets/scss/css/main.scss_48b060fe05b0a273d182ef83c0605941.json
index 61cfd65..fc8d3ce 100644
--- a/resources/_gen/assets/scss/css/main.scss_48b060fe05b0a273d182ef83c0605941.json
+++ b/resources/_gen/assets/scss/css/main.scss_48b060fe05b0a273d182ef83c0605941.json
@@ -1 +1 @@
-{"Target":"css/main.min.2545a1910010e26a9905276045afab868f812580a1e7482423da6c0c8c214d18.css","MediaType":"text/css","Data":{"Integrity":"sha256-JUWhkQAQ4mqZBSdgRa+rho+BJYCh50gkI9psDIwhTRg="}}
\ No newline at end of file
+{"Target":"css/main.min.975b1911c008aee6ab5fb42e51274b8268ebcb65dc15bd4a5f69b9eedb485c3e.css","MediaType":"text/css","Data":{"Integrity":"sha256-l1sZEcAIruarX7QuUSdLgmjry2XcFb1KX2m57ttIXD4="}}
\ No newline at end of file