diff --git a/config.toml b/config.toml index ee503aaa..33181a27 100644 --- a/config.toml +++ b/config.toml @@ -1,7 +1,7 @@ languageCode = "en-us" title = "Brain Baking" baseurl = "https://brainbaking.com/" -theme = "brainbaking-minimal" +theme = "awhile-design" publishDir = "docs" enableEmoji = true enableRobotsTXT = true @@ -18,7 +18,6 @@ enableGitInfo = true [params] pagination = 30 description = "Freshly Baked Thoughts" - copyright = "↑ Top lightbulb icon Brain Baking bv | Archives | © CC BY 4.0 License." [Author] name = "Wouter Groeneveld" @@ -43,7 +42,7 @@ enableGitInfo = true lineNos = false lineNumbersInTable = true noClasses = true - style = "arduino" + style = "nord" tabWidth = 4 @@ -53,24 +52,12 @@ enableGitInfo = true [security.exec] allow = ['^dart-sass-embedded$', '^go$', '^npx$', '^postcss$', 'babel'] -[[menu.main]] - name = "Brain Baking" - pre = " " - url = "/" - weight = 1 - [[menu.main]] name = "Archives" pre = " " url = "/archives" weight = 2 -[[menu.main]] - name = "Subscribe" - pre = " " - url = "/subscribe" - weight = 3 - [[menu.mainright]] name = "Works" pre = " " diff --git a/content/about.md b/content/about.md index 3f68a448..378629b1 100644 --- a/content/about.md +++ b/content/about.md @@ -1,31 +1,41 @@ --- -title: "Hi, I’m Wouter Groeneveld" -subtitle: "" -bigimg: About Me.jpg +title: "About Brain Baking" disableComments: true --- -And I'm currently a multiclass ... +The _Brain Baker_ is a curious crossbreed of the _Philosophia Scholaris_ with the _Factorem Panis_. Anthropologists will be relieved to hear that these species are easy to spot by using anything that smells like retro hardware as bait. Other researchers have successfully relied on a delicate mixture of heritage grains, fountain pen nibs, cinnamon sticks, Game Boy cartridges, and buttery croissant dough to catch a glimpse of the _Brain Baker_. -## ... Baker +Here's a peculiar specimen, caught munching on an 8-bit ISA card deep within his lair: + +
+ +
+ +With a bit of luck, if we remain very quiet, we can witness the _Brain Baker_ at work. Alternatively, we can learn more about its main activities by reading the following deciphered part of a journal, retrieved by dr. Richter Belmont and donated to the _Hasselt Brain Baking Museum_ by dr. John Morris. + +## A Brain Baker's Journal + +Day `13.450`. The sourdough PCB experiment failed again. Yet I, dr. Wouter Groeneveld, head _Brain Baker_ of this joint, am determined to push through, as I currently am a... + +### Baker I hold a professional bread baker's degree so naturally I love to think of myself as a real baker. I highly respect the craft and enjoy kneading dough with my hands. I specialize in _sourdough bread_, as you can read at my [bread baking blog](https://redzuurdesem.be). I've written a book on [the science of sourdough bread](https://redzuurdesem.be/het-boek) (in Dutch). -## ... Programmer +### Programmer -I'm an experienced software architect and took on various roles from agile coaching to technical lead. I'm a Doctor of Engineering Technology and Master of Computer Science. I’m a big Test Driven Development advocate. I teach software engineering techniques in both industry and academia. I also dabble in open source. Have a peek at [my coding work](/works/#code). +I'm an experienced software architect and took on various roles from agile coaching to tech lead. I'm a Doctor of Engineering Technology and Master of Computer Science. I’m a big Test Driven Development advocate. I teach software engineering techniques in both industry and academia. I also dabble in open source. Have a peek at [my coding work](/works/#code). -## ... Writer +### Writer I wrote [The Creative Programmer](/works/the-creative-programmer), summarizing my academic research in a practical way. I like fountain pens and journaling. I love jotting down stuff and possibly converting that into blog posts, academic articles, books, or any other medium where I can express my enthusiasm. Have a peek at [my prose in words](/works/#words). -## ... Teacher +### Teacher Transforming knowledge into well-digestible material is my mission. As they say: _the best way to learn something is to teach it_---I couldn't agree more. Besides various previous teaching assignments at KU Leuven, I also coach software developers in different companies, and occasionally organize bread baking workshops. -Find out more about my proessional life through [my full Curriculum Vitae](https://wouter.gr/) at `wouter.gr` or learn about [my company Brain Baking BV](/bv). +Find out more about my professional life through [my full Curriculum Vitae](https://wouter.gr/) at `wouter.gr` or learn about [my company Brain Baking BV](/bv). --- @@ -36,20 +46,5 @@ If you found my work amusing and/or helpful, you can buy me a coffee [via PayPal Reach me using: [firstname] at [this-domain] dot [you-know]. -Thanks! - ---- - -## What's a _multiclass_? - -[Multiclassing](https://en.wikipedia.org/wiki/Character_class_(Dungeons_%26_Dragons)#Multiclassing) in Dungeons & Dragons (yes, I'm also a nerd) allows your character to advance in more than one class. Instead of playing as the conventional mage or fighter, you can be both. This concept neatly summarizes my vision of a profession. - -There are multiple concepts all defining the same thing: - -- Emilie Wapnick uses the term [multipotentialite](https://puttylike.com/terminology/). A multipotentialite is _someone with many interests and creative pursuits_. -- Philosopher Johann von Wowern wrote in 1603 about [_polymaths_](https://en.wikipedia.org/wiki/Polymath): _knowledge of various matters, drawn from all kinds of studies [...] ranging freely through all the fields of the disciplines, as far as the human mind, with unwearied industry, is able to pursue them_. -- Another lovely term is _renaissance men_: _a person with many talents or areas of knowledge_. Da Vinci is the prime example of such a man. Of course I couldn't possibly live up to these expectations. The notion of a [homo universalis](https://it.wikipedia.org/wiki/Uomo_universale) might also be stretching it a bit too far. - - -I used to be only good at programming because I thought, as a somputer scientist, you specialize instead of generalize. But the more I worked with computers, the more my hands itched to do something else. So nowadays I love to go wide and pass on that enthusiasm for knowledge on any level. +Thanks for stopping by! diff --git a/content/bv.md b/content/bv.md index 4915662a..c3c7284d 100644 --- a/content/bv.md +++ b/content/bv.md @@ -1,15 +1,9 @@ --- disableComments: true type: single +title: Brain Baking BV --- - -

- Brain - - Baking -

-
Brain Baking bv
Seringenstraat 6
@@ -21,4 +15,6 @@ RPR Antwerpen afdeling Hasselt Verantwoordelijke: [Wouter Groeneveld](/about), bestuurder.
-[Algemene Voorwaarden](/algemene-voorwaarden) van toepassing voor de diensten van Brain Baking. \ No newline at end of file +[Algemene Voorwaarden](/algemene-voorwaarden) van toepassing voor de diensten van Brain Baking. + +

 

diff --git a/content/subscribe.md b/content/subscribe.md index 9ff49dbd..10f49c64 100644 --- a/content/subscribe.md +++ b/content/subscribe.md @@ -1,6 +1,5 @@ --- title: Subscribe to Brain Baking -icontag: news disableComments: true aliases: - /feed diff --git a/content/tags/_index.md b/content/tags/_index.md index 08c1701a..3381b188 100644 --- a/content/tags/_index.md +++ b/content/tags/_index.md @@ -24,9 +24,9 @@ Each article belongs to one or more of the following _categories_. Similar posts Programming - software engineering - languages - go + software engineering + languages + go
  • @@ -34,9 +34,9 @@ Each article belongs to one or more of the following _categories_. Similar posts Webdesign - blogging - indieweb - hugo + blogging + indieweb + hugo
  • @@ -44,9 +44,9 @@ Each article belongs to one or more of the following _categories_. Similar posts Software - self-hosted - pandoc - obsidian + self-hosted + pandoc + obsidian
  • @@ -54,10 +54,10 @@ Each article belongs to one or more of the following _categories_. Similar posts Retro - pc hardware - dos - gameboy - collecting + pc hardware + dos + gameboy + collecting
  • @@ -65,9 +65,9 @@ Each article belongs to one or more of the following _categories_. Similar posts Education - creativity - academia - phd + creativity + academia + phd
  • @@ -75,9 +75,9 @@ Each article belongs to one or more of the following _categories_. Similar posts Learning - journaling - philosophy - self-improvement + journaling + philosophy + self-improvement
  • @@ -97,8 +97,8 @@ Each article belongs to one or more of the following _categories_. Similar posts Braindump - lists - music + lists + music
  • diff --git a/content/works/oss-contributions.md b/content/works/oss-contributions.md index 72fb49f7..c5f53040 100644 --- a/content/works/oss-contributions.md +++ b/content/works/oss-contributions.md @@ -14,24 +14,24 @@ Most of these contributions are small and humble adjustments. For those interest | Title | Year | Language | |-------|------|----------| -| [Gobot](https://github.com/hybridgroup/gobot/), a Go framework for robotics, SBCs, and IoT | 2023 | [Go](/tags/go) | -| [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka), the CircuitPython API for MicroPython devices | 2023 | [Python](/tags/python) | -| [hltb-alfred-workflow](https://github.com/danbush/hltb-alfred-workflow), an Alfred workflow for the HLTB site | 2022 | [Ruby](/tags/ruby) | -| [Yarn Berry](https://github.com/yarnpkg/berry) documentation update | 2021 | [HTML](/tags/html) | -| [Commento](https://gitlab.com/commento/commento), a privacy-focused commenting platform | 2020 | [Go](/tags/go) [JS](/tags/javascript) | +| [Gobot](https://github.com/hybridgroup/gobot/), a Go framework for robotics, SBCs, and IoT | 2023 | [Go](/tags/go) | +| [Adafruit_Blinka](https://github.com/adafruit/Adafruit_Blinka), the CircuitPython API for MicroPython devices | 2023 | [Python](/tags/python) | +| [hltb-alfred-workflow](https://github.com/danbush/hltb-alfred-workflow), an Alfred workflow for the HLTB site | 2022 | [Ruby](/tags/ruby) | +| [Yarn Berry](https://github.com/yarnpkg/berry) documentation update | 2021 | [HTML](/tags/html) | +| [Commento](https://gitlab.com/commento/commento), a privacy-focused commenting platform | 2020 | [Go](/tags/go) [JS](/tags/javascript) | | [vlaamseprogrammeerwedstrijd](https://github.com/vlaamseprogrammeerwedstrijd/), the university collab programming contests | 2020 | Various | -| [FieldsLinker](https://github.com/PhilippeMarcMeyer/FieldsLinker), a visual link matcher | 2019 | [JS](/tags/javascript) | -| [opbasm](https://github.com/kevinpt/opbasm), the Open PicoBlaze Assembler | 2019 | [Nim](/tags/nim) | -| [gba-tileeditor](https://github.com/IanFinlayson/gba-tileeditor), a Qt-based tile editor for GBA dev. | 2018 | [C++](/tags/c++) | -| [png2gba](https://github.com/IanFinlayson/png2gba), A GBA dev. image conversion utility | 2018 | [C++](/tags/c++) | -| [ExtJSWebdriver](https://github.com/pratoservices/extjswebdriver), make WebDriver scenario testing for ExtJS less painful | 2017 | [C#](/tags/csharp) | -| [PratoGame](https://github.com/pratoservices/PratoGame), a Phaser-based HTML5 game by devs for devs | 2017 | [JS](/tags/javascript) | -| [Gulp-svn](https://github.com/yasinkocak/gulp-svn), a Subversion plugin for Gulp JS | 2017 | [JS](/tags/javascript) | -| [GoHugo](https://github.com/gohugoio/), the Hugo (static site generator in Go) docs | 2017 | [HTML](/tags/html) | -| [Sausage](https://github.com/jlipps/sausage), a Selenium REST API | 2015 | [PHP](/tags/php) | -| [net-deep-copy](https://github.com/Burtsev-Alexey/net-object-deep-copy), a fast object cloning utility (_unmerged_) | 2014 | [C#](/tags/csharp) | -| [NHibernate](https://github.com/nhibernate/nhibernate-core/) & NHibernate-Caches, a DB ORM framework (_[rejected](https://github.com/nhibernate/nhibernate-core/pull/284)_) | 2014 | [C#](/tags/csharp) | -| [GhostDriver](https://github.com/detro/ghostdriver), a remote WebDriver protocol using PhantomJS | 2013 | [JS](/tags/javascript) | -| [boostrap-wysihtml5](https://github.com/jhollingworth/bootstrap-wysihtml5), a WYSIWYG editor in Bootstrap (_unmerged_) | 2013 | [HTML](/tags/html) | +| [FieldsLinker](https://github.com/PhilippeMarcMeyer/FieldsLinker), a visual link matcher | 2019 | [JS](/tags/javascript) | +| [opbasm](https://github.com/kevinpt/opbasm), the Open PicoBlaze Assembler | 2019 | [Nim](/tags/nim) | +| [gba-tileeditor](https://github.com/IanFinlayson/gba-tileeditor), a Qt-based tile editor for GBA dev. | 2018 | [C++](/tags/c++) | +| [png2gba](https://github.com/IanFinlayson/png2gba), A GBA dev. image conversion utility | 2018 | [C++](/tags/c++) | +| [ExtJSWebdriver](https://github.com/pratoservices/extjswebdriver), make WebDriver scenario testing for ExtJS less painful | 2017 | [C#](/tags/csharp) | +| [PratoGame](https://github.com/pratoservices/PratoGame), a Phaser-based HTML5 game by devs for devs | 2017 | [JS](/tags/javascript) | +| [Gulp-svn](https://github.com/yasinkocak/gulp-svn), a Subversion plugin for Gulp JS | 2017 | [JS](/tags/javascript) | +| [GoHugo](https://github.com/gohugoio/), the Hugo (static site generator in Go) docs | 2017 | [HTML](/tags/html) | +| [Sausage](https://github.com/jlipps/sausage), a Selenium REST API | 2015 | [PHP](/tags/php) | +| [net-deep-copy](https://github.com/Burtsev-Alexey/net-object-deep-copy), a fast object cloning utility (_unmerged_) | 2014 | [C#](/tags/csharp) | +| [NHibernate](https://github.com/nhibernate/nhibernate-core/) & NHibernate-Caches, a DB ORM framework (_[rejected](https://github.com/nhibernate/nhibernate-core/pull/284)_) | 2014 | [C#](/tags/csharp) | +| [GhostDriver](https://github.com/detro/ghostdriver), a remote WebDriver protocol using PhantomJS | 2013 | [JS](/tags/javascript) | +| [boostrap-wysihtml5](https://github.com/jhollingworth/bootstrap-wysihtml5), a WYSIWYG editor in Bootstrap (_unmerged_) | 2013 | [HTML](/tags/html) | \ No newline at end of file diff --git a/layouts/index.html b/layouts/index.html deleted file mode 100644 index 100d2443..00000000 --- a/layouts/index.html +++ /dev/null @@ -1,108 +0,0 @@ -{{ partial "header" . }} -{{ $itms := 5 }} - -
    -

    - Brain - - Baking -

    - -
    -
    -
    -

    Freshly Baked

    - All posts » -
    - -
      - {{ $i := 0 }} - {{ range first $itms (where .Site.Pages "Section" "post").ByDate.Reverse }} - {{ $i = add $i 1 }} -
    • -

      - {{ if eq $i 1}}{{ end }} - {{ .Title }} - {{ if eq $i 1}}{{ end }} -

      - - - -
    • - {{ end }} -
    -
    -
    -
    -

    Best Sellers

    - Statistics » -
    - -
      - {{ range first $itms (.Site.Data.popularposts) }} - {{ $rank := .rank }} - {{ $url := .url }} - - {{ range where $.Site.Pages "Section" "post" }} - {{ if eq .RelPermalink $url }} -
    • -

      - {{ .Title }} -

      - - {{ $rank }} hits - -
    • - {{ end }} - {{ end }} - {{ end }} -
    -
    -
    -
    -

    Random Treats

    - Archives » -
    -
      - {{ range first $itms (shuffle (where (where .Site.Pages ".Params.disableComments" "!=" "true") "Section" "post")) }} -
    • -

      - {{ .Title }} -

      - - - -
    • - {{ end }} -
    -
    -
    -
    -
    -
    -
    - -
    -
    - A photo of Me! -
    -

    - Hey! I'm {{ .Site.Author.name }}, a Brain Baker living in Belgium. I currently find myself teaching, writing, programming, researching, and of course baking bread! Brain Baking is my way to inspire myself and others to ponder and learn. Read more about me here. -

    -

    - If you found my bakings amusing and/or helpful, you can support me via PayPal or via Ko-Fi—if you don't mind I'll use it to enjoy a cup of tea instead. I also like to hear about your own bakings via chat iconMastodon or mail icone-mail. Thanks! -

    -
    -   -
    -
    - - - - diff --git a/static/img/avatar2024.jpg b/static/img/avatar2024.jpg new file mode 100644 index 00000000..0d82815b Binary files /dev/null and b/static/img/avatar2024.jpg differ diff --git a/static/img/isa-eater.jpg b/static/img/isa-eater.jpg new file mode 100755 index 00000000..da8587a6 Binary files /dev/null and b/static/img/isa-eater.jpg differ diff --git a/themes/awhile-design/README.md b/themes/awhile-design/README.md new file mode 100644 index 00000000..8e3fe8da --- /dev/null +++ b/themes/awhile-design/README.md @@ -0,0 +1,4 @@ +The new 2024 Brain Baking theme, inspired by the retro 2002 aWhile Design theme. + +For more info, see https://brainbaking.com/museum/ + diff --git a/themes/awhile-design/assets/icons/academia.svg b/themes/awhile-design/assets/icons/academia.svg new file mode 100644 index 00000000..32516a71 --- /dev/null +++ b/themes/awhile-design/assets/icons/academia.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/accolade.svg b/themes/awhile-design/assets/icons/accolade.svg new file mode 100644 index 00000000..63b0998c --- /dev/null +++ b/themes/awhile-design/assets/icons/accolade.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/apple.svg b/themes/awhile-design/assets/icons/apple.svg new file mode 100644 index 00000000..36bb0b30 --- /dev/null +++ b/themes/awhile-design/assets/icons/apple.svg @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/book.svg b/themes/awhile-design/assets/icons/book.svg new file mode 100644 index 00000000..258a5f11 --- /dev/null +++ b/themes/awhile-design/assets/icons/book.svg @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/brain.svg b/themes/awhile-design/assets/icons/brain.svg new file mode 100644 index 00000000..e085713a --- /dev/null +++ b/themes/awhile-design/assets/icons/brain.svg @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/bread.svg b/themes/awhile-design/assets/icons/bread.svg new file mode 100644 index 00000000..062889ad --- /dev/null +++ b/themes/awhile-design/assets/icons/bread.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/bulb.svg b/themes/awhile-design/assets/icons/bulb.svg new file mode 100644 index 00000000..728736dd --- /dev/null +++ b/themes/awhile-design/assets/icons/bulb.svg @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/chip.svg b/themes/awhile-design/assets/icons/chip.svg new file mode 100644 index 00000000..8010e395 --- /dev/null +++ b/themes/awhile-design/assets/icons/chip.svg @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/cooking.svg b/themes/awhile-design/assets/icons/cooking.svg new file mode 100644 index 00000000..fa7528bc --- /dev/null +++ b/themes/awhile-design/assets/icons/cooking.svg @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/earth.svg b/themes/awhile-design/assets/icons/earth.svg new file mode 100644 index 00000000..d2f8e994 --- /dev/null +++ b/themes/awhile-design/assets/icons/earth.svg @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/gameboy.svg b/themes/awhile-design/assets/icons/gameboy.svg new file mode 100644 index 00000000..0dc35e30 --- /dev/null +++ b/themes/awhile-design/assets/icons/gameboy.svg @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/nodes.svg b/themes/awhile-design/assets/icons/nodes.svg new file mode 100644 index 00000000..36d8f777 --- /dev/null +++ b/themes/awhile-design/assets/icons/nodes.svg @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/pen.svg b/themes/awhile-design/assets/icons/pen.svg new file mode 100644 index 00000000..cd986491 --- /dev/null +++ b/themes/awhile-design/assets/icons/pen.svg @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/pointer.svg b/themes/awhile-design/assets/icons/pointer.svg new file mode 100644 index 00000000..fb67cec3 --- /dev/null +++ b/themes/awhile-design/assets/icons/pointer.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/icons/repl.svg b/themes/awhile-design/assets/icons/repl.svg new file mode 100644 index 00000000..c395788b --- /dev/null +++ b/themes/awhile-design/assets/icons/repl.svg @@ -0,0 +1,318 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/themes/awhile-design/assets/js/brainbaking.js b/themes/awhile-design/assets/js/brainbaking.js new file mode 100644 index 00000000..d67adecb --- /dev/null +++ b/themes/awhile-design/assets/js/brainbaking.js @@ -0,0 +1,18 @@ +window._domloaded = false; +document.addEventListener("DOMContentLoaded",function() { + if(window._domloaded) return; + window._domloaded = true; + + //new SimpleLightbox('.lbox'); + + const meel = document.querySelector('.meel'); + const enc = "kcihsf@pfowbpoywbu.qca" + + if(meel) { + meel.addEventListener('click', function() { + meel.setAttribute('class', '') + meel.innerHTML = enc.replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+12)?c:c-26);}); + }) + } + +}); diff --git a/themes/awhile-design/assets/sass/_accessibility.sass b/themes/awhile-design/assets/sass/_accessibility.sass new file mode 100644 index 00000000..5a205cbc --- /dev/null +++ b/themes/awhile-design/assets/sass/_accessibility.sass @@ -0,0 +1,23 @@ +#skiptocontent + z-index: 100 + + a + padding: 6px + position: absolute + top: 100px + left: -250px + color: white + border 1px solid white + border-top-right-radius: 8px + border-bottom-right-radius: 8px + background: black + -webkit-transition: left 1s ease-out + transition: left 1s ease-out + + &:focus + position: absolute + left: 0px + top: 100px + outline-color: transparent + -webkit-transition: left .1s ease-in + transition: left .1s ease-in diff --git a/themes/awhile-design/assets/sass/_awhile.sass b/themes/awhile-design/assets/sass/_awhile.sass new file mode 100644 index 00000000..f2d5961c --- /dev/null +++ b/themes/awhile-design/assets/sass/_awhile.sass @@ -0,0 +1,143 @@ +.hidden + display: none + +body + background-color: $graybg + color: $grayfg + margin: 0 + + +main a, .link + color: $yellow + cursor: pointer + text-decoration: none + border-bottom: 1px solid $yellow + + &:hover + background-color: $yellow + color: $graybg-alt2 + +hr + color: $orange + margin-top: 2em + margin-bottom: 2em + +h2 + margin-top: 0.8em + margin-bottom: 0.8em + +.container + box-shadow: -10px 0 8px -8px lighten($graybg-alt2, 5%), 10px 0 8px -8px lighten($graybg-alt2, 5%) + padding-left: 0.5rem + padding-right: 0.5rem + +section + > * + max-width: 45rem + margin: 0 auto + @media (min-width: 1600px) + max-width: 50rem + + &.before + background-image: url("/img/bg1.svg") + > * + background-color: $graybg + + +article + padding-left: 1rem + padding-right: 1rem + padding-bottom: 1rem + text-align: left + + &.post .content > p:first-of-type::first-letter + font-size: 3.05em + font-weight: bold + line-height: 1.1em + float: left + margin-right: 10px + + p + margin: 0 0 20px !important + word-break: break-word + + +// fix FF letter float - https://stackoverflow.com/questions/6737175/firefox-specific-margin +@-moz-document url-prefix() + article + &.post .content > p:first-of-type::first-letter + margin-top: 15px + +main + kbd + a + &:hover + color: $graybg + + +kbd + color: $yellow + border: 1px solid $yellow + font-size: 0.9em + padding: 2px 4px + border-radius: 3px + white-space: nowrap + + a + border-bottom: none + + &:hover + color: $graybg + background-color: $yellow + +.list-tags + a + text-decoration: none !important + border-bottom: none !important + +.nowrap + white-space: nowrap + +ul + list-style: circle + +table + width: 100% + margin-top: 1rem + margin-bottom: 1rem + border-collapse: collapse + + tbody + border-top: 1px solid $orange + tr + &:nth-child(odd) + background: $graybg-alt1 + +.tagindex + font-size: 0.8rem + .taggrid + display: grid + grid-template-columns: repeat(auto-fill, minmax(10em, 1fr)) + column-gap: 1em + row-gap: 1.2em + + h3 + border-bottom: 1px solid $orange + + ul + padding-left: 1em + +pre + background-color: $graybg-alt1 + word-wrap: break-word + border-radius: 5px + padding: 0.8rem + font-size: 0.7rem + white-space: pre-wrap + +p > code + background-color: $graybg-alt1 + padding: 2px 4px + font-size: 0.8rem + border-radius: 4px + diff --git a/themes/awhile-design/assets/sass/_blockquote.sass b/themes/awhile-design/assets/sass/_blockquote.sass new file mode 100644 index 00000000..55bd44ac --- /dev/null +++ b/themes/awhile-design/assets/sass/_blockquote.sass @@ -0,0 +1,36 @@ + +blockquote + margin-top: 1.5rem + + position: relative + quotes: '\201C''\201D''\2018''\2019' + + 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: $grayfg + position: absolute + width: 40px + height: 40px + margin-left: -40px + margin-top: -10px + + p + background-color: $graybg-alt1 + color: darken($grayfg, 10%) + border-radius: 10px + + padding: 0.5rem + letter-spacing: 0rem + width: 100% + font-weight: 300 + font-style: italic + diff --git a/themes/awhile-design/assets/sass/_figures.sass b/themes/awhile-design/assets/sass/_figures.sass new file mode 100644 index 00000000..2e36d9f1 --- /dev/null +++ b/themes/awhile-design/assets/sass/_figures.sass @@ -0,0 +1,97 @@ +.about-photo, .avatar + cursor: help + box-shadow: 2px 2px 10px #ccc + border: 0.6rem solid darken($grayfg, 5%) + + transform: rotate(2deg) + transition: .4s + + &:hover + transform: rotate(-2deg) + + +.avatar + border: 0.4rem solid darken($grayfg, 5%) + float: right + margin-top: 0rem + margin-left: 1rem + + &-small + border: 0.2rem solid darken($grayfg, 5%) + width: 100px + + +.flex + display: flex + flex-wrap: wrap + margin: 0 + padding: 0 + + div + width: 50% + flex-grow: 1 + + a + img + cursor: zoom-in + + img + margin: 0 + min-height: 100% + min-width: 100% + max-height: 50vh + object-fit: cover + vertical-align: bottom + +article img + display: block + margin-left: auto + margin-right: auto + border: 1px solid #ccc + border-radius: 4px + margin-top: 1.5em + margin-bottom: 1.5em + +img + max-width: 100% + +@mixin img-float + border: none !important + margin-top: 0 + max-width: 40% + @media (min-width: 768px) + max-width: 50% !important + @media (min-width: 960px) + height: 65% !important + @media (min-width: 1600px) + height: 100% !important + +figure + margin-bottom: 1.5em !important + margin-left: 0 + margin-right: 0 + a + img + cursor: zoom-in + img + margin-bottom: 0 !important + img[src*='#left'] + @include img-float + float: left + img[src*='#right'] + @include img-float + float: right + + figcaption + margin-top: 0.8rem !important + font-size: 0.9rem + text-align: center + font-style: italic + font-weight: normal + color: darken($grayfg, 10%) + + /** Hugo's figure shortcode seems to render h4s sometimes **/ + h4 + font-size: 1.2rem + font-weight: normal + diff --git a/themes/awhile-design/assets/sass/_footer.sass b/themes/awhile-design/assets/sass/_footer.sass new file mode 100644 index 00000000..b88293dc --- /dev/null +++ b/themes/awhile-design/assets/sass/_footer.sass @@ -0,0 +1,17 @@ +$sawtooth: radial-gradient(34.99px at 50% 48px, #000 99%, #0000 101%) calc(50% - 60px) 0 / 120px 100%, radial-gradient(34.99px at 50% -18px, #0000 99%, #000 101%) 50% 30px / 120px 100% repeat-x + +section.after + background-color: $graybg-alt1 + padding-top: 4rem + padding-bottom: 1rem + -webkit-mask: $sawtooth + mask: $sawtooth + +footer + background-color: $graybg-alt2 + text-align: center + padding: 0.5rem + font-size: 0.8rem + + a + color: $grayfg diff --git a/themes/awhile-design/assets/sass/_forms.sass b/themes/awhile-design/assets/sass/_forms.sass new file mode 100644 index 00000000..a8af6dd7 --- /dev/null +++ b/themes/awhile-design/assets/sass/_forms.sass @@ -0,0 +1,56 @@ + +#search + input + width: 100% + padding: 1rem 4px 1rem 40px + font-size: 0.9rem + border: 1px solid $orange + border-radius: 5px + color: $grayfg + background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' class='bi bi-search' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'%3E%3C/path%3E%3C/svg%3E") no-repeat 13px center + + button + background-color: $graybg-alt2 + height: 2.7em + border: 1px solid $yellow + color: $yellow + + &:hover + color: $graybg-alt2 + background-color: $yellow + + ol + border-bottom: 1px solid lightgray + padding-top: 1rem + + .pagefind-ui__search-clear + display: none + + .pagefind-ui__message + padding-top: 1rem + font-weight: bold + + .pagefind-ui__result + list-style-type: none + display: flex + align-items: flex-start + gap: 40px + padding: 30px 0 40px + border-top: 1px solid lightgray + font-size: 0.8rem + + &-thumb + width: 40% + max-width: 120px + margin-top: 10px + aspect-ratio: 3 / 2 + position: relative + + img + display: block + position: absolute + font-size: 0 + width: auto + height: auto + max-width: 100% + max-height: 150% diff --git a/themes/awhile-design/assets/sass/_grids.sass b/themes/awhile-design/assets/sass/_grids.sass new file mode 100644 index 00000000..c16c446e --- /dev/null +++ b/themes/awhile-design/assets/sass/_grids.sass @@ -0,0 +1,67 @@ +.flexgrid + display: flex + flex-direction: column + justify-content: space-between + align-items: baseline + + &-3070 + @media (min-width: 600px) + flex-direction: row + + *:nth-child(1) + flex: 0 1 30% + margin: 0.1em + *:nth-child(2) + flex: 0 1 70% + text-align: right + + &-8020 + a + border-bottom: none + @media (min-width: 600px) + flex-direction: row + + *:nth-child(1) + flex: 3 1 15rem + margin: 0.1em + *:nth-child(2) + flex: 1 2 1rem + text-align: right + +ul.small + padding: 0 + margin-bottom: 0 + list-style: none + + +.worksgrid + display: grid + margin-bottom: 2rem + grid-template-columns: repeat(auto-fill, minmax(10em, 1fr)) + column-gap: 0.5em + row-gap: 1em + + * + margin-block-start: 0.6rem + + .stamp + color: grey + + .screenshot + max-inline-size: 100% + block-size: auto + height: 30vh + object-fit: cover + + p + margin: 0 !important + + .worksblock + border-radius: 10px + background-color: $graybg-alt1 + &:hover + background-color: $graybg-alt2 + + .icon + width: 20px !important + height: 20px !important diff --git a/themes/awhile-design/assets/sass/_header.sass b/themes/awhile-design/assets/sass/_header.sass new file mode 100644 index 00000000..576f45f8 --- /dev/null +++ b/themes/awhile-design/assets/sass/_header.sass @@ -0,0 +1,87 @@ + +body + > header + .logo + position: absolute + top: -0.4rem + width: 5rem + + + .header-name + font-size: 3rem + font-weight: bold + color: $yellow + text-shadow: 3px 4px 5px $darkgreen + + + display: flex + flex-wrap: wrap + gap: 1rem + justify-content: space-between + align-items: center + background: linear-gradient(135deg, $darkgreen 25%, transparent 25%) -40px 0, linear-gradient(225deg, $darkgreen 25%, transparent 25%) -40px 0, linear-gradient(315deg, $darkgreen 25%, transparent 25%), linear-gradient(45deg, $darkgreen 25%, transparent 25%) + background-size: 80px 80px + background-color: $green + + padding: 0.05rem 3rem + + a + color: $darkgreen + text-decoration: none + +#logobounds + stroke: $orange + fill: $graybg + stroke-width: 8 + stroke-opacity: 1 + +#logopath + fill: $yellow + fill-opacity: 1 + stroke: $yellow + stroke-width: 3px + +main section header + margin-bottom: 2rem + + h1 + color: $yellow + margin-top: 0 + padding-top: 1rem + margin-bottom: -0.5rem + text-shadow: -0.0625em 0.0625em 0px $graybg-alt2, calc( -0.0625em - 0.025em ) calc( 0.0625em + 0.025em ) 0px $graybg-alt1 + + + .date + font-size: 0.8rem + +.page-header + padding-bottom: 9px + border-bottom: 1px solid $orange + text-align: center + + +nav + display: flex + justify-content: center + text-align: center + margin: 0 + padding: 0 + + ul li + display: inline + + a + display: inline-block + text-decoration: none + border-radius: 8px + border: solid 2px $yellow + color: $grayfg + background-color: $graybg-alt1 + margin: .2rem .5rem + padding: .1rem 1rem + transition: .4s + + &:hover + background-color: $yellow + color: $graybg-alt2 \ No newline at end of file diff --git a/themes/awhile-design/assets/sass/_icons.sass b/themes/awhile-design/assets/sass/_icons.sass new file mode 100644 index 00000000..b9ca60ac --- /dev/null +++ b/themes/awhile-design/assets/sass/_icons.sass @@ -0,0 +1,51 @@ +nav + svg + width: 24px + height: 24px + float: left + position: relative + top: 2px + +%icon-in-text + position: relative + top: 5px + width: 24px !important + height: 24px !important + +main + p + .icon + @extend %icon-in-text + li + .icon + @extend %icon-in-text + + +.icon + width: 32px + height: 32px + padding-right: 0.3rem + + &-small + position: relative + top: 2px + padding-right: 0.1rem + width: 16px !important + height: 16px !important + + &-gray + color: #999 + + &-text + @extend %icon-in-text + + &-float + @extend %icon-in-text + float: left + + &-inline + float: left + color: #999 + +a.icon:hover + text-decoration: none diff --git a/themes/awhile-design/assets/sass/_typography.sass b/themes/awhile-design/assets/sass/_typography.sass new file mode 100644 index 00000000..a0dd937a --- /dev/null +++ b/themes/awhile-design/assets/sass/_typography.sass @@ -0,0 +1,39 @@ +$font: Spectral,Georgia,serif; + +@font-face + font-family: Spectral + font-display: swap + src: url(/fonts/Spectral-Regular.woff2) format("woff2"), url(/fonts/Spectral-Regular.woff) format("woff") + font-weight: 400 + +@font-face + font-family: Spectral + font-display: swap + src: url(/fonts/Spectral-RegularItalic.woff2) format("woff2"), url(/fonts/Spectral-RegularItalic.woff) format("woff") + font-weight: 400 + font-style: italic + +@font-face + font-family: Spectral + font-display: swap + src: url(/fonts/Spectral-Bold.woff2) format("woff2"), url(/fonts/Spectral-Bold.woff) format("woff") + font-weight: 700 + + +\:root + font-size: calc(1.1rem + 0.25vw) + font-family: $font + line-height: 1.75 + +input + font-family: $font + +h1 + font-size: 2.4rem +h2 + font-size: 1.8rem +h3 + font-size: 1.3rem + +code + font-family: Menlo,Monaco,Consolas,"Courier New",monospace diff --git a/themes/awhile-design/assets/sass/_variables.sass b/themes/awhile-design/assets/sass/_variables.sass new file mode 100644 index 00000000..59473ffb --- /dev/null +++ b/themes/awhile-design/assets/sass/_variables.sass @@ -0,0 +1,9 @@ +$yellow: #FFEB77 +$green: #B8BB8C +$darkgreen: darken($green, 4%) +$orange: #F4C25E + +$graybg-alt2: #303030 +$graybg-alt1: #464646 +$graybg: #515151 +$grayfg: #E8E8E8 diff --git a/themes/awhile-design/assets/sass/main.sass b/themes/awhile-design/assets/sass/main.sass new file mode 100644 index 00000000..e8b50712 --- /dev/null +++ b/themes/awhile-design/assets/sass/main.sass @@ -0,0 +1,13 @@ + +@import 'variables' +@import 'typography' +@import 'accessibility' +@import 'header' +@import 'awhile' +@import 'figures' +@import 'forms' +@import 'icons' +@import 'blockquote' +@import 'grids' +@import 'footer' + diff --git a/themes/awhile-design/layouts/_default/_markup/render-image.html b/themes/awhile-design/layouts/_default/_markup/render-image.html new file mode 100644 index 00000000..9756ddde --- /dev/null +++ b/themes/awhile-design/layouts/_default/_markup/render-image.html @@ -0,0 +1,13 @@ +{{ $url := .Destination }} +
    + {{ if or (hasPrefix $url "/") (hasPrefix $url "https://") (hasPrefix $url "http://") }} + {{ else }} + {{ $url = (printf "%s%s" .Page.Permalink $url) }} + {{ end }} + + {{ . }} + + {{ with .Title }} +
    {{ . }}
    + {{ end }} +
    diff --git a/themes/awhile-design/layouts/_default/index.atom.xml b/themes/awhile-design/layouts/_default/index.atom.xml new file mode 100644 index 00000000..852344f9 --- /dev/null +++ b/themes/awhile-design/layouts/_default/index.atom.xml @@ -0,0 +1,41 @@ +{{- $allowedRssSections := (slice "post") -}} +{{- $baseurl := .Site.BaseURL -}} +{{- $pctx := . -}} +{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} +{{- $pages := slice -}} +{{- if or $.IsHome $.IsSection -}} +{{- $pages = $pctx.RegularPages -}} +{{- else -}} +{{- $pages = $pctx.Pages -}} +{{- end -}} +{{- $limit := .Site.Config.Services.RSS.Limit -}} +{{- if ge $limit 1 -}} +{{- $pages = $pages | first $limit -}} +{{- end -}} +{{- printf "" | safeHTML }} + + {{ .Site.Title }} + {{- $perm := replace .Permalink "/gemini" "" 1 -}} + {{- $alt := .Site.BaseURL | replaceRE `https?://(.+?)` "gemini://$1" -}} + {{ printf "" $perm | safeHTML }} + {{ printf "" $alt | safeHTML }} + {{ .Date.Format "2006-01-02T15:04:05-0700" | safeHTML }} + + {{ .Site.Author.name }} + {{ .Site.BaseURL | replaceRE `https?://(.+?)` "gemini://$1" }} + + {{ $perm }} + {{ range $pages }} + {{ if in $allowedRssSections .Section }} + + {{ .Title }} + {{- $entryperm := .Permalink | replaceRE `https?://(.+?)` "gemini://$1" -}} + {{ printf "" $entryperm | safeHTML }} + {{ $entryperm }} + {{ .Date.Format "2006-01-02T15:04:05-0700" | safeHTML }} + {{ .Lastmod.Format "2006-01-02T15:04:05-0700" | safeHTML }} + {{ if isset .Params "subtitle" }}{{ .Params.subtitle }}{{ else }}{{ .Summary | html }}{{ end }} + + {{ end }} + {{ end }} + diff --git a/themes/awhile-design/layouts/_default/list.html b/themes/awhile-design/layouts/_default/list.html new file mode 100644 index 00000000..10794323 --- /dev/null +++ b/themes/awhile-design/layouts/_default/list.html @@ -0,0 +1,40 @@ +{{ partial "header" . }} + + +
    +
    +
    +

    +  {{ .Title }} +

    +
    + {{ .Content }} +
    + +
    +
    + + {{ range .Pages.GroupByDate "2006" "desc" }} + {{ if ne .Key "0001" }} +

    {{ .Key }}

    + + {{ range .Pages.GroupByDate "January" }} +
      + {{ range .Pages.ByDate.Reverse }} +
    • + {{ .Title }} + + + +
    • + {{ end }} +
    + {{ end }} + {{ end }} + {{ end }} +
    +
    +
    +
    + +{{ partial "footer" . }} diff --git a/themes/awhile-design/layouts/_default/rss.xml b/themes/awhile-design/layouts/_default/rss.xml new file mode 100644 index 00000000..3e963eac --- /dev/null +++ b/themes/awhile-design/layouts/_default/rss.xml @@ -0,0 +1,83 @@ +{{- $allowedRssSections := (slice "post") -}} +{{- $baseurl := .Site.BaseURL -}} +{{- $pctx := . -}} +{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} +{{- $pages := slice -}} +{{- if or $.IsHome $.IsSection -}} +{{- $pages = $pctx.RegularPages -}} +{{- else -}} +{{- $pages = $pctx.Pages -}} +{{- end -}} +{{- $limit := .Site.Config.Services.RSS.Limit -}} +{{- if ge $limit 1 -}} +{{- $pages = $pages | first $limit -}} +{{- end -}} +{{- printf "\n" | safeHTML }} +{{- printf "" $baseurl | safeHTML }} + + + {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} + {{ .Permalink }} + {{ .Site.Params.description }} by {{ .Site.Author.name }} + © {{ .Date.Format "2006" }} {{ $.Site.Author.name }} (CC BY 4.0) + Hugo -- gohugo.io{{ with .Site.LanguageCode }} + {{.}}{{end}} + {{ .Site.Author.rssmail }} ({{ with $.Site.Author.name }}{{.}}{{end}}) + {{ if not .Date.IsZero }}{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{ with .OutputFormats.Get "RSS" }}{{ printf "" .Permalink .MediaType | safeHTML }}{{ end }} + + {{ $baseurl }}img/bblogo.png + {{ .Site.Title }} + {{ .Permalink }} + 72 + 72 + {{ .Site.Params.description }} by {{ .Site.Author.name }} + + {{ range $pages }} + {{ if and (in $allowedRssSections .Section) (not (isset .Params "type")) (or (not (isset .Params "context")) (eq .Params.context "")) }} + + {{ .Title }} + {{ .Permalink }} + {{ .Site.Author.mastodonlink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} + {{ with $.Site.Author.name }}{{.}}{{end}} + {{ .Permalink }} + {{ if .Keywords }} + {{ range .Keywords }} + {{ . }} + {{ end }} + {{ else if .Params.tags }} + {{ range .Params.tags }} + {{ . }} + {{ end }} + {{ end }} + + {{ $content := .Content }} + + {{ $content = replaceRE `a href="(#.*?)"` (printf "%s%s%s" "a href=\"" .Permalink "$1\"") $content }} + {{ $content = replaceRE `a href="^../(.*?)"` (printf "%s%s%s" "a href=\"" .Permalink "../$1\"") $content }} + {{ $content = replaceRE `a href="/(.*?)"` (printf "%s%s%s" "a href=\"" $baseurl "$1\"") $content }} + + {{ ` + Related topics: / + {{- range .Params.tags }} + {{ . }} / + {{- end -}} + +

    + {{ end }} +

    + By {{ .Site.Author.name }} on {{ .Date.Format "2 January 2006" }}.  + Reply via email. +

    + ]]> +
    +
    + {{ end }} + {{ end }} +
    +
    \ No newline at end of file diff --git a/themes/awhile-design/layouts/_default/single.html b/themes/awhile-design/layouts/_default/single.html new file mode 100644 index 00000000..76a43126 --- /dev/null +++ b/themes/awhile-design/layouts/_default/single.html @@ -0,0 +1,76 @@ +{{ partial "header" . }} +{{ $cat1 := "braindump" }} +{{ with .Params.categories }} + {{ $cat1 = index . 0 }} +{{ end }} + + +
    +
    +
    +
    + {{ if .Title }} +

    + {{ with .Params.icontag }} + page type + {{ end }} + {{ .Title }} +

    + {{ end }} + {{ if isset .Params "date" }} + + + published icon + + + + + {{ end }} +
    +
    +
    + {{ .Content | safeHTML }} + +

    + {{ if isset .Params "categories" }} + + category icon + + + {{ range .Params.categories }} + {{ . }} + {{ end }} +   + {{ end }} + {{ if isset $.Params "tags" }} + + tags icon + + + + {{ range .Params.tags }} + {{ . }}  + {{ end }} + +

    + {{ end }} +
    +
    +
    +
    + + {{ if (not .Params.disableComments) }} +
    + {{ partial "single-related" . }} + {{ partial "single-comments" . }} +
    + {{ end }} +
    + +{{ partial "footer.html" . }} diff --git a/themes/awhile-design/layouts/_default/taxonomy.html b/themes/awhile-design/layouts/_default/taxonomy.html new file mode 100644 index 00000000..b446f36f --- /dev/null +++ b/themes/awhile-design/layouts/_default/taxonomy.html @@ -0,0 +1,33 @@ +{{ partial "header" . }} + +
    +
    +
    +

    + {{ .Section | humanize }} "{{ .Title }}" +

    +
    + + {{ range .Pages.GroupByDate "2006" "desc" }} + {{ if ne .Key "0001" }} +

    {{ .Key }}

    + + {{ range .Pages.GroupByDate "Jan" }} + + {{ end }} + {{ end }} + {{ end }} +
    +
     
    +
    + +{{ partial "footer" . }} diff --git a/themes/awhile-design/layouts/_default/terms.html b/themes/awhile-design/layouts/_default/terms.html new file mode 100644 index 00000000..041fd6f6 --- /dev/null +++ b/themes/awhile-design/layouts/_default/terms.html @@ -0,0 +1,48 @@ +{{ $.Scratch.Set "curLetter" "" }} +{{ $offset := 1 }} +{{ partial "header" . }} + +
    + +
    +
    +

    +  {{ .Title }} +

    +
    +
    + {{ .Content }} +
    +
    + +
    +
    + {{range $name, $taxonomy := .Site.Taxonomies.tags}} + {{ $cnt := .Count }} + {{ with $.Site.GetPage (printf "/tags/%s" $name) }} + {{ $firstChar := substr $name 0 1 | upper }} + {{ $curLetter := $.Scratch.Get "curLetter" }} + + {{ if ne $firstChar $curLetter }} + {{ if ne $curLetter "" }} + +
    + {{ end }} + {{ $.Scratch.Set "curLetter" $firstChar }} +
    +

    {{ $firstChar }}

    +
      + {{ end }} + + {{ if gt $cnt $offset }} +
    • + {{.Title}} ({{$cnt}}) +
    • + {{ end }} + {{end}} + {{end}} +
    +
    +
    + +{{ partial "footer" . }} diff --git a/themes/awhile-design/layouts/index.html b/themes/awhile-design/layouts/index.html new file mode 100644 index 00000000..a3d24603 --- /dev/null +++ b/themes/awhile-design/layouts/index.html @@ -0,0 +1,88 @@ +{{ partial "header" . }} +{{ $itms := 5 }} + +
    +
    +
    +

    Brain Baking

    +
    +
    + A photo of Me! +

    + Hey! I'm Wouter Groeneveld, an independent Brain Baker living in Belgium. I currently find myself teaching, writing, programming, researching, and of course baking bread! Brain Baking is my way to inspire myself and others to ponder and learn. +

    +

    + If you found my bakings amusing and/or helpful, you can support me via PayPal or via Ko-Fi—if you don't mind I'll use it to enjoy a cup of tea instead. I'd love to hear about your own bakings via Mastodon or mail icone-mail. Thanks! +

    +
    +
    +
    + +
    +
    +

    Best Sellers

    + Statistics » +
    + +
      + {{ range first $itms (.Site.Data.popularposts) }} + {{ $rank := .rank }} + {{ $url := .url }} + + {{ range where $.Site.Pages "Section" "post" }} + {{ if eq .RelPermalink $url }} +
    • + {{ .Title }} + + {{ $rank }} hits + +
    • + {{ end }} + {{ end }} + {{ end }} +
    +
    +
    +
    +

    Random Treats

    + Archives » +
    +
      + {{ range first $itms (shuffle (where (where .Site.Pages ".Params.disableComments" "!=" "true") "Section" "post")) }} +
    • + {{ .Title }} + + + +
    • + {{ end }} +
    +
    +
    +
    + +{{ partial "footer.html" . }} + + diff --git a/themes/awhile-design/layouts/partials/css.html b/themes/awhile-design/layouts/partials/css.html new file mode 100644 index 00000000..17e0d931 --- /dev/null +++ b/themes/awhile-design/layouts/partials/css.html @@ -0,0 +1,8 @@ +{{- $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/awhile-design/layouts/partials/footer.html b/themes/awhile-design/layouts/partials/footer.html new file mode 100644 index 00000000..9ba06e50 --- /dev/null +++ b/themes/awhile-design/layouts/partials/footer.html @@ -0,0 +1,9 @@ + + + + + diff --git a/themes/awhile-design/layouts/partials/head-meta.html b/themes/awhile-design/layouts/partials/head-meta.html new file mode 100644 index 00000000..6a389cd9 --- /dev/null +++ b/themes/awhile-design/layouts/partials/head-meta.html @@ -0,0 +1,95 @@ +{{- $isPost := eq .Section "post" -}} +{{- $perm := .Permalink -}} +{{- $base := .Site.BaseURL -}} + + + + + + + + +{{- $logo := "img/bblogo.png" -}} +{{- $thumb := $logo | absURL -}} +{{- $match := findRE `!\[(.*)\]\((.+).(jpg|png|gif)` .RawContent 1 -}} +{{- range $match -}} + {{- $relthumb := replaceRE `!\[(.*)\]\(` "" . -}} + {{- if hasPrefix $relthumb "/" -}} + {{- $thumb = printf "%s%s" $base $relthumb -}} + {{- else -}} + {{- $thumb = printf "%s%s" $perm $relthumb -}} + {{- end -}} +{{- end -}} + + +{{- $description := printf "%s | %s" .Site.Title .Site.Params.description -}} +{{- if .Params.subtitle -}} + {{- $description = .Params.subtitle -}} +{{- else if .Summary -}} + {{- $description = .Summary | safeHTML | truncate 100 -}} +{{- end -}} + + + + + + + + + + + +{{ with .Params.tags }} + + {{ range . }} + + {{- end -}} +{{- end -}} + + + +{{- $ISO8601 := "2006-01-02T15:04:05-07:00" -}} + \ No newline at end of file diff --git a/themes/awhile-design/layouts/partials/header.html b/themes/awhile-design/layouts/partials/header.html new file mode 100644 index 00000000..f24d6844 --- /dev/null +++ b/themes/awhile-design/layouts/partials/header.html @@ -0,0 +1,40 @@ + + + + {{ partial "head-meta" . }} + {{ if eq .Title .Site.Title }} + {{ .Title }} | {{ .Site.Params.description }} + {{ else if .Title }} + {{ .Title }} | {{ .Site.Title }} + {{ else }} + Note | {{ .Site.Title }} + {{ end }} + {{ $favicon := "/img/bblogo.png" }} + + + + {{ partial "css" . }} {{ partial "js" . }} {{ hugo.Generator }} + {{ with .OutputFormats.Get "RSS" }} + + + {{ end }} + + +
    + skip to main content +
    +
    + + + + +
    + {{ partial "icons" . }} + diff --git a/themes/awhile-design/layouts/partials/icons.html b/themes/awhile-design/layouts/partials/icons.html new file mode 100644 index 00000000..4a1eb4b3 --- /dev/null +++ b/themes/awhile-design/layouts/partials/icons.html @@ -0,0 +1,47 @@ + diff --git a/themes/awhile-design/layouts/partials/js.html b/themes/awhile-design/layouts/partials/js.html new file mode 100644 index 00000000..6a22165e --- /dev/null +++ b/themes/awhile-design/layouts/partials/js.html @@ -0,0 +1,10 @@ +{{- $mainScriptPath := "js/brainbaking.js" }} +{{- $scripts := resources.Get $mainScriptPath | resources.ExecuteAsTemplate $mainScriptPath . | babel | resources.Minify | resources.Fingerprint "sha512" }} + + +{{- if (ne hugo.Environment "development") }} + + +{{- end }} diff --git a/themes/awhile-design/layouts/partials/reldate.html b/themes/awhile-design/layouts/partials/reldate.html new file mode 100644 index 00000000..de663fe0 --- /dev/null +++ b/themes/awhile-design/layouts/partials/reldate.html @@ -0,0 +1,15 @@ + +{{ $ageDays := div (sub now.Unix .Unix) 86400 }} +{{ $ageMonths := div (sub now.Unix .Unix) 2592000 }} + +{{ if eq $ageDays 0 }} + Today +{{ else if lt $ageDays 31 }} + {{ $ageDays }} + {{ cond (eq $ageDays 1) "day" "days"}} + ago +{{ else }} + {{ $ageMonths }} + {{ cond (eq $ageMonths 1) "month" "months" }} + ago +{{ end }} diff --git a/themes/awhile-design/layouts/partials/single-comments.html b/themes/awhile-design/layouts/partials/single-comments.html new file mode 100644 index 00000000..a3b2fecf --- /dev/null +++ b/themes/awhile-design/layouts/partials/single-comments.html @@ -0,0 +1,20 @@ + +
    + + A photo of Me! +
    +

    + I'm {{ .Site.Author.name }}, a Brain Baker, and I love the smell of freshly baked thoughts (and bread) in the morning. I sometimes convince others to bake their brain (and bread) too. +

    +

    + If you found this article amusing and/or helpful, you can support me via PayPal or Ko-Fi. I also like to hear your feedback via Mastodon or email. Thanks! +

    + +
    +
    + diff --git a/themes/awhile-design/layouts/partials/single-related.html b/themes/awhile-design/layouts/partials/single-related.html new file mode 100644 index 00000000..6d9600ee --- /dev/null +++ b/themes/awhile-design/layouts/partials/single-related.html @@ -0,0 +1,42 @@ + +{{- $currtitle := .Title -}} +{{- $currRellink := substr .RelPermalink 0 -1 -}} +{{- $currContent := .Content -}} +{{- $backlinks := slice -}} +{{- $forwardlinks := slice -}} +{{- range (where (where .Site.Pages.ByDate.Reverse ".Section" "in" (slice "post")) ".Params.disableComments" "!=" "true") -}} + {{- $found := findRE $currRellink .Content 1 -}} + {{- if and ($found) (ne .Title $currtitle) -}} + {{- $backlinks = $backlinks | append . -}} + {{- else -}} + {{- $rellink := substr .RelPermalink 0 -1 -}} + {{- $found = findRE $rellink $currContent 1 -}} + {{- if and ($found) (ne .Title $currtitle) -}} + {{- $forwardlinks = $forwardlinks | append . -}} + {{- end -}} + {{- end -}} +{{- end -}} +{{- $tagslice := first 5 (where (where .Site.RegularPages.ByDate.Reverse ".Params.tags" "intersect" .Params.tags) "Permalink" "!=" .Permalink) -}} +{{- $related := append $tagslice $forwardlinks -}} +{{- $related = append $related $backlinks -}} + +{{- if $related -}} +
    + + + +
    +{{- end -}} diff --git a/themes/awhile-design/layouts/partials/works-block.html b/themes/awhile-design/layouts/partials/works-block.html new file mode 100644 index 00000000..9a39d3b0 --- /dev/null +++ b/themes/awhile-design/layouts/partials/works-block.html @@ -0,0 +1,29 @@ +
    + {{ $link := .Permalink }} + {{ if isset .Params "link" }} + {{ $link = .Params.link }} + {{ end }} + + {{ $thumb := .Params.image | absURL }} + thumbnail of Work {{ .Title }} + + {{ .Title }} +
    + + + + published icon + + + {{ $date := now }} + {{ if isset .Params "date" }} + {{ $date = .Params.Date }} + {{ end }} + + +

    + {{ .Params.description }}
    +

    +
    +
    +
    diff --git a/themes/awhile-design/layouts/works/list.html b/themes/awhile-design/layouts/works/list.html new file mode 100644 index 00000000..612dfdcb --- /dev/null +++ b/themes/awhile-design/layouts/works/list.html @@ -0,0 +1,39 @@ +{{ partial "header" . }} + +
    +
    +
    +

    +  {{ .Title }} +

    +
    + + {{ with .Content }} +
    + {{ . }} +
    + {{ end }} + +
    +

    Prose in Words

    +
    + {{ range (where .Pages "Params.type" "writing") }} + {{ partial "works-block.html" . }} + {{ end }} +
    +
    + +
    +

    Prose in Code

    + For those interested in smaller but technical buns of baked goodness, have fun exploring my open source projects at https://git.brainbaking.com/ or my contributions at GitHub. +
    + {{ range (where .Pages "Params.type" "code") }} + {{ partial "works-block.html" . }} + {{ end }} +
    +
    +
    + +
    + +{{ partial "footer" . }} \ No newline at end of file diff --git a/themes/awhile-design/static/fonts/Spectral-Bold.woff2 b/themes/awhile-design/static/fonts/Spectral-Bold.woff2 new file mode 100644 index 00000000..31050d55 Binary files /dev/null and b/themes/awhile-design/static/fonts/Spectral-Bold.woff2 differ diff --git a/themes/awhile-design/static/fonts/Spectral-Regular.woff2 b/themes/awhile-design/static/fonts/Spectral-Regular.woff2 new file mode 100644 index 00000000..02a52d65 Binary files /dev/null and b/themes/awhile-design/static/fonts/Spectral-Regular.woff2 differ diff --git a/themes/awhile-design/static/fonts/Spectral-RegularItalic.woff2 b/themes/awhile-design/static/fonts/Spectral-RegularItalic.woff2 new file mode 100644 index 00000000..430f8d5d Binary files /dev/null and b/themes/awhile-design/static/fonts/Spectral-RegularItalic.woff2 differ diff --git a/themes/awhile-design/static/img/bg-braindump.svg b/themes/awhile-design/static/img/bg-braindump.svg new file mode 100644 index 00000000..d8872813 --- /dev/null +++ b/themes/awhile-design/static/img/bg-braindump.svg @@ -0,0 +1,34 @@ +This image was made on Patterninja.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/awhile-design/static/img/bg-cooking.svg b/themes/awhile-design/static/img/bg-cooking.svg new file mode 100644 index 00000000..5ba3e9e4 --- /dev/null +++ b/themes/awhile-design/static/img/bg-cooking.svg @@ -0,0 +1,32 @@ +This image was made on Patterninja.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/awhile-design/static/img/bg-education.svg b/themes/awhile-design/static/img/bg-education.svg new file mode 100644 index 00000000..d889d032 --- /dev/null +++ b/themes/awhile-design/static/img/bg-education.svg @@ -0,0 +1,28 @@ +This image was made on Patterninja.com + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/awhile-design/static/img/bg-learning.svg b/themes/awhile-design/static/img/bg-learning.svg new file mode 100644 index 00000000..ad9a7bf1 --- /dev/null +++ b/themes/awhile-design/static/img/bg-learning.svg @@ -0,0 +1,32 @@ +This image was made on Patterninja.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/awhile-design/static/img/bg-programming.svg b/themes/awhile-design/static/img/bg-programming.svg new file mode 100644 index 00000000..94a5bd4d --- /dev/null +++ b/themes/awhile-design/static/img/bg-programming.svg @@ -0,0 +1,25 @@ +This image was made on Patterninja.com + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/awhile-design/static/img/bg-retro.svg b/themes/awhile-design/static/img/bg-retro.svg new file mode 100644 index 00000000..77bc8508 --- /dev/null +++ b/themes/awhile-design/static/img/bg-retro.svg @@ -0,0 +1,33 @@ +This image was made on Patterninja.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/awhile-design/static/img/bg-software.svg b/themes/awhile-design/static/img/bg-software.svg new file mode 100644 index 00000000..b5fc2503 --- /dev/null +++ b/themes/awhile-design/static/img/bg-software.svg @@ -0,0 +1,18 @@ +This image was made on Patterninja.com + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/awhile-design/static/img/bg-webdesign.svg b/themes/awhile-design/static/img/bg-webdesign.svg new file mode 100644 index 00000000..a17dcf66 --- /dev/null +++ b/themes/awhile-design/static/img/bg-webdesign.svg @@ -0,0 +1,29 @@ +This image was made on Patterninja.com + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/themes/awhile-design/static/img/icons/quote.svg b/themes/awhile-design/static/img/icons/quote.svg new file mode 100644 index 00000000..c6db3411 --- /dev/null +++ b/themes/awhile-design/static/img/icons/quote.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/themes/brainbaking-minimal/archetypes/default.md b/themes/brainbaking-minimal/archetypes/default.md deleted file mode 100644 index 8c7c756f..00000000 --- a/themes/brainbaking-minimal/archetypes/default.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: "{{ replace .TranslationBaseName "-" " " | title }}" -date: {{ dateFormat "2006-01-02" .Date }} -draft: true ---- diff --git a/themes/brainbaking-minimal/archetypes/post.md b/themes/brainbaking-minimal/archetypes/post.md deleted file mode 100644 index e5d34ef1..00000000 --- a/themes/brainbaking-minimal/archetypes/post.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: "{{ replace .TranslationBaseName "-" " " | title }}" -date: {{ dateFormat "2006-01-02" .Date }} -tags: [] -draft: true ---- diff --git a/themes/brainbaking-minimal/archetypes/project.md b/themes/brainbaking-minimal/archetypes/project.md deleted file mode 100644 index af53acf6..00000000 --- a/themes/brainbaking-minimal/archetypes/project.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "{{ replace .TranslationBaseName "-" " " | title }}" -description: "" -repo: "" -tags: [] -weight: 0 -draft: true ---- diff --git a/themes/brainbaking-minimal/layouts/all/list.xml b/themes/brainbaking-minimal/layouts/all/list.xml deleted file mode 100644 index e0e94669..00000000 --- a/themes/brainbaking-minimal/layouts/all/list.xml +++ /dev/null @@ -1,47 +0,0 @@ -{{- $baseurl := .Site.BaseURL -}} -{{- $pages := .Site.RegularPages -}} -{{- printf "" | safeHTML }} - - - - - Everything from {{ .Site.Title }} - {{ .Permalink }} - Hugo -- gohugo.io{{ with .Site.LanguageCode }} - {{.}}{{end}} - {{ if not .Date.IsZero }}{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} - {{ with .OutputFormats.Get "RSS" }} - {{ printf "" .Permalink .MediaType | safeHTML }} - {{ end }} - {{ range $pages }} - - {{ if .Title }}{{ .Title }}{{ else }}Note on {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} - {{ .Permalink }} - {{ .Site.Author.mastodonlink }} - {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} - {{ with $.Site.Author.name }}{{.}}{{end}} - {{ .Permalink }} - {{ if .Keywords }} - {{ range .Keywords }} - {{ . }} - {{ end }} - {{ else if .Params.tags }} - {{ range .Params.tags }} - {{ . }} - {{ end }} - {{ end }} - - {{ $content := .Content | safeHTML }} - - {{ `Context: {{ . }}

    - {{ end }} - ]]> -
    -
    - {{ end }} -
    -
    \ No newline at end of file diff --git a/themes/brainbaking-minimal/layouts/index.html b/themes/brainbaking-minimal/layouts/index.html index 8bf2fae1..ab20e8ee 100644 --- a/themes/brainbaking-minimal/layouts/index.html +++ b/themes/brainbaking-minimal/layouts/index.html @@ -1,17 +1,106 @@ {{ partial "header" . }} +{{ $itms := 5 }} -
    +
    +

    + Brain + + Baking +

    + +
    +
    +
    +

    Freshly Baked

    + All posts » +
    -
    - - {{ with .Site.Params.profilePic }} {{ end }} - -

    {{ .Site.Title }}

    - -

    {{ markdownify .Site.Params.Description }}

    +
      + {{ $i := 0 }} + {{ range first $itms (where .Site.Pages "Section" "post").ByDate.Reverse }} + {{ $i = add $i 1 }} +
    • +

      + {{ if eq $i 1}}{{ end }} + {{ .Title }} + {{ if eq $i 1}}{{ end }} +

      + + + +
    • + {{ end }} +
    +
    +
    +
    +

    Best Sellers

    + Statistics » +
    +
      + {{ range first $itms (.Site.Data.popularposts) }} + {{ $rank := .rank }} + {{ $url := .url }} + + {{ range where $.Site.Pages "Section" "post" }} + {{ if eq .RelPermalink $url }} +
    • +

      + {{ .Title }} +

      + + {{ $rank }} hits + +
    • + {{ end }} + {{ end }} + {{ end }} +
    +
    +
    +
    +

    Random Treats

    + Archives » +
    +
      + {{ range first $itms (shuffle (where (where .Site.Pages ".Params.disableComments" "!=" "true") "Section" "post")) }} +
    • +

      + {{ .Title }} +

      + + + +
    • + {{ end }} +
    +
    +
    -
    +
    +
    + +
    +
    + A photo of Me! +
    +

    + Hey! I'm {{ .Site.Author.name }}, a Brain Baker living in Belgium. I currently find myself teaching, writing, programming, researching, and of course baking bread! Brain Baking is my way to inspire myself and others to ponder and learn. Read more about me here. +

    +

    + If you found my bakings amusing and/or helpful, you can support me via PayPal or via Ko-Fi—if you don't mind I'll use it to enjoy a cup of tea instead. I also like to hear about your own bakings via chat iconMastodon or mail icone-mail. Thanks! +

    +
    +   +
    +
    -{{ partial "footer" . }} +{{ partial "footer.html" . }} + + diff --git a/themes/brainbaking-minimal/layouts/notes/list.html b/themes/brainbaking-minimal/layouts/notes/list.html deleted file mode 100644 index 47c65484..00000000 --- a/themes/brainbaking-minimal/layouts/notes/list.html +++ /dev/null @@ -1,39 +0,0 @@ -{{ partial "header" . }} - -
    -
    -

    -  {{ .Title }} -

    -
    - - {{ with .Content }} -
    - {{ . }} -
    - {{ end }} - -
    - {{ range (where .Data.Pages ".Params.type" "ne" "archive").GroupByDate "2006" "desc" }} -

    {{ .Key }}

    - - {{ range .Pages.GroupByDate "January" }} -

    {{ .Key }}

    - - {{ range .Pages.ByDate.Reverse }} - - {{ partial "toot" . }} - - {{ end }} - - {{ end }} - {{ end }} -
    -
    -
    -
    - {{ partial "single-comments" . }} -
    -
    - -{{ partial "footer" . }} \ No newline at end of file diff --git a/themes/brainbaking-minimal/layouts/notes/single.html b/themes/brainbaking-minimal/layouts/notes/single.html deleted file mode 100644 index e4b8f241..00000000 --- a/themes/brainbaking-minimal/layouts/notes/single.html +++ /dev/null @@ -1,58 +0,0 @@ -{{ partial "header" . }} -
    -
    - -

    - Half-Baked Thought -

    -

    - {{ .Title | safeHTML }} -

    - - -  |  - - - - - notes - -
    -
    - {{ if (and (isset .Params "context") (not (eq .Params.context ""))) }} -

    - - - - In reply to: {{ .Params.context }}{{ with .Params.rsvp }} (RSVP: {{ . }}){{ end }}
    -

    - {{ end }} -
    - {{ .Content | safeHTML }} -
    - - {{ if .Params.source }} -

    - - - - Also posted on: {{ .Params.source }}. -

    - {{ end }} -
    -
    -
    -
    - {{ partial "single-related" . }} - {{ partial "single-comments" . }} -
    -
    - -{{ partial "footer.html" . }} \ No newline at end of file diff --git a/themes/brainbaking-minimal/layouts/partials/footer.html b/themes/brainbaking-minimal/layouts/partials/footer.html index 187d0905..a85b5297 100644 --- a/themes/brainbaking-minimal/layouts/partials/footer.html +++ b/themes/brainbaking-minimal/layouts/partials/footer.html @@ -1,6 +1,8 @@ diff --git a/themes/brainbaking-minimal/layouts/partials/toot.html b/themes/brainbaking-minimal/layouts/partials/toot.html deleted file mode 100644 index 71ae0d2d..00000000 --- a/themes/brainbaking-minimal/layouts/partials/toot.html +++ /dev/null @@ -1,21 +0,0 @@ -
    -
    -
    - {{ .Content }} -
    -
    - - - - -  |  - - {{ with .Params.context }} -  |  - Reply to: - {{ end }} -
    -
    -