From 0d063a72ac2fe9fa84b8a46ff7d98191493f0aa9 Mon Sep 17 00:00:00 2001
From: Evy Garden <evysgarden@protonmail.com>
Date: Mon, 28 Aug 2023 09:44:34 +0200
Subject: [PATCH] include fvv number and fix RSS for fvv

---
 src/index.ts         |  5 ++---
 src/lib/rendering.ts | 46 +++++++++++++++++++++++++++++++++++++-------
 2 files changed, 41 insertions(+), 10 deletions(-)

diff --git a/src/index.ts b/src/index.ts
index cc538fc..771c6f4 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -138,8 +138,7 @@ async function generateAllTranscriptPages(
   await fs.mkdir(outputDir, { recursive: true });
 
   await Promise.all(
-    protocols.map((transcript) =>
-      generateTranscriptPage(transcript, outputDir, options)
+    protocols.map(p => generateTranscriptPage(p, outputDir, options)
     )
   );
 }
@@ -170,7 +169,7 @@ async function generateTranscriptPage(
       );
     }
   } else if (protocol.session_type === "fvv") {
-    const transcriptDir = `protokolle/fvv-sitzung-${data.date}`;
+    const transcriptDir = `protokolle/fvv-sitzung-${data.number}-${data.date}`;
 
     const dir = Path.join(outputDir, transcriptDir);
     await fs.mkdir(dir, { recursive: true, });
diff --git a/src/lib/rendering.ts b/src/lib/rendering.ts
index be02c3a..03b7ec4 100644
--- a/src/lib/rendering.ts
+++ b/src/lib/rendering.ts
@@ -171,7 +171,7 @@ export function generateIndexHtml(
           if (r.session_type === "fsr") {
             return `<li><a href="./protokolle/fsr-sitzung-${r.data.number}-${r.data.date}">FSR-Sitzung ${r.data.number} (${r.data.date})</a></li>`
           } else if (r.session_type === "fvv") {
-            return `<li><a href="./protokolle/fvv-sitzung-${r.data.date}">FVV-Sitzung (${r.data.date})</a></li>`
+            return `<li><a href="./protokolle/fvv-sitzung-${r.data.number}-${r.data.date}">FVV-Sitzung ${r.data.number} (${r.data.date})</a></li>`
           } else {
             return ""
           }
@@ -293,7 +293,7 @@ function generateResolutionRowHtml(resolution: Resolution, session_type: string)
       : (
         session_type === "fvv"
           ? `
-            <a href="../protokolle/fvv-sitzung-${resolution.date}/#${resolution.number}">
+            <a href="../protokolle/fvv-sitzung-${resolution.number.split(".")[0]}-${resolution.date}/#${resolution.number}">
               ${resolution.number} (fvv)
             </a>
           `
@@ -334,11 +334,43 @@ export function generateTranscriptsRssXml(
     <title>Protokolle</title>
     ${protocols
       .map(
-        (t) =>
-          `<item><link>${rootUrl ?? "."}/protokolle/fsr-sitzung-${t.data.number
-          }-${t.data.date}</link><description>FSR-Sitzung ${t.data.number} (${t.data.date
-          })</description><title>FSR-Sitzung ${t.data.number}</title><pubDate>${t.data.date
-          }</pubDate></item>`
+        (t) => {
+          if (t.session_type === "fsr") {
+            return `
+              <item>
+                <link>
+                  ${rootUrl ?? "."}/protokolle/fsr-sitzung-${t.data.number}-${t.data.date}
+                </link>
+                <description>
+                  FSR-Sitzung ${t.data.number} (${t.data.date})
+                </description>
+                <title>
+                  FSR-Sitzung ${t.data.number}
+                </title>
+                <pubDate>
+                  ${t.data.date}
+                </pubDate>
+              </item>`.trim();
+          } else if (t.session_type === "fvv") {
+            return `
+              <item>
+                <link>
+                  ${rootUrl ?? "."}/protokolle/fvv-sitzung-${t.data.number}-${t.data.date}
+                </link>
+                <description>
+                  FVV-Sitzung ${t.data.number} (${t.data.date})
+                </description>
+                <title>
+                  FVV-Sitzung ${t.data.number}
+                </title>
+                <pubDate>
+                  ${t.data.date}
+                </pubDate>
+              </item>`.trim();
+          } else {
+            return ""
+          }
+        }
       )
       .join("\n    ")}
   </channel>
-- 
GitLab