diff --git a/.eleventy.js b/.eleventy.js
new file mode 100644
index 0000000..57af464
--- /dev/null
+++ b/.eleventy.js
@@ -0,0 +1,30 @@
+module.exports = function (eleventyConfig) {
+ const parseDate = (str) => {
+ if (str instanceof Date) {
+ return str;
+ }
+ const date = DateTime.fromISO(str, { zone: "utc" });
+ return date.toJSDate();
+ };
+
+ eleventyConfig.addPassthroughCopy({ "src/static": "/" });
+
+ eleventyConfig.addFilter("date_to_datetime", (obj) => {
+ const date = parseDate(obj);
+ return DateTime.fromJSDate(date).toUTC().toISO();
+ });
+
+ return {
+ templateFormats: ["njk", "md", "html"],
+ dir: {
+ input: "src",
+ includes: "_includes",
+ data: "_data",
+ output: "www",
+ },
+ markdownTemplateEngine: "njk",
+ htmlTemplateEngine: "njk",
+ dataTemplateEngine: "njk",
+ passthroughFileCopy: false,
+ };
+};
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9c1e8f3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+node_modules
+www
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..85ce720
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1 @@
+* default maiacore cover image
\ No newline at end of file
diff --git a/index.html b/index.html
deleted file mode 100644
index 45bbc81..0000000
--- a/index.html
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
- maia :3
-
-
-
-
-
-
- hello i am maia arson crimew (it/she) and this website is not finished at all as a
- matter of fact i havent even rly started working on it yet.
-
- here is one of my favorite gifs:
-
-
-
-
-
diff --git a/samples.html b/samples.html
deleted file mode 100644
index 7967edd..0000000
--- a/samples.html
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
-
- maia sample packs :3
-
-
-
-
-
- here are some sample packs i made!
-
-
-
-
-
diff --git a/src/_data/footer.json b/src/_data/footer.json
new file mode 100644
index 0000000..0d995e6
--- /dev/null
+++ b/src/_data/footer.json
@@ -0,0 +1,28 @@
+{
+ "links": [
+ {
+ "name": "birded site",
+ "link": "https://twitter.com/_nyancrimew"
+ },
+ {
+ "name": "fedded verse",
+ "link": "https://crimew.gay/maia"
+ },
+ {
+ "name": "sounded cloud",
+ "link": "https://soundcloud.com/nyancrimew"
+ },
+ {
+ "name": "last dot federated states of micronesia",
+ "link": "https://last.fm/user/nyancrimew"
+ },
+ {
+ "name": "gitted hub",
+ "link": "https://github.com/deletescape"
+ },
+ {
+ "name": "gitted tea",
+ "link": "https://git.lavender.software/nyancrimew"
+ }
+ ]
+}
diff --git a/src/_data/nav.json b/src/_data/nav.json
new file mode 100644
index 0000000..5c1bf82
--- /dev/null
+++ b/src/_data/nav.json
@@ -0,0 +1,10 @@
+[
+ {
+ "name": "home",
+ "link": "/"
+ },
+ {
+ "name": "sample packs",
+ "link": "/samples/"
+ }
+]
\ No newline at end of file
diff --git a/src/_data/samplepacks.json b/src/_data/samplepacks.json
new file mode 100644
index 0000000..84e6f26
--- /dev/null
+++ b/src/_data/samplepacks.json
@@ -0,0 +1,14 @@
+[
+ {
+ "filename": "annoying-catgirl-noises.zip",
+ "description": "maia meows and uwus",
+ "version": "v1.0",
+ "changes": "initial release"
+ },
+ {
+ "filename": "maiacore.zip",
+ "description": "recordings of maia saying random things, probably updated fairly frequently",
+ "version": "v1.1",
+ "changes": "add bell pepper samples"
+ }
+]
\ No newline at end of file
diff --git a/src/_data/site.json b/src/_data/site.json
new file mode 100644
index 0000000..4f728d4
--- /dev/null
+++ b/src/_data/site.json
@@ -0,0 +1,24 @@
+{
+ "url": "https://maia.crimew.gay",
+ "title": "maia :3",
+ "description": "meow",
+ "tags": [
+ "nyancrimew",
+ "maia arson crimew",
+ "android",
+ "switzerland",
+ "hacktivism",
+ "lucerne",
+ "developer",
+ "hacktivism"
+ ],
+ "twitter": "@_nyancrimew",
+ "name": "maia arson crimew",
+ "pronouns": "it/she",
+ "language": "en",
+ "webring": {
+ "version": "0.2.0",
+ "siteId": "maia"
+ }
+ }
+
\ No newline at end of file
diff --git a/src/_includes/components/footer.njk b/src/_includes/components/footer.njk
new file mode 100644
index 0000000..3a7ea8f
--- /dev/null
+++ b/src/_includes/components/footer.njk
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/src/_includes/components/navigation.njk b/src/_includes/components/navigation.njk
new file mode 100644
index 0000000..01785e9
--- /dev/null
+++ b/src/_includes/components/navigation.njk
@@ -0,0 +1,8 @@
+
+ {% for item in nav %}
+ {{ item.name }}
+ {% if not loop.last %}
+ |
+ {% endif %}
+ {% endfor %}
+
\ No newline at end of file
diff --git a/src/_includes/layouts/default.njk b/src/_includes/layouts/default.njk
new file mode 100644
index 0000000..e665c36
--- /dev/null
+++ b/src/_includes/layouts/default.njk
@@ -0,0 +1,33 @@
+
+
+
+
+ {{ title if title else site.title }}
+
+
+
+
+
+
+
+
+
+
+
+ {% if date %} {% endif %}
+
+
+
+
+
+
+
+ maia {{ subhead if subhead else "arson crimew" }}
+ {% include "components/navigation.njk" %}
+
+
+ {% block content %}{% endblock %}
+
+ {% include "components/footer.njk" %}
+
+
diff --git a/src/index.njk b/src/index.njk
new file mode 100644
index 0000000..c625b5c
--- /dev/null
+++ b/src/index.njk
@@ -0,0 +1,15 @@
+---
+permalink: /index.html
+---
+{% extends 'layouts/default.njk' %}
+{% block content %}
+
+ hello i am {{ site.name }} ({{ site.pronouns }}) and this website is not finished at all as a
+ matter of fact i havent even rly started working on it yet.
+
+ here is one of my favorite gifs:
+
+{% endblock %}
\ No newline at end of file
diff --git a/src/samples.njk b/src/samples.njk
new file mode 100644
index 0000000..f778312
--- /dev/null
+++ b/src/samples.njk
@@ -0,0 +1,17 @@
+---
+permalink: /samples/index.html
+subhead: sample packs
+---
+{% extends 'layouts/default.njk' %}
+{% block content %}
+ here are some sample packs i made!
+
+
+ {% for pack in samplepacks %}
+
+ {{ pack.filename }}
({{ pack.version }}) - {{ pack.description }}
+
+ {% endfor %}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/cat-explosion.gif b/src/static/img/cat-explosion.gif
similarity index 100%
rename from cat-explosion.gif
rename to src/static/img/cat-explosion.gif
diff --git a/samples/annoying-catgirl-noises.zip b/src/static/samples/annoying-catgirl-noises.zip
similarity index 100%
rename from samples/annoying-catgirl-noises.zip
rename to src/static/samples/annoying-catgirl-noises.zip
diff --git a/samples/maiacore.zip b/src/static/samples/maiacore.zip
similarity index 100%
rename from samples/maiacore.zip
rename to src/static/samples/maiacore.zip
diff --git a/src/static/style.css b/src/static/style.css
new file mode 100644
index 0000000..ba73e99
--- /dev/null
+++ b/src/static/style.css
@@ -0,0 +1,63 @@
+html {
+ background-color: rgb(236, 169, 203);
+ color: rgb(92, 53, 124);
+}
+
+a {
+ color: rgb(255, 0, 140);
+}
+
+a.active,
+li.lavender-webring-curr-site > a {
+ color: rgb(195, 0, 255);
+}
+
+header {
+ padding-bottom: 5px;
+ border-bottom: 1px solid rgb(255, 0, 140);
+}
+
+footer {
+ padding-top: 5px;
+ border-top: 1px solid rgb(255, 0, 140);
+}
+
+header,
+footer,
+.lavender-webring-container {
+ text-align: center;
+}
+
+#content {
+ max-width: 900px;
+ margin-left: auto;
+ margin-right: auto;
+ padding-top: 2em;
+ padding-bottom: 2em;
+}
+
+.lavender-webring-container {
+ all: unset;
+ display: flex;
+ flex-direction: column;
+ padding: 1em;
+ font-size: 1.125rem;
+}
+.lavender-webring-description {
+ margin-block-end: 0.5em;
+}
+.lavender-webring-site-links {
+ display: grid;
+ grid-template-columns: repeat(3, minmax(0, 1fr));
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+.lavender-webring-prev-site a::before {
+ content: "←";
+ margin-inline-end: 1ch;
+}
+.lavender-webring-next-site a::after {
+ content: "→";
+ margin-inline-start: 1ch;
+}
diff --git a/src/whoami.njk b/src/whoami.njk
new file mode 100644
index 0000000..491f594
--- /dev/null
+++ b/src/whoami.njk
@@ -0,0 +1,7 @@
+---
+permalink: /whoami.json
+---
+{
+ "name": "{{ site.name }}",
+ "pronouns": "{{ site.pronouns }}"
+}
\ No newline at end of file