diff --git a/assets/accents/9s_chr.png b/assets/accents/9s_chr.png
new file mode 100644
index 0000000..410fdda
Binary files /dev/null and b/assets/accents/9s_chr.png differ
diff --git a/assets/elements.css b/assets/elements.css
index 446820a..84099ef 100644
--- a/assets/elements.css
+++ b/assets/elements.css
@@ -44,7 +44,7 @@ ul li {
margin-block: 1.5rem;
}
-div {
+section {
margin-block: 1.5em;
margin-inline-start: 2ch;
}
diff --git a/assets/matkap/me.jpg b/assets/matkap/me.jpg
deleted file mode 100644
index ae16c4c..0000000
Binary files a/assets/matkap/me.jpg and /dev/null differ
diff --git a/assets/style.css b/assets/style.css
index a788a01..b7450cf 100644
--- a/assets/style.css
+++ b/assets/style.css
@@ -44,4 +44,16 @@ body {
/* z-index: -1; */
opacity: 0.1;
line-height: 1;
+}
+
+.entity_box {
+ margin: 3rem 1ch;
+ padding-inline: 1ch;
+ padding-block: 0.1px;
+ /* border: 1ch 1rem solid var(--color-accent); */
+ border-image: url("/assets/accents/9s_chr.png");
+ border-image-slice: 12 6;
+ border-image-width: 1rem 1ch;
+ border-image-repeat: stretch;
+ border-image-outset: 1.25rem 1ch;
}
\ No newline at end of file
diff --git a/index.js b/index.js
index 81e9f1b..82ed663 100644
--- a/index.js
+++ b/index.js
@@ -35,6 +35,10 @@ app.locals.siteMap = [
link: "blurbs",
description: "what are other sites saying about abtmtr.link?"
},
+ {
+ link: "characters",
+ description: "about abtmtr.link's mascots and other such characters"
+ },
{
link: "updates",
description: "what's going on with abtmtr.link?"
@@ -130,6 +134,14 @@ app.get('/about', async (req, res) => {
});
});
+app.get('/characters', async (req, res) => {
+ const charactersJson = await fetch("https://cdn.abtmtr.link/site_content/v13/characters.json")
+ .catch(() => res.status(500).send())
+ .then((res) => res.json());
+
+ res.render('characters', { characters: charactersJson });
+});
+
app.get('/updates', async (req, res) => {
const rssXML = await fetch("https://cdn.abtmtr.link/site_content/rss.xml")
.catch(() => res.status(500).send())
diff --git a/views/art/MATKAP_ASCII.txt b/views/art/MATKAP_ASCII.txt
index 2c21ddf..37099d9 100644
--- a/views/art/MATKAP_ASCII.txt
+++ b/views/art/MATKAP_ASCII.txt
@@ -24,7 +24,7 @@
▀██¿ ═ ▄▄███▄__ ¡▄███─
▀██▄ _▄▀ ╓███░░ *▄▄▄████¡ ▐▌
└▀█▄_ ▄▄█▌ ⁿ▄▄████░∩..⌐─▀▀:░∩ █▌▌█
- ▀███▄_ _▄█▀▀└└ _▄███▀░░░█░░░█░▀█æ╧▀ ▐█
+ ▀███▄_ _▄█▀▀└ _▄███▀░░░█░░░█░▀█æ╧▀ ▐█
└▀█████▄▄▄██▀▀└ _▄▄▄██▀█.▀█º░░▀▄_▐▌ ▀█∩
┌█▀ ,²▀▀██▀█████████▀▀▀▀▀▀█▄▌ ª█▄░ '. ▀█▄▄▄═▄
▀▀ ▄▄░░▀░░██░░░░░░░░░░░░░▄█░ █: └ █
diff --git a/views/pages/about.ejs b/views/pages/about.ejs
index b5f6eea..1b8e2ea 100644
--- a/views/pages/about.ejs
+++ b/views/pages/about.ejs
@@ -7,7 +7,7 @@
who runs abtmtr.link?
MeowcaTheoRange's h-card
hey, i'm MeowcaTheoRange.
i run abtmtr.link, for the most part.
-
+
Theo Range
(MeowcaTheoRange)
(Mx.
@@ -29,7 +29,7 @@
Minnesota,
USA
-
+
<% if (cl["@attr"] != null && cl["@attr"].nowplaying) { %>
MeowcaTheoRange is currently listening to
<% } else { %>
diff --git a/views/pages/characters.ejs b/views/pages/characters.ejs
new file mode 100644
index 0000000..74c0fa2
--- /dev/null
+++ b/views/pages/characters.ejs
@@ -0,0 +1,29 @@
+
+
+ <%- include("../components/page-head.ejs") %>
+
+
+ characters
+ about abtmtr.link's mascots and other such characters
+ entity index
+ <% characters.forEach((entity) => { %>
+
+
+
+
+ <%= entity.name.toLowerCase() %> / <%= entity.pronouns.toLowerCase() %>
+ <%= entity.age %> / <%= entity.species %>
+ <%= entity.sexuality %> / <%= entity.gender %>
+ <%= entity.blurb %>
+
+ <% entity.rows.forEach(([k, v]) => { %>
+ <%= k %>
+ <%= v %>
+ <% }) %>
+
+ <% }) %>
+
+ <%- include("../components/footer.ejs") %>
+ <%- include("../components/post-main.ejs") %>
+
+
\ No newline at end of file