From 4170018d092c2b5f40e2d39a7138c8c32c588f3d Mon Sep 17 00:00:00 2001
From: Chris Coley <chris@codingallnight.com>
Date: Mon, 17 Jun 2024 01:55:44 -0700
Subject: [PATCH] Add canonical links and a sitemap

---
 .gitlab-ci.yml      |  2 +-
 src/cache-test.html |  1 +
 src/index.html      |  1 +
 src/sitemap.xml     | 13 +++++++++++++
 src/sub/index.html  |  1 +
 5 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 src/sitemap.xml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d879434..ebe8224 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -38,7 +38,7 @@ setup:
     - echo $ROOT_RELATIVE_NAMESPACE
     - test "$ROOT_RELATIVE_NAMESPACE" == "${CI_PROJECT_NAMESPACE#$CI_PROJECT_ROOT_NAMESPACE}" || { echo "ROOT_RELATIVE_NAMESPACE is not set correctly" ; exit 1 ; }
   script:
-    - find src/ -type f -name '*.html'
+    - find src/ -type f \( -iname '*.html' -or -iname 'sitemap.xml' \)
       -exec sed -i
         -e "s|%%BRANCH%%|${CI_COMMIT_BRANCH}|g"
         -e "s|%%BASE_URL%%|${CI_PAGES_URL}/|g"
diff --git a/src/cache-test.html b/src/cache-test.html
index c435732..0391a3b 100644
--- a/src/cache-test.html
+++ b/src/cache-test.html
@@ -7,6 +7,7 @@
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <meta name="generator" content="GitLab Pages">
   <link rel="shortcut icon" href="gitlab-favicon.png">
+  <link rel="canonical" href="cache-test.html">
   <link rel="preload" href="style.css" as="style">
   <link rel="stylesheet" href="style.css">
   <style>
diff --git a/src/index.html b/src/index.html
index 368a6da..20e3651 100644
--- a/src/index.html
+++ b/src/index.html
@@ -7,6 +7,7 @@
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <meta name="generator" content="GitLab Pages">
   <link rel="shortcut icon" href="gitlab-favicon.png">
+  <link rel="canonical" href="./">
   <link rel="preload" href="style.css" as="style">
   <link rel="stylesheet" href="style.css">
 </head>
diff --git a/src/sitemap.xml b/src/sitemap.xml
new file mode 100644
index 0000000..c9aa532
--- /dev/null
+++ b/src/sitemap.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+  <url>
+    <loc>%%BASE_URL%%</loc>
+  </url>
+  <url>
+    <loc>%%BASE_URL%%cache-test.html</loc>
+  </url>
+  <url>
+    <loc>%%BASE_URL%%sub/</loc>
+  </url>
+</urlset>
+<!-- vi: set ts=2 sw=2 et ft=xml: -->
diff --git a/src/sub/index.html b/src/sub/index.html
index 4cf21a8..f48ebcd 100644
--- a/src/sub/index.html
+++ b/src/sub/index.html
@@ -7,6 +7,7 @@
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <meta name="generator" content="GitLab Pages">
   <link rel="shortcut icon" href="gitlab-favicon.png">
+  <link rel="canonical" href="sub/">
   <link rel="preload" href="style.css" as="style">
   <link rel="stylesheet" href="style.css">
 </head>
-- 
GitLab