diff --git a/deno.lock b/deno.lock
index e736f75..1d63253 100644
--- a/deno.lock
+++ b/deno.lock
@@ -666,6 +666,7 @@
"https://deno.land/x/lume@v3.0.2/deps/hex.ts": "828718f24a780ff3ade8d0a8a5b57497cb31c257560ef12af99b6eb1a31e3bbd",
"https://deno.land/x/lume@v3.0.2/deps/highlight.ts": "e8f830a1137ff7e8246ce21518452b8cbf8089db409458c6d9c31040c11d8428",
"https://deno.land/x/lume@v3.0.2/deps/http.ts": "6d9add7c6fe0c0381050aa773ae8590166ccc84c5115d2cde271320c315a110d",
+ "https://deno.land/x/lume@v3.0.2/deps/icons.ts": "4379e1443d982ab4f85237342d165ae54c981cdb7e06480c222d208999e21f15",
"https://deno.land/x/lume@v3.0.2/deps/init.ts": "05d45af66ebdfe63e43540618f51ece8f99d98dc49de890f10eeb43abe9ed0f3",
"https://deno.land/x/lume@v3.0.2/deps/jsonc.ts": "79f0eddc3c9e593310eb8e5918eb1506b1c7d7816e4ecb96894f634ecbe626ff",
"https://deno.land/x/lume@v3.0.2/deps/lightningcss.ts": "5f5167c6eb306ef759f0043f8f33f2eaf63c69210aa1aa837505e990ee619c46",
@@ -691,6 +692,7 @@
"https://deno.land/x/lume@v3.0.2/plugins/code_highlight.ts": "ac6327e688e9e8fbd7798bdcc5f76b46d27db3e22ea3b74f545dc3296e8a1261",
"https://deno.land/x/lume@v3.0.2/plugins/extract_date.ts": "38af8e5960d66a74a72977eb19521da4353ab32d3941e97c1526aa3b91175a9e",
"https://deno.land/x/lume@v3.0.2/plugins/feed.ts": "b07aed4cda270cfaacb26f9974dbb962f936dbfde4d770c53e478e4682c791e1",
+ "https://deno.land/x/lume@v3.0.2/plugins/icons.ts": "c69428254024d694eca34f9b5c4888aedf83d2d9b38f860533952c28cc814333",
"https://deno.land/x/lume@v3.0.2/plugins/inline.ts": "737d7de09d196476b55ecbe7ddb0e651ba2d5d39ca5a418cb15ff48e124907c1",
"https://deno.land/x/lume@v3.0.2/plugins/json.ts": "5c49499e56b919ec848d4118ec97dd4fe0a323a6cc4c648dc45ab55297614c12",
"https://deno.land/x/lume@v3.0.2/plugins/lightningcss.ts": "6b5236cc78c1ae4af5b4a0037a0345797381f5043c667ae1ddeb4f67e445c7c4",
diff --git a/site.ts b/site.ts
index 7b59c63..89c4035 100644
--- a/site.ts
+++ b/site.ts
@@ -1,25 +1,25 @@
import lume from "lume/mod.ts";
-import extractDate from "lume/plugins/extract_date.ts";
-import codeHighlight from "lume/plugins/code_highlight.ts";
+import extract_date from "lume/plugins/extract_date.ts";
+import code_highlight from "lume/plugins/code_highlight.ts";
import redirects from "lume/plugins/redirects.ts";
import tailwindcss from "lume/plugins/tailwindcss.ts";
import lightningcss from "lume/plugins/lightningcss.ts";
-import resolveUrls from "lume/plugins/resolve_urls.ts";
-import slugifyUrls from "lume/plugins/slugify_urls.ts";
-import checkUrls from "lume/plugins/check_urls.ts";
+import resolve_urls from "lume/plugins/resolve_urls.ts";
+import slugify_urls from "lume/plugins/slugify_urls.ts";
+import check_urls from "lume/plugins/check_urls.ts";
import inline from "lume/plugins/inline.ts";
import feed from "lume/plugins/feed.ts";
import sitemap from "lume/plugins/sitemap.ts";
-import minifyHtml from "lume/plugins/minify_html.ts";
+import minify_html from "lume/plugins/minify_html.ts";
-const siteName = "RGBCube";
-const siteDescription =
+const site_name = "RGBCube";
+const site_description =
"The home directory and journal of RGBCube and his work.";
const author = "RGBCube";
const color = "#00FFFF";
-const pathAssets = "/assets";
+const path_assets = "/assets";
const site = lume({
src: "./site",
@@ -31,9 +31,9 @@ const site = lume({
site.data("layout", "default.vto");
-site.data("site_name", siteName);
-site.data("title", siteName);
-site.data("description", siteDescription);
+site.data("site_name", site_name);
+site.data("title", site_name);
+site.data("description", site_description);
site.data("author", author);
site.data("color", color);
@@ -69,52 +69,20 @@ site.process([".html"], (pages) => {
element.parentNode!.insertBefore(wrapper, element);
wrapper.appendChild(element);
});
-
- document
- .querySelectorAll(".text-content :where(h1, h2, h3, h4, h5, h6)")
- .forEach((header) => {
- if (header.id || header.closest("a") || header.querySelector("a")) {
- return;
- }
-
- const textNormalized = header
- .textContent!
- .toLowerCase()
- .replace(/[^a-z0-9\s-]/g, "")
- .replace(/\s+/g, "-")
- .replace(/-+/g, "-")
- .trim();
-
- let textUnique = textNormalized;
- let counter = 1;
-
- while (document.getElementById(textUnique)) {
- counter++;
- textUnique = `${textNormalized}-${counter}`;
- }
-
- header.id = textUnique;
-
- const link = document.createElement("a");
- link.setAttribute("href", "#" + textUnique);
-
- header.parentNode!.insertBefore(link, header);
- link.appendChild(header);
- });
});
});
-site.use(extractDate());
+site.use(extract_date());
site.use(redirects());
site.use(tailwindcss());
-site.use(codeHighlight());
+site.use(code_highlight());
-site.use(resolveUrls());
-site.use(slugifyUrls({
+site.use(resolve_urls());
+site.use(slugify_urls({
extensions: "*",
}));
-site.use(checkUrls({
+site.use(check_urls({
strict: true,
throw: true,
}));
@@ -127,12 +95,12 @@ site.use(feed({
limit: Infinity,
info: {
- title: siteName,
- description: siteDescription,
+ title: site_name,
+ description: site_description,
authorName: author,
- image: `${pathAssets}/icons/icon.webp`,
- icon: `${pathAssets}/icons/icon.webp`,
+ image: `${path_assets}/icons/icon.webp`,
+ icon: `${path_assets}/icons/icon.webp`,
color,
@@ -154,7 +122,7 @@ site.use(sitemap({
site.use(lightningcss()); // TODO: LightningCSS doesn't handle inline styles.
site.use(inline());
-site.use(minifyHtml({
+site.use(minify_html({
options: {
// TODO: This breaks tailwind.
// minify_css: true,
diff --git a/site/404.vto b/site/404.vto
index 62f4a22..209b2ad 100644
--- a/site/404.vto
+++ b/site/404.vto
@@ -4,20 +4,10 @@ prevent_zoom: true
---
@@ -38,6 +28,4 @@ prevent_zoom: true
{{ set cube_face_top = cube_face }}
{{ set cube_face_bottom = cube_face }}
-{{ set cube_size = "5rem" }}
-{{ set cube_last = true }}
{{ include "cube.vto" }}
diff --git a/site/_includes/cube.vto b/site/_includes/cube.vto
index d88bc3d..814701c 100644
--- a/site/_includes/cube.vto
+++ b/site/_includes/cube.vto
@@ -1,43 +1,44 @@
-{{ set cube_minus_px = cube_small ? "" : "- 1px" }}
-
-{{ if cube_last }}
-{{ /if }}
+
{{ article.date.toISOString().slice(2, 10).replaceAll("-", " ") }}
+
{{ article.title |> md }}