aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornetop://ウィビ <paul@webb.page>2026-07-22 10:55:23 -0700
committernetop://ウィビ <paul@webb.page>2026-07-22 10:55:23 -0700
commit55d8b17aeccb48194cbaea9831286b4b73ac7059 (patch)
tree99b24d4037863802496745e6c1482e03809a2321
parentb0e6f006d06553040e7f1d9db81f003607d75d2b (diff)
downloadblog-55d8b17aeccb48194cbaea9831286b4b73ac7059.tar.gz
blog-55d8b17aeccb48194cbaea9831286b4b73ac7059.zip
fixes canonical links
-rw-r--r--main.ts10
-rw-r--r--src/helper/create-layout.ts8
-rw-r--r--version.txt2
3 files changed, 12 insertions, 8 deletions
diff --git a/main.ts b/main.ts
index c3dbcc9..805d070 100644
--- a/main.ts
+++ b/main.ts
@@ -156,7 +156,8 @@ const server = Deno.serve({
}
if (/^\/(WM-\d*)$/.test(pathname)) {
- const slug = pathname.slice(1) + ".txt";
+ const rawSlug = pathname.slice(1);
+ const slug = rawSlug + ".txt";
const posts = await getDocuments(memoDirectory);
if (posts && posts.indexOf(slug) < 0) {
@@ -172,7 +173,7 @@ const server = Deno.serve({
const listings = await getDirectoryContents(memoDirectory);
return new Response(
- createLayout("memo", await populateDocument({ filename: slug }), populateRecents(listings, slug)), {
+ createLayout("memo", await populateDocument({ filename: slug }), populateRecents(listings, slug), rawSlug), {
headers: {
"content-type": "text/html; charset=utf-8"
}
@@ -206,7 +207,8 @@ const server = Deno.serve({
}
if (/^\/remarks\/(WR-\d*)$/.test(pathname)) {
- const slug = pathname.split("/").pop() + ".txt";
+ const rawSlug = pathname.split("/").pop();
+ const slug = rawSlug + ".txt";
const posts = await getDocuments(remarkDirectory);
if (posts && posts.indexOf(slug) < 0) {
@@ -222,7 +224,7 @@ const server = Deno.serve({
const listings = await getDirectoryContents(remarkDirectory);
return new Response(
- createLayout("remark", await populateDocument({ filename: slug }), populateRecents(listings, slug)), {
+ createLayout("remark", await populateDocument({ filename: slug }), populateRecents(listings, slug), rawSlug), {
headers: {
"content-type": "text/html; charset=utf-8"
}
diff --git a/src/helper/create-layout.ts b/src/helper/create-layout.ts
index f624c5f..93c71b5 100644
--- a/src/helper/create-layout.ts
+++ b/src/helper/create-layout.ts
@@ -14,8 +14,10 @@ import headerParser from "src/helper/parse-header.ts";
/*** EXPORT ------------------------------------------- ***/
-export default (type: "memo" | "remark", memo: string, recents: string) => {
+export default (type: "memo" | "remark", memo: string, recents: string, slug?: string) => {
const { abstract, /*category,*/ document, title: documentTitle } = headerParser(memo);
+ // https://news.ycombinator.com/item?id=48986710
+ const canonicalUrl = slug ? `${url}/${slug}` : url;
return `
<!DOCTYPE html>
@@ -37,7 +39,7 @@ export default (type: "memo" | "remark", memo: string, recents: string) => {
<meta content="${title}" property="og:site_name"/>
<meta content="${documentTitle}" property="og:title"/>
<meta content="website" property="og:type"/>
- <meta content="${url}" property="og:url"/>
+ <meta content="${canonicalUrl}" property="og:url"/>
<!--/ Social/App Stuff /-->
<meta content="${title}" name="apple-mobile-web-app-title"/>
@@ -51,7 +53,7 @@ export default (type: "memo" | "remark", memo: string, recents: string) => {
<!--/ The Rest /-->
<link href="https://🔥.pixels.wtf/blog/asset/apple-touch-icon.png" rel="apple-touch-icon"/>
- <link href="${url}" rel="canonical"/>
+ <link href="${canonicalUrl}" rel="canonical"/>
<link color="#111" href="https://🔥.pixels.wtf/blog/asset/favicon.svg" rel="mask-icon"/>
<link href="https://social.coop/@netopwibby" rel="me"/>
<link href="https://🔥.pixels.wtf/blog/asset/favicon.svg" rel="shortcut icon"/>
diff --git a/version.txt b/version.txt
index 6b75ba8..920a0e5 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-2026.07.20 \ No newline at end of file
+2026.07.22 \ No newline at end of file