commit 7dd2161570346653f431f7c42b0290847fa1ec46 Author: aethrvmn Date: Mon May 27 23:13:51 2024 +0200 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..91abd32 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +# Hugo +## Generated files by hugo +/public/ +/resources/_gen/ +/assets/jsconfig.json +hugo_stats.json + +## Executable may be added to repository +hugo.exe +hugo.darwin +hugo.linux + +## Temporary lock file while building +/.hugo_build.lock + +## Misc +.DS_Store +geckodriver.log +.idea/ +.hugo_build.lock + diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..89914ed --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,14 @@ +--- +title: "Hello, world!" +date: 2021-01-01 +description: "A blog post" +image: "/path/to/image.png" +type: "post" +tags: ["blog"] + + +title: "Hello, world!" +image: "/path/to/image.png" +type: "page" +showTableOfContents: true +--- diff --git a/assets/css/dark.css b/assets/css/dark.css new file mode 100644 index 0000000..91b6696 --- /dev/null +++ b/assets/css/dark.css @@ -0,0 +1,92 @@ +:root { + --dark-primary-color: 45, 42, 46; + --dark-secondary-color: #665D40; + --dark-tertiary-color: #ac9c6d; + --dark-text-color: #f7f6f3; +} + +html { + background-color: rgb(var(--dark-primary-color)); + color: var(--dark-text-color); + fill: var(--dark-text-color); +} + +.header { + background-color: rgba(var(--dark-primary-color), 0.95); +} + +.nav-hamburger-list { + background: rgba(var(--dark-primary-color), 1); +} + +.nav-links .nav-icons-divider { + color: var(--dark-secondary-color); +} + +a:hover .feather-moon { + fill: var(--dark-text-color); + color: var(--dark-text-color); +} + +.social-icons-list .social-icon, +.social-icons-list .social-icon a:visited { + fill: var(--dark-text-color); +} + +.social-icons-list .social-icon a:hover { + fill: var(--accent-color); +} + +.post-tags .post-tag:hover { + background-color: var(--dark-text-color); + color: rgb(var(--dark-primary-color)); +} + +.tags-list .post-tags .post-tag a .tag-posts-count { + background-color: var(--dark-secondary-color); +} + +.tags-list .post-tags .post-tag:hover a .tag-posts-count { + background-color: var(--dark-text-color); + color: rgb(var(--dark-primary-color)); +} + +.footer { + border-top-color: var(--dark-header-bg-color); +} + +blockquote { + color: darkgrey; + border-left-color: var(--dark-secondary-color); +} + +hr { + color: var(--dark-secondary-color); +} + +table thead { + background-color: var(--dark-secondary-color); +} + +table td, +table th { + border-bottom-color: var(--dark-secondary-color); +} + +code, +pre { + background-color: var(--dark-secondary-color) !important; +} + +:not(pre) > code { + background-color: var(--dark-tertiary-color) !important; + color: var(--dark-text-color); +} + +.header-shadow { + box-shadow: rgb(33, 38, 45) 0px -1px 0px 0px inset; +} + +.arrow-logo { + background-color: var(--dark-secondary-color); +} diff --git a/assets/css/main.css b/assets/css/main.css new file mode 100644 index 0000000..714fdfa --- /dev/null +++ b/assets/css/main.css @@ -0,0 +1,671 @@ +:root { + --content-width: 1120px; + --container-width: 810px; + + --light-primary-color: 247,246,243; + --light-secondary-color: #dddddd; + --light-tertiary-color: #272822; + --light-text-color: #4a5152; +} + +@font-face { + font-family: Lato; + font-weight: 400; + src: url("/fonts/Lato-Regular.ttf"); +} + +@font-face { + font-family: Lato; + font-weight: 700; + src: url("/fonts/Lato-Bold.ttf"); +} + +html { + background-color: rgb(var(--light-primary-color)); + color: var(--light-text-color); + font-family: "GFS Didot"; + font-size: 17.5px; + min-height: 100%; + position: relative; + scroll-behavior: smooth; +} + +body { + margin-bottom: 170px; +} + +b, +strong { + font-weight: bold; +} + +a { + color: inherit; +} + +/* This is set in partials/head.html and is populated via config */ +a:hover { + color: var(--accent-color); + fill: var(--accent-color); +} + +main#content { + margin: 90px auto 0; + width: var(--content-width); +} + +main#content > .container { + margin: auto; + width: 75%; + max-width: var(--container-width); +} + +.post.container { + box-sizing: border-box; + display: inline-block; +} + +.post-toc { + box-sizing: border-box; + display: inline-block; + padding-left: 50px; + vertical-align: top; + /* Would be 25% had there been no margins or border box on all inline blocks */ + width: 24%; +} + +#toc { + position: fixed; + top: 80px; + bottom: 20px; + overflow-x: hidden; + overflow-y: auto; +} + +#toc ul { + list-style: none; + margin: 0; + padding: 0; + font-size: 14px; +} + +#toc ul li { + margin-top: 12px; +} + +#toc ul li a.level-1 { + padding-left: 0; +} + +#toc ul li a.level-2 { + padding-left: 10px; +} + +#toc ul li a.level-3 { + padding-left: 20px; +} + +#toc ul li a.level-4 { + padding-left: 30px; +} + +#toc ul li a { + text-decoration: none; +} + +#toc ul li a.active { + color: var(--accent-color); +} + +img { + height: auto; + max-width: 100%; +} + +/* HEADER */ +.header { + background-color: rgba(var(--light-primary-color), 0.95); + color: inherit; + height: 50px; + left: 0; + position: fixed; + top: 0; + transition: box-shadow 0.3s ease-in-out; + width: 100%; + z-index: 5; +} + +.header a { + text-decoration: none; +} +.header .header-nav { + height: 50px; + margin-top: 0; +} + +.header-nav .avatar { + border-radius: 18px; + float: left; + height: 100%; + margin-left: 15px; +} +.header-nav .avatar img { + border-radius: 100%; + display: block; + height: 38px; + margin-top: 5px; + overflow: hidden; + width: 38px; +} +.header-nav .nav-title { + display: inline-block; + height: 100%; + line-height: 50px; + padding-left: 15px; +} +.nav-title a { + height: 50px; +} +.header-nav .nav-links { + float: right; + line-height: 50px; + margin-right: 10px; +} +.nav-links .nav-link { + display: inline-block; + padding: 0 2px; +} +.nav-links .nav-link a { + display: block; + padding: 0 6px; +} +.nav-link a svg { + height: 20px; + margin: -3px auto; + stroke-width: 2; + width: 20px; +} +.nav-item a svg { + height: 20px; + margin: -3px auto; + stroke-width: 2; + width: 20px; +} +.nav-links .nav-link.icon a { + padding: 0 8px; +} +.nav-links .nav-icons-divider { + border-color: inherit; + border-left: 1.5px solid; + color: var(--light-secondary-color); + margin: 0 10px; +} +.nav-links .dark-theme-toggle:hover { + cursor: pointer; +} + +a:hover .feather-sun { + fill: black; + color: black; +} + +.dark-theme-toggle .feather { + height: 22px; + stroke-linecap: round; + stroke-linejoin: round; + width: 22px; +} +#hamburger-menu-toggle { + display: none; +} +#hamburger-menu-toggle .feather { + height: 24px; + stroke-linecap: round; + stroke-linejoin: round; + width: 24px; +} +.nav-hamburger-list { + background: rgb(var(--light-primary-color)); + border-bottom: solid 1.5px var(--light-secondary-color); + border-top: solid 1.5px var(--light-secondary-color); + list-style-type: none; + margin: 0; + padding: 0; + position: absolute; + right: 0; + text-align: center; + width: 100%; + z-index: 5; +} +.nav-hamburger-list a:hover { + text-decoration: underline; +} + +/* FOOTER */ +.footer { + bottom: 0; + color: inherit; + left: 0; + margin-left: 30%; + overflow: hidden; + padding: 40px 0; + position: absolute; + text-align: center; + width: 40%; +} + +.footer span { + display: block; + font-size: 0.85em; + font-weight: 300; + padding: 1px 0; +} + +/** COMMON **/ +.flex-break { + flex-basis: 100%; + height: 0; + display: none; +} + +.visibility-hidden { + visibility: hidden; +} + +.header-shadow { + box-shadow: rgb(220, 220, 220) 0px 1px 5px; +} + +/* TAGS */ +.post-tags { + list-style-type: none; + padding: 0; +} +.post-tags .post-tag { + border: 1.5px solid; + border-radius: 4px; + box-sizing: border-box; + color: inherit; + display: inline-block; + font-size: 14px; +} +.post-tags .post-tag:hover { + background-color: var(--light-text-color); + color: rgb(var(--light-primary-color)); +} +.post-tag a { + color: inherit; + display: block; + padding: 6px 12px; + text-decoration: none; +} + +/* CODE BLOCKS */ +code, +pre { + background-color: var(--light-tertiary-color); + box-sizing: border-box; + color: white; +} + +pre { + font-size: 0.95rem; + overflow: auto; + padding: 20px; +} + +code { + box-decoration-break: clone; + word-wrap: break-word; + font-size: 0.8em; +} + +:not(pre) > code { + background-color: var(--light-secondary-color) !important; + color: var(--light-text-color); + padding: 1px 4px; +} + +pre code { + font-size: 0.9em; +} + +blockquote { + border-left: 2px solid var(--light-secondary-color); + color: grey; + padding-left: 1rem; + margin-left: 0; +} + +hr { + color: var(--light-secondary-color); + margin: 50px auto; +} + +table { + border-collapse: collapse; + margin: 30px 0; + text-align: left; + display: block; + overflow-x: auto; +} + +table thead { + background-color: var(--light-secondary-color); +} + +table td, +table th { + padding: 1.4rem; +} + +table td { + border-bottom: 1px solid var(--light-secondary-color); +} + +/* HOME PAGE */ +.home-about { + text-align: center; +} + +.home-about .avatar img { + border-radius: 50%; + height: auto; + object-fit: cover; +} + +/* Avatar sizes (default is M) - XS, S, M, L, XL */ +.home-about .avatar img.size-xs { + height: 7rem; + width: 7rem; +} + +.home-about .avatar img.size-s { + height: 9rem; + width: 9rem; +} + +.home-about .avatar img.size-m { + height: 11rem; + width: 11rem; +} + +.home-about .avatar img.size-l { + height: 13rem; + width: 13rem; +} + +.home-about .avatar img.size-xl { + height: 15rem; + width: 15rem; +} + +.home-about h1 { + font-size: 2em; +} + +.social-icons { + text-align: center; +} + +.social-icons .social-icons-list { + display: inline-block; + list-style-type: none; + padding: 0; + text-align: center; +} + +.social-icons-list .social-icon { + box-sizing: border-box; + display: inline-block; + fill: var(--light-text-color); + height: 24px; + margin: 0 6px; + width: 24px; +} + +.social-icon a svg path { + transition: fill 0.15s ease; +} + +.markdown-content { + line-height: 1.25; + width: 80%; + margin: 0 auto; +} + +.home-posts { + margin: 0 auto; + padding-top: 10px; + width: 80%; +} + +/* SINGLE */ +.post [role="doc-subtitle"] { + font-size: 1.1em; + font-style: italic; +} +.post { + /* Prevent long strings from overflowing */ + overflow-wrap: break-word; +} +.post .post-date, .prev-post-date, .next-post-date { + color: gray; +} +.post .post-content { + line-height: 1.7; + margin-top: 50px; + letter-spacing: 0.5px; +} +.post-content h1, .post-content h2, .post-content h3, .post-content h4 { + scroll-margin-top: 55px; +} +.post-content h1 { + margin-top: 40px; +} +.post-content h2 { + margin-top: 35px; +} +.post-content h3 { + margin-top: 30px; +} +.post-content h4 { + margin-top: 25px; +} +.post-content h5 { + margin-top: 20px; +} +.post-content img { + display: block; + margin-left: auto; + margin-right: auto; +} + +/* LIST */ +.list-posts .list-title { + text-align: center; +} +.list-posts .posts-year { + margin-top: 70px; +} +.list-posts .post-title { + margin: 18px 0 0 15px; +} +.list-posts a { + text-decoration: none; +} +.post-title .post-link, +.post-title .post-date { + display: inline-block; +} +.post-title .post-link { + /* This magic number is the largest width that keeps the post-date div from + * causing the line to wrap with the longest possible date string + * "September 22, 2022" + */ + width: 73%; +} +.tags-list .post-tags { + margin-top: 50px; +} +.tags-list .post-tags .post-tag { + margin: 2px 5px; + padding: 0; +} +.tags-list .post-tags .post-tag a { + border-radius: inherit; + padding: 0; +} +.tags-list .post-tags .post-tag a div { + display: inline-block; +} +.tags-list .post-tags .post-tag a .tag-name { + padding: 5px 8px; +} +.tags-list .post-tags .post-tag a .tag-posts-count { + background-color: var(--light-secondary-color); + border-radius: inherit; + color: inherit; + opacity: 0.8; + padding: 6px; + position: relative; + z-index: 0; +} +.tags-list .post-tags .post-tag:hover a .tag-posts-count { + background-color: var(--light-text-color); + color: rgb(var(--light-primary-color)); +} + +.text-404 { + margin-top: 125px; + text-align: center; +} + +@media only screen and (max-width: 1120px) { + main#content { + width: auto; + } +} + +@media only screen and (max-width: 820px) { + body { + font-size: 0.95rem; + } + + .flex-break { + display: block; + } + + .home-about .avatar img { + border-radius: 50%; + height: 7rem; + width: 7rem; + } + + .nav-links .nav-link, + .nav-icons-divider { + display: none; + } + + #hamburger-menu-toggle { + display: inline-block; + } + + main#content { + box-sizing: border-box; + padding: 0 1.5rem; + width: auto; + } + + .markdown-content, .home-posts { + width: auto; + margin: 0; + } + + main#content .container { + width: 100%; + } + + .home-about { + margin: 0 auto; + } + + #toc { + display:none; + } + + .list-posts { + flex: 1; + } + + .list-posts .post-date { + color: gray; + } + + .footer { + margin-left: 0; + width: 100%; + } +} + +@media only screen and (min-width: 820px) { + .nav-hamburger-list { + visibility: hidden !important; + } +} + +/*Accessibility*/ +.sr-only { + position: absolute; + left: -10000px; + top: auto; + width: 1px; + height: 1px; + overflow: hidden; +} + +.prev-post { + float: left; + text-align: left; +} + +.next-post { + float: right; + text-align: right; +} + +.prev-post, .next-post { + max-width: 33%; +} + +/* back to top button */ +.arrow-logo { + background-color: transparent; + border-radius: 50%; + bottom: 20px; + cursor: pointer; + display: none; + font-size: 24px; + padding: 10px; + padding-right: 8px; + position: fixed; + right: 20px; + z-index: 5; + background-color: var(--light-tertiary-color); + width: 25px; + height: 25px; +} + +.arrow-logo path{ + fill: var(--light-secondary-color) +} + +.arrow-logo:hover { + fill: var(--accent-color); +} + +@media screen and (max-width: 600px) { + #btt-button { + visibility: hidden; + } +} diff --git a/assets/css/normalize.min.css b/assets/css/normalize.min.css new file mode 100644 index 0000000..87aa24d --- /dev/null +++ b/assets/css/normalize.min.css @@ -0,0 +1,2 @@ +/*! 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}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-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} +/*# sourceMappingURL=normalize.min.css.map */ \ No newline at end of file diff --git a/assets/js/feather-icons.min.js b/assets/js/feather-icons.min.js new file mode 100644 index 0000000..8134a5c --- /dev/null +++ b/assets/js/feather-icons.min.js @@ -0,0 +1,13 @@ +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.feather=n():e.feather=n()}("undefined"!=typeof self?self:this,function(){return function(e){var n={};function i(t){if(n[t])return n[t].exports;var l=n[t]={i:t,l:!1,exports:{}};return e[t].call(l.exports,l,l.exports,i),l.l=!0,l.exports}return i.m=e,i.c=n,i.d=function(e,n,t){i.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:t})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="",i(i.s=80)}([function(e,n,i){(function(n){var i="object",t=function(e){return e&&e.Math==Math&&e};e.exports=t(typeof globalThis==i&&globalThis)||t(typeof window==i&&window)||t(typeof self==i&&self)||t(typeof n==i&&n)||Function("return this")()}).call(this,i(75))},function(e,n){var i={}.hasOwnProperty;e.exports=function(e,n){return i.call(e,n)}},function(e,n,i){var t=i(0),l=i(11),r=i(33),o=i(62),a=t.Symbol,c=l("wks");e.exports=function(e){return c[e]||(c[e]=o&&a[e]||(o?a:r)("Symbol."+e))}},function(e,n,i){var t=i(6);e.exports=function(e){if(!t(e))throw TypeError(String(e)+" is not an object");return e}},function(e,n){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,n,i){var t=i(8),l=i(7),r=i(10);e.exports=t?function(e,n,i){return l.f(e,n,r(1,i))}:function(e,n,i){return e[n]=i,e}},function(e,n){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,n,i){var t=i(8),l=i(35),r=i(3),o=i(18),a=Object.defineProperty;n.f=t?a:function(e,n,i){if(r(e),n=o(n,!0),r(i),l)try{return a(e,n,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported");return"value"in i&&(e[n]=i.value),e}},function(e,n,i){var t=i(4);e.exports=!t(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,n){e.exports={}},function(e,n){e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},function(e,n,i){var t=i(0),l=i(19),r=i(17),o=t["__core-js_shared__"]||l("__core-js_shared__",{});(e.exports=function(e,n){return o[e]||(o[e]=void 0!==n?n:{})})("versions",[]).push({version:"3.1.3",mode:r?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=o(i(43)),l=o(i(41)),r=o(i(40));function o(e){return e&&e.__esModule?e:{default:e}}n.default=Object.keys(l.default).map(function(e){return new t.default(e,l.default[e],r.default[e])}).reduce(function(e,n){return e[n.name]=n,e},{})},function(e,n){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,n,i){var t=i(72),l=i(20);e.exports=function(e){return t(l(e))}},function(e,n){e.exports={}},function(e,n,i){var t=i(11),l=i(33),r=t("keys");e.exports=function(e){return r[e]||(r[e]=l(e))}},function(e,n){e.exports=!1},function(e,n,i){var t=i(6);e.exports=function(e,n){if(!t(e))return e;var i,l;if(n&&"function"==typeof(i=e.toString)&&!t(l=i.call(e)))return l;if("function"==typeof(i=e.valueOf)&&!t(l=i.call(e)))return l;if(!n&&"function"==typeof(i=e.toString)&&!t(l=i.call(e)))return l;throw TypeError("Can't convert object to primitive value")}},function(e,n,i){var t=i(0),l=i(5);e.exports=function(e,n){try{l(t,e,n)}catch(i){t[e]=n}return n}},function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,n){var i=Math.ceil,t=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?t:i)(e)}},function(e,n,i){var t; +/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";var i=function(){function e(){}function n(e,n){for(var i=n.length,t=0;t0?l(t(e),9007199254740991):0}},function(e,n,i){var t=i(1),l=i(14),r=i(68),o=i(15),a=r(!1);e.exports=function(e,n){var i,r=l(e),c=0,p=[];for(i in r)!t(o,i)&&t(r,i)&&p.push(i);for(;n.length>c;)t(r,i=n[c++])&&(~a(p,i)||p.push(i));return p}},function(e,n,i){var t=i(0),l=i(11),r=i(5),o=i(1),a=i(19),c=i(36),p=i(37),y=p.get,h=p.enforce,x=String(c).split("toString");l("inspectSource",function(e){return c.call(e)}),(e.exports=function(e,n,i,l){var c=!!l&&!!l.unsafe,p=!!l&&!!l.enumerable,y=!!l&&!!l.noTargetGet;"function"==typeof i&&("string"!=typeof n||o(i,"name")||r(i,"name",n),h(i).source=x.join("string"==typeof n?n:"")),e!==t?(c?!y&&e[n]&&(p=!0):delete e[n],p?e[n]=i:r(e,n,i)):p?e[n]=i:a(n,i)})(Function.prototype,"toString",function(){return"function"==typeof this&&y(this).source||c.call(this)})},function(e,n){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},function(e,n,i){var t=i(8),l=i(73),r=i(10),o=i(14),a=i(18),c=i(1),p=i(35),y=Object.getOwnPropertyDescriptor;n.f=t?y:function(e,n){if(e=o(e),n=a(n,!0),p)try{return y(e,n)}catch(e){}if(c(e,n))return r(!l.f.call(e,n),e[n])}},function(e,n,i){var t=i(0),l=i(31).f,r=i(5),o=i(29),a=i(19),c=i(71),p=i(65);e.exports=function(e,n){var i,y,h,x,s,u=e.target,d=e.global,f=e.stat;if(i=d?t:f?t[u]||a(u,{}):(t[u]||{}).prototype)for(y in n){if(x=n[y],h=e.noTargetGet?(s=l(i,y))&&s.value:i[y],!p(d?y:u+(f?".":"#")+y,e.forced)&&void 0!==h){if(typeof x==typeof h)continue;c(x,h)}(e.sham||h&&h.sham)&&r(x,"sham",!0),o(i,y,x,e)}}},function(e,n){var i=0,t=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+t).toString(36))}},function(e,n,i){var t=i(0),l=i(6),r=t.document,o=l(r)&&l(r.createElement);e.exports=function(e){return o?r.createElement(e):{}}},function(e,n,i){var t=i(8),l=i(4),r=i(34);e.exports=!t&&!l(function(){return 7!=Object.defineProperty(r("div"),"a",{get:function(){return 7}}).a})},function(e,n,i){var t=i(11);e.exports=t("native-function-to-string",Function.toString)},function(e,n,i){var t,l,r,o=i(76),a=i(0),c=i(6),p=i(5),y=i(1),h=i(16),x=i(15),s=a.WeakMap;if(o){var u=new s,d=u.get,f=u.has,g=u.set;t=function(e,n){return g.call(u,e,n),n},l=function(e){return d.call(u,e)||{}},r=function(e){return f.call(u,e)}}else{var v=h("state");x[v]=!0,t=function(e,n){return p(e,v,n),n},l=function(e){return y(e,v)?e[v]:{}},r=function(e){return y(e,v)}}e.exports={set:t,get:l,has:r,enforce:function(e){return r(e)?l(e):t(e,{})},getterFor:function(e){return function(n){var i;if(!c(n)||(i=l(n)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return i}}}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=Object.assign||function(e){for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:{};if("undefined"==typeof document)throw new Error("`feather.replace()` only works in a browser environment.");var n=document.querySelectorAll("[data-feather]");Array.from(n).forEach(function(n){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=function(e){return Array.from(e.attributes).reduce(function(e,n){return e[n.name]=n.value,e},{})}(e),o=i["data-feather"];delete i["data-feather"];var a=r.default[o].toSvg(t({},n,i,{class:(0,l.default)(n.class,i.class)})),c=(new DOMParser).parseFromString(a,"image/svg+xml").querySelector("svg");e.parentNode.replaceChild(c,e)}(n,e)})}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t,l=i(12),r=(t=l)&&t.__esModule?t:{default:t};n.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!e)throw new Error("The required `key` (icon name) parameter is missing.");if(!r.default[e])throw new Error("No icon matching '"+e+"'. See the complete list of icons at https://feathericons.com");return r.default[e].toSvg(n)}},function(e){e.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning","alert","danger"],"alert-octagon":["warning","alert","danger"],"alert-triangle":["warning","alert","danger"],"align-center":["text alignment","center"],"align-justify":["text alignment","justified"],"align-left":["text alignment","left"],"align-right":["text alignment","right"],anchor:[],archive:["index","box"],"at-sign":["mention","at","email","message"],award:["achievement","badge"],aperture:["camera","photo"],"bar-chart":["statistics","diagram","graph"],"bar-chart-2":["statistics","diagram","graph"],battery:["power","electricity"],"battery-charging":["power","electricity"],bell:["alarm","notification","sound"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read","library"],book:["read","dictionary","booklet","magazine","library"],bookmark:["read","clip","marker","tag"],box:["cube"],briefcase:["work","bag","baggage","folder"],calendar:["date"],camera:["photo"],cast:["chromecast","airplay"],circle:["off","zero","record"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],code:["source","programming"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],columns:["layout"],command:["keyboard","cmd","terminal","prompt"],compass:["navigation","safari","travel","direction"],copy:["clone","duplicate"],"corner-down-left":["arrow","return"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],cpu:["processor","technology"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage","memory"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch","hide","hidden"],"external-link":["outbound"],facebook:["logo","social"],"fast-forward":["music"],figma:["logo","design","tool"],"file-minus":["delete","remove","erase"],"file-plus":["add","create","new"],"file-text":["data","txt","pdf"],film:["movie","video"],filter:["funnel","hopper"],flag:["report"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],framer:["logo","design","tool"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],globe:["world","browser","language","translate"],"hard-drive":["computer","server","memory","data"],hash:["hashtag","number","pound"],headphones:["music","audio","sound"],heart:["like","love","emotion"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house","living"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication","secure"],layers:["stack"],layout:["window","webpage"],"life-bouy":["help","life ring","support"],link:["chain","url"],"link-2":["chain","url"],linkedin:["logo","social media"],list:["options"],lock:["security","password","secure"],"log-in":["sign in","arrow","enter"],"log-out":["sign out","arrow","exit"],mail:["email","message"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows","expand"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record","sound","mute"],mic:["record","sound","listen"],minimize:["exit fullscreen","close"],"minimize-2":["exit fullscreen","arrows","close"],minus:["subtract"],monitor:["tv","screen","display"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],music:["note"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box","container"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","audio","stop"],"pen-tool":["vector","drawing"],percent:["discount"],"phone-call":["ring"],"phone-forwarded":["call"],"phone-incoming":["call"],"phone-missed":["call"],"phone-off":["call","mute"],"phone-outgoing":["call"],phone:["call"],play:["music","start"],"pie-chart":["statistics","diagram"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],printer:["fax","office","device"],radio:["signal"],"refresh-cw":["synchronise","arrows"],"refresh-ccw":["arrows"],repeat:["loop","arrows"],rewind:["music"],"rotate-ccw":["arrow"],"rotate-cw":["arrow"],rss:["feed","subscribe"],save:["floppy disk"],scissors:["cut"],search:["find","magnifier","magnifying glass"],send:["message","mail","email","paper airplane","paper aeroplane"],settings:["cog","edit","gear","preferences"],"share-2":["network","connections"],shield:["security","secure"],"shield-off":["security","insecure"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slack:["logo"],slash:["ban","no"],sliders:["settings","controls"],smartphone:["cellphone","device"],smile:["emoji","face","happy","good","emotion"],speaker:["audio","music"],star:["bookmark","favorite","like"],"stop-circle":["media","music"],sun:["brightness","weather","light"],sunrise:["weather","time","morning","day"],sunset:["weather","time","evening","night"],tablet:["device"],tag:["label"],target:["logo","bullseye"],terminal:["code","command line","prompt"],thermometer:["temperature","celsius","fahrenheit","weather"],"thumbs-down":["dislike","bad","emotion"],"thumbs-up":["like","good","emotion"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],tool:["settings","spanner"],trash:["garbage","delete","remove","bin"],"trash-2":["garbage","delete","remove","bin"],triangle:["delta"],truck:["delivery","van","shipping","transport","lorry"],tv:["television","stream"],twitch:["logo"],twitter:["logo","social"],type:["text"],umbrella:["rain","weather"],unlock:["security"],"user-check":["followed","subscribed"],"user-minus":["delete","remove","unfollow","unsubscribe"],"user-plus":["new","add","create","follow","subscribe"],"user-x":["delete","remove","unfollow","unsubscribe","unavailable"],user:["person","account"],users:["group"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],"wifi-off":["disabled"],wifi:["connection","signal","wireless"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times","clear"],"x-octagon":["delete","stop","alert","warning","times","clear"],"x-square":["cancel","close","delete","remove","times","clear"],x:["cancel","close","delete","remove","times","clear"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"],"zoom-in":["magnifying glass"],"zoom-out":["magnifying glass"]}},function(e){e.exports={activity:'',airplay:'',"alert-circle":'',"alert-octagon":'',"alert-triangle":'',"align-center":'',"align-justify":'',"align-left":'',"align-right":'',anchor:'',aperture:'',archive:'',"arrow-down-circle":'',"arrow-down-left":'',"arrow-down-right":'',"arrow-down":'',"arrow-left-circle":'',"arrow-left":'',"arrow-right-circle":'',"arrow-right":'',"arrow-up-circle":'',"arrow-up-left":'',"arrow-up-right":'',"arrow-up":'',"at-sign":'',award:'',"bar-chart-2":'',"bar-chart":'',"battery-charging":'',battery:'',"bell-off":'',bell:'',bluetooth:'',bold:'',"book-open":'',book:'',bookmark:'',box:'',briefcase:'',calendar:'',"camera-off":'',camera:'',cast:'',"check-circle":'',"check-square":'',check:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"chevrons-down":'',"chevrons-left":'',"chevrons-right":'',"chevrons-up":'',chrome:'',circle:'',clipboard:'',clock:'',"cloud-drizzle":'',"cloud-lightning":'',"cloud-off":'',"cloud-rain":'',"cloud-snow":'',cloud:'',code:'',codepen:'',codesandbox:'',coffee:'',columns:'',command:'',compass:'',copy:'',"corner-down-left":'',"corner-down-right":'',"corner-left-down":'',"corner-left-up":'',"corner-right-down":'',"corner-right-up":'',"corner-up-left":'',"corner-up-right":'',cpu:'',"credit-card":'',crop:'',crosshair:'',database:'',delete:'',disc:'',"divide-circle":'',"divide-square":'',divide:'',"dollar-sign":'',"download-cloud":'',download:'',dribbble:'',droplet:'',"edit-2":'',"edit-3":'',edit:'',"external-link":'',"eye-off":'',eye:'',facebook:'',"fast-forward":'',feather:'',figma:'',"file-minus":'',"file-plus":'',"file-text":'',file:'',film:'',filter:'',flag:'',"folder-minus":'',"folder-plus":'',folder:'',framer:'',frown:'',gift:'',"git-branch":'',"git-commit":'',"git-merge":'',"git-pull-request":'',github:'',gitlab:'',globe:'',grid:'',"hard-drive":'',hash:'',headphones:'',heart:'',"help-circle":'',hexagon:'',home:'',image:'',inbox:'',info:'',instagram:'',italic:'',key:'',layers:'',layout:'',"life-buoy":'',"link-2":'',link:'',linkedin:'',list:'',loader:'',lock:'',"log-in":'',"log-out":'',mail:'',"map-pin":'',map:'',"maximize-2":'',maximize:'',meh:'',menu:'',"message-circle":'',"message-square":'',"mic-off":'',mic:'',"minimize-2":'',minimize:'',"minus-circle":'',"minus-square":'',minus:'',monitor:'',moon:'',"more-horizontal":'',"more-vertical":'',"mouse-pointer":'',move:'',music:'',"navigation-2":'',navigation:'',octagon:'',package:'',paperclip:'',"pause-circle":'',pause:'',"pen-tool":'',percent:'',"phone-call":'',"phone-forwarded":'',"phone-incoming":'',"phone-missed":'',"phone-off":'',"phone-outgoing":'',phone:'',"pie-chart":'',"play-circle":'',play:'',"plus-circle":'',"plus-square":'',plus:'',pocket:'',power:'',printer:'',radio:'',"refresh-ccw":'',"refresh-cw":'',repeat:'',rewind:'',"rotate-ccw":'',"rotate-cw":'',rss:'',save:'',scissors:'',search:'',send:'',server:'',settings:'',"share-2":'',share:'',"shield-off":'',shield:'',"shopping-bag":'',"shopping-cart":'',shuffle:'',sidebar:'',"skip-back":'',"skip-forward":'',slack:'',slash:'',sliders:'',smartphone:'',smile:'',speaker:'',square:'',star:'',"stop-circle":'',sun:'',sunrise:'',sunset:'',tablet:'',tag:'',target:'',terminal:'',thermometer:'',"thumbs-down":'',"thumbs-up":'',"toggle-left":'',"toggle-right":'',tool:'',"trash-2":'',trash:'',trello:'',"trending-down":'',"trending-up":'',triangle:'',truck:'',tv:'',twitch:'',twitter:'',type:'',umbrella:'',underline:'',unlock:'',"upload-cloud":'',upload:'',"user-check":'',"user-minus":'',"user-plus":'',"user-x":'',user:'',users:'',"video-off":'',video:'',voicemail:'',"volume-1":'',"volume-2":'',"volume-x":'',volume:'',watch:'',"wifi-off":'',wifi:'',wind:'',"x-circle":'',"x-octagon":'',"x-square":'',x:'',youtube:'',"zap-off":'',zap:'',"zoom-in":'',"zoom-out":''}},function(e){e.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var t=Object.assign||function(e){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:[];!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=n,this.contents=i,this.tags=l,this.attrs=t({},o.default,{class:"feather feather-"+n})}return l(e,[{key:"toSvg",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return""+this.contents+""}},{key:"toString",value:function(){return this.contents}}]),e}();n.default=c},function(e,n,i){"use strict";var t=o(i(12)),l=o(i(39)),r=o(i(38));function o(e){return e&&e.__esModule?e:{default:e}}e.exports={icons:t.default,toSvg:l.default,replace:r.default}},function(e,n,i){e.exports=i(0)},function(e,n,i){var t=i(2)("iterator"),l=!1;try{var r=0,o={next:function(){return{done:!!r++}},return:function(){l=!0}};o[t]=function(){return this},Array.from(o,function(){throw 2})}catch(e){}e.exports=function(e,n){if(!n&&!l)return!1;var i=!1;try{var r={};r[t]=function(){return{next:function(){return{done:i=!0}}}},e(r)}catch(e){}return i}},function(e,n,i){var t=i(30),l=i(2)("toStringTag"),r="Arguments"==t(function(){return arguments}());e.exports=function(e){var n,i,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,n){try{return e[n]}catch(e){}}(n=Object(e),l))?i:r?t(n):"Object"==(o=t(n))&&"function"==typeof n.callee?"Arguments":o}},function(e,n,i){var t=i(47),l=i(9),r=i(2)("iterator");e.exports=function(e){if(void 0!=e)return e[r]||e["@@iterator"]||l[t(e)]}},function(e,n,i){"use strict";var t=i(18),l=i(7),r=i(10);e.exports=function(e,n,i){var o=t(n);o in e?l.f(e,o,r(0,i)):e[o]=i}},function(e,n,i){var t=i(2),l=i(9),r=t("iterator"),o=Array.prototype;e.exports=function(e){return void 0!==e&&(l.Array===e||o[r]===e)}},function(e,n,i){var t=i(3);e.exports=function(e,n,i,l){try{return l?n(t(i)[0],i[1]):n(i)}catch(n){var r=e.return;throw void 0!==r&&t(r.call(e)),n}}},function(e,n){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,n,i){var t=i(52);e.exports=function(e,n,i){if(t(e),void 0===n)return e;switch(i){case 0:return function(){return e.call(n)};case 1:return function(i){return e.call(n,i)};case 2:return function(i,t){return e.call(n,i,t)};case 3:return function(i,t,l){return e.call(n,i,t,l)}}return function(){return e.apply(n,arguments)}}},function(e,n,i){"use strict";var t=i(53),l=i(24),r=i(51),o=i(50),a=i(27),c=i(49),p=i(48);e.exports=function(e){var n,i,y,h,x=l(e),s="function"==typeof this?this:Array,u=arguments.length,d=u>1?arguments[1]:void 0,f=void 0!==d,g=0,v=p(x);if(f&&(d=t(d,u>2?arguments[2]:void 0,2)),void 0==v||s==Array&&o(v))for(i=new s(n=a(x.length));n>g;g++)c(i,g,f?d(x[g],g):x[g]);else for(h=v.call(x),i=new s;!(y=h.next()).done;g++)c(i,g,f?r(h,d,[y.value,g],!0):y.value);return i.length=g,i}},function(e,n,i){var t=i(32),l=i(54);t({target:"Array",stat:!0,forced:!i(46)(function(e){Array.from(e)})},{from:l})},function(e,n,i){var t=i(6),l=i(3);e.exports=function(e,n){if(l(e),!t(n)&&null!==n)throw TypeError("Can't set "+String(n)+" as a prototype")}},function(e,n,i){var t=i(56);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,n=!1,i={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(i,[]),n=i instanceof Array}catch(e){}return function(i,l){return t(i,l),n?e.call(i,l):i.__proto__=l,i}}():void 0)},function(e,n,i){var t=i(0).document;e.exports=t&&t.documentElement},function(e,n,i){var t=i(28),l=i(13);e.exports=Object.keys||function(e){return t(e,l)}},function(e,n,i){var t=i(8),l=i(7),r=i(3),o=i(59);e.exports=t?Object.defineProperties:function(e,n){r(e);for(var i,t=o(n),a=t.length,c=0;a>c;)l.f(e,i=t[c++],n[i]);return e}},function(e,n,i){var t=i(3),l=i(60),r=i(13),o=i(15),a=i(58),c=i(34),p=i(16)("IE_PROTO"),y=function(){},h=function(){var e,n=c("iframe"),i=r.length;for(n.style.display="none",a.appendChild(n),n.src=String("javascript:"),(e=n.contentWindow.document).open(),e.write(" + + ''' + + customFooterHTML= """ + + You can support this project by donating + + """ + + showPostsOnHomePage = "recent" + togglePreviousAndNextButtons = "true" + diff --git a/i18n/en.toml b/i18n/en.toml new file mode 100644 index 0000000..ccc485a --- /dev/null +++ b/i18n/en.toml @@ -0,0 +1,14 @@ +[Recent] + other = 'decent' +[error404] + other = 'this page does not exist, go' +[home] + other = 'home' +[nothing] + other = 'nothing to see here, yet' +[previous] + other = 'previous' +[next] + other = 'next' +[tags] + other = 'tags' diff --git a/layouts/404.html b/layouts/404.html new file mode 100644 index 0000000..0c36928 --- /dev/null +++ b/layouts/404.html @@ -0,0 +1,19 @@ +{{ define "main"}} + +
+

+

+ 404 ... {{ i18n "error404" . }} {{ i18n "home" }} +

+
+ + +{{ end }} diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..0db2d6f --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,21 @@ + + + {{- $avatarImgSrc := .Site.Params.AvatarURL -}} + {{- if and (isset site.Params "avatarURL") (not (hasPrefix $avatarImgSrc "http")) -}} + {{- $avatarImgSrc = (urls.JoinPath $.Site.BaseURL ($.Site.Params.AvatarURL | default "")) -}} + {{- end -}} + {{- .Scratch.Set "avatarImgSrc" $avatarImgSrc -}} + + {{- partial "head.html" . -}} + + + {{- partial "header.html" . -}} +
+ {{- block "main" . }}{{- end }} +
+ {{- partial "footer.html" . -}} + + diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..8caf133 --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,7 @@ +{{ define "main" }} + {{ if eq .Type "page" }} + {{- partial "page.html" . -}} + {{ else }} + {{- partial "list.html" . -}} + {{ end }} +{{ end }} diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..527011a --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,11 @@ +{{ define "main" }} + {{ if eq .Type "post" }} + {{- partial "post.html" . -}} + {{- partial "toc.html" . -}} + {{ end }} + + {{ if eq .Type "page" }} + {{- partial "page.html" . -}} + {{- partial "toc.html" . -}} + {{ end }} +{{ end }} diff --git a/layouts/_default/terms.html b/layouts/_default/terms.html new file mode 100644 index 0000000..affab42 --- /dev/null +++ b/layouts/_default/terms.html @@ -0,0 +1,21 @@ +{{ define "main" }} +
+ +

{{ lower "tags" }}

+ {{if eq (len $.Site.Taxonomies.tags) 0}} + {{ i18n "nothing" }} + {{else}} + + {{ end }} + +
+{{ end }} diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..55becde --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,64 @@ +{{ define "main" }} +
+ + +
+ +
+ +{{ if isset .Site.Params "socialicons" }} + +{{ end }} + +{{ if os.FileExists "index-about.md" }} +
+ {{ readFile "index-about.md" | markdownify }} +
+{{ end }} + +{{ if isset .Site.Params "showpostsonhomepage" }} + +
+

{{ lower (.Site.Params.ShowPostsOnHomePage | humanize) }} theses

+ + {{ $posts := where .Site.Pages "Params.type" "post" }} + + {{ if eq .Site.Params.ShowPostsOnHomePage "popular" }} + {{ range $posts.ByWeight | first 4 }} + {{- partial "list-posts.html" . -}} + {{ end }} + {{ else if eq .Site.Params.ShowPostsOnHomePage "recent" }} + {{ range $posts.ByDate.Reverse | first 4 }} + {{- partial "list-posts.html" . -}} + {{ end }} + {{ end }} +
+ +{{ end }} +{{ end }} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..f06790a --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,8 @@ +
+ + {{ if .Site.Params.CustomFooterHTML }} + {{ .Site.Params.CustomFooterHTML | safeHTML }} + {{ end }} + + © {{ now.Year }} +
diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..834e1fb --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,65 @@ + + + + + + + {{ $title := .Title | default .Site.Title }} + {{ $description := .Description | default .Site.Params.Description }} + {{ $image := .Params.image | default (.Scratch.Get "avatarImgSrc") }} + {{ $siteKeywords := .Site.Params.MetaKeywords | default (slice) }} + {{ $postKeywords := .Params.tags | default (slice) }} + {{ $keywords := union $siteKeywords $postKeywords }} + + + {{ if .IsHome }} + {{ lower .Site.Title }} | home + {{else}} + {{ lower .Site.Title }} | {{ lower $title}} + {{ end }} + + + + + + + + + + + + + + + + + + + + + + + + + + {{ $cssNormalize := resources.Get "css/normalize.min.css" }} + + + {{ $cssMain := resources.Get "css/main.css" | minify }} + + + {{ $cssDark := resources.Get "css/dark.css" | minify }} + + + {{ $jsBundle := resources.Match "js/**.js" | resources.Concat "js/bundle.js" | minify | resources.Fingerprint "sha256" }} + + + + {{ if .Site.Params.CustomHeadHTML }} + {{ .Site.Params.CustomHeadHTML | safeHTML }} + {{ end }} + diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..3a3a542 --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,59 @@ +
+ +
diff --git a/layouts/partials/list-posts.html b/layouts/partials/list-posts.html new file mode 100644 index 0000000..31ad432 --- /dev/null +++ b/layouts/partials/list-posts.html @@ -0,0 +1,5 @@ +
+ {{ .Title }} +
+ +
diff --git a/layouts/partials/list.html b/layouts/partials/list.html new file mode 100644 index 0000000..be2f3b9 --- /dev/null +++ b/layouts/partials/list.html @@ -0,0 +1,20 @@ +
+ +

{{ lower .Name }}

+ + {{ range (where .Pages "Params.type" "post" ).GroupByDate "2006" }} + + + + {{- range .Pages -}} + {{- partial "list-posts.html" . -}} + {{ end }} + {{ end }} + +
diff --git a/layouts/partials/page.html b/layouts/partials/page.html new file mode 100644 index 0000000..0be4486 --- /dev/null +++ b/layouts/partials/page.html @@ -0,0 +1,11 @@ +
+ +
+

{{ .Title }}

+
+ +
+ {{ .Content }} +
+
+ diff --git a/layouts/partials/post.html b/layouts/partials/post.html new file mode 100644 index 0000000..e1b38ce --- /dev/null +++ b/layouts/partials/post.html @@ -0,0 +1,75 @@ +
+
+

{{ .Title }}

+ {{ .Description }} + + + +
+ +
+ {{ .Content }} + {{ if .Site.DisqusShortname }} +
+ {{ template "_internal/disqus.html" . }} +
+ {{ end }} +
+ +
+ {{ if eq .Site.Params.TogglePreviousAndNextButtons "true" }} + {{ if or .PrevInSection .NextInSection }} + {{ partial "prev-next.html" . }} + {{ end }} + {{ end }} +
+ + + {{ if .Site.Params.ShowBackToTopButton }} + + + {{ end }} + {{ if .Site.Params.CustomCommentHTML }} +
+ {{ .Site.Params.CustomCommentHTML | safeHTML }} +
+ {{ end }} +
diff --git a/layouts/partials/prev-next.html b/layouts/partials/prev-next.html new file mode 100644 index 0000000..682d668 --- /dev/null +++ b/layouts/partials/prev-next.html @@ -0,0 +1,29 @@ +{{ with .PrevInSection }} + +{{ end }} + +{{ with .NextInSection }} + +{{ end }} diff --git a/layouts/partials/toc.html b/layouts/partials/toc.html new file mode 100644 index 0000000..8c9fd4b --- /dev/null +++ b/layouts/partials/toc.html @@ -0,0 +1,7 @@ +{{ if .Params.ShowTableOfContents }} + +{{ end }} diff --git a/static/fonts/Lato-Bold.ttf b/static/fonts/Lato-Bold.ttf new file mode 100644 index 0000000..b63a14d Binary files /dev/null and b/static/fonts/Lato-Bold.ttf differ diff --git a/static/fonts/Lato-Regular.ttf b/static/fonts/Lato-Regular.ttf new file mode 100644 index 0000000..33eba8b Binary files /dev/null and b/static/fonts/Lato-Regular.ttf differ diff --git a/static/imgs/btc-qrcode.png b/static/imgs/btc-qrcode.png new file mode 100644 index 0000000..85167c0 Binary files /dev/null and b/static/imgs/btc-qrcode.png differ diff --git a/static/imgs/xmr-qrcode.png b/static/imgs/xmr-qrcode.png new file mode 100644 index 0000000..2c2a308 Binary files /dev/null and b/static/imgs/xmr-qrcode.png differ diff --git a/static/svg/icons/angellist.svg b/static/svg/icons/angellist.svg new file mode 100644 index 0000000..7cce259 --- /dev/null +++ b/static/svg/icons/angellist.svg @@ -0,0 +1 @@ +AngelList \ No newline at end of file diff --git a/static/svg/icons/bitcoin.svg b/static/svg/icons/bitcoin.svg new file mode 100644 index 0000000..ce83b6d --- /dev/null +++ b/static/svg/icons/bitcoin.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/static/svg/icons/buymeacoffee.svg b/static/svg/icons/buymeacoffee.svg new file mode 100644 index 0000000..5187886 --- /dev/null +++ b/static/svg/icons/buymeacoffee.svg @@ -0,0 +1 @@ +Buy Me A Coffee \ No newline at end of file diff --git a/static/svg/icons/discord.svg b/static/svg/icons/discord.svg new file mode 100644 index 0000000..f797a04 --- /dev/null +++ b/static/svg/icons/discord.svg @@ -0,0 +1 @@ +Discord diff --git a/static/svg/icons/dribbble.svg b/static/svg/icons/dribbble.svg new file mode 100644 index 0000000..130a6f5 --- /dev/null +++ b/static/svg/icons/dribbble.svg @@ -0,0 +1 @@ +Dribbble \ No newline at end of file diff --git a/static/svg/icons/email.svg b/static/svg/icons/email.svg new file mode 100644 index 0000000..3811b59 --- /dev/null +++ b/static/svg/icons/email.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svg/icons/facebook.svg b/static/svg/icons/facebook.svg new file mode 100644 index 0000000..4ef9d67 --- /dev/null +++ b/static/svg/icons/facebook.svg @@ -0,0 +1 @@ +Facebook \ No newline at end of file diff --git a/static/svg/icons/github.svg b/static/svg/icons/github.svg new file mode 100644 index 0000000..538ec5b --- /dev/null +++ b/static/svg/icons/github.svg @@ -0,0 +1 @@ +GitHub \ No newline at end of file diff --git a/static/svg/icons/gmail.svg b/static/svg/icons/gmail.svg new file mode 100644 index 0000000..9ee779a --- /dev/null +++ b/static/svg/icons/gmail.svg @@ -0,0 +1 @@ +Gmail \ No newline at end of file diff --git a/static/svg/icons/google.svg b/static/svg/icons/google.svg new file mode 100644 index 0000000..2eaf915 --- /dev/null +++ b/static/svg/icons/google.svg @@ -0,0 +1 @@ +Google \ No newline at end of file diff --git a/static/svg/icons/instagram.svg b/static/svg/icons/instagram.svg new file mode 100644 index 0000000..5a68721 --- /dev/null +++ b/static/svg/icons/instagram.svg @@ -0,0 +1 @@ +Instagram \ No newline at end of file diff --git a/static/svg/icons/iota.svg b/static/svg/icons/iota.svg new file mode 100644 index 0000000..1f0e834 --- /dev/null +++ b/static/svg/icons/iota.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svg/icons/kofi.svg b/static/svg/icons/kofi.svg new file mode 100644 index 0000000..1c209d9 --- /dev/null +++ b/static/svg/icons/kofi.svg @@ -0,0 +1 @@ +Ko-fi \ No newline at end of file diff --git a/static/svg/icons/linkedin.svg b/static/svg/icons/linkedin.svg new file mode 100644 index 0000000..caa6e69 --- /dev/null +++ b/static/svg/icons/linkedin.svg @@ -0,0 +1 @@ +LinkedIn \ No newline at end of file diff --git a/static/svg/icons/mastodon.svg b/static/svg/icons/mastodon.svg new file mode 100644 index 0000000..19141c7 --- /dev/null +++ b/static/svg/icons/mastodon.svg @@ -0,0 +1 @@ +Mastodon \ No newline at end of file diff --git a/static/svg/icons/monero.svg b/static/svg/icons/monero.svg new file mode 100644 index 0000000..f2b4b00 --- /dev/null +++ b/static/svg/icons/monero.svg @@ -0,0 +1,2 @@ + +Monero icon \ No newline at end of file diff --git a/static/svg/icons/mozilla.svg b/static/svg/icons/mozilla.svg new file mode 100644 index 0000000..507eb66 --- /dev/null +++ b/static/svg/icons/mozilla.svg @@ -0,0 +1 @@ +Mozilla \ No newline at end of file diff --git a/static/svg/icons/paypal.svg b/static/svg/icons/paypal.svg new file mode 100644 index 0000000..d826425 --- /dev/null +++ b/static/svg/icons/paypal.svg @@ -0,0 +1,19 @@ + + + + + paypal [#140] + Created with Sketch. + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/svg/icons/reddit.svg b/static/svg/icons/reddit.svg new file mode 100644 index 0000000..7e4ddd1 --- /dev/null +++ b/static/svg/icons/reddit.svg @@ -0,0 +1 @@ +Reddit \ No newline at end of file diff --git a/static/svg/icons/rss.svg b/static/svg/icons/rss.svg new file mode 100644 index 0000000..14a6f3f --- /dev/null +++ b/static/svg/icons/rss.svg @@ -0,0 +1 @@ +RSS \ No newline at end of file diff --git a/static/svg/icons/spotify.svg b/static/svg/icons/spotify.svg new file mode 100644 index 0000000..8d4d095 --- /dev/null +++ b/static/svg/icons/spotify.svg @@ -0,0 +1 @@ +Spotify \ No newline at end of file diff --git a/static/svg/icons/stackoverflow.svg b/static/svg/icons/stackoverflow.svg new file mode 100644 index 0000000..ab83808 --- /dev/null +++ b/static/svg/icons/stackoverflow.svg @@ -0,0 +1 @@ +Stack Overflow \ No newline at end of file diff --git a/static/svg/icons/tiktok.svg b/static/svg/icons/tiktok.svg new file mode 100644 index 0000000..57ce3ae --- /dev/null +++ b/static/svg/icons/tiktok.svg @@ -0,0 +1 @@ +TikTok \ No newline at end of file diff --git a/static/svg/icons/twitch.svg b/static/svg/icons/twitch.svg new file mode 100644 index 0000000..8aaa4a9 --- /dev/null +++ b/static/svg/icons/twitch.svg @@ -0,0 +1 @@ +Twitch \ No newline at end of file diff --git a/static/svg/icons/twitter.svg b/static/svg/icons/twitter.svg new file mode 100644 index 0000000..45bd20c --- /dev/null +++ b/static/svg/icons/twitter.svg @@ -0,0 +1 @@ +Twitter \ No newline at end of file diff --git a/static/svg/icons/vimeo.svg b/static/svg/icons/vimeo.svg new file mode 100644 index 0000000..cecbfcc --- /dev/null +++ b/static/svg/icons/vimeo.svg @@ -0,0 +1 @@ +Vimeo \ No newline at end of file diff --git a/static/svg/icons/xing.svg b/static/svg/icons/xing.svg new file mode 100644 index 0000000..43e874a --- /dev/null +++ b/static/svg/icons/xing.svg @@ -0,0 +1 @@ +Xing \ No newline at end of file diff --git a/static/svg/icons/ycombinator.svg b/static/svg/icons/ycombinator.svg new file mode 100644 index 0000000..8eb0d25 --- /dev/null +++ b/static/svg/icons/ycombinator.svg @@ -0,0 +1 @@ +Y Combinator \ No newline at end of file diff --git a/static/svg/icons/youtube.svg b/static/svg/icons/youtube.svg new file mode 100644 index 0000000..0492366 --- /dev/null +++ b/static/svg/icons/youtube.svg @@ -0,0 +1 @@ +YouTube \ No newline at end of file