Skip to content

boehs/site

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

My main website!

This is the site wherein I push 11ty to it's absolute limits and then some. It works on some 11ty versions but not all of them.

This website is my indieweb-enabled digital garden with dynamic taxonomies, aliases, gemini, scss, ts, and lots of love.

Some notes for developers

I like to think this website is pretty cool, I've taken great care to design it in such a way that it is very flexible (although mind that the stylesheets are heavily customized)

No taxonomies, be that tags, dates, or "in" properties, are hardcoded. That does not mean nothing is hardcoded though. 11ty does hot handle taxonomies in a very good way, so this introduces dependence on collectionsControl.json and tagList.json

Architecture

  • 11ty is responsible for using templates and markdown files to create pages, as well as building other files needed for cosmetics (it's a static site generator). It also is used as infrastructure for things like pagination and wikilinks
  • Cloudflare serves the site, and certain cosmetics are done server side, for instance, changing the greeting on the home page
  • Satori generates OpenGraph SVGs for each page, and ReSVG renders those to PNGs.
                             β”Œβ”€β”€β”€β”€β”                                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€11tyβ”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                β”Œβ”€β”€β”€β”€β”€β”€Cloudflareβ”œβ”€β”€β”€β”€β”
              β”‚              β””β”€β”€β”€β”€β”˜β”Œβ”€β”€β”€β”€β”€β”€β”     β”‚                β”‚     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
              β”‚                β”Œβ”€β”€β”€β”€Minifyβ”œβ”€β”€β”€β” β”‚                β”‚                     β”‚
              β”‚                β”‚   β””β”€β”€β”€β”€β”€β”€β”˜   β”‚ β”‚                β”‚                     β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
 β”‚   TS    β”œβ”€β”€β”Όβ”€β–Ά    TSC     β”œβ”€β”Όβ–Ά   Terser   β”œβ”Όβ”€β”Όβ”€β–Ά     JS     β”œβ”€β”Όβ”€β–Ά      Cache      β”‚ β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
 β”‚  SCSS   β”œβ”€β”€β”Όβ”€β–Ά    SASS    β”œβ”€β”Όβ–Ά    CSSO    β”œβ”Όβ”€β”Όβ”€β–Ά    CSS     β”œβ”€β”Όβ”€β–Ά      Cache      β”‚ β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
 β”‚Templatesβ”œβ”€β”¬β”Όβ”€β–Ά  Nunjucks  β”œβ”€β”Όβ–Ά  HTMLMin   β”œβ”Όβ”€β”Όβ”€β–Ά    HTML    β”œβ”€β”Όβ”€β–ΆWorkers Transformβ”‚ β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚β”‚                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚                β”‚                     β”‚
 β”‚Markdown β”œβ”€β”€β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ └┼─▢   Satori   β”œβ”€β”€β–Ά   ReSVG    β”œβ”€β”€β”Όβ”€β–Ά    PNG     β”œβ”€β”Όβ”€β–Ά      Cache      β”‚ β”‚
              β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
              β”‚    (og img)                     β”‚                β”‚                     β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Building

When you clone this repository, you should run git clone --recurse-submodules https://github.com/boehs/site, as my content lives on sourcehut. Please note this content is not licensed under AGPL. It is not licensed, unless otherwise noted. If you already cloned it, run the following commands:

git submodule update --init --recursive
git pull --recurse-submodules

Next, you can run pnpm install and pnpm run start to get a dev server up and running.

Contributing

Feel free to do whatever the heck you want, provided you abide by the included LICENSE.md file. This includes adding pages, squashing bugs, and tiny improvements. Anything really.

If you want, submit a PR adding a line to

  • /shared/_data/deets/greatings.json (Hi, Hello, Hola, etc) or
  • /functions/api/is.ts (Evan Boehs is (verb|adjective))

Be creative, everything is welcome (probably).