diff --git a/assets/characters/README.md b/assets/characters/README.md new file mode 100644 index 0000000..3b2d851 --- /dev/null +++ b/assets/characters/README.md @@ -0,0 +1,30 @@ +# Characters + +Imaginary friends that help me inject personality into my articles. These are +anthropomorphized versions of animals that I have known in real life. I tried to +draw them roughly in the style of Chris Pasquini, but failed myself, then tried +using Perplexity's image generation. The style isn't quite the same, but I like +it for these animals. Also, Perplexity does a horrible job of labeling images, +so ignore the ref sheet emotion labels. + +## Spawn of Satan (aka Spawn aka SOS) + +![Spawn ref sheet](spawn/_ref-body-perplexity.png) + +Spawn of Satan is the name Travis gave to the cannulated cow, and it stuck. +Spawn is old and cynical after having every professor with a new idea experiment +on her. After being in academia for so long, she knows her way around +mathematics and the scientific method reasonably well, even if she's never +formally taken a college course in the sciences. She is the realist to any blog +post's optimist. + +## Whelen + +![Whelen ref sheet](whelen/_ref-body-perplexity.png) + +Whelen is a happy-go-lucky German Shepherd/Husky mix puppy. He's been to school +once - and that was just to get neutered - so his knowledge of math and science, +heck, even of the humanities, isn't very good. He is very naive and thinks +everyone is nice and wants to be his friend, but he is also friendly to everyone +and is very vocal when he feels left out. He will step in when any blog post is +getting too technical and demand an explanation for real people (dogs?). diff --git a/assets/characters/spawn/_ref-blueeye-perplexity.png b/assets/characters/spawn/_ref-blueeye-perplexity.png new file mode 100644 index 0000000..b8bef00 Binary files /dev/null and b/assets/characters/spawn/_ref-blueeye-perplexity.png differ diff --git a/assets/characters/spawn/_ref-body-perplexity.png b/assets/characters/spawn/_ref-body-perplexity.png new file mode 100644 index 0000000..04f95a6 Binary files /dev/null and b/assets/characters/spawn/_ref-body-perplexity.png differ diff --git a/assets/characters/spawn/_ref-bodysmirk-perplexity.png b/assets/characters/spawn/_ref-bodysmirk-perplexity.png new file mode 100644 index 0000000..afb9ba2 Binary files /dev/null and b/assets/characters/spawn/_ref-bodysmirk-perplexity.png differ diff --git a/assets/characters/spawn/_ref-face-perplexity.png b/assets/characters/spawn/_ref-face-perplexity.png new file mode 100644 index 0000000..de286db Binary files /dev/null and b/assets/characters/spawn/_ref-face-perplexity.png differ diff --git a/assets/characters/spawn/body-anger.png b/assets/characters/spawn/body-anger.png new file mode 100644 index 0000000..0f9fd87 Binary files /dev/null and b/assets/characters/spawn/body-anger.png differ diff --git a/assets/characters/spawn/body-lazy.png b/assets/characters/spawn/body-lazy.png new file mode 100644 index 0000000..530eb46 Binary files /dev/null and b/assets/characters/spawn/body-lazy.png differ diff --git a/assets/characters/spawn/body-skeptic.png b/assets/characters/spawn/body-skeptic.png new file mode 100644 index 0000000..8e110dc Binary files /dev/null and b/assets/characters/spawn/body-skeptic.png differ diff --git a/assets/characters/spawn/body-snark.png b/assets/characters/spawn/body-snark.png new file mode 100644 index 0000000..e2be9e1 Binary files /dev/null and b/assets/characters/spawn/body-snark.png differ diff --git a/assets/characters/spawn/body-tired.png b/assets/characters/spawn/body-tired.png new file mode 100644 index 0000000..3d84c4d Binary files /dev/null and b/assets/characters/spawn/body-tired.png differ diff --git a/assets/characters/spawn/face-confusion.png b/assets/characters/spawn/face-confusion.png new file mode 100644 index 0000000..6a70166 Binary files /dev/null and b/assets/characters/spawn/face-confusion.png differ diff --git a/assets/characters/spawn/face-happy.png b/assets/characters/spawn/face-happy.png new file mode 100644 index 0000000..445dcef Binary files /dev/null and b/assets/characters/spawn/face-happy.png differ diff --git a/assets/characters/spawn/face-neutral.png b/assets/characters/spawn/face-neutral.png new file mode 100644 index 0000000..44b5522 Binary files /dev/null and b/assets/characters/spawn/face-neutral.png differ diff --git a/assets/characters/spawn/face-sad.png b/assets/characters/spawn/face-sad.png new file mode 100644 index 0000000..15fdb4e Binary files /dev/null and b/assets/characters/spawn/face-sad.png differ diff --git a/assets/characters/spawn/face-toldyouso.png b/assets/characters/spawn/face-toldyouso.png new file mode 100644 index 0000000..9a908bb Binary files /dev/null and b/assets/characters/spawn/face-toldyouso.png differ diff --git a/assets/characters/whelen/_ref-body-perplexity.png b/assets/characters/whelen/_ref-body-perplexity.png new file mode 100644 index 0000000..e5d4103 Binary files /dev/null and b/assets/characters/whelen/_ref-body-perplexity.png differ diff --git a/assets/characters/whelen/_ref-face-perplexity.png b/assets/characters/whelen/_ref-face-perplexity.png new file mode 100644 index 0000000..107709c Binary files /dev/null and b/assets/characters/whelen/_ref-face-perplexity.png differ diff --git a/assets/characters/whelen/body-determined.png b/assets/characters/whelen/body-determined.png new file mode 100644 index 0000000..2c37c46 Binary files /dev/null and b/assets/characters/whelen/body-determined.png differ diff --git a/assets/characters/whelen/body-happy.png b/assets/characters/whelen/body-happy.png new file mode 100644 index 0000000..ef40187 Binary files /dev/null and b/assets/characters/whelen/body-happy.png differ diff --git a/assets/characters/whelen/body-neutral.png b/assets/characters/whelen/body-neutral.png new file mode 100644 index 0000000..9737ccc Binary files /dev/null and b/assets/characters/whelen/body-neutral.png differ diff --git a/assets/characters/whelen/body-sad.png b/assets/characters/whelen/body-sad.png new file mode 100644 index 0000000..2056f02 Binary files /dev/null and b/assets/characters/whelen/body-sad.png differ diff --git a/assets/characters/whelen/body-tired.png b/assets/characters/whelen/body-tired.png new file mode 100644 index 0000000..855a49d Binary files /dev/null and b/assets/characters/whelen/body-tired.png differ diff --git a/assets/characters/whelen/body-worry.png b/assets/characters/whelen/body-worry.png new file mode 100644 index 0000000..2dd85e2 Binary files /dev/null and b/assets/characters/whelen/body-worry.png differ diff --git a/assets/characters/whelen/face-anticipation.png b/assets/characters/whelen/face-anticipation.png new file mode 100644 index 0000000..0be27d0 Binary files /dev/null and b/assets/characters/whelen/face-anticipation.png differ diff --git a/assets/characters/whelen/face-bored.png b/assets/characters/whelen/face-bored.png new file mode 100644 index 0000000..d376b4d Binary files /dev/null and b/assets/characters/whelen/face-bored.png differ diff --git a/assets/characters/whelen/face-happy.png b/assets/characters/whelen/face-happy.png new file mode 100644 index 0000000..af35cae Binary files /dev/null and b/assets/characters/whelen/face-happy.png differ diff --git a/assets/characters/whelen/face-neutral.png b/assets/characters/whelen/face-neutral.png new file mode 100644 index 0000000..1a93432 Binary files /dev/null and b/assets/characters/whelen/face-neutral.png differ diff --git a/assets/characters/whelen/face-skeptic.png b/assets/characters/whelen/face-skeptic.png new file mode 100644 index 0000000..33cc063 Binary files /dev/null and b/assets/characters/whelen/face-skeptic.png differ diff --git a/assets/characters/whelen/face-tired.png b/assets/characters/whelen/face-tired.png new file mode 100644 index 0000000..f395166 Binary files /dev/null and b/assets/characters/whelen/face-tired.png differ diff --git a/assets/characters/whelen/face-worry.png b/assets/characters/whelen/face-worry.png new file mode 100644 index 0000000..563b68e Binary files /dev/null and b/assets/characters/whelen/face-worry.png differ diff --git a/assets/styles/millironx.css b/assets/styles/millironx.css index 9b2026b..00ad31e 100644 --- a/assets/styles/millironx.css +++ b/assets/styles/millironx.css @@ -185,6 +185,8 @@ "URW Bookman L", "Georgia Pro", Georgia, serif; --font-family-slab-serif: Rockwell, "Rockwell Nova", "Roboto Slab", "DejaVu Serif", "Sitka Small", serif; + --font-family-transitional: Charter, "Bitstream Charter", "Sitka Text", + Cambria, serif; --font-family-system-ui: system-ui, sans-serif; --font-family-monospace: "Nimbus Mono PS", "Courier New", monospace; } @@ -272,6 +274,34 @@ main { flex-direction: column; } +article p, +.character-dialog-text, +article li { + font-family: var(--font-family-transitional); + font-size: 1.15rem; + text-justify: inter-word; + text-align: justify; + hyphens: auto; +} + +article > p { + text-indent: 2ch; + line-height: 1.5em; +} + +article h1 + p, +article h2 + p, +article h3 + p, +article h4 + p, +article h5 + p, +article h6 + p { + text-indent: 0; +} + +.footnotes p { + font-size: smaller; +} + figure { border-color: var(--container-border); border-width: 1.5pt; @@ -572,6 +602,55 @@ figcaption .mono { max-width: 100%; } +.character-dialog { + display: grid; + width: calc(100% - 1rem); + grid-template-columns: 5rem 1fr; + grid-template-rows: auto auto; + gap: 1em; + margin: 0.5rem; +} + +.character-avatar { + display: grid; + max-width: 100%; + grid-row: 1 / span 2; + grid-column: 1; + align-self: start; + align-items: center; + justify-items: center; + min-width: 5rem; + min-height: 5rem; + border-radius: 5rem; + align-items: center; + border-style: solid; + border-color: var(--nav-button-background-hover); + background-color: var(--cowhide-2); +} + +.character-avatar > img { + max-width: 4rem; + max-height: 4rem; +} + +.character-dialog-bubble { + display: grid; + grid-template-rows: auto auto; + align-self: start; + border-radius: 0.5em; + border-width: 0.2rem; + border-color: var(--nav-button-background); + border-style: outset; + row-gap: 0.5rem; + padding: 0.5rem; + background-color: var(--container-border); + min-height: 5rem; +} + +.character-dialog-title { + font-weight: bolder; +} + /* Helper classes */ diff --git a/layouts/posts/single.html b/layouts/posts/single.html new file mode 100644 index 0000000..49151c4 --- /dev/null +++ b/layouts/posts/single.html @@ -0,0 +1,6 @@ +{{ define "main" }} +
+

{{ .Title }}

+ {{ .Content }} +
+{{ end }} diff --git a/layouts/shortcodes/character-dialog.html b/layouts/shortcodes/character-dialog.html new file mode 100644 index 0000000..bb1b9b0 --- /dev/null +++ b/layouts/shortcodes/character-dialog.html @@ -0,0 +1,24 @@ +{{ $character := .Get 0 }} +{{ $position := .Get 1 }} +{{ $emotion := .Get 2 }} + +{{ $resourceName := print "characters/" $character "/" $position "-" $emotion ".png" }} +{{ $characterImageResource := resources.Get $resourceName }} + +{{ $resizedCharacterImage := $characterImageResource.Resize "x100" }} + + +
+
+ thumbnail of {{ $character }} in {{ $emotion }} state +
+
+
+ {{ $character | humanize }} +
+
{{ .Inner | markdownify }}
+
+