diff --git a/.eleventyignore b/.eleventyignore
new file mode 100644
index 0000000..b43bf86
--- /dev/null
+++ b/.eleventyignore
@@ -0,0 +1 @@
+README.md
diff --git a/.gitignore b/.gitignore
index 06111c7..2abd79e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,19 +1,14 @@
# sourced from:
-# https://raw.githubusercontent.com/github/gitignore/main/community/golang/hugo.gitignore
+# https://github.com/11ty/eleventy-base-blog/blob/main/.gitignore
-# generated files by hugo
-/public/
-/resources/_gen/
-/assets/jsconfig.json
-hugo_stats.json
+# ignore installed npm modules
+node_modules/
-# executable may be added to repository
-hugo.exe
-hugo.darwin
-hugo.linux
+# ignore eleventy output when doing manual tests
+_site/
-# temporary lock file while building
-/.hugo_build.lock
+# ignore test files
+.cache
# don't commit secrets
upload.conf
diff --git a/.hugo_build.lock b/.hugo_build.lock
deleted file mode 100644
index e69de29..0000000
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..7acb307
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,5 @@
+# Ignore artifacts:
+build
+coverage
+_site
+node_modules
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..7faf301
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,17 @@
+{
+ "plugins": ["prettier-plugin-jinja-template"],
+ "overrides": [
+ {
+ "files": ["*.njk"],
+ "options": {
+ "parser": "jinja-template"
+ }
+ }
+ ],
+ "useTabs": false,
+ "singleQuote": false,
+ "semi": true,
+ "endOfLine": "lf",
+ "arrowParens": "always",
+ "printWidth": 100
+}
diff --git a/static/.well-known/security.txt b/.well-known/security.txt
similarity index 78%
rename from static/.well-known/security.txt
rename to .well-known/security.txt
index 8190654..b127c4f 100644
--- a/static/.well-known/security.txt
+++ b/.well-known/security.txt
@@ -1,4 +1,4 @@
Contact: mailto:security@tacowolf.net
-Expires: 2025-04-20T20:20:00.000Z
+Expires: 2030-04-20T20:20:00.000Z
Preferred-Languages: en, es
Canonical: https://mestizo.monster/.well-known/security.txt
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..efb9808
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,24 @@
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+For more information, please refer to
diff --git a/LICENSE.md b/LICENSE.md
deleted file mode 100644
index 599460a..0000000
--- a/LICENSE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2025 Daniel Alejandro Gallegos
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..4dda451
--- /dev/null
+++ b/README.md
@@ -0,0 +1,7 @@
+# mestizo.monster
+
+## license
+
+the code to build the website is licensed under [The Unlicense](LICENSE).
+
+the actual content of the website (each of the pages being rendered) are licensed under [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/).
diff --git a/_includes/_footer.njk b/_includes/_footer.njk
new file mode 100644
index 0000000..7bd963d
--- /dev/null
+++ b/_includes/_footer.njk
@@ -0,0 +1,59 @@
+
diff --git a/_includes/_header.njk b/_includes/_header.njk
new file mode 100644
index 0000000..cbbb1d3
--- /dev/null
+++ b/_includes/_header.njk
@@ -0,0 +1,17 @@
+
+
+
+
+ mestizo.monster
+
+
+
diff --git a/_includes/_og.njk b/_includes/_og.njk
new file mode 100644
index 0000000..d9699ed
--- /dev/null
+++ b/_includes/_og.njk
@@ -0,0 +1,28 @@
+{% if tags == "post" %}
+
+
+
+
+ {% for tag in keywords %}
+
+ {% endfor %}
+
+
+
+
+
+{% else %}
+
+
+
+
+
+
+
+{% endif %}
diff --git a/_includes/base.njk b/_includes/base.njk
new file mode 100644
index 0000000..bfb8c1a
--- /dev/null
+++ b/_includes/base.njk
@@ -0,0 +1,15 @@
+
+
+
+
+
+ {% include "_og.njk" %}
+ {{ title }} - mestizo.monster
+
+
+
+ {% include "_header.njk" %}
+ {{ content | safe }}
+ {% include "_footer.njk" %}
+
+
diff --git a/_includes/main.njk b/_includes/main.njk
new file mode 100644
index 0000000..3aefecd
--- /dev/null
+++ b/_includes/main.njk
@@ -0,0 +1,11 @@
+---
+layout: base.njk
+---
+
+{% if title != "home" %}
+
+{% endif %}
+
+{{ content | safe }}
diff --git a/_includes/post-list.njk b/_includes/post-list.njk
new file mode 100644
index 0000000..751e507
--- /dev/null
+++ b/_includes/post-list.njk
@@ -0,0 +1,20 @@
+---
+layout: base.njk
+---
+
+
+
+
+ {{ content | safe }}
+
+
diff --git a/_includes/post.njk b/_includes/post.njk
new file mode 100644
index 0000000..0f8b733
--- /dev/null
+++ b/_includes/post.njk
@@ -0,0 +1,45 @@
+---
+layout: base.njk
+---
+
+{% set previousPost = collections.post | getPreviousCollectionItem %}
+{% set nextPost = collections.post | getNextCollectionItem %}
+
+
+
+
+
+
+ {{ title }}
+ {{ description }}
+
+
+
+
+
+
+ previously... {% if previousPost %}
+ {{ previousPost.data.title }}
+ {% else %}
+ ...not much.
+ {% endif %}
+
+
+ ...up next {% if nextPost %}
+ {{ nextPost.data.title }}
+ {% else %}
+ ...who knows?
+ {% endif %}
+
+
+
+
+
diff --git a/about/index.md b/about/index.md
new file mode 100644
index 0000000..444bb5c
--- /dev/null
+++ b/about/index.md
@@ -0,0 +1,38 @@
+---
+title: "about"
+layout: main.njk
+description: "but who is taco? and how much does it weigh?"
+---
+
+# {{ title }}
+
+
+
+
+
+**Daniel A. Gallegos**, also known as **"taco",** is a [full-stack software developer](https://en.wikipedia.org/wiki/Solution_stack) and [site reliability engineer](https://en.wikipedia.org/wiki/Site_reliability_engineering) who works with businesses, governments, [educators](https://web.archive.org/web/20230131144232/https://eberly.wvu.edu/news-events/eberly-news/2021/04/12/eberly-college-students-lead-gender-inclusivity-anti-racism-training-at-wvu), [non-profits](https://carrynaloxone.org/), and [startups](https://web.archive.org/web/20160901215818/https://devacademy.la/) to create digital solutions for your real-world problems, ranging from developing government enterprise applications 🖥️, to creating graphic assets for professional digital presence 🎨, to administering servers for harm reduction coalitions 🛠️.
+
+after spending over 15 years working with a variety of frontends, backends, deadends, software, hardware, various operating systems, and more, daniel is more than capable of handling whatever software or hardware problem you need solved.
+
+Daniel has contributed to projects of many shapes and sizes around the world, including developing enterprise software applications for the Peruvian government 🇵🇪, creating on-brand graphic assets for multiple offices at West Virginia University 🎓, redesigning an entire technical institute’s website 🧑🎨, working as a system administrator for nonprofits with diverse needs 🤓, and managing hundreds of linux servers in the cloud 🐧. in addition to his extensive software development and system operations experience, Daniel is a skilled technical writer, copywriter, graphic designer, and definitely doesn’t feel weird writing about himself in the third person. he’s a pro! 😉
+
+Daniel holds a Bachelors in Multidisciplinary Studies (BMdS) from [West Virginia University](https://web.archive.org/web/20230728010055/https://lists.wvu.edu/graduation?county=&letter=--&name=&page=5&state=&term=fall&year=2021), which includes areas of study such as:
+
+- 💻 computer science
+- 🇺🇸 english
+- 🇪🇸 spanish
+- 🇪🇨🇨🇴🇻🇪 latin american studies
+- 🏳️🌈 lgbtq+ studies
+- and other classes he took and just enjoyed, tbh
+
+he currently works as a [site reliability engineer](https://en.wikipedia.org/wiki/Site_reliability_engineering) for some big healthcare corporation and as a [webmaster](https://en.wikipedia.org/wiki/Webmaster) for various nonprofit organizations. in his free time, Daniel likes tinkering with linux server administration and self-hosting technologies to better his life and the lives of those around him. as it is with most folks, Daniel’s opinions are his own and do not represent the views of his employer(s).
+
+# colophon
+
+`mestizo.monster` is built with:
+
+- [Markdown](https://commonmark.org/)
+- [Eleventy](https://github.com/11ty/eleventy/)
+- [Martian Grotesk](https://github.com/evilmartians/grotesk) - released under the [Open Font License (OFL v1.1)](https://openfontlicense.org/)
+- [VT323](https://github.com/phoikoi/VT323) - released under the [Open Font License (OFL v1.1)](https://openfontlicense.org/)
+- and support from readers like you. thank you!
diff --git a/archetypes/default.md b/archetypes/default.md
deleted file mode 100644
index c6f3fce..0000000
--- a/archetypes/default.md
+++ /dev/null
@@ -1,5 +0,0 @@
-+++
-title = '{{ replace .File.ContentBaseName "-" " " | title }}'
-date = {{ .Date }}
-draft = true
-+++
diff --git a/assets/css/colors.css b/assets/css/colors.css
new file mode 100644
index 0000000..6758acf
--- /dev/null
+++ b/assets/css/colors.css
@@ -0,0 +1,97 @@
+:root {
+ --color-green: #99cc66;
+ --color-dark-green: #2d3d1e;
+ --color-light-orange: #ff9900;
+ --color-orange: #cc6600;
+ --color-brown: #663300;
+ --color-dark-brown: #281400;
+ --color-purple: #9966cc;
+ --color-dark-purple: #330033;
+ --color-gray: #fefefe;
+ --color-black: #000000;
+}
+
+blockquote {
+ background-color: rgb(0 0 0 / 10%);
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ color: var(--color-brown);
+}
+
+body {
+ background-color: var(--color-green);
+}
+
+main {
+ background-color: var(--color-gray);
+}
+
+nav {
+ background-color: var(--color-gray);
+ color: var(--color-brown);
+}
+
+footer {
+ p {
+ font-size: 1.1em;
+ color: var(--color-dark-purple);
+ }
+}
+
+a {
+ color: var(--color-orange);
+}
+
+a:visited {
+ color: var(--color-brown);
+}
+
+@media (prefers-color-scheme: dark) {
+ body {
+ background-color: var(--color-dark-green);
+ color: var(--color-gray);
+ }
+
+ main {
+ background-color: var(--color-dark-brown);
+ }
+
+ nav {
+ background-color: var(--color-dark-brown);
+ color: var(--color-gray);
+ }
+
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6 {
+ color: var(--color-light-orange);
+ }
+
+ blockquote {
+ background-color: rgb(255 255 255 / 10%);
+ }
+
+ a {
+ color: var(--color-light-orange);
+ }
+
+ a:visited {
+ color: var(--color-orange);
+ }
+
+ footer {
+ p {
+ font-size: 1.1em;
+ color: var(--color-gray);
+ }
+ }
+}
diff --git a/assets/css/fonts.css b/assets/css/fonts.css
new file mode 100644
index 0000000..e79e1e8
--- /dev/null
+++ b/assets/css/fonts.css
@@ -0,0 +1,74 @@
+@font-face {
+ font-family: "VT323";
+ font-display: swap;
+ src: url("/fonts/VT323.woff2") format("woff2");
+}
+
+@font-face {
+ font-family: "Martian Grotesk Standard Light";
+ font-display: swap;
+ src: url("/fonts/MartianGrotesk-StdLt.woff2") format("woff2");
+ font-weight: 300;
+ font-stretch: 100%;
+}
+
+@font-face {
+ font-family: "Martian Grotesk Standard Medium";
+ font-display: swap;
+ src: url("/fonts/MartianGrotesk-StdMd.woff2") format("woff2");
+ font-weight: 500;
+ font-stretch: 100%;
+}
+
+@font-face {
+ font-family: "Martian Mono Standard Regular";
+ font-display: swap;
+ src: url("/fonts/MartianMono-StdRg.woff2") format("woff2");
+ font-weight: 400;
+ font-stretch: 100%;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-family: "VT323", monospace;
+ font-weight: 400;
+ font-style: normal;
+}
+
+h1 {
+ font-size: 2.75em;
+}
+
+h2 {
+ font-size: 2.5em;
+}
+
+h3 {
+ font-size: 2.25em;
+}
+
+h4 {
+ font-size: 2em;
+}
+
+* {
+ font-family: "Martian Grotesk Standard Light", sans-serif;
+}
+
+a,
+strong {
+ font-family: "Martian Grotesk Standard Medium", sans-serif;
+}
+
+pre,
+code {
+ font-family: "Martian Mono Standard Regular", monospace;
+}
+
+em {
+ font-family: inherit;
+}
diff --git a/assets/css/layout.css b/assets/css/layout.css
new file mode 100644
index 0000000..95f7379
--- /dev/null
+++ b/assets/css/layout.css
@@ -0,0 +1,208 @@
+body {
+ display: flex;
+ flex-direction: column;
+ margin: 0 auto;
+ padding-top: 1em;
+}
+
+main {
+ margin-top: 1em;
+ padding: 1em;
+ width: 100%;
+ border-radius: 0.42em;
+}
+
+header {
+ width: 100%;
+ display: flex;
+ justify-content: start;
+ align-content: center;
+ a {
+ width: 15%;
+ }
+ nav {
+ border-radius: 0.42em;
+ width: 100%;
+ display: flex;
+ padding: 0 1em;
+ h1 {
+ align-content: center;
+ }
+ ul {
+ align-content: center;
+ padding-left: 0;
+ li {
+ font-size: 1.5em;
+ padding: 0.5em 0 0.5em 0.5em;
+ list-style: none;
+ display: inline-block;
+ a {
+ text-decoration: none;
+ }
+ }
+ }
+ }
+}
+
+main {
+ figure {
+ img {
+ margin: 0 auto;
+ width: 420px;
+ border-radius: 0.42em;
+ }
+ figcaption {
+ text-align: center;
+ font-style: italic;
+ }
+ margin: 2em auto;
+ }
+}
+
+article {
+ figure {
+ img {
+ width: 96%;
+ }
+ }
+}
+
+section {
+ nav {
+ margin-top: 1em;
+ padding: 1em;
+ border-radius: 0.42em;
+ }
+}
+
+article {
+ padding: 0.5em;
+ hgroup {
+ ul {
+ list-style: none;
+ padding: 0;
+ text-align: justify;
+ }
+ }
+ nav {
+ ol {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+ display: flex;
+ justify-content: space-between;
+ li:first-of-type {
+ text-align: left;
+ }
+ li:last-of-type {
+ text-align: right;
+ }
+ }
+ }
+}
+
+blockquote {
+ margin: 1em;
+ padding: 1em;
+ font-style: italic;
+ border-radius: 0.42em;
+}
+
+p {
+ padding-top: 1em;
+ padding-bottom: 1em;
+}
+
+footer {
+ padding-top: 1em;
+ font-size: 0.75em;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ p {
+ padding: 0.5em;
+ }
+}
+
+@media only screen and (max-width: 576px) {
+ main {
+ figure {
+ img {
+ width: 69vw;
+ }
+ }
+ }
+ body {
+ width: 95%;
+ }
+ header {
+ justify-content: space-between;
+ nav {
+ padding: 0;
+ margin: 0;
+ h1 {
+ display: none;
+ padding: 0;
+ margin: 0;
+ }
+ ul {
+ padding-right: 1em;
+ }
+ display: flex;
+ width: auto;
+ justify-content: center;
+ }
+ }
+}
+
+@media only screen and (min-width: 577px) and (max-width: 768px) {
+ body {
+ width: 80%;
+ nav {
+ justify-content: space-between;
+ ul {
+ li {
+ font-size: 1em;
+ }
+ }
+ }
+ }
+}
+
+@media only screen and (min-width: 769px) and (max-width: 1024px) {
+ body {
+ width: 666px;
+ nav {
+ justify-content: space-between;
+ ul {
+ li {
+ font-size: 1.2em;
+ }
+ }
+ }
+ }
+}
+
+@media only screen and (min-width: 1025px) and (max-width: 1440px) {
+ body {
+ width: 666px;
+ nav {
+ justify-content: space-between;
+ ul {
+ li {
+ font-size: 1.3em;
+ }
+ }
+ }
+ }
+}
+
+@media only screen and (min-width: 1441px) {
+ body {
+ width: 666px;
+ nav {
+ justify-content: space-between;
+ }
+ }
+}
diff --git a/assets/css/main.css b/assets/css/main.css
new file mode 100644
index 0000000..039af0b
--- /dev/null
+++ b/assets/css/main.css
@@ -0,0 +1,4 @@
+@import "reset.css";
+@import "layout.css";
+@import "fonts.css";
+@import "colors.css";
diff --git a/assets/css/reset.css b/assets/css/reset.css
new file mode 100644
index 0000000..359e9a0
--- /dev/null
+++ b/assets/css/reset.css
@@ -0,0 +1,65 @@
+/* stolen from https://www.joshwcomeau.com/css/custom-css-reset/ */
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+*:not(dialog) {
+ margin: 0;
+}
+
+@media (prefers-reduced-motion: no-preference) {
+ html {
+ interpolate-size: allow-keywords;
+ }
+}
+
+body {
+ line-height: 1.5;
+ -webkit-font-smoothing: antialiased;
+}
+
+img,
+picture,
+video,
+canvas,
+svg {
+ display: block;
+ max-width: 100%;
+}
+
+input,
+button,
+textarea,
+select {
+ font: inherit;
+}
+
+p,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ overflow-wrap: break-word;
+}
+
+p {
+ text-wrap: pretty;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ text-wrap: balance;
+}
+
+#root,
+#__next {
+ isolation: isolate;
+}
diff --git a/assets/favicon.ico b/assets/favicon.ico
new file mode 100644
index 0000000..c3552a8
Binary files /dev/null and b/assets/favicon.ico differ
diff --git a/assets/fonts/MartianGrotesk-StdBd.woff2 b/assets/fonts/MartianGrotesk-StdBd.woff2
new file mode 100644
index 0000000..47eb5e4
Binary files /dev/null and b/assets/fonts/MartianGrotesk-StdBd.woff2 differ
diff --git a/assets/fonts/MartianGrotesk-StdLt.woff2 b/assets/fonts/MartianGrotesk-StdLt.woff2
new file mode 100644
index 0000000..03359b0
Binary files /dev/null and b/assets/fonts/MartianGrotesk-StdLt.woff2 differ
diff --git a/assets/fonts/MartianGrotesk-StdMd.woff2 b/assets/fonts/MartianGrotesk-StdMd.woff2
new file mode 100644
index 0000000..0dfcde2
Binary files /dev/null and b/assets/fonts/MartianGrotesk-StdMd.woff2 differ
diff --git a/assets/fonts/MartianMono-StdRg.woff2 b/assets/fonts/MartianMono-StdRg.woff2
new file mode 100644
index 0000000..217e815
Binary files /dev/null and b/assets/fonts/MartianMono-StdRg.woff2 differ
diff --git a/assets/fonts/VT323.woff2 b/assets/fonts/VT323.woff2
new file mode 100644
index 0000000..a4556be
Binary files /dev/null and b/assets/fonts/VT323.woff2 differ
diff --git a/assets/img/taco.svg b/assets/img/taco.svg
new file mode 100644
index 0000000..78402af
--- /dev/null
+++ b/assets/img/taco.svg
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/img/taco_irl.jpg b/assets/img/taco_irl.jpg
new file mode 100644
index 0000000..589429f
Binary files /dev/null and b/assets/img/taco_irl.jpg differ
diff --git a/content/_index.md b/content/_index.md
deleted file mode 100644
index 8037656..0000000
--- a/content/_index.md
+++ /dev/null
@@ -1,21 +0,0 @@
-+++
-title = 'home'
-draft = false
-menus = 'main'
-weight = 10
-description = 'words by taco, the mestizo monster.'
-+++
-
-{{< figure src="taco.svg" alt="a taco." attr="artwork by [caius nocturne](https://nocturne.works/)" >}}
-
-the [wedsite](https://web.archive.org/web/20240708121013/http://hrwiki.org/wiki/Homestar_Runner%27s_Website) of
-
-# daniel a. gallegos
-
-> pronouns: **he/him** or **they/them**
->
-> also known as: taco, takouhai
-
-* 🔮 code alchemist.
-* ⭐ digital storyteller.
-* 💚 mestizo monster.
diff --git a/content/about/_index.md b/content/about/_index.md
deleted file mode 100644
index 1caca34..0000000
--- a/content/about/_index.md
+++ /dev/null
@@ -1,26 +0,0 @@
-+++
-title = 'about'
-draft = false
-menus = 'main'
-images = ['about/taco.png']
-description = 'but who is taco? and how much does it weigh?'
-+++
-
-{{< figure src="taco.png" alt="a smiling cartoon taco with little legs" attr="artwork by [heyheymomo](https://www.heyheymomo.com/)">}}
-
-**Daniel A. Gallegos**, also known as **“taco”,** is a [Full-Stack Software Developer](https://en.wikipedia.org/wiki/Solution_stack) and [Site Reliability Engineer](https://en.wikipedia.org/wiki/Site_reliability_engineering) who works with businesses, governments, [educators](https://web.archive.org/web/20230131144232/https://eberly.wvu.edu/news-events/eberly-news/2021/04/12/eberly-college-students-lead-gender-inclusivity-anti-racism-training-at-wvu), [non-profits](https://carrynaloxone.org/), and [startups](https://web.archive.org/web/20160901215818/https://devacademy.la/) to create digital solutions for your real-world problems, ranging from 🖥️ developing government enterprise applications, to 🎨 creating graphic assets for professional digital portfolios, to 🛠️ administering servers for a harm reduction coalition.
-
-After spending a decade working with a variety of frontends, backends, deadends, software, hardware, various operating systems and more, Daniel is more than capable of handling whatever software or hardware problem you need solved.
-
-Daniel has contributed to projects around the world, including developing enterprise software applications for the 🇵🇪 Peruvian government, creating on-brand graphic assets for multiple offices at 🎓 West Virginia University, redesigning an entire technical institute’s website, working as a HIPAA-compliant system administrator for a 🧑⚕️ harm reduction coalition and managing hundreds of 🐧 Linux servers in the cloud daily. In addition to his extensive software development and system operations experience, Daniel is a skilled technical writer, copywriter, graphic designer, and definitely doesn’t feel weird writing about himself in the third person. He’s a pro! 😉
-
-Daniel holds a Bachelors in Multidisciplinary Studies (BMdS) from [West Virginia University](https://web.archive.org/web/20230728010055/https://lists.wvu.edu/graduation?county=&letter=--&name=&page=5&state=&term=fall&year=2021), which includes areas of study such as:
-
-* 💻 Computer Science
-* 🇺🇸 English
-* 🇪🇸 Spanish
-* 🇪🇨🇨🇴🇻🇪 Latin American Studies
-* 🏳️🌈 LGBTQ+ Studies
-* and other classes he took and just enjoyed, tbh
-
-He currently works as a [Site Reliability Engineer](https://en.wikipedia.org/wiki/Site_reliability_engineering) for some big healthcare corporation and as a [Webmaster](https://en.wikipedia.org/wiki/Webmaster) for a harm reduction coalition. In his free time, Daniel likes tinkering with Linux server administration and self-hosting technologies to better his life and the lives of those around him. As it is with most folks, Daniel’s opinions are his own and do not represent the views of his employer(s).
diff --git a/content/about/taco.png b/content/about/taco.png
deleted file mode 100644
index 5671e2a..0000000
Binary files a/content/about/taco.png and /dev/null differ
diff --git a/content/posts/_index.md b/content/posts/_index.md
deleted file mode 100644
index a939d84..0000000
--- a/content/posts/_index.md
+++ /dev/null
@@ -1,9 +0,0 @@
-+++
-title = 'posts'
-draft = false
-menus = 'main'
-layout = 'posts'
-type = 'list'
-+++
-
-posts i done gone and wrote
diff --git a/eleventy.config.js b/eleventy.config.js
new file mode 100644
index 0000000..ea8f79c
--- /dev/null
+++ b/eleventy.config.js
@@ -0,0 +1,47 @@
+import markdownIt from "markdown-it";
+import footnote_plugin from "markdown-it-footnote";
+import readingTime from "eleventy-plugin-reading-time";
+
+/** @param {import("@11ty/eleventy").UserConfig} eleventyConfig */
+export default async function (eleventyConfig) {
+ eleventyConfig.addPassthroughCopy({ assets: "/" });
+ eleventyConfig.addPassthroughCopy(".well-known");
+ eleventyConfig.addPassthroughCopy("**/*.jpg");
+ eleventyConfig.addPassthroughCopy("**/*.png");
+
+ eleventyConfig.addCollection("redirects", function (collectionApi) {
+ let redirects = [];
+ // get each post in our posts folder
+ const nodes = collectionApi.getFilteredByGlob("**/*.md");
+ // iterate over all the nodes
+ nodes.forEach((node) =>
+ // for each alias
+ (node.data.aliases || []).forEach((alias) =>
+ // push target url and the old url
+ redirects.push([
+ node.data.page.url,
+ node.data.page.url.replace(/\/[^\/]*?(\..+)?$/, `/${alias}$1`),
+ ]),
+ ),
+ );
+ return redirects;
+ });
+
+ function sortByDate(values) {
+ // inspired by
+ let vals = [...values];
+ return vals.sort((a, b) => {
+ return a.data.date < b.data.date ? 1 : -1;
+ });
+ }
+ eleventyConfig.addFilter("sortByDate", sortByDate);
+
+ let markdownItOptions = {
+ html: true,
+ breaks: true,
+ linkify: true,
+ };
+ eleventyConfig.setLibrary("md", markdownIt(markdownItOptions));
+ eleventyConfig.amendLibrary("md", (mdLib) => mdLib.use(footnote_plugin));
+ eleventyConfig.addPlugin(readingTime);
+}
diff --git a/themes/corazon/static/favicon.ico b/favicon.ico
similarity index 100%
rename from themes/corazon/static/favicon.ico
rename to favicon.ico
diff --git a/hugo.toml b/hugo.toml
deleted file mode 100644
index ce69bc3..0000000
--- a/hugo.toml
+++ /dev/null
@@ -1,9 +0,0 @@
-baseURL = 'https://mestizo.monster'
-languageCode = 'en-us'
-title = '🌎 mestizo dot monster 👾'
-theme = 'corazon'
-enableGitInfo = true
-
-[frontmatter]
-date = ["date", "publishDate", "lastmod"]
-lastmod = ["lastmod", ":git", "date", "publishDate"]
diff --git a/index.md b/index.md
new file mode 100644
index 0000000..2a82448
--- /dev/null
+++ b/index.md
@@ -0,0 +1,23 @@
+---
+title: "home"
+layout: main.njk
+description: "words by taco, the mestizo monster."
+---
+
+the [wedsite](https://homestar.wiki/wiki/Homestar_Runner%27s_Website) of
+
+# daniel a. gallegos
+
+> **pronouns:** **`he/him`** or **`they/them`**
+> **also known as:** `taco`, `takouhai`
+
+
+
+ artwork by heyheymomo
+
+
+- 🔮 code alchemist.
+- ⭐ digital storyteller.
+- 💚 mestizo monster.
+
+check out [posts i've written](/posts) or [who the heck i am](/about).
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..e137e4f
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,1568 @@
+{
+ "name": "mestizo.monster",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "mestizo.monster",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "@11ty/eleventy": "^3.1.5",
+ "eleventy-plugin-reading-time": "^0.0.1",
+ "markdown-it": "^14.1.1",
+ "markdown-it-footnote": "^4.0.0"
+ },
+ "devDependencies": {
+ "prettier": "^3.8.1",
+ "prettier-plugin-jinja-template": "^2.1.0"
+ }
+ },
+ "node_modules/@11ty/dependency-tree": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@11ty/dependency-tree/-/dependency-tree-4.0.2.tgz",
+ "integrity": "sha512-RTF6VTZHatYf7fSZBUN3RKwiUeJh5dhWV61gDPrHhQF2/gzruAkYz8yXuvGLx3w3ZBKreGrR+MfYpSVkdbdbLA==",
+ "license": "MIT",
+ "dependencies": {
+ "@11ty/eleventy-utils": "^2.0.1"
+ }
+ },
+ "node_modules/@11ty/dependency-tree-esm": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@11ty/dependency-tree-esm/-/dependency-tree-esm-2.0.4.tgz",
+ "integrity": "sha512-MYKC0Ac77ILr1HnRJalzKDlb9Z8To3kXQCltx299pUXXUFtJ1RIONtULlknknqW8cLe19DLVgmxVCtjEFm7h0A==",
+ "license": "MIT",
+ "dependencies": {
+ "@11ty/eleventy-utils": "^2.0.7",
+ "acorn": "^8.15.0",
+ "dependency-graph": "^1.0.0",
+ "normalize-path": "^3.0.0"
+ }
+ },
+ "node_modules/@11ty/eleventy": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/@11ty/eleventy/-/eleventy-3.1.5.tgz",
+ "integrity": "sha512-hZ0g6MwZyRxCqXsPm82gIM304LraKbUz3ZmezOSjsqxttZG6cHTib3Qq8QkESJoKwnr+yX1eyfOkPC5/mEgZnQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@11ty/dependency-tree": "^4.0.2",
+ "@11ty/dependency-tree-esm": "^2.0.4",
+ "@11ty/eleventy-dev-server": "^2.0.8",
+ "@11ty/eleventy-plugin-bundle": "^3.0.7",
+ "@11ty/eleventy-utils": "^2.0.7",
+ "@11ty/lodash-custom": "^4.17.21",
+ "@11ty/posthtml-urls": "^1.0.2",
+ "@11ty/recursive-copy": "^4.0.4",
+ "@sindresorhus/slugify": "^2.2.1",
+ "bcp-47-normalize": "^2.3.0",
+ "chokidar": "^3.6.0",
+ "debug": "^4.4.3",
+ "dependency-graph": "^1.0.0",
+ "entities": "^6.0.1",
+ "filesize": "^10.1.6",
+ "gray-matter": "^4.0.3",
+ "iso-639-1": "^3.1.5",
+ "js-yaml": "^4.1.1",
+ "kleur": "^4.1.5",
+ "liquidjs": "^10.25.0",
+ "luxon": "^3.7.2",
+ "markdown-it": "^14.1.1",
+ "minimist": "^1.2.8",
+ "moo": "0.5.2",
+ "node-retrieve-globals": "^6.0.1",
+ "nunjucks": "^3.2.4",
+ "picomatch": "^4.0.3",
+ "please-upgrade-node": "^3.2.0",
+ "posthtml": "^0.16.7",
+ "posthtml-match-helper": "^2.0.3",
+ "semver": "^7.7.4",
+ "slugify": "^1.6.8",
+ "tinyglobby": "^0.2.15"
+ },
+ "bin": {
+ "eleventy": "cmd.cjs"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
+ }
+ },
+ "node_modules/@11ty/eleventy-dev-server": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@11ty/eleventy-dev-server/-/eleventy-dev-server-2.0.8.tgz",
+ "integrity": "sha512-15oC5M1DQlCaOMUq4limKRYmWiGecDaGwryr7fTE/oM9Ix8siqMvWi+I8VjsfrGr+iViDvWcH/TVI6D12d93mA==",
+ "license": "MIT",
+ "dependencies": {
+ "@11ty/eleventy-utils": "^2.0.1",
+ "chokidar": "^3.6.0",
+ "debug": "^4.4.0",
+ "finalhandler": "^1.3.1",
+ "mime": "^3.0.0",
+ "minimist": "^1.2.8",
+ "morphdom": "^2.7.4",
+ "please-upgrade-node": "^3.2.0",
+ "send": "^1.1.0",
+ "ssri": "^11.0.0",
+ "urlpattern-polyfill": "^10.0.0",
+ "ws": "^8.18.1"
+ },
+ "bin": {
+ "eleventy-dev-server": "cmd.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
+ }
+ },
+ "node_modules/@11ty/eleventy-plugin-bundle": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-bundle/-/eleventy-plugin-bundle-3.0.7.tgz",
+ "integrity": "sha512-QK1tRFBhQdZASnYU8GMzpTdsMMFLVAkuU0gVVILqNyp09xJJZb81kAS3AFrNrwBCsgLxTdWHJ8N64+OTTsoKkA==",
+ "license": "MIT",
+ "dependencies": {
+ "@11ty/eleventy-utils": "^2.0.2",
+ "debug": "^4.4.0",
+ "posthtml-match-helper": "^2.0.3"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
+ }
+ },
+ "node_modules/@11ty/eleventy-utils": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@11ty/eleventy-utils/-/eleventy-utils-2.0.7.tgz",
+ "integrity": "sha512-6QE+duqSQ0GY9rENXYb4iPR4AYGdrFpqnmi59tFp9VrleOl0QSh8VlBr2yd6dlhkdtj7904poZW5PvGr9cMiJQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
+ }
+ },
+ "node_modules/@11ty/eleventy/node_modules/entities": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
+ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/@11ty/lodash-custom": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/@11ty/lodash-custom/-/lodash-custom-4.17.21.tgz",
+ "integrity": "sha512-Mqt6im1xpb1Ykn3nbcCovWXK3ggywRJa+IXIdoz4wIIK+cvozADH63lexcuPpGS/gJ6/m2JxyyXDyupkMr5DHw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/11ty"
+ }
+ },
+ "node_modules/@11ty/posthtml-urls": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@11ty/posthtml-urls/-/posthtml-urls-1.0.3.tgz",
+ "integrity": "sha512-1YvhnkaNlFnnJic1rBMWmTC2adbuy+JQiBfl1Hecr1Wjjik1pQZmGyk/eC9zKX/FQv52s2Nht1Gi/UwhYqrBeg==",
+ "license": "MIT",
+ "dependencies": {
+ "evaluate-value": "^2.0.0",
+ "http-equiv-refresh": "^2.0.1",
+ "list-to-array": "^1.1.0",
+ "parse-srcset": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@11ty/recursive-copy": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/@11ty/recursive-copy/-/recursive-copy-4.0.4.tgz",
+ "integrity": "sha512-oI7m8pa7/IAU/3lqRU9vjBbs20iKFo7x+1K9kT3aVira6scc1X9MjBdgLCHzLJeJ7iB6wydioA+kr9/qPnvmlQ==",
+ "license": "ISC",
+ "dependencies": {
+ "errno": "^1.0.0",
+ "junk": "^3.1.0",
+ "minimatch": "^3.1.5",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@sindresorhus/slugify": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz",
+ "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==",
+ "license": "MIT",
+ "dependencies": {
+ "@sindresorhus/transliterate": "^1.0.0",
+ "escape-string-regexp": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@sindresorhus/transliterate": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.6.0.tgz",
+ "integrity": "sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==",
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/a-sync-waterfall": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz",
+ "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==",
+ "license": "MIT"
+ },
+ "node_modules/acorn": {
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz",
+ "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "8.3.5",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz",
+ "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==",
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/anymatch/node_modules/picomatch": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "license": "Python-2.0"
+ },
+ "node_modules/asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
+ "license": "MIT"
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "license": "MIT"
+ },
+ "node_modules/bcp-47": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz",
+ "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==",
+ "license": "MIT",
+ "dependencies": {
+ "is-alphabetical": "^2.0.0",
+ "is-alphanumerical": "^2.0.0",
+ "is-decimal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/bcp-47-match": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz",
+ "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/bcp-47-normalize": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/bcp-47-normalize/-/bcp-47-normalize-2.3.0.tgz",
+ "integrity": "sha512-8I/wfzqQvttUFz7HVJgIZ7+dj3vUaIyIxYXaTRP1YWoSDfzt6TUmxaKZeuXR62qBmYr+nvuWINFRl6pZ5DlN4Q==",
+ "license": "MIT",
+ "dependencies": {
+ "bcp-47": "^2.0.0",
+ "bcp-47-match": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
+ "integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/commander": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "license": "MIT"
+ },
+ "node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/dependency-graph": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz",
+ "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/dom-serializer": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
+ "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
+ "license": "MIT",
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/dom-serializer/node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "license": "BSD-2-Clause",
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/domhandler": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
+ "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+ "license": "MIT"
+ },
+ "node_modules/eleventy-plugin-reading-time": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/eleventy-plugin-reading-time/-/eleventy-plugin-reading-time-0.0.1.tgz",
+ "integrity": "sha512-6MRHwrWMYm/u9lJK4/mnyS+6SyQxJSQcTfa1DqQS9fpQRPsZ9mdO9rZ/6DAhZpX2/cXxrbc6qxgcv6Qj90im1g==",
+ "license": "MIT"
+ },
+ "node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/errno": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-1.0.0.tgz",
+ "integrity": "sha512-3zV5mFS1E8/1bPxt/B0xxzI1snsg3uSCIh6Zo1qKg6iMw93hzPANk9oBFzSFBFrwuVoQuE3rLoouAUfwOAj1wQ==",
+ "license": "MIT",
+ "dependencies": {
+ "prr": "~1.0.1"
+ },
+ "bin": {
+ "errno": "cli.js"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "license": "MIT"
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+ "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/esm-import-transformer": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/esm-import-transformer/-/esm-import-transformer-3.0.5.tgz",
+ "integrity": "sha512-1GKLvfuMnnpI75l8c6sHoz0L3Z872xL5akGuBudgqTDPv4Vy6f2Ec7jEMKTxlqWl/3kSvNbHELeimJtnqgYniw==",
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.15.0"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "license": "BSD-2-Clause",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/evaluate-value": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/evaluate-value/-/evaluate-value-2.0.0.tgz",
+ "integrity": "sha512-VonfiuDJc0z4sOO7W0Pd130VLsXN6vmBWZlrog1mCb/o7o/Nl5Lr25+Kj/nkCCAhG+zqeeGjxhkK9oHpkgTHhQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "license": "MIT",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/filesize": {
+ "version": "10.1.6",
+ "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz",
+ "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 10.4.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz",
+ "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "2.6.9",
+ "encodeurl": "~2.0.0",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.4.1",
+ "parseurl": "~1.3.3",
+ "statuses": "~2.0.2",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/finalhandler/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "license": "MIT"
+ },
+ "node_modules/fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/gray-matter": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
+ "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==",
+ "license": "MIT",
+ "dependencies": {
+ "js-yaml": "^3.13.1",
+ "kind-of": "^6.0.2",
+ "section-matter": "^1.0.0",
+ "strip-bom-string": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/gray-matter/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/gray-matter/node_modules/js-yaml": {
+ "version": "3.14.2",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+ "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/htmlparser2": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
+ "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.2",
+ "domutils": "^2.8.0",
+ "entities": "^3.0.1"
+ }
+ },
+ "node_modules/htmlparser2/node_modules/entities": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
+ "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/http-equiv-refresh": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-equiv-refresh/-/http-equiv-refresh-2.0.1.tgz",
+ "integrity": "sha512-XJpDL/MLkV3dKwLzHwr2dY05dYNfBNlyPu4STQ8WvKCFdc6vC5tPXuq28of663+gHVg03C+16pHHs/+FmmDjcw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~2.0.0",
+ "inherits": "~2.0.4",
+ "setprototypeof": "~1.2.0",
+ "statuses": "~2.0.2",
+ "toidentifier": "~1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "license": "ISC"
+ },
+ "node_modules/is-alphabetical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
+ "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-alphanumerical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
+ "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
+ "license": "MIT",
+ "dependencies": {
+ "is-alphabetical": "^2.0.0",
+ "is-decimal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-decimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
+ "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-json": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz",
+ "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==",
+ "license": "ISC"
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/iso-639-1": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/iso-639-1/-/iso-639-1-3.1.5.tgz",
+ "integrity": "sha512-gXkz5+KN7HrG0Q5UGqSMO2qB9AsbEeyLP54kF1YrMsIxmu+g4BdB7rflReZTSTZGpfj8wywu6pfPBCylPIzGQA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+ "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/junk": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
+ "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/kleur": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
+ "license": "MIT",
+ "dependencies": {
+ "uc.micro": "^2.0.0"
+ }
+ },
+ "node_modules/liquidjs": {
+ "version": "10.25.5",
+ "resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.25.5.tgz",
+ "integrity": "sha512-GKiKeZjJDdVoQAu+S9rzkYsYnYhcep5W3WwZXgb5f+yq484P/k9JqamBbGYu+LBEixcUAXZr2jogdAIjB3ki1w==",
+ "license": "MIT",
+ "dependencies": {
+ "commander": "^10.0.0"
+ },
+ "bin": {
+ "liquid": "bin/liquid.js",
+ "liquidjs": "bin/liquid.js"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/liquidjs"
+ }
+ },
+ "node_modules/list-to-array": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/list-to-array/-/list-to-array-1.1.0.tgz",
+ "integrity": "sha512-+dAZZ2mM+/m+vY9ezfoueVvrgnHIGi5FvgSymbIgJOFwiznWyA59mav95L+Mc6xPtL3s9gm5eNTlNtxJLbNM1g==",
+ "license": "MIT"
+ },
+ "node_modules/luxon": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz",
+ "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/markdown-it": {
+ "version": "14.1.1",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz",
+ "integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==",
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1",
+ "entities": "^4.4.0",
+ "linkify-it": "^5.0.0",
+ "mdurl": "^2.0.0",
+ "punycode.js": "^2.3.1",
+ "uc.micro": "^2.1.0"
+ },
+ "bin": {
+ "markdown-it": "bin/markdown-it.mjs"
+ }
+ },
+ "node_modules/markdown-it-footnote": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/markdown-it-footnote/-/markdown-it-footnote-4.0.0.tgz",
+ "integrity": "sha512-WYJ7urf+khJYl3DqofQpYfEYkZKbmXmwxQV8c8mO/hGIhgZ1wOe7R4HLFNwqx7TjILbnC98fuyeSsin19JdFcQ==",
+ "license": "MIT"
+ },
+ "node_modules/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
+ "license": "MIT"
+ },
+ "node_modules/mime": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
+ "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+ "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz",
+ "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==",
+ "license": "BlueOak-1.0.0",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/moo": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz",
+ "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/morphdom": {
+ "version": "2.7.8",
+ "resolved": "https://registry.npmjs.org/morphdom/-/morphdom-2.7.8.tgz",
+ "integrity": "sha512-D/fR4xgGUyVRbdMGU6Nejea1RFzYxYtyurG4Fbv2Fi/daKlWKuXGLOdXtl+3eIwL110cI2hz1ZojGICjjFLgTg==",
+ "license": "MIT"
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
+ },
+ "node_modules/node-retrieve-globals": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/node-retrieve-globals/-/node-retrieve-globals-6.0.1.tgz",
+ "integrity": "sha512-j0DeFuZ/Wg3VlklfbxUgZF/mdHMTEiEipBb3q0SpMMbHaV3AVfoUQF8UGxh1s/yjqO0TgRZd4Pi/x2yRqoQ4Eg==",
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.14.1",
+ "acorn-walk": "^8.3.4",
+ "esm-import-transformer": "^3.0.3"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/nunjucks": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz",
+ "integrity": "sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==",
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "a-sync-waterfall": "^1.0.0",
+ "asap": "^2.0.3",
+ "commander": "^5.1.0"
+ },
+ "bin": {
+ "nunjucks-precompile": "bin/precompile"
+ },
+ "engines": {
+ "node": ">= 6.9.0"
+ },
+ "peerDependencies": {
+ "chokidar": "^3.3.0"
+ },
+ "peerDependenciesMeta": {
+ "chokidar": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/nunjucks/node_modules/commander": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "license": "MIT",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/parse-srcset": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
+ "integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==",
+ "license": "MIT"
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/please-upgrade-node": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
+ "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
+ "license": "MIT",
+ "dependencies": {
+ "semver-compare": "^1.0.0"
+ }
+ },
+ "node_modules/posthtml": {
+ "version": "0.16.7",
+ "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.7.tgz",
+ "integrity": "sha512-7Hc+IvlQ7hlaIfQFZnxlRl0jnpWq2qwibORBhQYIb0QbNtuicc5ZxvKkVT71HJ4Py1wSZ/3VR1r8LfkCtoCzhw==",
+ "license": "MIT",
+ "dependencies": {
+ "posthtml-parser": "^0.11.0",
+ "posthtml-render": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/posthtml-match-helper": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/posthtml-match-helper/-/posthtml-match-helper-2.0.3.tgz",
+ "integrity": "sha512-p9oJgTdMF2dyd7WE54QI1LvpBIkNkbSiiECKezNnDVYhGhD1AaOnAkw0Uh0y5TW+OHO8iBdSqnd8Wkpb6iUqmw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "posthtml": "^0.16.6"
+ }
+ },
+ "node_modules/posthtml-parser": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz",
+ "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==",
+ "license": "MIT",
+ "dependencies": {
+ "htmlparser2": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/posthtml-render": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz",
+ "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==",
+ "license": "MIT",
+ "dependencies": {
+ "is-json": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
+ "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "prettier": "bin/prettier.cjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/prettier-plugin-jinja-template": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/prettier-plugin-jinja-template/-/prettier-plugin-jinja-template-2.1.0.tgz",
+ "integrity": "sha512-mzoCp2Oy9BDSug80fw3B3J4n4KQj1hRvoQOL1akqcDKBb5nvYxrik9zUEDs4AEJ6nK7QDTGoH0y9rx7AlnQ78Q==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "prettier": "^3.0.0"
+ }
+ },
+ "node_modules/prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+ "license": "MIT"
+ },
+ "node_modules/punycode.js": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+ "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/readdirp/node_modules/picomatch": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/section-matter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
+ "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
+ "license": "MIT",
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.7.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz",
+ "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/semver-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
+ "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==",
+ "license": "MIT"
+ },
+ "node_modules/send": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz",
+ "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.4.3",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.1",
+ "mime-types": "^3.0.2",
+ "ms": "^2.1.3",
+ "on-finished": "^2.4.1",
+ "range-parser": "^1.2.1",
+ "statuses": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "license": "ISC"
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slugify": {
+ "version": "1.6.9",
+ "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.9.tgz",
+ "integrity": "sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/ssri": {
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-11.0.0.tgz",
+ "integrity": "sha512-aZpUoMN/Jj2MqA4vMCeiKGnc/8SuSyHbGSBdgFbZxP8OJGF/lFkIuElzPxsN0q8TQQ+prw3P4EDfB3TBHHgfXw==",
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": "^16.14.0 || >=18.0.0"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/strip-bom-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
+ "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.16",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz",
+ "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==",
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/uc.micro": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
+ "license": "MIT"
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/urlpattern-polyfill": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz",
+ "integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==",
+ "license": "MIT"
+ },
+ "node_modules/ws": {
+ "version": "8.20.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.20.0.tgz",
+ "integrity": "sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..2f8fcc4
--- /dev/null
+++ b/package.json
@@ -0,0 +1,23 @@
+{
+ "dependencies": {
+ "@11ty/eleventy": "^3.1.5",
+ "eleventy-plugin-reading-time": "^0.0.1",
+ "markdown-it": "^14.1.1",
+ "markdown-it-footnote": "^4.0.0"
+ },
+ "name": "mestizo.monster",
+ "version": "1.0.0",
+ "description": "",
+ "main": "eleventy.config.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "type": "module",
+ "devDependencies": {
+ "prettier": "^3.8.1",
+ "prettier-plugin-jinja-template": "^2.1.0"
+ }
+}
diff --git a/posts/index.md b/posts/index.md
new file mode 100644
index 0000000..700f261
--- /dev/null
+++ b/posts/index.md
@@ -0,0 +1,9 @@
+---
+title: "posts"
+layout: post-list.njk
+tags: nav
+---
+
+# {{title}}
+
+blog posts i done gone and wrote all by my lonesome
diff --git a/posts/letting-myself-relax.md b/posts/letting-myself-relax.md
new file mode 100644
index 0000000..cfa1ccd
--- /dev/null
+++ b/posts/letting-myself-relax.md
@@ -0,0 +1,16 @@
+---
+title: letting myself relax 😌
+description: "the first post of many, i hope"
+layout: post.njk
+draft: false
+date: "2026-04-10"
+tags: post
+---
+
+i think i'm putting a barrier between me and posting words on my website that there shouldn't be. like everything needs to be "curated" and be an effective essay to publish stuff. but i don't think this is healthy, scrutinizing myself to a specific point and not getting this stuff out into the world. i want my work to be read by other people and to do that i need to start publishing more. i want to develop my skills as a writer and hone my own voice. that means i need to be willing to make more mistakes. blogs and their posts should, by design, be ugly. they should be representations of the people who write them, who are mostly miserable little piles of secrets.[^1]
+
+here's my promise to you, dear reader: i will start writing more. i will start publishing more. not, like, consistently, but more™. it will not be perfect but it will be my organically written words. you are going to be reading real thoughts written by a real, genuine dumbass on the other end of the screen who doesn't know what they're doing, like the rest of us are.
+
+maybe the posts will be long, maybe the posts will be short. but i will post more. it's good for the brain to get these thoughts and ideas out to other people instead of letting it sit and gather dust. i think that's the whole point of this communicating thing, so i really need to exercise it if i want to get better at talking to others. talking to my preferred markdown editor is a good start.
+
+[^1]: but enough talk. [have at you!](https://www.youtube.com/watch?v=5tV33Ewf_hw)
diff --git a/content/posts/moving-on-from-freenom/images/header.png b/posts/moving-on-from-freenom/header.png
similarity index 100%
rename from content/posts/moving-on-from-freenom/images/header.png
rename to posts/moving-on-from-freenom/header.png
diff --git a/content/posts/moving-on-from-freenom/_index.md b/posts/moving-on-from-freenom/index.md
similarity index 93%
rename from content/posts/moving-on-from-freenom/_index.md
rename to posts/moving-on-from-freenom/index.md
index e4e8f1e..1962264 100644
--- a/content/posts/moving-on-from-freenom/_index.md
+++ b/posts/moving-on-from-freenom/index.md
@@ -1,45 +1,33 @@
-+++
-title = "moving on from freenom 👋"
-date = "2023-10-06"
-draft = false
-categories = [ "life", "technology" ]
-keywords = [
- "ga",
- "daniel-ga",
- "dns",
- "domain",
- "domain-names",
- "freenom",
- "gabon",
- "mestizo-monster",
- "networking",
- "personal-websites",
- "taco-ga",
- "website",
- "websites",
- "life",
- "technology",
-]
-tags = [
- "ga",
- "daniel-ga",
- "dns",
- "domain",
- "domain-names",
- "freenom",
- "gabon",
- "mestizo-monster",
- "networking",
- "personal-websites",
- "taco-ga",
- "website",
- "websites"
-]
-images = [ "posts/moving-on-from-freenom/images/header.png" ]
-description = "what's the harm in a free domain name?"
-aliases = [ "/2023/10/06/moving-on-from-freenom" ]
-kind = "page"
-+++
+---
+title: "moving on from freenom 👋"
+date: "2023-10-06"
+tags: post
+layout: post.njk
+draft: false
+keywords:
+ [
+ "ga",
+ "daniel-ga",
+ "dns",
+ "domain",
+ "domain-names",
+ "freenom",
+ "gabon",
+ "mestizo-monster",
+ "networking",
+ "personal-websites",
+ "taco-ga",
+ "website",
+ "websites",
+ "life",
+ "technology",
+ ]
+section: technology
+images: ["posts/moving-on-from-freenom/header.png"]
+description: "what's the harm in a free domain name?"
+aliases: ["../2023/10/06/moving-on-from-freenom/"]
+kind: "page"
+---
> why am i still hanging on?
>
@@ -53,20 +41,21 @@ kind = "page"
>
> \- [Forget My Name, Coyote Theory](https://www.youtube.com/watch?v=c0VtyKTDbNw)
-{{< figure
-alt="A screenshot of the Freenom admin interface showing the domain daniel.ga being active and paid for"
-src="images/header.png"
-caption="goodnight, sweet prince." >}}
+
+
+goodnight, sweet prince.
+
**tl;dr:** Freenom was forced to hand over all of their .ga domains because the government of Gabon is reclaiming all those domains without a clear path forward for Freenom users. Freenom screwed a bunch of paying customers over, like me; I used to host my personal website on there. However, instead of transferring that site or re-registering it, now I’m here, on [mestizo.monster](https://mestizo.monster). You should do your research when registering domains. Capitalism sucks (as usual). 🫤
-* * *
+---
## free websites of the past
Depending on when you’re reading this, I host/used to host a personal website for myself at [`daniel.ga/llegos`](https://web.archive.org/web/20231005005157/https://daniel.ga/llegos/). The reason for creating this was twofold:
-1. It was a cool [domain hack](https://en.wikipedia.org/wiki/Domain_hack) to show off my neat name my mom and dad gave me: [Daniel](https://en.wikipedia.org/wiki/Daniel_(given_name)) [Gallegos](https://en.wikipedia.org/wiki/Gallegos).
+1. It was a cool [domain hack](https://en.wikipedia.org/wiki/Domain_hack) to show off my neat name my mom and dad gave me: [Daniel]() [Gallegos](https://en.wikipedia.org/wiki/Gallegos).
2. The `.ga` domain was _free_! [As in beer](https://en.wiktionary.org/wiki/free_as_in_beer). (At the time.)
FreeNom, a domain name registrar, started offering free `.ga` domain name registration from June 12-14, 2013. This was a part of their free offerings from domains including `.tk`, `.cf`, and `.ml`. I didn’t hear about them until 2016. Stumbling across their page made me excited as a broke teenager. I didn’t know any better; I was getting a free domain name! There shouldn’t be any downsides, _right_?
@@ -87,7 +76,7 @@ There were a few T&Cs that I didn’t read closely when I signed up to Freenom
I don’t remember the full death of `taco.ga` well; I can’t give you a proper ‘postmortem’. All I remember is that I was upset about it. They may have sent me an email “telling me” that they were taking it away, but I never saw it hit my inbox. It was a short, proper noun domain that I had started to depend on and they took it away from me. However, I now noticed that when I searched for `taco.ga` on their “free” registration site, it suddenly had a value attached to it instead of being “free”: ten bucks! Alright, it wasn’t _that_ expensive, but I had no money. I was a young teenager living in the middle of South America, at the time. **What** money? I was paywalled out of my own project. What gives?
-### how “free” domains don’t turn out to be free
+## how “free” domains don’t turn out to be free
I’m sure you can see a strategy here. Freenom’s plan was the following:
diff --git a/redirects.njk b/redirects.njk
new file mode 100644
index 0000000..90ab0a2
--- /dev/null
+++ b/redirects.njk
@@ -0,0 +1,21 @@
+---
+pagination:
+ data: collections.redirects
+ size: 1
+ alias: redirect
+permalink: "{{ redirect[1] }}"
+layout: ""
+---
+
+
+
+
+
+
+
+ Redirecting to: {{ redirect[0] }}
+
+
+ You should be redirecting to {{ redirect[0] }} now .
+
+
diff --git a/themes/corazon/LICENSE b/themes/corazon/LICENSE
deleted file mode 100644
index 8aa2645..0000000
--- a/themes/corazon/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) [year] [fullname]
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/themes/corazon/README.md b/themes/corazon/README.md
deleted file mode 100644
index 7cec74e..0000000
--- a/themes/corazon/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Theme Name
-
-## Features
-
-## Installation
-
-## Configuration
diff --git a/themes/corazon/archetypes/default.md b/themes/corazon/archetypes/default.md
deleted file mode 100644
index c6f3fce..0000000
--- a/themes/corazon/archetypes/default.md
+++ /dev/null
@@ -1,5 +0,0 @@
-+++
-title = '{{ replace .File.ContentBaseName "-" " " | title }}'
-date = {{ .Date }}
-draft = true
-+++
diff --git a/themes/corazon/assets/css/main.scss b/themes/corazon/assets/css/main.scss
deleted file mode 100644
index e870fde..0000000
--- a/themes/corazon/assets/css/main.scss
+++ /dev/null
@@ -1,123 +0,0 @@
-@import url(https://fonts.bunny.net/css?family=averia-sans-libre:700|cabin:400,400i,500,500i,600,600i,700,700i);
-
-body {
- font-family: "Cabin", sans-serif;
- font-size: 1.2rem;
- line-height: 1.5;
- margin: 1rem;
- margin-left: auto;
- margin-right: auto;
- max-width: 768px;
- padding: 0.5rem;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-nav {
- font-family: "Averia Sans Libre", display;
- font-weight: 700;
-}
-
-h1 {
- text-align: center;
-}
-header {
- margin-bottom: 1rem;
- nav {
- ul {
- display: flex;
- justify-content: space-between;
- list-style-position: inside;
- margin-left: 0;
- padding-left: 0;
- }
- li {
- font-size: 1.3rem;
- flex-direction: column;
- list-style-type: none;
- border-bottom: 1px solid #a6dc68;
- padding: 1rem;
- }
- }
-}
-
-figure {
- margin: none;
- text-align: center;
- img {
- border-radius: 1rem;
- max-height: 30rem;
- max-width: 100%;
- }
- figcaption {
- margin-top: -0.666rem;
- font-size: 0.8rem;
- opacity: 69%;
- }
-}
-
-footer {
- margin-top: 1rem;
- text-align: center;
-}
-
-a {
- color: #a6dc68;
- text-decoration: none;
-}
-
-h1 {
- a {
- color: #87a73d;
- }
-}
-
-main {
- padding: 1rem;
-}
-
-@media (prefers-color-scheme: light) {
- body {
- background: #eee;
- color: #291712;
- }
- a {
- color: #63843e;
- }
- footer {
- border-top: 1px solid #222;
- }
-}
-
-@media (prefers-color-scheme: dark) {
- body {
- background: #291712;
- color: #eee;
- }
- footer {
- border-top: 1px solid #eee;
- }
-}
-
-blockquote {
- padding: 1rem;
- margin: inherit, auto;
- background-color: rgba(0, 0, 0, 0.2);
- font-style: italic;
-}
-
-article {
- caption {
- text-align: center;
- }
-}
-
-hgroup {
- p {
- text-align: center;
- }
-}
diff --git a/themes/corazon/assets/js/main.js b/themes/corazon/assets/js/main.js
deleted file mode 100644
index e2aac52..0000000
--- a/themes/corazon/assets/js/main.js
+++ /dev/null
@@ -1 +0,0 @@
-console.log('This site was generated by Hugo.');
diff --git a/themes/corazon/hugo.toml b/themes/corazon/hugo.toml
deleted file mode 100644
index e6a2379..0000000
--- a/themes/corazon/hugo.toml
+++ /dev/null
@@ -1,8 +0,0 @@
-baseURL = 'https://mestizo.monster/'
-languageCode = 'en-us'
-title = 'mestizo dot monster'
-
-[module]
- [module.hugoVersion]
- extended = true
- min = "0.116.0"
diff --git a/themes/corazon/layouts/_default/baseof.html b/themes/corazon/layouts/_default/baseof.html
deleted file mode 100644
index ce9613a..0000000
--- a/themes/corazon/layouts/_default/baseof.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- {{ partial "head.html" . }}
-
-
-
- {{ partial "header.html" . }}
-
-
- {{ block "main" . }}{{ end }}
-
-
- {{ partial "footer.html" . }}
-
-
-
diff --git a/themes/corazon/layouts/_default/home.html b/themes/corazon/layouts/_default/home.html
deleted file mode 100644
index e0e8308..0000000
--- a/themes/corazon/layouts/_default/home.html
+++ /dev/null
@@ -1,3 +0,0 @@
-{{ define "main" }}
- {{ .Content }}
-{{ end }}
diff --git a/themes/corazon/layouts/_default/list.html b/themes/corazon/layouts/_default/list.html
deleted file mode 100644
index a6ff45b..0000000
--- a/themes/corazon/layouts/_default/list.html
+++ /dev/null
@@ -1,10 +0,0 @@
-{{ define "main" }}
- {{ .Title }}
- {{ .Content }}
- {{ range .Pages }}
-
- {{ $date := .Date.Format "January 2, 2006" }}
- {{ lower $date }}
- {{ .Description }}
- {{ end }}
-{{ end }}
diff --git a/themes/corazon/layouts/_default/posts.html b/themes/corazon/layouts/_default/posts.html
deleted file mode 100644
index e307fdb..0000000
--- a/themes/corazon/layouts/_default/posts.html
+++ /dev/null
@@ -1,10 +0,0 @@
-{{ define "main" }}
-
- {{ .Title }}
- {{ $dateHuman := .Date.Format "January 2, 2006" }}
- {{ $dateMachine := .Date.Format "2006-01-02T15:04:05-07:00" }}
- {{ lower $dateHuman }}
- {{ .Content }}
- {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
-
-{{ end }}
diff --git a/themes/corazon/layouts/_default/single.html b/themes/corazon/layouts/_default/single.html
deleted file mode 100644
index 273cbeb..0000000
--- a/themes/corazon/layouts/_default/single.html
+++ /dev/null
@@ -1,7 +0,0 @@
-{{ define "main" }}
-
- {{ .Title }}
- {{ .Content }}
- {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
-
-{{ end }}
diff --git a/themes/corazon/layouts/partials/footer.html b/themes/corazon/layouts/partials/footer.html
deleted file mode 100644
index 95eb1d3..0000000
--- a/themes/corazon/layouts/partials/footer.html
+++ /dev/null
@@ -1,3 +0,0 @@
-mastodon / github / gitlab / linkedin / keyoxide
-mestizo.monster © current year by taco is licensed under CC BY-NC 4.0 .
-this website is open source .
diff --git a/themes/corazon/layouts/partials/head.html b/themes/corazon/layouts/partials/head.html
deleted file mode 100644
index a2b95b2..0000000
--- a/themes/corazon/layouts/partials/head.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-{{ if .IsHome }}home - {{ site.Title }}{{ else }}{{ printf "%s - %s" .Title site.Title }}{{ end }}
-{{ partialCached "head/css.html" . }}
-{{ partialCached "head/js.html" . }}
-
-
-
-
-
-{{ template "_internal/opengraph.html" . }}
diff --git a/themes/corazon/layouts/partials/head/css.html b/themes/corazon/layouts/partials/head/css.html
deleted file mode 100644
index 33dbc45..0000000
--- a/themes/corazon/layouts/partials/head/css.html
+++ /dev/null
@@ -1,10 +0,0 @@
-{{ $opts := dict "transpiler" "libsass" "targetPath" "css/style.css" }}
-{{- with resources.Get "css/main.scss" | toCSS $opts }}
- {{- if eq hugo.Environment "development" }}
-
- {{- else }}
- {{- with . | minify | fingerprint }}
-
- {{- end }}
- {{- end }}
-{{- end }}
diff --git a/themes/corazon/layouts/partials/head/js.html b/themes/corazon/layouts/partials/head/js.html
deleted file mode 100644
index 18fe842..0000000
--- a/themes/corazon/layouts/partials/head/js.html
+++ /dev/null
@@ -1,12 +0,0 @@
-{{- with resources.Get "js/main.js" }}
- {{- if eq hugo.Environment "development" }}
- {{- with . | js.Build }}
-
- {{- end }}
- {{- else }}
- {{- $opts := dict "minify" true }}
- {{- with . | js.Build $opts | fingerprint }}
-
- {{- end }}
- {{- end }}
-{{- end }}
diff --git a/themes/corazon/layouts/partials/header.html b/themes/corazon/layouts/partials/header.html
deleted file mode 100644
index 1fe4e86..0000000
--- a/themes/corazon/layouts/partials/header.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-{{ partial "menu.html" (dict "menuID" "main" "page" .) }}
diff --git a/themes/corazon/layouts/partials/menu.html b/themes/corazon/layouts/partials/menu.html
deleted file mode 100644
index c1530c6..0000000
--- a/themes/corazon/layouts/partials/menu.html
+++ /dev/null
@@ -1,42 +0,0 @@
-{{- $page := .page }}
-{{- $menuID := .menuID }}
-
-{{- with index site.Menus $menuID }}
-
-
- {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
-
-
-{{- end }}
-
-{{- define "partials/inline/menu/walk.html" }}
- {{- $page := .page }}
- {{- range .menuEntries }}
- {{- $attrs := dict "href" .URL }}
- {{- if $page.IsMenuCurrent .Menu . }}
- {{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }}
- {{- else if $page.HasMenuCurrent .Menu .}}
- {{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }}
- {{- end }}
- {{- $name := .Name }}
- {{- with .Identifier }}
- {{- with T . }}
- {{- $name = . }}
- {{- end }}
- {{- end }}
-
- {{ $name }}
- {{- with .Children }}
-
- {{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
-
- {{- end }}
-
- {{- end }}
-{{- end }}
diff --git a/themes/corazon/layouts/partials/terms.html b/themes/corazon/layouts/partials/terms.html
deleted file mode 100644
index 47cf6e4..0000000
--- a/themes/corazon/layouts/partials/terms.html
+++ /dev/null
@@ -1,23 +0,0 @@
-{{- /*
-For a given taxonomy, renders a list of terms assigned to the page.
-
-@context {page} page The current page.
-@context {string} taxonomy The taxonony.
-
-@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
-*/}}
-
-{{- $page := .page }}
-{{- $taxonomy := .taxonomy }}
-
-{{- with $page.GetTerms $taxonomy }}
- {{- $label := (index . 0).Parent.LinkTitle }}
-
-{{- end }}
diff --git a/themes/corazon/layouts/posts/list.html b/themes/corazon/layouts/posts/list.html
deleted file mode 100644
index f780ab8..0000000
--- a/themes/corazon/layouts/posts/list.html
+++ /dev/null
@@ -1,14 +0,0 @@
-{{ define "main" }}
-
-{{ .Title }}
-{{ .Content }}
-
-{{ range .Pages }}
-
-{{ $dateHuman := .Date.Format "January 2, 2006" }}
-{{ $dateMachine := .Date.Format "2006-01-02T15:04:05-07:00" }}
-reading time: {{ lower .ReadingTime }} mins
-first posted: {{ lower $dateHuman }}
-{{ .Description }}
-{{ end }}
-{{ end }}
diff --git a/themes/corazon/layouts/posts/single.html b/themes/corazon/layouts/posts/single.html
deleted file mode 100644
index b9f1a50..0000000
--- a/themes/corazon/layouts/posts/single.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{{ define "main" }}
-
-{{ .Title }}
-{{ $dateHuman := .Date.Format "January 2, 2006" }}
-{{ $dateMachine := .Date.Format "2006-01-02T15:04:05-07:00" }}
-{{ $lastUpdated := .Lastmod.Format "January 2, 2006" }}
-{{ $lastMachine := .Lastmod.Format "2006-01-02T15:04:05-07:00" }}
-
- reading time: {{ lower .ReadingTime }} mins
- first posted: {{ lower $dateHuman }}
- {{ if ne $lastUpdated $dateHuman }}
- last updated: {{ lower $lastUpdated }}
- {{ end }}
-
-
-table of contents
-{{ .TableOfContents }}
-
-{{ .Content }}
-
-{{ end }}
diff --git a/themes/corazon/static/android-chrome-192x192.png b/themes/corazon/static/android-chrome-192x192.png
deleted file mode 100644
index 0c6b44d..0000000
Binary files a/themes/corazon/static/android-chrome-192x192.png and /dev/null differ
diff --git a/themes/corazon/static/android-chrome-512x512.png b/themes/corazon/static/android-chrome-512x512.png
deleted file mode 100644
index ffb9932..0000000
Binary files a/themes/corazon/static/android-chrome-512x512.png and /dev/null differ
diff --git a/themes/corazon/static/apple-touch-icon.png b/themes/corazon/static/apple-touch-icon.png
deleted file mode 100644
index e41020d..0000000
Binary files a/themes/corazon/static/apple-touch-icon.png and /dev/null differ
diff --git a/themes/corazon/static/favicon-16x16.png b/themes/corazon/static/favicon-16x16.png
deleted file mode 100644
index a414369..0000000
Binary files a/themes/corazon/static/favicon-16x16.png and /dev/null differ
diff --git a/themes/corazon/static/favicon-32x32.png b/themes/corazon/static/favicon-32x32.png
deleted file mode 100644
index bafae2a..0000000
Binary files a/themes/corazon/static/favicon-32x32.png and /dev/null differ
diff --git a/themes/corazon/static/site.webmanifest b/themes/corazon/static/site.webmanifest
deleted file mode 100644
index 45dc8a2..0000000
--- a/themes/corazon/static/site.webmanifest
+++ /dev/null
@@ -1 +0,0 @@
-{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
\ No newline at end of file
diff --git a/themes/corazon/static/taco.svg b/themes/corazon/static/taco.svg
deleted file mode 100644
index be03d39..0000000
--- a/themes/corazon/static/taco.svg
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/themes/corazon/static/wolf.svg b/themes/corazon/static/wolf.svg
deleted file mode 100644
index 2e32def..0000000
--- a/themes/corazon/static/wolf.svg
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/themes/corazon/static/wolf_taco.svg b/themes/corazon/static/wolf_taco.svg
deleted file mode 100644
index f1e6f17..0000000
--- a/themes/corazon/static/wolf_taco.svg
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/themes/corazon/theme.toml b/themes/corazon/theme.toml
deleted file mode 100644
index 9fa166e..0000000
--- a/themes/corazon/theme.toml
+++ /dev/null
@@ -1,15 +0,0 @@
-name = 'corazon'
-license = 'MIT'
-licenselink = 'https://git.tacowolf.net/TacoWolf/mestizo.monster/src/branch/main/LICENSE.md'
-description = 'a theme from the heart'
-
-homepage = 'https://git.tacowolf.net/TacoWolf/mestizo.monster/src/branch/main/themes/corazon'
-[author]
- name = 'Daniel Alejandro Gallegos'
- homepage = 'https://mestizo.monster'
-
-# lightly based on...
-[original]
- author = 'Automattic'
- homepage = 'https://wordpress.com/theme/otis'
- repo = 'https://public-api.wordpress.com/rest/v1/themes/download/otis.zip'