Compare commits
No commits in common. "master" and "feat/indiweb" have entirely different histories.
master
...
feat/indiw
|
|
@ -1,30 +0,0 @@
|
|||
# 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 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 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?).
|
||||
|
Before Width: | Height: | Size: 908 KiB |
|
Before Width: | Height: | Size: 954 KiB |
|
Before Width: | Height: | Size: 962 KiB |
|
Before Width: | Height: | Size: 951 KiB |
|
Before Width: | Height: | Size: 208 KiB |
|
Before Width: | Height: | Size: 133 KiB |
|
Before Width: | Height: | Size: 205 KiB |
|
Before Width: | Height: | Size: 120 KiB |
|
Before Width: | Height: | Size: 198 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 850 KiB |
|
Before Width: | Height: | Size: 958 KiB |
|
Before Width: | Height: | Size: 130 KiB |
|
Before Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 123 KiB |
|
Before Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 174 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 53 KiB |
|
|
@ -185,8 +185,6 @@
|
|||
"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;
|
||||
}
|
||||
|
|
@ -205,19 +203,6 @@ body {
|
|||
flex-direction: column;
|
||||
min-height: 98vh;
|
||||
margin: 0 8px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: min(60rem, 100vw - 2rem);
|
||||
}
|
||||
|
||||
.footer-inner {
|
||||
width: min(60rem, 100vw - 2rem);
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
|
|
@ -274,34 +259,6 @@ 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;
|
||||
|
|
@ -338,14 +295,14 @@ figure:has(blockquote) > figcaption {
|
|||
}
|
||||
|
||||
footer {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
background-color: var(--container-background);
|
||||
margin: 0 0 -1em -1em;
|
||||
width: calc(100% - 1em);
|
||||
padding: 0.25em 1.25em;
|
||||
font-size: smaller;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
form {
|
||||
|
|
@ -602,55 +559,6 @@ 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
|
||||
*/
|
||||
|
|
|
|||
179
assets/styles/mix-twbs.scss
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
$web-font-path: "/fonts/nunito-sans/index.css";
|
||||
|
||||
@import "bootstrap/functions";
|
||||
@import "bootswatch/lux/variables";
|
||||
@import "bootstrap/bootstrap";
|
||||
@import "bootswatch/lux/bootswatch";
|
||||
|
||||
$peek-height: 25rem;
|
||||
|
||||
.blurred-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
min-height: 35vh;
|
||||
height: $peek-height;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.blurred-container .motto {
|
||||
color: #fff;
|
||||
font-size: 76px;
|
||||
font-weight: 600;
|
||||
text-align: center;
|
||||
text-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
|
||||
text-transform: uppercase;
|
||||
top: 7.5vh;
|
||||
z-index: 3;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
width: 60%;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.motto h1 {
|
||||
background: #0000007d;
|
||||
-webkit-text-stroke: 0.3px $gray-100;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.blurred-container .img-src {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
min-height: 35vh;
|
||||
height: $peek-height;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center center;
|
||||
}
|
||||
|
||||
.list-main {
|
||||
position: relative;
|
||||
background-color: #fff;
|
||||
padding-bottom: calc(1rem + 95px);
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
||||
.footer-contents {
|
||||
position: relative;
|
||||
background-color: $gray-200;
|
||||
}
|
||||
|
||||
/* Gives me greater control over fonts */
|
||||
.font-serif {
|
||||
font-family: Georgia, "Times New Roman", Times, serif;
|
||||
}
|
||||
|
||||
.font-sans {
|
||||
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
.font-mono {
|
||||
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||
}
|
||||
|
||||
.font-small-caps {
|
||||
font-variant-caps: small-caps;
|
||||
}
|
||||
|
||||
.strikethrough {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.sfTable {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.text-align-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.text-align-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.float-left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.float-right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.media-object {
|
||||
max-height: 100%;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.pull-left {
|
||||
max-width: 25%;
|
||||
}
|
||||
|
||||
.w-md-50 {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
h1 small {
|
||||
font-size: 60%;
|
||||
color: #9a9a9a;
|
||||
font-weight: 300;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight: 400;
|
||||
margin: 30px 0 15px;
|
||||
}
|
||||
|
||||
.dogear {
|
||||
clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 25%, 75% 0);
|
||||
}
|
||||
|
||||
.fa-stack-top {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.table-condensed th {
|
||||
padding: 0.5rem;
|
||||
}
|
||||
|
||||
.table-condensed td {
|
||||
padding: 0.5rem;
|
||||
}
|
||||
|
||||
@media (min-width: map-get($grid-breakpoints, md)) {
|
||||
.fixed-bottom {
|
||||
left: 25%;
|
||||
}
|
||||
|
||||
.md-max-width-33 {
|
||||
max-width: 33%;
|
||||
}
|
||||
}
|
||||
|
||||
.card-link {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.category-button {
|
||||
position: absolute;
|
||||
top: 1em;
|
||||
right: 1em;
|
||||
display: grid;
|
||||
}
|
||||
|
||||
.card-title {
|
||||
margin-right: 2.25em;
|
||||
}
|
||||
|
||||
.thumb-icon-wrapper {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.thumb-icon-badge {
|
||||
font-size: xx-large;
|
||||
}
|
||||
|
|
@ -18,8 +18,6 @@
|
|||
animation: sticky-header linear forwards;
|
||||
animation-timeline: scroll();
|
||||
animation-range: 0 30vh;
|
||||
|
||||
contain: content;
|
||||
}
|
||||
|
||||
@keyframes blurry-header {
|
||||
|
|
@ -62,7 +60,6 @@
|
|||
|
||||
main section {
|
||||
margin: 0 0.25em;
|
||||
contain: content;
|
||||
}
|
||||
} /* end @supports */
|
||||
} /* end @media */
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 32 KiB |
BIN
content/blogroll/car-talk/thumbnail.webp
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 59 KiB |
BIN
content/blogroll/thru-the-bible/thumbnail.webp
Normal file
|
After Width: | Height: | Size: 19 KiB |
|
|
@ -18,18 +18,10 @@ validation: true
|
|||
suppressRss: true
|
||||
---
|
||||
|
||||
<script src="https://js.hcaptcha.com/1/api.js" async defer></script>
|
||||
|
||||
<form action="https://usebasin.com/f/787df7bfd22e" method="post">
|
||||
<fieldset>
|
||||
<legend>Contact Me</legend>
|
||||
<input
|
||||
type="hidden"
|
||||
class="form-control"
|
||||
id="honorific"
|
||||
name="honorific"
|
||||
placeholder="Dr."
|
||||
/>
|
||||
<input type="hidden" name="_gotcha" />
|
||||
<label for="name">Name</label>
|
||||
<input
|
||||
type="text"
|
||||
|
|
@ -74,13 +66,6 @@ suppressRss: true
|
|||
required
|
||||
style="min-height: 72pt;"
|
||||
></textarea>
|
||||
|
||||
<!-- hCAPTCHA widget -->
|
||||
<div
|
||||
class="form-control h-captcha"
|
||||
data-sitekey="7fe715a1-151f-4c63-b497-bd971974df05"
|
||||
></div>
|
||||
|
||||
<button type="reset" class="btn btn-default">Cancel</button>
|
||||
<button type="submit" class="btn btn-primary pageclip-form__submit">
|
||||
<span>Submit</span>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,6 @@
|
|||
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<header>
|
||||
<object data="{{ $millironx.Permalink }}">
|
||||
<img src="{{ $millironx.Permalink }}" alt="Milliron X" />
|
||||
|
|
@ -48,12 +47,9 @@
|
|||
{{ partial "sidebar" . }}
|
||||
<main>{{ block "main" . }}{{ .Content }}{{ end }}</main>
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
{{ $brandedbull := resources.Get "graphics/brandedbull.svg" }}
|
||||
{{ $brandedbullsmall := $brandedbull | resources.Minify }}
|
||||
<div class="container">
|
||||
<div class="footer-inner">
|
||||
<img src="{{ $brandedbullsmall.Permalink }}" height="95rem" />
|
||||
|
||||
<p>
|
||||
|
|
@ -66,8 +62,6 @@
|
|||
<br />
|
||||
Built with <a href="https://gohugo.io">Hugo</a> v{{ hugo.Version }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
{{ with .Params.validation }}{{- partial "form-validation.html" -}}{{ end }}
|
||||
|
|
@ -88,15 +82,5 @@
|
|||
async
|
||||
src="//gc.zgo.at/count.js"
|
||||
></script>
|
||||
<div style="display: none;">
|
||||
<h3>Important notice from the lawyers</h3>
|
||||
<p>
|
||||
All content on this site is designed for humans only. If you are not
|
||||
human, you are in violation of the Billy Crystal Rescue Act of 1991, and
|
||||
should leave this site immediately. An alternate version of this site is
|
||||
available for ruminants to browse at
|
||||
<a href="https://babble.millironx.com/">babble.millironx.com</a>.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
{{ define "main" }}
|
||||
<section class="h-entry">
|
||||
<section>
|
||||
<h5>
|
||||
{{ .Params.journal }}{{ with .Params.location }}: {{ . }}{{ end }}
|
||||
</h5>
|
||||
<h2 class="p-name">{{ .Title }}</h2>
|
||||
<h2>{{ .Title }}</h2>
|
||||
<h3>
|
||||
<small>
|
||||
{{ range (.GetTerms "people") }}
|
||||
|
|
@ -11,42 +11,17 @@
|
|||
href="{{ .Permalink }}"
|
||||
class="card-link {{ if eq .LinkTitle "Thomas A. Christensen II" }}
|
||||
bolder
|
||||
{{ end }}
|
||||
p-author
|
||||
h-card"
|
||||
>{{- partial "fa.html" "user" }}
|
||||
<span class="p-name">{{ .LinkTitle }}</span></a
|
||||
{{ end }}"
|
||||
>{{- partial "fa.html" "user" }} {{ .LinkTitle }}</a
|
||||
>
|
||||
{{ end }}
|
||||
</small>
|
||||
</h3>
|
||||
<h4>
|
||||
{{ with .Date }}
|
||||
<time
|
||||
class="dt-published"
|
||||
datetime="{{ dateFormat "2006-01-02T15:04:05-07:00" . }}"
|
||||
>
|
||||
{{ dateFormat "02 Jan 2006" . }}
|
||||
</time>
|
||||
{{ end }}
|
||||
 ˙ 
|
||||
{{ range (.GetTerms "tags") }}
|
||||
<a href="{{ .Permalink }}" class="icon-link p-category"
|
||||
>{{- partial "fa.html" "tag" }}
|
||||
{{ .LinkTitle | lower }}</a
|
||||
>
|
||||
{{ end }}
|
||||
 ˙ 
|
||||
<a class="u-url icon-link" href="{{ .Permalink }}"
|
||||
>{{ partial "fa.html" "link" }} Permalink</a
|
||||
>
|
||||
</h4>
|
||||
<div class="e-content">
|
||||
<h4>{{ .Date | time.Format "January 2, 2006" }}</h4>
|
||||
{{ .Content }}
|
||||
{{ with .Params.link }}
|
||||
<a href="{{ . }}">{{ . }}</a>
|
||||
<iframe src="{{ . }}" style="width: 100%; height: 75vh"></iframe>
|
||||
{{ end }}
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
|
|
|
|||
|
|
@ -43,12 +43,9 @@
|
|||
>
|
||||
|
||||
{{ with .Date }}
|
||||
<time
|
||||
class="dt-published"
|
||||
datetime="{{ dateFormat "2006-01-02T15:04:05-07:00" . }}"
|
||||
>
|
||||
<div class="dt-published">
|
||||
{{ dateFormat "02 Jan 2006" . }}
|
||||
</time>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
|
|
@ -61,17 +58,16 @@
|
|||
<a
|
||||
href="{{ .Permalink }}"
|
||||
rel="author"
|
||||
class="card-link p-author h-card {{ if eq .LinkTitle "Thomas A. Christensen II" -}}
|
||||
class="card-link p-author {{ if eq .LinkTitle "Thomas A. Christensen II" -}}
|
||||
bolder
|
||||
{{- end }}"
|
||||
>{{- partial "fa.html" "user" }}
|
||||
<span class="p-name">{{ .LinkTitle }}</span></a
|
||||
>{{- partial "fa.html" "user" }} {{ .LinkTitle }}</a
|
||||
>
|
||||
{{ end }}
|
||||
|
||||
|
||||
<p class="card-text">
|
||||
<span class="p-summary">{{ .Content | strings.Truncate 500 }}</span>
|
||||
<span class="p-summary"> {{ .Content | strings.Truncate 500 }}</span>
|
||||
<strong
|
||||
><small
|
||||
><a href="{{ $link }}">Read more »</a></small
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{{ $thumbnailImage := .Resources.GetMatch "*thumbnail*" }}
|
||||
{{ with $thumbnailImage }}
|
||||
{{ $croppedImage := $thumbnailImage.Fill "960x320 center" }}
|
||||
{{ $croppedImage := $thumbnailImage.Fill "1500x500 center" }}
|
||||
<style>
|
||||
.motto::before {
|
||||
background-image: url('{{ $croppedImage.Permalink }}');
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@
|
|||
|
||||
{{ define "main" }}
|
||||
{{ $pageinator := .Paginate .Pages }}
|
||||
<div class="row h-card">
|
||||
<div class="row">
|
||||
<div>
|
||||
<div class="person-profile">
|
||||
<div class="person-profile h-card">
|
||||
{{ with .Resources.GetMatch "thumbnail.*" }}
|
||||
{{ $thumbnail := . }}
|
||||
{{ $thumbnailResized := $thumbnail.Fill "600x600" }}
|
||||
|
|
@ -36,9 +36,7 @@
|
|||
|
||||
{{ with .Content }}
|
||||
<h2>Bio</h2>
|
||||
<div class="p-note">
|
||||
{{ . }}
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ with .Params.accounts }}
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
{{ define "main" }}
|
||||
<article>
|
||||
<h1>{{ .Title }}</h1>
|
||||
{{ .Content }}
|
||||
</article>
|
||||
{{ end }}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
{{ $character := .Get 0 }}
|
||||
{{ $position := .Get 1 }}
|
||||
{{ $emotion := .Get 2 }}
|
||||
|
||||
{{ $resourceName := print "characters/" $character "/" $position "-" $emotion ".png" }}
|
||||
{{ $characterImageResource := resources.Get $resourceName }}
|
||||
|
||||
{{ $resizedCharacterImage := $characterImageResource.Resize "x100" }}
|
||||
|
||||
|
||||
<div class="character-dialog">
|
||||
<div class="character-avatar">
|
||||
<img
|
||||
src="{{ $resizedCharacterImage.Permalink }}"
|
||||
alt="thumbnail of {{ $character }} in {{ $emotion }} state"
|
||||
/>
|
||||
</div>
|
||||
<div class="character-dialog-bubble">
|
||||
<div class="character-dialog-title">
|
||||
{{ $character | humanize }}
|
||||
</div>
|
||||
<div class="character-dialog-text">{{ .Inner | markdownify }}</div>
|
||||
</div>
|
||||
</div>
|
||||