, purely for constraining width.
.nobr {
display: inline-block;
+}
+
+cite.short-work {
+ font-style: normal;
}
\ No newline at end of file
diff --git a/unified.test.hugo/assets/styles/common/colors.scss b/unified.test.hugo/assets/styles/common/colors.scss
index 9990a46..f486fe7 100644
--- a/unified.test.hugo/assets/styles/common/colors.scss
+++ b/unified.test.hugo/assets/styles/common/colors.scss
@@ -16,6 +16,7 @@
--ui-overlay-text: var(--ui-text);
--ui-overlay-highlight: hsl(210, 100%, 80%);
--ui-overlay-deemphasized: hsl(210, 100%, 95%);
+ --ui-blend: hsla(210, 100%, 87.5%, 75%);
}
@media (prefers-color-scheme: dark) {
@@ -37,5 +38,6 @@
--ui-overlay-text: var(--ui-text);
--ui-overlay-highlight: hsl(210, 100%, 27.5%);
--ui-overlay-deemphasized: hsl(210, 100%, 5%);
+ --ui-blend: hsla(210, 100%, 10%, 75%);
}
}
\ No newline at end of file
diff --git a/unified.test.hugo/assets/styles/common/elements.scss b/unified.test.hugo/assets/styles/common/elements.scss
index c744fda..605f370 100644
--- a/unified.test.hugo/assets/styles/common/elements.scss
+++ b/unified.test.hugo/assets/styles/common/elements.scss
@@ -45,21 +45,10 @@ th, td {
}
/* figures */
figure {
- margin: 0;
- max-width: max-content;
+
}
figcaption {
- padding-block: 1em;
- padding-inline: 1em;
-}
-figure img {
- display: block;
- margin: 0 auto;
-}
-figure img ~ figcaption {
- background: var(--ui-overlay);
- color: var(--ui-overlay-text);
- text-align: center;
+
}
/* extra style and flair */
code {
diff --git a/unified.test.hugo/assets/styles/common/typography.scss b/unified.test.hugo/assets/styles/common/typography.scss
index 3c3d824..48148f4 100644
--- a/unified.test.hugo/assets/styles/common/typography.scss
+++ b/unified.test.hugo/assets/styles/common/typography.scss
@@ -10,7 +10,7 @@ h1, h2, h3, h4, h5, h6 {
margin-block-end: 1rem;
font-weight: bold;
}
-body {line-height: 2;}
+body {line-height: 2; letter-spacing: -0.022em;}
pre {
line-height: 1.2;
font-family: monospace;
diff --git a/unified.test.hugo/assets/styles/components/alt-formats.scss b/unified.test.hugo/assets/styles/components/alt-formats.scss
index bda6df6..8e008a8 100644
--- a/unified.test.hugo/assets/styles/components/alt-formats.scss
+++ b/unified.test.hugo/assets/styles/components/alt-formats.scss
@@ -2,28 +2,11 @@
.path, .mediaType {font-family: monospace;}
&-hint {
margin-block-end: 0;
- display: grid;
- place-items: start start;
- grid-template-columns: auto 1fr;
- &__text {
- place-self: center start;
- line-height: 1.5em;
- }
- &:before {
- content: '';
- display: inline-block;
- background: var(--ui-overlay);
- background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNOS44IDE0LjVoMS42bC44LTIuM2gzLjY1bC44IDIuM2gxLjU1bC0zLjQtOWgtMS42em0yLjg1LTMuNmwxLjMtMy43NWguMWwxLjMgMy43NXpNOCAxOHEtLjgyNSAwLTEuNDEyLS41ODdUNiAxNlY0cTAtLjgyNS41ODgtMS40MTJUOCAyaDEycS44MjUgMCAxLjQxMy41ODhUMjIgNHYxMnEwIC44MjUtLjU4NyAxLjQxM1QyMCAxOHptLTQgNHEtLjgyNSAwLTEuNDEyLS41ODdUMiAyMFY2aDJ2MTRoMTR2MnoiLz48L3N2Zz4=);
- width: 1em;
- height: 1em;
- padding: 0.25em;
- border-radius: 100em;
- background-repeat: no-repeat;
- background-size: 60%;
- background-position-x: 45%;
- background-position-y: 55%;
- margin-inline-end: 0.5em;
- }
+ @include prepend-icon(
+ url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNOS44IDE0LjVoMS42bC44LTIuM2gzLjY1bC44IDIuM2gxLjU1bC0zLjQtOWgtMS42em0yLjg1LTMuNmwxLjMtMy43NWguMWwxLjMgMy43NXpNOCAxOHEtLjgyNSAwLTEuNDEyLS41ODdUNiAxNlY0cTAtLjgyNS41ODgtMS40MTJUOCAyaDEycS44MjUgMCAxLjQxMy41ODhUMjIgNHYxMnEwIC44MjUtLjU4NyAxLjQxM1QyMCAxOHptLTQgNHEtLjgyNSAwLTEuNDEyLS41ODdUMiAyMFY2aDJ2MTRoMTR2MnoiLz48L3N2Zz4=),
+ 45%,
+ 55%
+ );
}
.alt-formats-list {
margin-block-start: 0;
diff --git a/unified.test.hugo/assets/styles/components/article-header.scss b/unified.test.hugo/assets/styles/components/article-header.scss
index 69bd73f..7c2a980 100644
--- a/unified.test.hugo/assets/styles/components/article-header.scss
+++ b/unified.test.hugo/assets/styles/components/article-header.scss
@@ -10,7 +10,6 @@
}
.article-summary {
font-style: italic;
- font-size: 1.215rem;
line-height: 1.15;
letter-spacing: -0.022rem;
margin-block-start: 0.5rem;
diff --git a/unified.test.hugo/assets/styles/components/article-permalink.scss b/unified.test.hugo/assets/styles/components/article-permalink.scss
index 4f15fc8..02a7c35 100644
--- a/unified.test.hugo/assets/styles/components/article-permalink.scss
+++ b/unified.test.hugo/assets/styles/components/article-permalink.scss
@@ -1,23 +1,7 @@
.article-permalink {
- display: grid;
- place-items: start start;
- grid-template-columns: auto 1fr;
- &__text {
- place-self: center start;
- line-height: 1.5em;
- }
- &:before {
- content: '';
- display: inline-block;
- background: var(--ui-overlay);
- background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNMyAzdjE4aDE4VjN6bTE1IDE1SDZ2LTFoMTJ6bTAtMkg2di0xaDEyem0wLTRINlY2aDEyeiIvPjwvc3ZnPg==);
- width: 1em;
- height: 1em;
- padding: 0.25em;
- border-radius: 100em;
- background-repeat: no-repeat;
- background-position-x: 50%;
- background-position-y: 47.5%;
- margin-inline-end: 0.5em;
- }
+ @include prepend-icon(
+ url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNMyAzdjE4aDE4VjN6bTE1IDE1SDZ2LTFoMTJ6bTAtMkg2di0xaDEyem0wLTRINlY2aDEyeiIvPjwvc3ZnPg==),
+ 50%,
+ 50%
+ );
}
\ No newline at end of file
diff --git a/unified.test.hugo/assets/styles/components/article-published-datetime.scss b/unified.test.hugo/assets/styles/components/article-published-datetime.scss
index 9d046bb..6f44d26 100644
--- a/unified.test.hugo/assets/styles/components/article-published-datetime.scss
+++ b/unified.test.hugo/assets/styles/components/article-published-datetime.scss
@@ -5,25 +5,9 @@
.date {
}
- display: grid;
- place-items: start start;
- grid-template-columns: auto 1fr;
- &__text {
- place-self: center start;
- line-height: 1.5em;
- }
- &:before {
- content: '';
- display: inline-block;
- background: var(--ui-overlay);
- background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNMTIgMkExMCAxMCAwIDAgMCAyIDEyYTEwIDEwIDAgMCAwIDEwIDEwYTEwIDEwIDAgMCAwIDEwLTEwQTEwIDEwIDAgMCAwIDEyIDJtNC4yIDE0LjJMMTEgMTNWN2gxLjV2NS4ybDQuNSAyLjd6Ii8+PC9zdmc+);
- width: 1em;
- height: 1em;
- padding: 0.25em;
- border-radius: 100em;
- background-repeat: no-repeat;
- background-position-x: 50%;
- background-position-y: 47.5%;
- margin-inline-end: 0.5em;
- }
+ @include prepend-icon(
+ url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNMTIgMkExMCAxMCAwIDAgMCAyIDEyYTEwIDEwIDAgMCAwIDEwIDEwYTEwIDEwIDAgMCAwIDEwLTEwQTEwIDEwIDAgMCAwIDEyIDJtNC4yIDE0LjJMMTEgMTNWN2gxLjV2NS4ybDQuNSAyLjd6Ii8+PC9zdmc+),
+ 52.5%,
+ 47.5%
+ );
}
\ No newline at end of file
diff --git a/unified.test.hugo/assets/styles/components/article-syndication-list.scss b/unified.test.hugo/assets/styles/components/article-syndication-list.scss
index f7676b9..8464556 100644
--- a/unified.test.hugo/assets/styles/components/article-syndication-list.scss
+++ b/unified.test.hugo/assets/styles/components/article-syndication-list.scss
@@ -1,25 +1,10 @@
.article-syndication-hint {
margin-block-end: 0;
- display: grid;
- place-items: start start;
- grid-template-columns: auto 1fr;
- &__text {
- place-self: center start;
- line-height: 1.5em;
- }
- &:before {
- content: '';
- display: inline-block;
- background: var(--ui-overlay);
- background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNMTcgMjJxLTEuMjUgMC0yLjEyNS0uODc1VDE0IDE5cTAtLjE1LjA3NS0uN0w3LjA1IDE0LjJxLS40LjM3NS0uOTI1LjU4OFQ1IDE1cS0xLjI1IDAtMi4xMjUtLjg3NVQyIDEydC44NzUtMi4xMjVUNSA5cS42IDAgMS4xMjUuMjEzdC45MjUuNTg3bDcuMDI1LTQuMXEtLjA1LS4xNzUtLjA2Mi0uMzM3VDE0IDVxMC0xLjI1Ljg3NS0yLjEyNVQxNyAydDIuMTI1Ljg3NVQyMCA1dC0uODc1IDIuMTI1VDE3IDhxLS42IDAtMS4xMjUtLjIxM1QxNC45NSA3LjJsLTcuMDI1IDQuMXEuMDUuMTc1LjA2My4zMzhUOCAxMnQtLjAxMi4zNjN0LS4wNjMuMzM3bDcuMDI1IDQuMXEuNC0uMzc1LjkyNS0uNTg3VDE3IDE2cTEuMjUgMCAyLjEyNS44NzVUMjAgMTl0LS44NzUgMi4xMjVUMTcgMjIiLz48L3N2Zz4=);
- width: 1em;
- height: 1em;
- padding: 0.25em;
- border-radius: 100em;
- background-repeat: no-repeat;
- background-position: center;
- margin-inline-end: 0.5em;
- }
+ @include prepend-icon(
+ url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNMTcgMjJxLTEuMjUgMC0yLjEyNS0uODc1VDE0IDE5cTAtLjE1LjA3NS0uN0w3LjA1IDE0LjJxLS40LjM3NS0uOTI1LjU4OFQ1IDE1cS0xLjI1IDAtMi4xMjUtLjg3NVQyIDEydC44NzUtMi4xMjVUNSA5cS42IDAgMS4xMjUuMjEzdC45MjUuNTg3bDcuMDI1LTQuMXEtLjA1LS4xNzUtLjA2Mi0uMzM3VDE0IDVxMC0xLjI1Ljg3NS0yLjEyNVQxNyAydDIuMTI1Ljg3NVQyMCA1dC0uODc1IDIuMTI1VDE3IDhxLS42IDAtMS4xMjUtLjIxM1QxNC45NSA3LjJsLTcuMDI1IDQuMXEuMDUuMTc1LjA2My4zMzhUOCAxMnQtLjAxMi4zNjN0LS4wNjMuMzM3bDcuMDI1IDQuMXEuNC0uMzc1LjkyNS0uNTg3VDE3IDE2cTEuMjUgMCAyLjEyNS44NzVUMjAgMTl0LS44NzUgMi4xMjVUMTcgMjIiLz48L3N2Zz4=),
+ 50%,
+ 50%
+ );
}
.article-syndication-list {
margin-block-start: 0;
diff --git a/unified.test.hugo/assets/styles/components/article-tags.scss b/unified.test.hugo/assets/styles/components/article-tags.scss
index 7cc74d8..bac7cf3 100644
--- a/unified.test.hugo/assets/styles/components/article-tags.scss
+++ b/unified.test.hugo/assets/styles/components/article-tags.scss
@@ -1,24 +1,7 @@
.article-tags {
- display: grid;
- place-items: start start;
- grid-template-columns: auto 1fr;
- &__text {
- place-self: center start;
- line-height: 1.5em;
- }
- &:before {
- content: '';
- display: inline-block;
- background: var(--ui-overlay);
- background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS41IDdBMS41IDEuNSAwIDAgMSA0IDUuNUExLjUgMS41IDAgMCAxIDUuNSA0QTEuNSAxLjUgMCAwIDEgNyA1LjVBMS41IDEuNSAwIDAgMSA1LjUgN20xNS45MSA0LjU4bC05LTlDMTIuMDUgMi4yMiAxMS41NSAyIDExIDJINGMtMS4xMSAwLTIgLjg5LTIgMnY3YzAgLjU1LjIyIDEuMDUuNTkgMS40MWw4Ljk5IDljLjM3LjM2Ljg3LjU5IDEuNDIuNTlzMS4wNS0uMjMgMS40MS0uNTlsNy03Yy4zNy0uMzYuNTktLjg2LjU5LTEuNDFjMC0uNTYtLjIzLTEuMDYtLjU5LTEuNDIiLz48L3N2Zz4=);
- width: 1em;
- height: 1em;
- padding: 0.25em;
- border-radius: 100em;
- background-repeat: no-repeat;
- background-position-x: 55%;
- background-position-y: 55%;
- background-size: 60%;
- margin-inline-end: 0.5em;
- }
+ @include prepend-icon(
+ url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS41IDdBMS41IDEuNSAwIDAgMSA0IDUuNUExLjUgMS41IDAgMCAxIDUuNSA0QTEuNSAxLjUgMCAwIDEgNyA1LjVBMS41IDEuNSAwIDAgMSA1LjUgN20xNS45MSA0LjU4bC05LTlDMTIuMDUgMi4yMiAxMS41NSAyIDExIDJINGMtMS4xMSAwLTIgLjg5LTIgMnY3YzAgLjU1LjIyIDEuMDUuNTkgMS40MWw4Ljk5IDljLjM3LjM2Ljg3LjU5IDEuNDIuNTlzMS4wNS0uMjMgMS40MS0uNTlsNy03Yy4zNy0uMzYuNTktLjg2LjU5LTEuNDFjMC0uNTYtLjIzLTEuMDYtLjU5LTEuNDIiLz48L3N2Zz4=),
+ 55%,
+ 55%
+ );
}
\ No newline at end of file
diff --git a/unified.test.hugo/assets/styles/components/article.scss b/unified.test.hugo/assets/styles/components/article.scss
index 03ef75e..887f739 100644
--- a/unified.test.hugo/assets/styles/components/article.scss
+++ b/unified.test.hugo/assets/styles/components/article.scss
@@ -1,10 +1,4 @@
.article {
- h1 {font-size: 1.476rem}
- h2 {font-size: 1.383rem}
- h3 {font-size: 1.296rem}
- h4 {font-size: 1.215rem}
- h5 {font-size: 1.138rem}
- h6 {font-size: 1.067rem}
&-footer {
hr {
diff --git a/unified.test.hugo/assets/styles/components/feed-header.scss b/unified.test.hugo/assets/styles/components/feed-header.scss
index 53aae54..89ad94b 100644
--- a/unified.test.hugo/assets/styles/components/feed-header.scss
+++ b/unified.test.hugo/assets/styles/components/feed-header.scss
@@ -6,7 +6,6 @@
}
.feed-title {
margin-block-start: 0;
- font-size: 2.025rem;
line-height: 1.15;
letter-spacing: -0.022rem;
grid-area: title;
@@ -22,7 +21,6 @@
}
.feed-summary {
font-style: italic;
- font-size: 1.266rem;
line-height: 1.15;
letter-spacing: -0.022rem;
margin-block-start: 0.5rem;
diff --git a/unified.test.hugo/assets/styles/components/figure-with-blockquote.scss b/unified.test.hugo/assets/styles/components/figure-with-blockquote.scss
new file mode 100644
index 0000000..00487b6
--- /dev/null
+++ b/unified.test.hugo/assets/styles/components/figure-with-blockquote.scss
@@ -0,0 +1,83 @@
+figure:has(blockquote) {
+
+ margin-block: 1rem;
+ margin-inline: 0;
+
+ box-sizing: border-box;
+ max-width: max-content;
+
+ blockquote {
+ max-inline-size: 100%;
+ line-height: 1.66;
+ letter-spacing: -0.022em;
+ font-size: 1.266rem;
+
+ font-family: serif;
+ margin: 0;
+ padding: 1rem;
+
+ > p:first-child {
+ margin-block-start: 0;
+ }
+ > p:last-child {
+ margin-block-end: 0;
+ }
+ }
+
+ figcaption {
+ font-size: 0.889rem;
+
+ }
+
+ /* float a lil quotey before the quote */
+
+ position: relative;
+
+ blockquote:before {
+ content: '“';
+ position: absolute;
+ font-size: 3rem;
+ inset-block-start: -0.5rem;
+ // inset-inline-start: 0.75rem;
+ }
+
+ blockquote {
+ padding-block-start: 2em;
+ }
+
+ /* fixes for no-style option */
+
+ blockquote {
+ margin-inline-start: -1rem;
+ }
+
+ &:has(figcaption) blockquote {
+ padding-block-end: 0rem;
+ }
+
+ /* basic style */
+
+ // border-block-start: 1px solid currentColor;
+ // border-inline-start: 1px solid currentColor;
+
+ // figcaption {
+ // padding-inline: 1rem;
+ // padding-block-end: 1rem;
+ // }
+
+ /* framing style */
+
+ // background: var(--ui-overlay);
+ // border: 0.5rem solid var(--ui-overlay);
+
+ // blockquote:not(:has(div)) {
+ // background: var(--ui-background);
+ // }
+
+ // figcaption {
+ // border-block-start: 1px solid var(--ui-overlay);
+ // background: var(--ui-overlay);
+ // color: var(--ui-overlay-text);
+ // padding: 1rem;
+ // }
+}
\ No newline at end of file
diff --git a/unified.test.hugo/assets/styles/components/figure-with-image.scss b/unified.test.hugo/assets/styles/components/figure-with-image.scss
new file mode 100644
index 0000000..a0029f0
--- /dev/null
+++ b/unified.test.hugo/assets/styles/components/figure-with-image.scss
@@ -0,0 +1,3 @@
+figure:has(img) {
+
+}
\ No newline at end of file
diff --git a/unified.test.hugo/assets/styles/components/in-reply-to-prepend.scss b/unified.test.hugo/assets/styles/components/in-reply-to-prepend.scss
index 08a59c8..a8eaa40 100644
--- a/unified.test.hugo/assets/styles/components/in-reply-to-prepend.scss
+++ b/unified.test.hugo/assets/styles/components/in-reply-to-prepend.scss
@@ -1,23 +1,7 @@
.in-reply-to-prepend {
- display: grid;
- place-items: start start;
- grid-template-columns: auto 1fr;
- &__text {
- place-self: center start;
- line-height: 1.5em;
- }
- &:before {
- content: '';
- display: inline-block;
- background: var(--ui-overlay);
- background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNMTAgOVY1bC03IDdsNyA3di00LjFjNSAwIDguNSAxLjYgMTEgNS4xYy0xLTUtNC0xMC0xMS0xMSIvPjwvc3ZnPg==);
- width: 1em;
- height: 1em;
- padding: 0.25em;
- border-radius: 100em;
- background-repeat: no-repeat;
- background-position-x: center;
- background-position-y: 45%;
- margin-inline-end: 0.5em;
- }
+ @include prepend-icon(
+ url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJNMTAgOVY1bC03IDdsNyA3di00LjFjNSAwIDguNSAxLjYgMTEgNS4xYy0xLTUtNC0xMC0xMS0xMSIvPjwvc3ZnPg==),
+ 50%,
+ 45%
+ );
}
\ No newline at end of file
diff --git a/unified.test.hugo/assets/styles/components/site-header.scss b/unified.test.hugo/assets/styles/components/site-header.scss
index 80e4974..b0a075d 100644
--- a/unified.test.hugo/assets/styles/components/site-header.scss
+++ b/unified.test.hugo/assets/styles/components/site-header.scss
@@ -1,12 +1,86 @@
.site-header {
+ hr {
+ display: none;
+ }
.container {
+ }
+ .please-wait-warmly {
+ background: var(--ui-overlay);
+ padding: 1em;
+ display: grid;
+ grid-template-columns: auto 1fr auto;
+ place-items: center;
+ gap: 1em;
+ line-height: 1.15;
+ letter-spacing: -0.022em;
+ &:before, &:after {
+ content: '';
+ display: inline-block;
+ width: 3em;
+ height: 3em;
+ background-color: hsl(210, 100%, 40%);
+ background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IndoaXRlIiBkPSJtMTguOSAyMWwtNS40NzUtNS40NzVsMi4xLTIuMUwyMSAxOC45ek01LjEgMjFMMyAxOC45TDkuOSAxMmwtMS43LTEuN2wtLjcuN2wtMS4yNzUtMS4yNzV2Mi4wNWwtLjcuN0wyLjUgOS40NWwuNy0uN2gyLjA1TDQgNy41bDMuNTUtMy41NXEuNS0uNSAxLjA3NS0uNzI1VDkuOCAzdDEuMTc1LjIyNXQxLjA3NS43MjVsLTIuMyAyLjNMMTEgNy41bC0uNy43TDEyIDkuOWwyLjI1LTIuMjVxLS4xLS4yNzUtLjE2Mi0uNTc1dC0uMDYzLS42cTAtMS40NzUgMS4wMTMtMi40ODh0Mi40ODctMS4wMTJxLjM3NSAwIC43MTMuMDc1dC42ODcuMjI1TDE2LjQ1IDUuNzVsMS44IDEuOGwyLjQ3NS0yLjQ3NXEuMTc1LjM1LjIzOC42ODd0LjA2Mi43MTNxMCAxLjQ3NS0xLjAxMiAyLjQ4OHQtMi40ODggMS4wMTJxLS4zIDAtLjYtLjA1dC0uNTc1LS4xNzV6Ii8+PC9zdmc+);
+ background-size: 75%;
+ background-repeat: no-repeat;
+ background-position: center;
+ border-radius: 100em;
+ }
+ &:before {
+ grid-column: 1;
+ }
+ > * {
+ grid-column: 2;
+ }
+ &:after {
+ grid-column: 3;
+ }
+ }
+ .site-nav {
+ display: flex;
+ flex-flow: row wrap;
+ gap: 0.5em;
}
.site-masthead {
color: inherit;
text-decoration: none;
+ display: inline-grid;
+ grid-template-columns: auto 1fr;
+ gap: 0.5em;
+ }
+ .site-icon {
+ block-size: 3rem;
+ inline-size: 3rem;
+ border-radius: 100em;
+ justify-self: center;
+ }
+ .site-masthead__text {
+ display: flex;
+ flex-flow: column;
}
.site-title {
-
+ font-size: 1.5rem;
+ font-weight: 900;
+ line-height: 2rem;
+ display: inline-grid;
+ }
+ .site-tagline {
+ line-height: 1rem;
+ }
+ .main-menu {
+ flex-grow: 1;
+ margin: 0;
+ list-style: none;
+ text-align: end;
+ &-item {
+ margin: 0;
+ height: 100%;
+ display: inline-grid;
+ place-items: center;
+ .menu-link {
+ display: inline-grid;
+ padding-inline: 0.5em;
+ }
+ }
}
}
\ No newline at end of file
diff --git a/unified.test.hugo/assets/styles/mixins/prepend-icon.scss b/unified.test.hugo/assets/styles/mixins/prepend-icon.scss
new file mode 100644
index 0000000..9ae3a3e
--- /dev/null
+++ b/unified.test.hugo/assets/styles/mixins/prepend-icon.scss
@@ -0,0 +1,28 @@
+@mixin prepend-icon($icon, $how_far_right, $how_far_down) {
+ display: grid;
+ place-items: start start;
+ grid-template-columns: auto 1fr;
+ > * {
+ place-self: center start;
+ line-height: 1.5em;
+ }
+ &:before, &:after {
+ content: '';
+ display: inline-block;
+ block-size: 1em;
+ inline-size: 1em;
+ padding: 0.25em;
+ border-radius: 100em;
+ margin-inline-end: 0.5em;
+ }
+ &:before {
+ background: var(--ui-overlay);
+ }
+ &:after {
+ position: absolute;
+ background: var(--ui-overlay-text);
+ mask-image: $icon;
+ mask-repeat: no-repeat;
+ mask-position: $how_far_right $how_far_down;
+ }
+}
\ No newline at end of file
diff --git a/unified.test.hugo/content/_index.md b/unified.test.hugo/content/_index.md
index 45f67f4..5c77317 100644
--- a/unified.test.hugo/content/_index.md
+++ b/unified.test.hugo/content/_index.md
@@ -1,4 +1,86 @@
+++
-title = "~a"
-summary = "i have approximate knowledge of many things. perpetual student. (nb/ace/they)"
-+++
\ No newline at end of file
+title = "trwnh.com"
+summary = "trwnh.com is the personal site of a"
++++
+
+
+
+## who am i?
+
+hi i'm a. perpetual student. (nb/ace/they)
+
+### general stuff
+
+you can probably find me around the web with the username "trwnh". it comes from my fleshform's legal name, "abdullahtarawneh"; just take the vowels out of the family name. 2014 they was so hipster. although nowadays "i" mostly just go by "a". historically i've had a really tough time with identity, so this is the best we're gonna get i guess.
+
+
+
+### concert/music/band stuff
+
+i've used the names "obvious_humor"/"obvioushumor" for my vaguely music/band fandom stuff, and "birdsounds" for more creative stuff like my concert photography. both names are references to lyrics by Circa Survive, one of my favorite bands.
+
+
+
+
+
+### gameing
+
+most of my "gamer" stuff is under the name triggerofsol. the name came from boktai; in the first boktai game "boktai: the sun is in your hand", if you 100% s-rank and get all items you get "the highest title of the delegate of Sol the solar will -- Trigger of Sol". idk the boktai games are kinda quirky and left an impact on me during my formative years. vampires, norse mythology, magitek, post-apocalyptic absurdism, lotta good stuff in those games.
+
+
+
+
\ No newline at end of file
diff --git a/unified.test.hugo/content/buttons/index.html b/unified.test.hugo/content/buttons/index.html
index fdd19c2..71107fd 100644
--- a/unified.test.hugo/content/buttons/index.html
+++ b/unified.test.hugo/content/buttons/index.html
@@ -1,3 +1,6 @@
++++
+layout = "raw"
++++
diff --git a/unified.test.hugo/content/kb/activitypub/Announce.md b/unified.test.hugo/content/kb/activitypub/Announce.md
new file mode 100644
index 0000000..4aecb0a
--- /dev/null
+++ b/unified.test.hugo/content/kb/activitypub/Announce.md
@@ -0,0 +1,11 @@
+## in theory
+
+https://github.com/w3c/activitystreams/issues/179#issuecomment-119305076
+
+> `as:Announce` is intended to provide separation between one particular activity and the act of announcing that activity to the world. For instance, previously in AS1, we used the "post" verb to identify the dual action of creating and publishing an object. In AS2, we could represent the same actions using separate `as:Create` and `as:Announce` actions.
+
+https://github.com/w3c/activitystreams/issues/196#issuecomment-127697366
+
+> The use case for Announce is to make the intent to notify explicit. For instance, a system may keep track of events such as Arrive, but not actually notify anyone that the event occurred. The Announce allows the notification activity to be performed separately from the thing being Announced.
+
+> The semantics of Announce are simply: Call attention to this thing...
\ No newline at end of file
diff --git a/unified.test.hugo/content/kb/activitypub/confusion/accept-content-type.md b/unified.test.hugo/content/kb/activitypub/confusion/accept-content-type.md
index 1b1b340..4a4d898 100644
--- a/unified.test.hugo/content/kb/activitypub/confusion/accept-content-type.md
+++ b/unified.test.hugo/content/kb/activitypub/confusion/accept-content-type.md
@@ -135,4 +135,6 @@ fwiw mastodon doesn't seem interested in changing this so you will have to Deal
## see also
-- SocialWG: Media type for AS2 -- a discussion from when AS2 was being written.
\ No newline at end of file
+- SocialWG: Media type for AS2 -- a discussion from when AS2 was being written.
+- https://github.com/w3c/activitystreams/issues/86#issuecomment-105692492
+ - > a document served as "application/activity+json" has an implied default context document if the @context field happens to be missing. A document served as "application/ld+json" would not carry the same assumption. Likewise, a document served as "application/activity+json" has the requirement that it must be in json-ld compact form using, at least, the normative AS2 @context document. A document served as "application/ld+json" could be any valid JSON-LD form, including expanded.
\ No newline at end of file
diff --git a/unified.test.hugo/content/kb/activitypub/confusion/tag-for-actual-taxonomy.md b/unified.test.hugo/content/kb/activitypub/confusion/tag-for-actual-taxonomy.md
index 0a0e32b..bb3324e 100644
--- a/unified.test.hugo/content/kb/activitypub/confusion/tag-for-actual-taxonomy.md
+++ b/unified.test.hugo/content/kb/activitypub/confusion/tag-for-actual-taxonomy.md
@@ -1 +1,7 @@
-in theory `tag` is for "association by reference". you reference other nodes, which can be either objects or links. but what's the best way to reference an arbitrary string? there is the unofficial extension of a `Hashtag` but this ends up getting used as a signal to show your tag alongside other posts that share the same tag. also the format of hashtags is a little weird -- no one can really agree on it. does it contain the hash sign? is it allowed to contain spaces? is it a subtype of Link, or a subtype of Object? should it or should it not appear in the content, since `tag` seems to be used to markup microsyntaxes?
\ No newline at end of file
+in theory `tag` is for "association by reference". you reference other nodes, which can be either objects or links. but what's the best way to reference an arbitrary string? there is the unofficial extension of a `Hashtag` but this ends up getting used as a signal to show your tag alongside other posts that share the same tag. also the format of hashtags is a little weird -- no one can really agree on it. does it contain the hash sign? is it allowed to contain spaces? is it a subtype of Link, or a subtype of Object? should it or should it not appear in the content, since `tag` seems to be used to markup microsyntaxes?
+
+## see also
+
+- https://github.com/w3c/activitystreams/issues/62 Best practices for @mentions
+- https://github.com/w3c/activitystreams/issues/63 Best practices for #hashtags
+ - > Right, there are no additional semantics in AS2 for the #.
\ No newline at end of file
diff --git a/unified.test.hugo/content/meta/design-decisions.md b/unified.test.hugo/content/meta/design-decisions.md
new file mode 100644
index 0000000..3434e7b
--- /dev/null
+++ b/unified.test.hugo/content/meta/design-decisions.md
@@ -0,0 +1,16 @@
++++
+title = "Site design and metamodel"
+summary = "Decisions I've made while building this website."
+updated = 2024-11-16
+toc = true
++++
+
+## Distinction between "personal website" and "person"
+
+Early in the development cycle of this website, I initially made no real distinction between myself and my site. For most intents and purposes, I *was* trwnh.com -- and with that, certain design decisions fell into place:
+
+### Why I removed the site header, and why I later added it back.
+
+I wanted no site header or site footer at first. This was partly due to not knowing what to put in there (making them be empty and therefore unnecessary), and partly due to wanting the focus to be entirely on the content itself, which was the main subject of the page.
+
+My thinking around this changed when I started to toy around with and consider the possibility that, even though this is a personal site, I might want to identify or refer to the site separately from myself. In some ways, this makes the site less "personal", or at least, it feels that way. It feels like drawing that distinction makes the website feel more "generic", like it could be repurposed for something else that wasn't me or about me, and it would mostly continue to work just fine.
\ No newline at end of file
diff --git a/unified.test.hugo/hugo.toml b/unified.test.hugo/hugo.toml
index 3cc3175..f6f7147 100644
--- a/unified.test.hugo/hugo.toml
+++ b/unified.test.hugo/hugo.toml
@@ -92,7 +92,8 @@ series = "series"
stream = "streams"
[params]
-summary = "trwnh.com is the personal site of a"
+# try not to exceed ~37ch for the tagline
+tagline = "trwnh.com"
themeColor = "#001a33"
icon = "/.assets/icon.png"
diff --git a/unified.test.hugo/layouts/_default/baseof.html b/unified.test.hugo/layouts/_default/baseof.html
index 19757f4..c7aebdd 100644
--- a/unified.test.hugo/layouts/_default/baseof.html
+++ b/unified.test.hugo/layouts/_default/baseof.html
@@ -34,10 +34,10 @@
{{- block "head" . }}
{{- end }}
- {{- block "body" . }}
-
-
-
- {{- end -}}
+{{- block "body" . }}
+
+
+
+{{- end -}}
{{- end -}}
\ No newline at end of file
diff --git a/unified.test.hugo/layouts/_default/index.html b/unified.test.hugo/layouts/_default/index.html
index d6add9b..146ad54 100644
--- a/unified.test.hugo/layouts/_default/index.html
+++ b/unified.test.hugo/layouts/_default/index.html
@@ -1,368 +1,22 @@
-
-
+{{ define "head" }}
+{{ end }}
-
-
-
-
- ~a
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
~a
-
i have approximate knowledge of many things. perpetual student. (nb/ace/they)
you can probably find me around the web with the username "trwnh". it comes from my fleshform's legal name, "abdullahtarawneh"; just take the vowels out of the family name. 2014 they was so hipster. although nowadays "i" mostly just go by "a". historically i've had a really tough time with identity, so this is the best we're gonna get i guess.
-
-
-
-
-
concert/music/band stuff
-
i've used the names "obvious_humor"/"obvioushumor" for my vaguely music/band fandom stuff, and "birdsounds" for more creative stuff like my concert photography. both names are references to lyrics by Circa Survive, one of my favorite bands.
- youtube.com/@obvious_humor -- my concert videos. (also my de facto main youtube channel, but my youtube presence is really messy)
-
-
- society6.com/trwnh -- on-demand custom merch printing service for my concert photos. (i haven't uploaded all my good photos there but there are a few. ask me if you'd like to buy a print of one of my other photos, and i can upload it.)
-
-
-
-
-
gameing
-
most of my "gamer" stuff is under the name triggerofsol. the name came from boktai; in the first boktai game "boktai: the sun is in your hand", if you 100% s-rank and get all items you get "the highest title of the delegate of Sol the solar will -- Trigger of Sol". idk the boktai games are kinda quirky and left an impact on me during my formative years. vampires, norse mythology, magitek, post-apocalyptic absurdism, lotta good stuff in those games.
- i guess you can also add me on steam (triggerofsol) if you need to or want to?
-
-
-
-
-
i am consumed by a desire for learning
-
varied interests here. i went to college for biomedical engineering and computer science. i took cs for """fun""" but i suppose it ended up sorta working out, because i don't really plan to do anything bme-related in my academic or professional life.
-
particular areas of (current) interest:
-
-
the Web. not just the World Wide Web, but also the Semantic Web, Linked Data Web, Social Web, and all that jazz.
-
communication. protocols, paradigms, and so on. one of the things i've been working on recently-ish is a sort of "grand unified communications theory", where i take a look at the existing open protocols and map them onto the pure abstract paradigms of communication -- publishing, subscribing, discussing, messaging.
-
identifiers, particularly how to deal with root authority and delegation. resolving those identifiers in a decentralized and persistent way is something i wish i could find a solution to.
-
i'm learning a lot more about concepts like the actor model, message passing, object capabilities, verifiable claims, distributed systems, trust and authority, and way more.
-
...but i also can do web dev and web design and stuff like that if i really had to. i don't really have anything noteworthy to show for it though.
- github.com/trwnh -- this is where pretty much everyone is forced to collaborate due to network effects, so that's where you can find my contributions i guess
-
-
- SocialHub -- this is the forum where ActivityPub and the fediverse get discussed a lot
-
-
-
-
-
-
support me
-
look, i'm gonna level with ya. i need money to live. most of the stuff i do is what you might consider "socially useful" but also "generally unprofitable". given our capitalist society, my "value" is judged by the latter criteria rather than the former. you can skip past this section but consider maybe don't.
-
ways to support me
-
in order of most effective to least effective:
-
donate directly
-
here's how this one works: you can just give me money. i'll keep doing the stuff i do. this option is good if you already think the stuff i do is cool and worthwhile and valuable without me needing to convince you.
you can back me on liberapay.com/trwnh via bank, card, stripe or paypal. liberapay is a bit weird with how it processes payments, but you generally have an option to do "automatic renewal" or "manual renewal". you can do manual renewal and then cancel the subscription if you want to do a one-time payment.
-
you can also donate via paypal: tarawneh.abdullah@gmail.com if you prefer paypal for some reason. i'm not sure if that paypal.me link charges extra fees, so you might need to do it manually, and if so, make sure to select "friends and family" instead of "business".
-
-
hire me to do something for you
-
i can explain things and i can do websites. generally, i'm really really really good at thinking things through and analyzing them. i put stuff up on abdullahtarawneh.com last year and i kinda stalled due to a lot going on in my life and not much going on marketably. but maybe check out the following pages:
-
-
- Work -- the landing page i made that was intended to get people to hire me or contract me. not really happy with it at the moment, but still worth looking at.
-
-
- Mastodon Documentation -- in particular, this one is something i'm way more proud of. take a look y'all.
-
-
-
buy something from amazon and tell em i sent ya
-
can't say this is something i recommend doing, EXCEPT IF you were already going to buy something from amazon. the more expensive the better, since it's percentage-based. but don't go buying things using this referral link just because of me, y'hear?
my pitch is basically this: if you can't avoid amazon and you're going to buy something from them regardless, then at least use my link so that they pay me a bit of the revenue and so that it slightly reduces their profits.
-
-
-
some questions you might have
-
"yo why is this website so plain"
-
i used to have a nicer-looking one-pager on here. at some point i decided i'd rather actually update my website with actual information instead of worrying about fitting things into some grand design. and for a one-pager, using a static site generator like hugo, which i usually use for this sort of thing... well, that's overkill, isn't it? i'd rather just dump some html in a text file and call it a day. maybe a touch of css, for legibility and a lil flair.
-
this style of website has other advantages too, y'know. it's lightweight and performs well on pretty much any device. and it respects people's defaults. some people like to change their fonts or font sizes, and i don't wanna get in the way of that. it's just text, after all. you should be able to read it on your own terms.
-
in any case, the main takeaway here is that anything worth doing is also worth doing poorly. it's better to actually do the thing instead of dreaming about how to perfect the thing and ending up with nothing at all.
-
-
-
things people have said about me
-
-
- it's scary how much you know.
-
-
- you're the first person i've met that keeps a spreadsheet of their lightbulbs.
-
-
- VERY MUCH not garbage [...] a worthwhile human
-
-
- honestly, i trust your judgement more than i trust my own.
-
-
-
-
-
done here? check out some other things if you want
you can probably find me around the web with the username "trwnh". it comes from my fleshform's legal name, "abdullahtarawneh"; just take the vowels out of the family name. 2014 they was so hipster. although nowadays "i" mostly just go by "a". historically i've had a really tough time with identity, so this is the best we're gonna get i guess.
+
+
+
+
+
concert/music/band stuff
+
i've used the names "obvious_humor"/"obvioushumor" for my vaguely music/band fandom stuff, and "birdsounds" for more creative stuff like my concert photography. both names are references to lyrics by Circa Survive, one of my favorite bands.
+ youtube.com/@obvious_humor -- my concert videos. (also my de facto main youtube channel, but my youtube presence is really messy)
+
+
+ society6.com/trwnh -- on-demand custom merch printing service for my concert photos. (i haven't uploaded all my good photos there but there are a few. ask me if you'd like to buy a print of one of my other photos, and i can upload it.)
+
+
+
+
+
gameing
+
most of my "gamer" stuff is under the name triggerofsol. the name came from boktai; in the first boktai game "boktai: the sun is in your hand", if you 100% s-rank and get all items you get "the highest title of the delegate of Sol the solar will -- Trigger of Sol". idk the boktai games are kinda quirky and left an impact on me during my formative years. vampires, norse mythology, magitek, post-apocalyptic absurdism, lotta good stuff in those games.
+ i guess you can also add me on steam (triggerofsol) if you need to or want to?
+
+
+
+
+
i am consumed by a desire for learning
+
varied interests here. i went to college for biomedical engineering and computer science. i took cs for """fun""" but i suppose it ended up sorta working out, because i don't really plan to do anything bme-related in my academic or professional life.
+
particular areas of (current) interest:
+
+
the Web. not just the World Wide Web, but also the Semantic Web, Linked Data Web, Social Web, and all that jazz.
+
communication. protocols, paradigms, and so on. one of the things i've been working on recently-ish is a sort of "grand unified communications theory", where i take a look at the existing open protocols and map them onto the pure abstract paradigms of communication -- publishing, subscribing, discussing, messaging.
+
identifiers, particularly how to deal with root authority and delegation. resolving those identifiers in a decentralized and persistent way is something i wish i could find a solution to.
+
i'm learning a lot more about concepts like the actor model, message passing, object capabilities, verifiable claims, distributed systems, trust and authority, and way more.
+
...but i also can do web dev and web design and stuff like that if i really had to. i don't really have anything noteworthy to show for it though.
+ github.com/trwnh -- this is where pretty much everyone is forced to collaborate due to network effects, so that's where you can find my contributions i guess
+
+
+ SocialHub -- this is the forum where ActivityPub and the fediverse get discussed a lot
+
+
+
+
+
+
support me
+
look, i'm gonna level with ya. i need money to live. most of the stuff i do is what you might consider "socially useful" but also "generally unprofitable". given our capitalist society, my "value" is judged by the latter criteria rather than the former. you can skip past this section but consider maybe don't.
+
ways to support me
+
in order of most effective to least effective:
+
donate directly
+
here's how this one works: you can just give me money. i'll keep doing the stuff i do. this option is good if you already think the stuff i do is cool and worthwhile and valuable without me needing to convince you.
you can back me on liberapay.com/trwnh via bank, card, stripe or paypal. liberapay is a bit weird with how it processes payments, but you generally have an option to do "automatic renewal" or "manual renewal". you can do manual renewal and then cancel the subscription if you want to do a one-time payment.
+
you can also donate via paypal: tarawneh.abdullah@gmail.com if you prefer paypal for some reason. i'm not sure if that paypal.me link charges extra fees, so you might need to do it manually, and if so, make sure to select "friends and family" instead of "business".
+
+
hire me to do something for you
+
i can explain things and i can do websites. generally, i'm really really really good at thinking things through and analyzing them. i put stuff up on abdullahtarawneh.com last year and i kinda stalled due to a lot going on in my life and not much going on marketably. but maybe check out the following pages:
+
+
+ Work -- the landing page i made that was intended to get people to hire me or contract me. not really happy with it at the moment, but still worth looking at.
+
+
+ Mastodon Documentation -- in particular, this one is something i'm way more proud of. take a look y'all.
+
+
+
buy something from amazon and tell em i sent ya
+
can't say this is something i recommend doing, EXCEPT IF you were already going to buy something from amazon. the more expensive the better, since it's percentage-based. but don't go buying things using this referral link just because of me, y'hear?
my pitch is basically this: if you can't avoid amazon and you're going to buy something from them regardless, then at least use my link so that they pay me a bit of the revenue and so that it slightly reduces their profits.
+
+
+
some questions you might have
+
"yo why is this website so plain"
+
i used to have a nicer-looking one-pager on here. at some point i decided i'd rather actually update my website with actual information instead of worrying about fitting things into some grand design. and for a one-pager, using a static site generator like hugo, which i usually use for this sort of thing... well, that's overkill, isn't it? i'd rather just dump some html in a text file and call it a day. maybe a touch of css, for legibility and a lil flair.
+
this style of website has other advantages too, y'know. it's lightweight and performs well on pretty much any device. and it respects people's defaults. some people like to change their fonts or font sizes, and i don't wanna get in the way of that. it's just text, after all. you should be able to read it on your own terms.
+
in any case, the main takeaway here is that anything worth doing is also worth doing poorly. it's better to actually do the thing instead of dreaming about how to perfect the thing and ending up with nothing at all.
+
+
+
things people have said about me
+
+
+ it's scary how much you know.
+
+
+ you're the first person i've met that keeps a spreadsheet of their lightbulbs.
+
+
+ VERY MUCH not garbage [...] a worthwhile human
+
+
+ honestly, i trust your judgement more than i trust my own.
+
+
+
+
+
done here? check out some other things if you want
+
+
\ No newline at end of file
diff --git a/unified.test.hugo/layouts/partials/site-header.html b/unified.test.hugo/layouts/partials/site-header.html
index 6128663..32ecc78 100644
--- a/unified.test.hugo/layouts/partials/site-header.html
+++ b/unified.test.hugo/layouts/partials/site-header.html
@@ -1,5 +1,25 @@
-
trwnh.com is under construction! things may look weird until it's ready...
+
trwnh.com is under construction! things may look weird until it's ready...
+
+
\ No newline at end of file
diff --git a/unified.test.hugo/static/index.html b/unified.test.hugo/static/index.2024.html
similarity index 100%
rename from unified.test.hugo/static/index.html
rename to unified.test.hugo/static/index.2024.html