diff --git a/LICENSE b/LICENSE index d8bea892..de411584 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,3 @@ -MIT License +There is NO copyright on any content. Do whatever you want. -Copyright (c) 2017 Wouter Groeneveld - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +See https://brainbaking.com/no-copyright-no-tracking/ diff --git a/config.toml b/config.toml index 4f44d6a2..88d13798 100644 --- a/config.toml +++ b/config.toml @@ -20,9 +20,10 @@ enableGitInfo = true description = "Freshly baked thought" # see single.html, DisqusShortname also needed disableComments = true - accent = "purple" + accent = "#008862" + accent2 = "#008fb3" showBorder = true - copyright = "No reserved - sharing is caring. Hack away! Brain Baking" + copyright = "No © and no tracking - sharing is caring. Brain Baking. RSS Feed." [Author] name = "Wouter Groeneveld" @@ -44,11 +45,6 @@ enableGitInfo = true tabWidth = 4 [privacy] - [privacy.googleAnalytics] - anonymizeIP = true - disable = false - respectDoNotTrack = false - useSessionStorage = false [privacy.youtube] disable = false privacyEnhanced = true diff --git a/content/about.md b/content/about.md index a850cd4c..d0600204 100644 --- a/content/about.md +++ b/content/about.md @@ -4,9 +4,9 @@ bigimg: /img/About Me.jpg disableComments: true --- -And I have a deep passion to inspire others on everything that drives me. I like to think of myself as one of those _polymaths_ or Rennaissance Men: +And I have a deep passion to inspire others on everything that drives me. I like to think of myself as one of those [_polymaths_](https://en.wikipedia.org/wiki/Polymath) or Rennaissance Men: -> Renaissance man (noun) - a person with many talents or areas of knowledge.[^2] +> Renaissance man (noun) - a person with many talents or areas of knowledge. Professionally, I am a PhD researcher at the [Faculty of Engineering Technology](https://iiw.kuleuven.be/english), KU Leuven. I have been an experienced software engineer for 11 years before that, taking on various roles from agile coaching to technical lead. I am not only interested in technical software development, but also in what happens at **non-cognitive, human level** when developing software _together_. @@ -30,7 +30,7 @@ Take a look at my [Githu #### Writing and philosophizing * I'm a [fountain pen addict](/post/fountain-pens-first-look/) and avid [journaler](/post/journaling-in-practice/). -* This website[^1] is the ideal base for writing down my thoughts about virtually anything, primarily intended to amuse myself and not others. +* This website is the ideal base for writing down my thoughts about virtually anything, primarily intended to amuse myself and not others. * I like to integrate Philosophical and Psychological approaches into my research. #### Drawing @@ -58,6 +58,3 @@ These are the latest 12 books I've read:

 

- -[^1]: This website uses an [anonymized IP](https://support.google.com/analytics/answer/2763052?hl=en) form of Google Analytics for the sole purpose of tracking website traffic. -[^2]: [https://en.wikipedia.org/wiki/Polymath](https://en.wikipedia.org/wiki/Polymath) \ No newline at end of file diff --git a/content/essays/_index.md b/content/essays/_index.md index 0ecf0470..eb33c23d 100644 --- a/content/essays/_index.md +++ b/content/essays/_index.md @@ -3,7 +3,7 @@ title: Essays icontag: book --- -> Filosofie is voor het vinden van een baan misschien het minst bruikbaar van alle studies, maar het is niettemin de beste studie. - Aristoteles +> Filosofie is voor het vinden van een baan misschien het minst bruikbaar van alle studies, maar het is niettemin de beste studie. Aristoteles De essentie van [Brain Baking](/) bevindt zich hier, het bakken van in eerste instantie **mijn** hersenen, met het reflectieve karakter van de filosofie als aroma. Ik schrijf voor mezelf, om mijzelf te helpen anderen te kunnen helpen. _Baked brains_ met een krokante korst zijn goed verteerbare verhoudingen tussen mijzelf en de wereld, geïnspireerd op de Groten als Kant (_Kritik der reinen Vernunft_), Wittgenstein (_tractatus logico-philosophicus_) en Montaigne (_Essais_). diff --git a/content/essays/de-zin-en-onzin-van-conferenties.md b/content/essays/de-zin-en-onzin-van-conferenties.md index bb04dbde..6e518a54 100644 --- a/content/essays/de-zin-en-onzin-van-conferenties.md +++ b/content/essays/de-zin-en-onzin-van-conferenties.md @@ -25,7 +25,7 @@ Uiteraard pleit ook ik schuldig. Ik heb presentaties gegeven voor volle filmzale Verhaaltjes vertellen trekt niet alleen kinderen aan, maar doet ook je publiek _opletten_: -> Time after time, when faced with the task of persuading a group of managers... to get enthusiastic about a major change, storytelling was the only thing that worked. (Stephen Denning, The Leader's Guide to Storytelling) +> Time after time, when faced with the task of persuading a group of managers... to get enthusiastic about a major change, storytelling was the only thing that worked. Stephen Denning, The Leader's Guide to Storytelling Het '_presenteren voor publiceren_' motto slaat op niets en werkt bovenstaande punten volledig in de hand. Nog niet de helft van de aanvaarde papers zijn interessant genoeg om iets over te vertellen, en dat geldt ook voor mijn eigen werk. Zonder praktische demo's zijn de erg snel op elkaar volgende sessies na een tijdje moeilijker verteerbaar. diff --git a/content/essays/healing-creative-scars.md b/content/essays/healing-creative-scars.md index d65cf8df..12a0889c 100644 --- a/content/essays/healing-creative-scars.md +++ b/content/essays/healing-creative-scars.md @@ -5,9 +5,9 @@ bigimg: /img/boekjesheader.png url: /post/healing-creative-scars/ subtitle: My ultimate secret weapon for self improvement tags: - - learning - - self improvement - journaling + - self improvement + - learning published: true --- diff --git a/content/essays/journaling-in-practice.md b/content/essays/journaling-in-practice.md index 57436baa..8f2ca6b7 100644 --- a/content/essays/journaling-in-practice.md +++ b/content/essays/journaling-in-practice.md @@ -7,6 +7,7 @@ subtitle: My guide to keeping a journal tags: - journaling - self improvement + - learning - fountain pens published: true --- diff --git a/content/no-copyright-no-tracking.md b/content/no-copyright-no-tracking.md new file mode 100644 index 00000000..97cc39b8 --- /dev/null +++ b/content/no-copyright-no-tracking.md @@ -0,0 +1,25 @@ +--- +title: No copyright - No Tracking +subtitle: Because sharing is caring. +disableComments: true +--- + +## No Copyright + +Inspired by Leo Babauta's ["uncopyright and the minimalist mindset"](https://mnmlist.com/uncopyright-and-a-minimalist-mindset/), I decided to apply this to my own website. + +I've always detested the _'this is mine!'_-mindset, especially when it comes to intellectual property. Everyone benefits if everything is open and everyone can build upon each other's work. A possible financial loss is not an excuse. Leo has found copyrights not to be particularly helpful, so he simply got rid of them. He sells thousands of ebooks monthly. You have the right to share them with friends. He would rather have you buy them, but this way his work reaches a broader audience. + +The source of this website is available at my Brain Baking [Github repository](https://github.com/wgroeneveld/brainbaking). Feel free to do with it whatever you want: copy excerpts, republish images, use code partials, rip the theme, ... There's a reason the repository is **public**. + +> Love only grows by sharing. You can only have more for yourself by giving it away to others. Brian Tracy + +Of course I would be really grateful if you would still attribute Brain Baking as the source of your used material. However, I do not want to oblige you to do so using a confusing Creative Commons licence. + +## No Tracking + +Who doesn't like cookies? I'm [a baker](https://redzuurdesem.be/) - I would know. Well, I don't like cookies on websites, because they rise privacy concerns. That is why, inspired by [Laura Kalbag's "I don't track you"](https://laurakalbag.com/i-dont-track-you/) philosophy, I do everything I can to _not_ track you, but to track **traffic** instead. + +I achieved this by ditching Google Analytics and hosting third-party libraries myself. So _rest assured_, Google does not know you were here! Instead, I use [Fathom](https://usefathom.com), a simple and privacy-focused analytics system that is self-hosted. It does require one simple cookie but it's on my own SSL-verified domain. + +When a YouTube video is embedded into one of these pages, it will run in "no cookie" mode. That means content will be served from youtube-nocookie.com, preventing Google from tracking my visitors. diff --git a/content/post/_index.md b/content/post/_index.md index 71e6b010..e68dfbfe 100644 --- a/content/post/_index.md +++ b/content/post/_index.md @@ -3,7 +3,7 @@ title: Tech Blog icontag: tech --- -> No Art and Science serve alone; Patience must in the work be shown. - Goethe +> No Art and Science serve alone;
Patience must in the work be shown. Goethe A continuous pursuit of knowledge for either personal or professional reasons is called [Lifelong learning](https://en.wikipedia.org/wiki/Lifelong_learning). As a great deal of my life is dedicated to Computer Science, so it's only natural to do some heavy [_Brain Baking_](/) work in that technical area of expertise. I discovered that in order for me to teach and inspire others, I first had to teach and inspire myself. You are looking at the result of that work. diff --git a/content/post/a-decade-in-the-industry.md b/content/post/a-decade-in-the-industry.md index 842b531b..e653375e 100644 --- a/content/post/a-decade-in-the-industry.md +++ b/content/post/a-decade-in-the-industry.md @@ -7,7 +7,6 @@ tags: - braindump - craftsmanship - development - - journaling published: true --- diff --git a/content/tags/_index.md b/content/tags/_index.md index 6fd4751f..56e9438b 100644 --- a/content/tags/_index.md +++ b/content/tags/_index.md @@ -3,6 +3,6 @@ title: Tags icontag: tag --- -> The good life is one inspired by love and guided by knowledge. - Russell +> The good life is one inspired by love and guided by knowledge. Russell Not finding what you're looking for? Behold a list of alphabetically sorted tags used in every article on this very website. Related articles share a set of tags. \ No newline at end of file diff --git a/layouts/index.html b/layouts/index.html index a079b392..fffdc396 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -18,22 +18,22 @@
- Brain Baking: transforming + Brain Baking: transforming  - personal - thoughts about thoughts into + personal  + thoughts about thoughts into  - well-digestible - material. The reflective aroma of burnt nervous tissue.
- Includes a crispy crust of relations between + well-digestible + material. The reflective aroma of burnt nervous tissue. + Includes a crispy crust of relations between   - technology - , + technology + ,  - philosophy - and + philosophy +  and  - the world + the world .
diff --git a/themes/brainbaking-minimal/assets/js/brainbaking.js b/themes/brainbaking-minimal/assets/js/brainbaking.js index 23e0c5fd..165d9ddd 100644 --- a/themes/brainbaking-minimal/assets/js/brainbaking.js +++ b/themes/brainbaking-minimal/assets/js/brainbaking.js @@ -27,4 +27,17 @@ document.addEventListener("DOMContentLoaded",function() { }); })(); + const lightbox = () => { + [...document.querySelectorAll('main img')].forEach(el => { + if(el.parentNode.nodeName !== 'A') { + el.parentNode.innerHTML = `${el.outerHTML}`; + } else { + el.parentNode.setAttribute('class', 'lbox'); + } + }) + const box = new SimpleLightbox('.lbox', { /* options */ }); + }; + lightbox(); + + }); diff --git a/themes/brainbaking-minimal/assets/sass/_blockquote.sass b/themes/brainbaking-minimal/assets/sass/_blockquote.sass new file mode 100644 index 00000000..23e66784 --- /dev/null +++ b/themes/brainbaking-minimal/assets/sass/_blockquote.sass @@ -0,0 +1,50 @@ +blockquote + font-family: $font-alt-stack + @media (min-width: 960px) + width: calc(100% - -220px + 0px) + margin-left: -90px + + @media (min-width: 1120px) + width: calc(100% - -260px + 0px) + margin-left: -130px + + opacity: 0.8 + position: relative + quotes: '\201C''\201D''\2018''\2019' + margin: 1.2rem 0 + display: flex + flex-flow: row wrap + position: relative + &::before + mask: url('/img/icons/quote.svg') + -webkit-mask: url('/img/icons/quote.svg') + mask-size: cover + -webkit-mask-size: cover + content: '' + display: inline-block + background-color: var(--accent) + position: absolute + width: 40px + height: 40px + margin-left: -40px + margin-top: -10px + + p + @media (min-width: 960px) + font-size: 1.8rem !important + @media (min-width: 1120px) + font-size: 2rem !important + + padding-left: 0.5rem 0 !important + font-size: 1.5rem !important + letter-spacing: -0.1rem + width: 100% + font-weight: 300 + font-style: italic + + span + opacity: 0.6 + font-size: 1.3rem + white-space: pre + &::before + content: '\A -- '; \ No newline at end of file diff --git a/themes/brainbaking-minimal/assets/sass/_bootstrap-minimal.sass b/themes/brainbaking-minimal/assets/sass/_bootstrap-minimal.sass index b32c4199..274542a3 100644 --- a/themes/brainbaking-minimal/assets/sass/_bootstrap-minimal.sass +++ b/themes/brainbaking-minimal/assets/sass/_bootstrap-minimal.sass @@ -1,5 +1,5 @@ h1 - font-size: 2.2rem + font-size: 3rem h2 font-size: 2.0rem h3 @@ -20,20 +20,10 @@ h4, h5, h6 margin-bottom: 10px h1, h2, h3, h4, h5, h6 - font-family: inherit - font-weight: 500 - line-height: 1.1 - color: inherit + line-height: 1.8 + font-weight: 700 -blockquote - padding: 10px 20px - margin: 0 0 20px - border-left: 5px solid #eee - border-left-width: 5px - border-left-style: solid - border-left-color: rgb(238, 238, 238) - pre overflow: auto display: block @@ -53,7 +43,7 @@ code font-family: Menlo,Monaco,Consolas,"Courier New",monospace padding: 2px 4px font-size: 90% - color: $code + color: var(--accent2) background-color: #f9f2f4 border-radius: 4px diff --git a/themes/brainbaking-minimal/assets/sass/_brainbaking-intro.sass b/themes/brainbaking-minimal/assets/sass/_brainbaking-intro.sass index b9e38ce2..bdaf0380 100644 --- a/themes/brainbaking-minimal/assets/sass/_brainbaking-intro.sass +++ b/themes/brainbaking-minimal/assets/sass/_brainbaking-intro.sass @@ -4,7 +4,9 @@ .intro > h1 color: #212121 - font-size: 12vh + font-size: 8vh + @media (min-width: 768px) + font-size: 12vh .intro > h2 @@ -20,6 +22,7 @@ .avatar-container width: 100px margin-left: 45px + margin-top: 1rem .avatar-img-border width: 100% diff --git a/themes/brainbaking-minimal/assets/sass/_brainbaking.sass b/themes/brainbaking-minimal/assets/sass/_brainbaking.sass index 379a1766..3a30cfe4 100644 --- a/themes/brainbaking-minimal/assets/sass/_brainbaking.sass +++ b/themes/brainbaking-minimal/assets/sass/_brainbaking.sass @@ -15,6 +15,7 @@ pre body margin: 0 + min-height: calc(100vh - 55px) color: #333 padding-top: 55px display: flex @@ -55,6 +56,9 @@ main &-text @extend %icon-in-text + &-float + @extend %icon-in-text + float: left &-inline float: left @@ -112,10 +116,6 @@ a:hover text-decoration: underline -h1, h2, h3, h4, h5, h6 - line-height: 1.8 !important - font-weight: bold !important - h4 a font-weight: normal @@ -131,12 +131,6 @@ pre height: 250px !important -blockquote - line-height: 1.7 - color: #888 - border-left: 5px solid var(--accent) !important - - main display: block line-height: 1.7 @@ -167,8 +161,20 @@ main border-bottom: 1px solid var(--accent) -.item - padding: 10px 0 +.item + margin: auto + padding-top: 1rem + padding-bottom: 1.5rem + max-width: 80% + + h1 + color: var(--accent) + h2 + margin-top: -1rem + h2, h3 + font-weight: normal + h3 + font-size: 1.3rem kbd color: var(--accent) diff --git a/themes/brainbaking-minimal/assets/sass/_fonts.sass b/themes/brainbaking-minimal/assets/sass/_fonts.sass index 3a603d6a..a094fc1e 100644 --- a/themes/brainbaking-minimal/assets/sass/_fonts.sass +++ b/themes/brainbaking-minimal/assets/sass/_fonts.sass @@ -4,7 +4,8 @@ padding-right: 3px vertical-align: middle -$font-stack: 'Source Serif Pro', sans-serif; +$font-stack: 'Source Serif Pro', sans-serif +$font-alt-stack: 'Metropolis', sans-serif /* latin-ext */ @font-face @@ -21,3 +22,28 @@ $font-stack: 'Source Serif Pro', sans-serif; font-weight: 400 src: local('Source Serif Pro'), local('SourceSerifPro-Regular'), url(/css/sourceserifpro-latin.woff2) format('woff2') unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD + +/* latin-ext */ +@font-face + font-family: 'Source Serif Pro' + font-style: normal + font-weight: 700 + font-display: swap + src: local('Source Serif Pro Bold'), local('SourceSerifPro-Bold'), url(/css/sourceserifpro-latin-ext-700.woff2) format('woff2') + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF + +/* latin */ +@font-face + font-family: 'Source Serif Pro' + font-style: normal + font-weight: 700 + font-display: swap + src: local('Source Serif Pro Bold'), local('SourceSerifPro-Bold'), url(/css/sourceserifpro-latin-700.woff2) format('woff2') + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD + + +@font-face + font-family: 'Metropolis' + font-style: normal + font-weight: 300 + src: local('Metropolis Light'), local('Metropolis-Light'), url('/css/Metropolis-Light.woff2') format('woff2') diff --git a/themes/brainbaking-minimal/assets/sass/_goodreads.sass b/themes/brainbaking-minimal/assets/sass/_goodreads.sass index 765c2957..360a752a 100644 --- a/themes/brainbaking-minimal/assets/sass/_goodreads.sass +++ b/themes/brainbaking-minimal/assets/sass/_goodreads.sass @@ -24,7 +24,7 @@ .gr_grid_book_container float: left - width: 25% + width: 24.3% height: 300px padding: 5px overflow: hidden diff --git a/themes/brainbaking-minimal/assets/sass/_listing.sass b/themes/brainbaking-minimal/assets/sass/_listing.sass index c4b1c448..155a3ef9 100644 --- a/themes/brainbaking-minimal/assets/sass/_listing.sass +++ b/themes/brainbaking-minimal/assets/sass/_listing.sass @@ -1,6 +1,7 @@ .list text-align: left padding-left: 2rem + padding-bottom: 2rem h2 border-top: 1px solid #eee diff --git a/themes/brainbaking-minimal/assets/sass/main.sass b/themes/brainbaking-minimal/assets/sass/main.sass index 0499eae4..300be634 100644 --- a/themes/brainbaking-minimal/assets/sass/main.sass +++ b/themes/brainbaking-minimal/assets/sass/main.sass @@ -1,10 +1,10 @@ $grey: #333 -$code: #c7254e @import 'fonts' @import 'bootstrap-minimal' @import 'brainbaking' @import 'brainbaking-intro' +@import 'blockquote' @import 'listing' @import 'commento' @import 'goodreads' diff --git a/themes/brainbaking-minimal/layouts/_default/list.html b/themes/brainbaking-minimal/layouts/_default/list.html index 3572fae3..865c21cc 100644 --- a/themes/brainbaking-minimal/layouts/_default/list.html +++ b/themes/brainbaking-minimal/layouts/_default/list.html @@ -28,9 +28,9 @@
  • {{ .Date.Format ("02") }}
    -
    +

    {{ .Title }} -

    + {{ .Params.subtitle }}
    {{ if isset .Params "tags" }} diff --git a/themes/brainbaking-minimal/layouts/_default/single.html b/themes/brainbaking-minimal/layouts/_default/single.html index 64f5f842..84cf3171 100644 --- a/themes/brainbaking-minimal/layouts/_default/single.html +++ b/themes/brainbaking-minimal/layouts/_default/single.html @@ -6,17 +6,19 @@   +{{ else }} +
    +
    {{ end }} + +{{ partial "list-item" . }}
    - - {{ partial "list-item" . }} -
    {{ .Content }}
    - {{ $related := first 3 (where (where (where .Site.Pages.ByDate.Reverse ".Type" "==" "post") ".Params.tags" "intersect" .Params.tags) "Permalink" "!=" .Permalink) }} + {{ $related := first 3 (where (where .Site.RegularPages.ByDate.Reverse ".Params.tags" "intersect" .Params.tags) "Permalink" "!=" .Permalink) }} {{ if $related }} diff --git a/themes/brainbaking-minimal/layouts/partials/css.html b/themes/brainbaking-minimal/layouts/partials/css.html index 00aa2b32..e5ed8c96 100644 --- a/themes/brainbaking-minimal/layouts/partials/css.html +++ b/themes/brainbaking-minimal/layouts/partials/css.html @@ -2,10 +2,13 @@ :root { --accent: {{ if .Params.accent }}{{ .Params.accent }}{{ else }}{{ .Site.Params.accent }}{{ end }}; + --accent2: {{ if .Params.accent2 }}{{ .Params.accent2 }}{{ else }}{{ .Site.Params.accent2 }}{{ end }}; } + + {{- $options := (dict "targetPath" "css/styles.css" "outputStyle" "compressed" "enableSourceMap" "true") -}} {{- $styles := resources.Get "sass/main.sass" | resources.ExecuteAsTemplate "main.sass" . | resources.ToCSS $options | resources.Fingerprint "sha512" }} diff --git a/themes/brainbaking-minimal/layouts/partials/js.html b/themes/brainbaking-minimal/layouts/partials/js.html index 277a9177..1116339b 100644 --- a/themes/brainbaking-minimal/layouts/partials/js.html +++ b/themes/brainbaking-minimal/layouts/partials/js.html @@ -2,6 +2,7 @@ {{- $mainScriptPath := "js/brainbaking.js" }} {{- $scripts := resources.Get $mainScriptPath | resources.ExecuteAsTemplate $mainScriptPath . }} + {{- if (ne hugo.Environment "development") }} diff --git a/themes/brainbaking-minimal/layouts/partials/list-item.html b/themes/brainbaking-minimal/layouts/partials/list-item.html index 4e315cca..d320677a 100644 --- a/themes/brainbaking-minimal/layouts/partials/list-item.html +++ b/themes/brainbaking-minimal/layouts/partials/list-item.html @@ -1,31 +1,34 @@
    {{ if .Title }} -

    +

    {{ with .Params.icontag }} {{ end }} - {{ .Title }} -

    + {{ .Title }} + {{ end }} {{ .Date.Format (.Site.Params.dateFormat | default "2 January 2006") | $.Scratch.Set "subtitle" }} {{ with .Description }} {{ $.Scratch.Set "subtitle" . }} {{ end }} {{ if isset $.Params "subtitle" }} -

    {{ .Params.subtitle }}

    -
    +

    {{ .Params.subtitle }}

    +

    {{ $.Scratch.Get "subtitle" }}  |  {{ .Lastmod.Format (.Site.Params.dateFormat | default "2 January 2006") }} -  |  - - + {{ if (not .Params.disableComments) }} +  |  + + + + {{ end }} -

    + {{ end }} diff --git a/themes/brainbaking-minimal/static/css/Metropolis-Light.woff2 b/themes/brainbaking-minimal/static/css/Metropolis-Light.woff2 new file mode 100644 index 00000000..3b20f072 Binary files /dev/null and b/themes/brainbaking-minimal/static/css/Metropolis-Light.woff2 differ diff --git a/themes/brainbaking-minimal/static/css/simple-lightbox.min.css b/themes/brainbaking-minimal/static/css/simple-lightbox.min.css new file mode 100755 index 00000000..0aeb6850 --- /dev/null +++ b/themes/brainbaking-minimal/static/css/simple-lightbox.min.css @@ -0,0 +1,7 @@ +/*! + By André Rinas, www.andrerinas.de + Documentation, www.simplelightbox.de + Available for use under the MIT License + Version 2.1.5 +*/ +body.hidden-scroll{overflow:hidden}.sl-overlay{position:fixed;left:0;right:0;top:0;bottom:0;background:#fff;opacity:.7;display:none;z-index:1035}.sl-wrapper{z-index:1040}.sl-wrapper *{box-sizing:border-box}.sl-wrapper button{border:0 none;background:transparent;font-size:28px;padding:0;cursor:pointer}.sl-wrapper button:hover{opacity:0.7}.sl-wrapper .sl-close{display:none;position:fixed;right:30px;top:30px;z-index:10060;margin-top:-14px;margin-right:-14px;height:44px;width:44px;line-height:44px;font-family:Arial,Baskerville,monospace;color:#000;font-size:3rem}.sl-wrapper .sl-close:focus{outline:none}.sl-wrapper .sl-counter{display:none;position:fixed;top:30px;left:30px;z-index:1060;color:#000;font-size:1rem}.sl-wrapper .sl-navigation{width:100%;display:none}.sl-wrapper .sl-navigation button{position:fixed;top:50%;margin-top:-22px;height:44px;width:22px;line-height:44px;text-align:center;display:block;z-index:10060;font-family:Arial,Baskerville,monospace;color:#000}.sl-wrapper .sl-navigation button.sl-next{right:5px;font-size:2rem}.sl-wrapper .sl-navigation button.sl-prev{left:5px;font-size:2rem}.sl-wrapper .sl-navigation button:focus{outline:none}@media (min-width: 35.5em){.sl-wrapper .sl-navigation button{width:44px}.sl-wrapper .sl-navigation button.sl-next{right:10px;font-size:3rem}.sl-wrapper .sl-navigation button.sl-prev{left:10px;font-size:3rem}}@media (min-width: 50em){.sl-wrapper .sl-navigation button{width:44px}.sl-wrapper .sl-navigation button.sl-next{right:20px;font-size:3rem}.sl-wrapper .sl-navigation button.sl-prev{left:20px;font-size:3rem}}.sl-wrapper.sl-dir-rtl .sl-navigation{direction:ltr}.sl-wrapper .sl-image{position:fixed;-ms-touch-action:none;touch-action:none;z-index:10000}.sl-wrapper .sl-image img{margin:0;padding:0;display:block;border:0 none;width:100%;height:auto}@media (min-width: 35.5em){.sl-wrapper .sl-image img{border:0 none}}@media (min-width: 50em){.sl-wrapper .sl-image img{border:0 none}}.sl-wrapper .sl-image iframe{background:#000;border:0 none}@media (min-width: 35.5em){.sl-wrapper .sl-image iframe{border:0 none}}@media (min-width: 50em){.sl-wrapper .sl-image iframe{border:0 none}}.sl-wrapper .sl-image .sl-caption{display:none;padding:10px;color:#fff;background:rgba(0,0,0,0.8);font-size:1rem;position:absolute;bottom:0;left:0;right:0}.sl-wrapper .sl-image .sl-caption.pos-top{bottom:auto;top:0}.sl-wrapper .sl-image .sl-caption.pos-outside{bottom:auto}.sl-wrapper .sl-image .sl-download{display:none;position:absolute;bottom:5px;right:5px;color:#000;z-index:1060}.sl-spinner{display:none;border:5px solid #333;border-radius:40px;height:40px;left:50%;margin:-20px 0 0 -20px;opacity:0;position:fixed;top:50%;width:40px;z-index:1007;-webkit-animation:pulsate 1s ease-out infinite;-moz-animation:pulsate 1s ease-out infinite;-ms-animation:pulsate 1s ease-out infinite;-o-animation:pulsate 1s ease-out infinite;animation:pulsate 1s ease-out infinite}.sl-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.sl-transition{transition:-moz-transform ease 200ms;transition:-ms-transform ease 200ms;transition:-o-transform ease 200ms;transition:-webkit-transform ease 200ms;transition:transform ease 200ms}@-webkit-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-moz-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-o-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-ms-keyframes pulsate{0%{transform:scale(0.1);opacity:0.0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}} diff --git a/themes/brainbaking-minimal/static/css/sourceserifpro-latin-700.woff2 b/themes/brainbaking-minimal/static/css/sourceserifpro-latin-700.woff2 new file mode 100644 index 00000000..6d76ab87 Binary files /dev/null and b/themes/brainbaking-minimal/static/css/sourceserifpro-latin-700.woff2 differ diff --git a/themes/brainbaking-minimal/static/css/sourceserifpro-latin-ext-700.woff2 b/themes/brainbaking-minimal/static/css/sourceserifpro-latin-ext-700.woff2 new file mode 100644 index 00000000..ca080d5e Binary files /dev/null and b/themes/brainbaking-minimal/static/css/sourceserifpro-latin-ext-700.woff2 differ diff --git a/themes/brainbaking-minimal/static/img/icons/quote.svg b/themes/brainbaking-minimal/static/img/icons/quote.svg new file mode 100644 index 00000000..c6db3411 --- /dev/null +++ b/themes/brainbaking-minimal/static/img/icons/quote.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/brainbaking-minimal/static/js/simple-lightbox.min.js b/themes/brainbaking-minimal/static/js/simple-lightbox.min.js new file mode 100755 index 00000000..af8a2d7a --- /dev/null +++ b/themes/brainbaking-minimal/static/js/simple-lightbox.min.js @@ -0,0 +1,7 @@ +/*! + By André Rinas, www.andrerinas.de + Documentation, www.simplelightbox.de + Available for use under the MIT License + Version 2.1.5 +*/ +"use strict";function _createForOfIteratorHelper(t){if("undefined"==typeof Symbol||null==t[Symbol.iterator]){if(Array.isArray(t)||(t=_unsupportedIterableToArray(t))){var e=0,i=function(){};return{s:i,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,s,o=!0,a=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return o=t.done,t},e:function(t){a=!0,s=t},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw s}}}}function _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);return"Object"===i&&t.constructor&&(i=t.constructor.name),"Map"===i||"Set"===i?Array.from(i):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?_arrayLikeToArray(t,e):void 0}}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i
    ",this.p.c=document.createElement("div"),this.p.c.classList.add("sl-navigation"),this.p.c.innerHTML='"),this.p.f=document.createElement("div"),this.p.f.classList.add("sl-counter"),this.p.f.innerHTML='/',this.p.g=document.createElement("div"),this.p.g.classList.add("sl-caption","pos-"+this.options.captionPosition),this.options.captionClass&&this.p.g.classList.add(this.options.captionClass),this.p.h=document.createElement("div"),this.p.h.classList.add("sl-image"),this.p.a=document.createElement("div"),this.p.a.classList.add("sl-wrapper"),this.options.className&&this.p.a.classList.add(this.options.className),this.options.rtl&&this.p.a.classList.add("sl-dir-rtl")}},{key:"throttle",value:function(t,e){var i;return function(){i||(t.apply(this,arguments),i=!0,setTimeout(function(){return i=!1},e))}}},{key:"isValidLink",value:function(t){return!this.options.fileExt||"pathname"in t&&new RegExp("("+this.options.fileExt+")$","i").test(t.pathname)}},{key:"calculateTransitionPrefix",value:function(){var t=(document.body||document.documentElement).style;return"transition"in t?"":"WebkitTransition"in t?"-webkit-":"MozTransition"in t?"-moz-":"OTransition"in t&&"-o"}},{key:"toggleScrollbar",value:function(t){var e=0;if("hide"===t){var i=window.innerWidth;if(!i){var n=document.documentElement.getBoundingClientRect();i=n.right-Math.abs(n.left)}if(document.body.clientWidth=this.relatedElements.length)&&!1===this.options.loop)return!1;this.nIndex=n<0?this.relatedElements.length-1:n>this.relatedElements.length-1?0:n,this.p.f.querySelector(".sl-current").innerHTML=this.nIndex+1,this.options.animationSlide&&this.slide(this.options.animationSpeed/1e3,-100*i-this.v.a+"px"),this.fadeOut(this.p.h,300,function(){e.h=!0,setTimeout(function(){var t=e.relatedElements[e.nIndex];e.n.setAttribute("src",t.getAttribute(e.options.sourceAttr)),-1===e.q.indexOf(t.getAttribute(e.options.sourceAttr))&&e.show(e.p.d),e.p.h.contains(e.p.g)&&e.p.h.removeChild(e.p.g),e.adjustImage(i),e.options.preloading&&e.preload()},100)})}},{key:"adjustImage",value:function(a){var r=this;if(!this.n)return!1;var t=new Image,l=window.innerWidth*this.options.widthRatio,h=window.innerHeight*this.options.heightRatio;t.setAttribute("src",this.n.getAttribute("src")),this.n.dataset.scale=1,this.n.dataset.translateX=0,this.n.dataset.translateY=0,this.zoomPanElement(0,0,1),t.addEventListener("error",function(t){r.relatedElements[r.nIndex].dispatchEvent(new Event("error."+r.o)),r.h=!1,r.g=!1,r.p.d.style.display="none";var e=1===a||-1===a;if(r.r===r.nIndex&&e)return r.close();r.options.alertError&&alert(r.options.alertErrorMessage),r.loadImage(e?a:1)}),t.addEventListener("load",function(t){void 0!==a&&(r.relatedElements[r.nIndex].dispatchEvent(new Event("changed."+r.o)),r.relatedElements[r.nIndex].dispatchEvent(new Event((1===a?"nextDone":"prevDone")+"."+r.o))),r.options.history&&r.updateURL(),-1===r.q.indexOf(r.n.getAttribute("src"))&&r.q.push(r.n.getAttribute("src"));var e=t.target.width,i=t.target.height;if(r.options.scaleImageToRatio||l=r.relatedElements.length-1&&r.hide(r.p.c.querySelector(".sl-next")),0=i.relatedElements.length-1&&0i.options.swipeTolerance&&e?i.loadImage(0h){var i,n=_createForOfIteratorHelper(a);try{for(n.s();!(i=n.n()).done;){i.value.style.opacity=""}}catch(t){n.e(t)}finally{n.f()}r&&r.call(l,a)}else{var s,o=_createForOfIteratorHelper(a);try{for(o.s();!(s=o.n()).done;){s.value.style.opacity=e}}catch(t){o.e(t)}finally{o.f()}requestAnimationFrame(t)}}()}},{key:"hide",value:function(t){var e,i=_createForOfIteratorHelper(t=this.wrap(t));try{for(i.s();!(e=i.n()).done;){var n=e.value;n.dataset.initialDisplay=n.style.display,n.style.display="none"}}catch(t){i.e(t)}finally{i.f()}}},{key:"show",value:function(t,e){var i,n=_createForOfIteratorHelper(t=this.wrap(t));try{for(n.s();!(i=n.n()).done;){var s=i.value;s.style.display=s.dataset.initialDisplay||e||"block"}}catch(t){n.e(t)}finally{n.f()}}},{key:"wrap",value:function(t){return"function"==typeof t[Symbol.iterator]&&"string"!=typeof t?t:[t]}},{key:"on",value:function(t,e){t=this.wrap(t);var i,n=_createForOfIteratorHelper(this.elements);try{for(n.s();!(i=n.n()).done;){var s=i.value;s.fullyNamespacedEvents||(s.fullyNamespacedEvents={});var o,a=_createForOfIteratorHelper(t);try{for(a.s();!(o=a.n()).done;){var r=o.value;s.fullyNamespacedEvents[r]=e,s.addEventListener(r,e)}}catch(t){a.e(t)}finally{a.f()}}}catch(t){n.e(t)}finally{n.f()}return this}},{key:"off",value:function(t){t=this.wrap(t);var e,i=_createForOfIteratorHelper(this.elements);try{for(i.s();!(e=i.n()).done;){var n,s=e.value,o=_createForOfIteratorHelper(t);try{for(o.s();!(n=o.n()).done;){var a=n.value;void 0!==s.fullyNamespacedEvents&&a in s.fullyNamespacedEvents&&s.removeEventListener(a,s.fullyNamespacedEvents[a])}}catch(t){o.e(t)}finally{o.f()}}}catch(t){i.e(t)}finally{i.f()}return this}},{key:"open",value:function(t){t=t||this.elements[0],"undefined"!=typeof jQuery&&t instanceof jQuery&&(t=t.get(0)),this.r=this.elements.indexOf(t),-1