diff --git a/_config.ts b/_config.ts
index 5e11de6..c30fec4 100644
--- a/_config.ts
+++ b/_config.ts
@@ -1,15 +1,9 @@
import lume from "lume/mod.ts";
import brotli from "lume/plugins/brotli.ts";
-import code_highlight from "lume/plugins/code_highlight.ts";
import feed from "lume/plugins/feed.ts";
import lightningcss from "lume/plugins/lightningcss.ts";
-import icons from "lume/plugins/icons.ts";
-import inline from "lume/plugins/inline.ts";
import metas from "lume/plugins/metas.ts";
-import minify_html from "lume/plugins/minify_html.ts";
import nav from "lume/plugins/nav.ts";
-import og_images from "lume/plugins/og_images.ts";
-import pagefind from "lume/plugins/pagefind.ts";
import picture from "lume/plugins/picture.ts";
import postcss from "lume/plugins/postcss.ts";
import purgecss from "lume/plugins/purgecss.ts";
@@ -18,7 +12,6 @@ import robots from "lume/plugins/robots.ts";
import sitemap from "lume/plugins/sitemap.ts";
import slugify_urls from "lume/plugins/slugify_urls.ts";
import source_maps from "lume/plugins/source_maps.ts";
-import sri from "lume/plugins/sri.ts";
import svgo from "lume/plugins/svgo.ts";
import tailwindcss from "lume/plugins/tailwindcss.ts";
import toml from "lume/plugins/toml.ts";
@@ -26,6 +19,16 @@ import transform_images from "lume/plugins/transform_images.ts";
import catppuccin from "npm:@catppuccin/tailwindcss";
+// Disabled Plugins:
+// import minify_html from "lume/plugins/minify_html.ts";
+// import og_images from "lume/plugins/og_images.ts";
+// import pagefind from "lume/plugins/pagefind.ts";
+// import sri from "lume/plugins/sri.ts";
+
+// To Add:
+// https://deno.land/x/lume_markdown_plugins@v0.8.0 (toc and footnotes plugins)
+// https://deno.land/x/lume_shiki@0.0.16
+
const site = lume({
src: "./src",
location: new URL("https://blog.pyrox.dev"),
@@ -34,21 +37,19 @@ const site = lume({
site.loadAssets([".css"]);
site.copy([".woff2"]);
-site.use(code_highlight());
-site.use(icons());
-site.use(inline());
site.use(metas());
-site.use(minify_html());
+// site.use(minify_html({
+// options: {
+// keep_html_and_head_opening_tags: true,
+// keep_spaces_between_attributes: true
+// }
+// }));
site.use(nav());
-site.use(og_images());
-site.use(pagefind());
site.use(picture());
site.use(transform_images());
site.use(relations());
-site.use(robots());
site.use(sitemap());
site.use(slugify_urls());
-site.use(sri());
site.use(svgo());
site.use(toml());
@@ -117,4 +118,46 @@ site.use(brotli({
]
}));
+// robots.txt generation
+site.use(robots({
+ disallow: [
+ "AI2Bot",
+ "Amazonbot",
+ "Applebot-Extended",
+ "Bytespider",
+ "ChatGPT-User",
+ "ClaudeBot",
+ "Diffbot",
+ "DuckAssistBot",
+ "FacebookBot",
+ "GPTBot",
+ "Google-Extended",
+ "Meta-ExternalAgent",
+ "Meta-ExternalFetcher",
+ "OAI-SearchBot",
+ "Operator",
+ "PanguBot",
+ "PerplexityBot",
+ "SemrushBot",
+ "SemrushBot-OCOB",
+ "Timpibot",
+ "Webzio-Extended",
+ "YouBot",
+ "cohere-training-data-crawler",
+ "omgili",
+ "t3versions",
+ ]
+}));
+
+// Copy .well-known to site root
+site.copy("static/.well-known", ".well-known")
+
+// Get current commit as a version number
+// Taken from https://github.com/pixeldesu/pixelde.su/blob/main/_config.ts
+// Associated usage in src/_includes/components/footer.vto also from the above repo
+const commitCmd = new Deno.Command("git", { args: ["rev-parse", "HEAD"] });
+const { stdout } = await commitCmd.output();
+const commitHash = new TextDecoder().decode(stdout);
+site.data("commit", commitHash);
+
export default site;
diff --git a/scripts/simple-icons/src/classes.json b/scripts/simple-icons/src/classes.json
index 031af89..b388158 100644
--- a/scripts/simple-icons/src/classes.json
+++ b/scripts/simple-icons/src/classes.json
@@ -2,5 +2,7 @@
"si-bluesky",
"si-forgejo",
"si-github",
- "si-kofi"
+ "si-kofi",
+ "si-lastdotfm",
+ "si-rss"
]
\ No newline at end of file
diff --git a/src/_data.toml b/src/_data.toml
index 01d1331..1191c08 100644
--- a/src/_data.toml
+++ b/src/_data.toml
@@ -7,10 +7,23 @@ generator = true
name = "dish"
pronouns = "fox/it/she"
icon = "assets/author.png"
-[author.links]
-email = "pyrox@pyrox.dev"
-linkedin = "pyrox-rabach"
-github = "pyrox0"
-forgejo = "https://git.pyrox.dev/pyrox"
-kofi = "pyroxdev"
-bluesky = "pyrox.dev"
+[[author.links]]
+service = "bluesky"
+link = "https://bsky.app/profile/pyrox.dev"
+description = "personal Bluesky account"
+[[author.links]]
+service = "lastdotfm"
+link = "https://www.last.fm/user/thehedgeh0g"
+description = "last.fm profile"
+[[author.links]]
+service = "forgejo"
+link = "https://git.pyrox.dev/pyrox"
+description = "personal Git forge"
+[[author.links]]
+service = "github"
+link = "https://github.com/pyrox0"
+description = "Github profile"
+[[author.links]]
+service = "kofi"
+link = "https://ko-fi.com/pyroxdev"
+description = "Ko-fi donation page"
diff --git a/src/_includes/components/footer.vto b/src/_includes/components/footer.vto
index c436ae4..ad18ff0 100644
--- a/src/_includes/components/footer.vto
+++ b/src/_includes/components/footer.vto
@@ -1,33 +1,29 @@
diff --git a/src/_includes/components/head.vto b/src/_includes/components/head.vto
index c419b36..eef460d 100644
--- a/src/_includes/components/head.vto
+++ b/src/_includes/components/head.vto
@@ -7,3 +7,4 @@
+{{title}}
diff --git a/src/_includes/components/navbar.vto b/src/_includes/components/navbar.vto
index f3092b2..5155c3d 100644
--- a/src/_includes/components/navbar.vto
+++ b/src/_includes/components/navbar.vto
@@ -1,3 +1,3 @@
-
-
+
diff --git a/src/_includes/layouts/home.vto b/src/_includes/layouts/home.vto
index 06ae3ca..e797bc4 100644
--- a/src/_includes/layouts/home.vto
+++ b/src/_includes/layouts/home.vto
@@ -1,9 +1,10 @@
-
+
{{ include "components/head.vto" }}
+ {{ include "components/navbar.vto" }}
meow
the fitnessgram pacer test
{{ include "components/footer.vto" }}
diff --git a/src/index.vto b/src/index.vto
index 42e0afc..b3eafff 100644
--- a/src/index.vto
+++ b/src/index.vto
@@ -1,6 +1,6 @@
---
-title: dish's space
-description: "Lover of computers, programming, and sysadmin."
+title: a space
+summary: "Lover of computers, programming, and sysadmin."
layout: layouts/home.vto
---
diff --git a/src/static/.well-known/gpc.json b/src/static/.well-known/gpc.json
new file mode 100644
index 0000000..7e446d6
--- /dev/null
+++ b/src/static/.well-known/gpc.json
@@ -0,0 +1,4 @@
+{
+ "gpc": true,
+ "lastUpdate": "2025-02-11"
+}
diff --git a/src/static/.well-known/security.txt b/src/static/.well-known/security.txt
new file mode 100644
index 0000000..46867f6
--- /dev/null
+++ b/src/static/.well-known/security.txt
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+Contact: mailto:security@pyrox.dev
+Expires: 2026-02-12T04:59:00.000Z
+Encryption: openpgp4fpr:4ca972fbadc814160f103138fe1d8a7d620c611f
+Preferred-Languages: en
+Canonical: https://pyrox.dev/.well-known/security.txt
+
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQRcJmkgwiI/tZCB1+yM3z98qlOg9QUCZ6ryvgAKCRCM3z98qlOg
+9Z87AP43GMmPJGHCBT+uBW9NQIbdNbvjs5oARZoNEv43xI09DgEAiRRsViRZPPOO
+/p/7pthsFYLEWhR+/fCHdtGF4FkXEw0=
+=w0Lz
+-----END PGP SIGNATURE-----
diff --git a/src/static/icons/si.min.css b/src/static/icons/si.min.css
index 67e6b16..8992bf7 100644
--- a/src/static/icons/si.min.css
+++ b/src/static/icons/si.min.css
@@ -1,11 +1,11 @@
@font-face {
font-family: "Simple Icons";
src:
- url("/static/icons/si.min.woff2?v=1739141282") format("woff2")
+ url("/static/icons/si.min.woff2?v=1739249025") format("woff2")
}
.si {
font-style: normal;
font-family: "Simple Icons", sans-serif;
vertical-align: middle;
-}.si-bluesky::before { content: "\eb81"; }.si-forgejo::before { content: "\edf3"; }.si-github::before { content: "\ee42"; }.si-kofi::before { content: "\eff6"; }
\ No newline at end of file
+}.si-bluesky::before { content: "\eb81"; }.si-forgejo::before { content: "\edf3"; }.si-github::before { content: "\ee42"; }.si-kofi::before { content: "\eff6"; }.si-lastdotfm::before { content: "\f01f"; }.si-rss::before { content: "\f38e"; }
\ No newline at end of file
diff --git a/src/static/icons/si.min.woff2 b/src/static/icons/si.min.woff2
index de984a3141c1c1e3bd80e1d8bacb8dc18c18da2a..060a603ee5caf7d4239cf58324f7bdfb980461a7 100644
GIT binary patch
literal 1680
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