+
+ {% endif %}
\ No newline at end of file
diff --git a/src/_layouts/home.njk b/src/_layouts/home.njk
index 1aa5c8b..a2aa2d4 100644
--- a/src/_layouts/home.njk
+++ b/src/_layouts/home.njk
@@ -1,5 +1,5 @@
---
-layout: base.njk
+layout: base
---
diff --git a/src/_layouts/single.njk b/src/_layouts/single.njk
index fee7af8..59abaac 100644
--- a/src/_layouts/single.njk
+++ b/src/_layouts/single.njk
@@ -1,5 +1,5 @@
---
-layout: base.njk
+layout: base
---
{{ content | safe }}
diff --git a/src/about.md b/src/about.md
index 35b97a2..ce47cac 100644
--- a/src/about.md
+++ b/src/about.md
@@ -1,6 +1,6 @@
---
title: "About"
-layout: about.njk
+layout: about
lastmod: 2025-02-20T02:11:25.00-06:00
eleventyNavigation:
key: "About"
@@ -19,9 +19,7 @@ I'm also a leading member of the ogra.ph collective, a group of people intereste
## Contact me
-You can send your letters and scrolls to the email below:
-
-`hello [at] gil.ink`
+You can send your letters, scrolls, and other correspondence to `hello@gil.ink`.
## This website
diff --git a/src/assets/css/main.css b/src/assets/css/main.css
index e6bd17b..6b07f5c 100644
--- a/src/assets/css/main.css
+++ b/src/assets/css/main.css
@@ -1,144 +1,3 @@
-/*
-Themes
-*/
-:root,
-[data-selected-theme=grayscalelight] {
- --color-bg: #fff;
- --color-bg-2: #f8f8f8;
- --color-ui: #ddd;
- --color-ui-2: #888;
- --color-ui-3: #555;
- --color-tx: #111;
- --color-link: #36c;
- --color-hover: rgb(25.5, 51, 102);
- --color-active: rgb(153, 178.5, 229.5);
-}
-
-/*
-[data-selected-theme="light"] {
- --color-background: #aabf7e; //aabf7e
- --text-normal: #191b19; //191b19
- --text-invert: #fff;
- --text-subtle: #595959; //595959
- --color-primary: #344f1f; //344f1f
- --color-secondary: #60941a; //60941a
- --color-link: #309bae; //309bae
- --color-paper: #e8efd7; //e8efd7
-}
-*/
-/*
-Themed elements
-*/
-body {
- background: var(--color-bg);
-}
-
-a {
- color: var(--color-link);
- text-decoration: dotted underline;
-}
-a:hover {
- color: var(--color-hover);
- text-decoration: solid underline;
-}
-a:active {
- color: var(--color-active);
-}
-
-h1 {
- color: var(--color-primary);
-}
-
-h2,
-h3,
-h4,
-h5,
-h6 {
- color: var(--color-secondary);
-}
-
-hr {
- background-color: var(--text-normal);
- border: none;
-}
-
-.muted {
- color: var(--text-subtle);
-}
-
-.site {
- color: var(--color-tx);
-}
-
-.idcard {
- margin: auto;
- background: rgb(252.7769230769, 248.3307692308, 242.7730769231);
- background: linear-gradient(120deg, rgb(252.7769230769, 248.3307692308, 242.7730769231) 79%, #39a 79%, #39a 80%, rgb(252.7769230769, 248.3307692308, 242.7730769231) 80%, rgb(252.7769230769, 248.3307692308, 242.7730769231) 81%, #39a 81%, #594 84%, rgb(252.7769230769, 248.3307692308, 242.7730769231) 84%, rgb(252.7769230769, 248.3307692308, 242.7730769231) 85%, #594 78%);
- border: solid var(--color-bg-2) 2px;
- border-radius: 15px;
-}
-.idcard__header {
- padding: 15px;
- border-radius: inherit;
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
- background-color: #594;
- text-transform: uppercase;
- font-weight: bold;
-}
-.idcard__header h3 {
- margin-top: 0px;
- text-align: center;
- color: rgb(252.7769230769, 248.3307692308, 242.7730769231);
-}
-.idcard__picture {
- max-width: 200px;
- margin: auto;
- margin-top: 20px;
-}
-.idcard__bio {
- padding: 15px;
- width: max-content;
-}
-.idcard__bio p {
- margin-top: 5px;
-}
-.idcard__label {
- font-weight: bold;
- font-size: 85%;
- color: #36c;
-}
-
-.box {
- border-radius: 15px;
- border: dashed 1px var(--color-ui);
- background-color: var(--color-bg-2);
-}
-
-.pad {
- padding: 15px;
- padding-top: 0;
-}
-
-.gap {
- gap: 15px;
-}
-
-code,
-pre {
- border: solid var(--color-ui-2) 1px;
- border-radius: 3px;
- background-color: var(--color-ui);
- padding: 0 2px;
-}
-
-.category {
- border-radius: 15px;
- background-color: var(--color-link);
- color: var(--color-bg);
- padding: 0 5px;
-}
-
/* poppins-regular - latin_latin-ext */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
@@ -259,6 +118,165 @@ pre {
font-weight: bold;
font-style: italic;
}
+/*
+Themes
+*/
+:root,
+[data-selected-theme=grayscalelight] {
+ --color-bg: #fff;
+ --color-bg-2: #f8f8f8;
+ --color-ui: #ddd;
+ --color-ui-2: #888;
+ --color-ui-3: #555;
+ --color-tx: #111;
+ --color-link: #36c;
+ --color-hover: rgb(25.5, 51, 102);
+ --color-active: rgb(153, 178.5, 229.5);
+ --font-sans: Inter, sans-serif;
+ --font-disp: Poppins, sans-serif;
+ --font-mono: Hack, monospace;
+}
+
+/*
+[data-selected-theme="light"] {
+ --color-background: #aabf7e; //aabf7e
+ --text-normal: #191b19; //191b19
+ --text-invert: #fff;
+ --text-subtle: #595959; //595959
+ --color-primary: #344f1f; //344f1f
+ --color-secondary: #60941a; //60941a
+ --color-link: #309bae; //309bae
+ --color-paper: #e8efd7; //e8efd7
+}
+*/
+/*
+Themed elements
+*/
+body {
+ font-family: var(--font-sans);
+ background: var(--color-bg);
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-family: var(--font-disp);
+}
+
+pre, code, .monospace {
+ font-family: var(--font-mono);
+ font-size: 95%;
+}
+
+a {
+ color: var(--color-link);
+ text-decoration: dotted underline;
+}
+a:hover {
+ color: var(--color-hover);
+ text-decoration: solid underline;
+}
+a:active {
+ color: var(--color-active);
+}
+
+h1 {
+ color: var(--color-primary);
+}
+
+h2,
+h3,
+h4,
+h5,
+h6 {
+ color: var(--color-secondary);
+}
+
+hr {
+ background-color: var(--text-normal);
+ border: none;
+}
+
+.muted {
+ color: var(--text-subtle);
+}
+
+.site {
+ color: var(--color-tx);
+}
+
+.idcard {
+ margin: auto;
+ background: rgb(252.7769230769, 248.3307692308, 242.7730769231);
+ background: linear-gradient(120deg, rgb(252.7769230769, 248.3307692308, 242.7730769231) 79%, #39a 79%, #39a 80%, rgb(252.7769230769, 248.3307692308, 242.7730769231) 80%, rgb(252.7769230769, 248.3307692308, 242.7730769231) 81%, #39a 81%, #594 84%, rgb(252.7769230769, 248.3307692308, 242.7730769231) 84%, rgb(252.7769230769, 248.3307692308, 242.7730769231) 85%, #594 78%);
+ border: solid var(--color-bg-2) 2px;
+ border-radius: 15px;
+}
+.idcard__header {
+ padding: 15px;
+ border-radius: inherit;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ background-color: #594;
+ text-transform: uppercase;
+ font-weight: bold;
+}
+.idcard__header h3 {
+ margin-top: 0px;
+ text-align: center;
+ color: rgb(252.7769230769, 248.3307692308, 242.7730769231);
+}
+.idcard__picture {
+ max-width: 200px;
+ margin: auto;
+ margin-top: 20px;
+}
+.idcard__bio {
+ padding: 15px;
+ width: max-content;
+}
+.idcard__bio p {
+ margin-top: 5px;
+}
+.idcard__label {
+ font-weight: bold;
+ font-size: 85%;
+ color: #36c;
+}
+
+.box {
+ border-radius: 15px;
+ border: dashed 1px var(--color-ui);
+ background-color: var(--color-bg-2);
+}
+
+.pad {
+ padding: 15px;
+ padding-top: 0;
+}
+
+.gap {
+ gap: 15px;
+}
+
+code,
+pre {
+ border: solid var(--color-ui-2) 1px;
+ border-radius: 3px;
+ background-color: var(--color-ui);
+ padding: 0 2px;
+}
+
+.category {
+ border-radius: 15px;
+ background-color: var(--color-link);
+ color: var(--color-bg);
+ padding: 0 5px;
+}
+
.page--about {
display: flex;
flex-direction: column;
@@ -314,27 +332,6 @@ pre {
}
}
-body {
- font-family: "Inter", sans-serif;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- font-family: "Poppins", sans-serif;
-}
-
-pre, code {
- font-family: "Hack", monospace;
-}
-
-.monospace {
- font-family: "Hack", monospace;
-}
-
#skip-navigation {
position: fixed;
top: -100%;
diff --git a/src/assets/css/main.css.map b/src/assets/css/main.css.map
index 5bd0637..efac2fc 100644
--- a/src/assets/css/main.css.map
+++ b/src/assets/css/main.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../../scss/_theme.scss","../../../scss/_font.scss","../../../scss/pages/_about.scss","../../../scss/mixins/_media.scss","../../../scss/pages/_home.scss","../../../scss/main.scss"],"names":[],"mappings":"AACA;AAAA;AAAA;AAmBA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA;AAAA;AAAA;AAGA;EACE;;;AAGF;EACE;EACA;;AACA;EACE;EACA;;AAEF;EACE;;;AAIJ;EACE;;;AAEF;AAAA;AAAA;AAAA;AAAA;EAKE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EAaA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;;AACA;EACE;;AAIJ;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AC1KF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA,kFACmB;;AAGrB;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA,kFACmB;;AAGrB;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;ACrIF;EACE;EACA;;ACFE;EDAJ;IAKI;IACA,MACE;;;ACHF;EDJJ;IAeI,MACE;;;AAOJ;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;;AE3CF;EACE;;ADDE;ECAJ;IAII,MACE;;EAOF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;;ACjBN;EACE,aALU;;;AAQZ;AAAA;AAAA;AAAA;AAAA;AAAA;EAME,aAbU;;;AAgBZ;EACE,aAhBU;;;AAmBZ;EACE,aApBU;;;AAuBZ;EACE;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA","file":"main.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../../scss/_font.scss","../../../scss/_theme.scss","../../../scss/pages/_about.scss","../../../scss/mixins/_media.scss","../../../scss/pages/_home.scss","../../../scss/main.scss"],"names":[],"mappings":"AAAA;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA,kFACmB;;AAGrB;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA,kFACmB;;AAGrB;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;ACpIF;AAAA;AAAA;AAuBA;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA;AAAA;AAAA;AAGA;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;AACA;EACE;EACA;;AAEF;EACE;;;AAIJ;EACE;;;AAEF;AAAA;AAAA;AAAA;AAAA;EAKE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;EAaA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;;AACA;EACE;;AAIJ;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AChMF;EACE;EACA;;ACFE;EDAJ;IAKI;IACA,MACE;;;ACHF;EDJJ;IAeI,MACE;;;AAOJ;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;;;AE3CF;EACE;;ADDE;ECAJ;IAII,MACE;;EAOF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;;;ACtBN;EACE;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;EACA;EACA;EACA","file":"main.css"}
\ No newline at end of file
diff --git a/src/assets/favicon/apple-touch-icon.png b/src/assets/favicon/apple-touch-icon.png
new file mode 100644
index 0000000..17aaf4d
Binary files /dev/null and b/src/assets/favicon/apple-touch-icon.png differ
diff --git a/src/assets/favicon/favicon-192x192.png b/src/assets/favicon/favicon-192x192.png
new file mode 100644
index 0000000..6e53b4a
Binary files /dev/null and b/src/assets/favicon/favicon-192x192.png differ
diff --git a/src/assets/favicon/favicon-512x512.png b/src/assets/favicon/favicon-512x512.png
new file mode 100644
index 0000000..e34296d
Binary files /dev/null and b/src/assets/favicon/favicon-512x512.png differ
diff --git a/src/assets/favicon/favicon-96x96.png b/src/assets/favicon/favicon-96x96.png
new file mode 100644
index 0000000..e3cd830
Binary files /dev/null and b/src/assets/favicon/favicon-96x96.png differ
diff --git a/src/assets/favicon/favicon.ico b/src/assets/favicon/favicon.ico
new file mode 100644
index 0000000..e4f9fbb
Binary files /dev/null and b/src/assets/favicon/favicon.ico differ
diff --git a/src/assets/favicon/favicon.svg b/src/assets/favicon/favicon.svg
new file mode 100644
index 0000000..1d28d51
--- /dev/null
+++ b/src/assets/favicon/favicon.svg
@@ -0,0 +1,54 @@
+
+
+
+
diff --git a/src/assets/favicon/site.webmanifest b/src/assets/favicon/site.webmanifest
new file mode 100644
index 0000000..5e46b93
--- /dev/null
+++ b/src/assets/favicon/site.webmanifest
@@ -0,0 +1,20 @@
+{
+ "icons": [
+ {
+ "src": "/assets/favicon/favicon-192x192.png",
+ "type": "image/png",
+ "sizes": "192x192"
+ },
+ {
+ "src": "/assets/favicon/favicon-512x512.png",
+ "type": "image/png",
+ "sizes": "512x512",
+ "purpose": "maskable"
+ },
+ {
+ "src": "/assets/favicon/favicon-512x512.png",
+ "type": "image/png",
+ "sizes": "512x512"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/carry.md b/src/carry.md
index 9bb9817..17f6f6f 100644
--- a/src/carry.md
+++ b/src/carry.md
@@ -1,6 +1,6 @@
---
title: "/carry"
-layout: single.njk
+layout: single
lastmod: 2025-02-20T02:26:34.00-06:00
eleventyNavigation:
key: "/carry"
diff --git a/src/changelog.md b/src/changelog.md
index 79cd49a..b059b4a 100644
--- a/src/changelog.md
+++ b/src/changelog.md
@@ -32,7 +32,8 @@ This is a list of changes to my website, organized by date.
### Done
- Settled on YYYY/MM/slug for post permalinks
-
+- Added favicon
+- Category pages (may change this more later)
### To-do
- Get theme switcher to work
diff --git a/src/feeds.md b/src/feeds.md
index e7d615e..9a1f5ab 100644
--- a/src/feeds.md
+++ b/src/feeds.md
@@ -1,6 +1,6 @@
---
title: '/feeds'
-layout: single.njk
+layout: single
lastmod: 2025-02-20T02:26:54.00-06:00
eleventyNavigation:
key: '/feeds'
diff --git a/src/ideas.md b/src/ideas.md
index ad5bf82..59983c2 100644
--- a/src/ideas.md
+++ b/src/ideas.md
@@ -1,6 +1,6 @@
---
title: '/ideas'
-layout: single.njk
+layout: single
lastmod: 2025-02-20T02:26:54.00-06:00
eleventyNavigation:
key: '/ideas'
diff --git a/src/index.md b/src/index.md
index 673bee8..f224a71 100644
--- a/src/index.md
+++ b/src/index.md
@@ -1,5 +1,5 @@
---
-layout: home.njk
+layout: home
lastmod: 2025-04-30T01:15:00.00-05:00
eleventyNavigation:
key: 'Home'
diff --git a/src/journal/2025/free-flow-1.md b/src/journal/2025/free-flow-1.md
index 50ec463..b705e2a 100644
--- a/src/journal/2025/free-flow-1.md
+++ b/src/journal/2025/free-flow-1.md
@@ -6,6 +6,8 @@ categories:
- freeflow
tags:
- post
+elsewhere:
+ ghost: https://gilosophies.ghost.io/free-flow-1/
---
This is my first public attempt at stream of consciousness. Now I don’t _feel_ as creative of a mind as I might’ve been as a kid. Somewhere between now and adolescence I suppose I’ve become caught up in life and the world. Perhaps I still have a creative spirit, but I’ve been experiencing so much blockage with the creative process lately that I feel completely disconnected from it. It’s like when you look at an empty canvas or a blank page, and your mind goes just as blank. I get a bit paralyzed at the thought of actually creating something, unless I come prepared with an already well-formed idea. It could be just that my inner critic is taking over before I even begin.
diff --git a/src/journal/2025/free-flow-2.md b/src/journal/2025/free-flow-2.md
index b555d83..0e78789 100644
--- a/src/journal/2025/free-flow-2.md
+++ b/src/journal/2025/free-flow-2.md
@@ -6,6 +6,8 @@ categories:
- freeflow
tags:
- post
+elsewhere:
+ ghost: https://gilosophies.ghost.io/free-flow-2/
---
As the wheel of american politics turns, the more inclined I am to view the u.s. as a plastic country, a plastic culture, one that has been hollowed out. Along with our identities and our abilities to create meaning from our experiences, they've been metabolized into social control, to feed systems that funnel wealth and power back to the already wealthy and powerful. Everything we have has been becoming more and more empty, more removed from substance and truth, concealing our society's most pain-inducing contradictions. As I listen to Justin Scott (@cypher.j on TikTok) discussing the kind of moment we're living in, I feel the current state of the world highlights important conflicts in the human condition that we've been grappling with for ages, especially how we survive as humans, whose survival do we strive for, and who gets to decide.
diff --git a/src/journal/2025/free-flow-3.md b/src/journal/2025/free-flow-3.md
index f6c09f7..4c4d002 100644
--- a/src/journal/2025/free-flow-3.md
+++ b/src/journal/2025/free-flow-3.md
@@ -6,6 +6,8 @@ categories:
- freeflow
tags:
- post
+elsewhere:
+ ghost: https://gilosophies.ghost.io/free-flow-3/
---
Life sometimes feels like it’s simply tugging me along, towards some unknown and incomprehensible destiny. I get the sense that I’m just along for the ride. It’s bound to get wilder and rougher, harder to recognize for what it was. So many surprises, things I couldn’t predict. Anxiety that comes with that, but so does beauty — little things to appreciate along the way, like looking out the window on a road trip or stopping on a hike to gaze at the sky or admire plants and rocks and animals. You get small, private joys that you don’t have to share with anyone else but yourself. Secret euphoria. As crazy as life is at times, I wouldn’t trade mine for any other; I will never get to be anyone but myself, and that’s the best part. It doesn’t always make sense, and it doesn’t have to. I really felt this strongly when I was sitting in the parking lot outside my dad’s appointment with the doctor, a mundane event that feels heavy not just in light of what’s happening in the world, but also because when you’re young you don’t always picture yourself doing these things.
diff --git a/src/journal/2025/free-flow-4.md b/src/journal/2025/free-flow-4.md
index 865e88e..217d5f7 100644
--- a/src/journal/2025/free-flow-4.md
+++ b/src/journal/2025/free-flow-4.md
@@ -5,6 +5,8 @@ categories:
- freeflow
tags:
- post
+elsewhere:
+ ghost: https://gilosophies.ghost.io/free-flow-4/
---
Recently I’ve been sinking more time into developing my own website. I really like having a home on the web that is a bit more personal and unique. People talk about the web before social media, but is that dichotomy really real? The web has always been social, the internet an inherently social medium. Is all media social? The whole premise of the internet, at least in my view, is mass communication after all. Maybe the difference is like that between media generally and mass media, or more specifically mass _corporate_ media — lots of things are categorically media, but _mass_ media emphasizes size and reach. So, the internet is social media, but mass social _corporate_ media would be Facebook, Instagram, Twitter, Bluesky, TikTok, Discord, and so on.
diff --git a/src/journal/categories.njk b/src/journal/categories.njk
new file mode 100644
index 0000000..97bbe5e
--- /dev/null
+++ b/src/journal/categories.njk
@@ -0,0 +1,19 @@
+---
+layout: single
+pagination:
+ data: collections.categories
+ size: 1
+ alias: category
+permalink: "/journal/category/{{ category | slugify }}/index.html"
+---
+
+
Category: {{ category }}
+{% set posts = collections.post | filterByCategory(category) %}
+
+ {% for post in posts | reverse %}
+