]> fortfriendship.online Git - gnargle.github.io.git/blobdiff - RSSGen/Program.cs
new entry! also more linux fixes for the rssgen
[gnargle.github.io.git] / RSSGen / Program.cs
index 1af488af2cb5af682a3dac76c996f782dd0f8aeb..b6c16b016d37622515e7be67bd2e3ae0347e3e7c 100644 (file)
@@ -2,11 +2,22 @@
 using System;
 using System.Collections.Generic;
 using System.IO;
 using System;
 using System.Collections.Generic;
 using System.IO;
+using System.Runtime.InteropServices;
 
 // See https://aka.ms/new-console-template for more information
 Console.WriteLine("Scanning entries folder for latest files");
 
 
 // See https://aka.ms/new-console-template for more information
 Console.WriteLine("Scanning entries folder for latest files");
 
-var filePaths = Directory.EnumerateFiles(Path.Combine(Directory.GetCurrentDirectory(), "../../../../entries"));
+var folder = String.Empty;
+
+if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+{
+    folder = Path.Combine(Directory.GetCurrentDirectory(), "../entries");
+}
+else
+{
+    folder = Path.Combine(Directory.GetCurrentDirectory(), "../../../../entries");
+}
+var filePaths = Directory.EnumerateFiles(folder);
 var fileInfos = new List<FileInfo>();
 
 if (filePaths.Any())
 var fileInfos = new List<FileInfo>();
 
 if (filePaths.Any())
@@ -22,7 +33,16 @@ if (filePaths.Any())
 
 Console.WriteLine("Scanning projects folder for latest files");
 
 
 Console.WriteLine("Scanning projects folder for latest files");
 
-filePaths = Directory.EnumerateFiles(Path.Combine(Directory.GetCurrentDirectory(), "../../../../projects"));
+if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+{
+    folder = Path.Combine(Directory.GetCurrentDirectory(), "../projects");
+}
+else
+{
+    folder = Path.Combine(Directory.GetCurrentDirectory(), "../../../../projects");
+}
+
+filePaths = Directory.EnumerateFiles(folder);
 
 if (filePaths.Any())
 {
 
 if (filePaths.Any())
 {
@@ -45,7 +65,13 @@ myRSS.channel = new rssChannel
     description = "blog entries for athene.gay",
     language = "en-GB",
     link = "https://athene.gay",
     description = "blog entries for athene.gay",
     language = "en-GB",
     link = "https://athene.gay",
-    item = new List<rssChannelItem>()
+    item = new List<rssChannelItem>(),
+    link1 = new link
+    {
+        href = "https://athene.gay/feed.xml",
+        rel = "self",
+        type = "application/rss+xml",
+    }
 };
 
 foreach (var file in fileInfos)
 };
 
 foreach (var file in fileInfos)
@@ -53,24 +79,43 @@ foreach (var file in fileInfos)
     var item = new rssChannelItem()
     {
         title = Path.GetFileNameWithoutExtension(file.Name),
     var item = new rssChannelItem()
     {
         title = Path.GetFileNameWithoutExtension(file.Name),
-        pubDate = file.CreationTimeUtc.ToString(),
+        pubDate = file.CreationTimeUtc.ToString("r"),
     };
     if (file.FullName.Contains("entries"))
     {
         item.link = "https://athene.gay/entries/" + Path.GetFileName(file.Name);
     };
     if (file.FullName.Contains("entries"))
     {
         item.link = "https://athene.gay/entries/" + Path.GetFileName(file.Name);
-    } else if (file.FullName.Contains("projects"))
+    }
+    else if (file.FullName.Contains("projects"))
     {
         item.link = "https://athene.gay/projects/" + Path.GetFileName(file.Name);
     }
     {
         item.link = "https://athene.gay/projects/" + Path.GetFileName(file.Name);
     }
+    item.guid = new rssChannelItemGuid()
+    {
+        isPermaLink = true,
+        Value = item.link
+    };
     myRSS.channel.item.Add(item);
 }
 
 var output = Generator.SerializeRSS(myRSS);
 
     myRSS.channel.item.Add(item);
 }
 
 var output = Generator.SerializeRSS(myRSS);
 
-var rssPath = Path.Combine(Directory.GetCurrentDirectory(), "../../../../feed.rss");
+var rssPath = String.Empty;
 
 
-if (File.Exists(rssPath)) {
+if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+{
+    rssPath = Path.Combine(Directory.GetCurrentDirectory(), "../feed.xml");
+}
+else
+{
+    rssPath = Path.Combine(Directory.GetCurrentDirectory(), "../../../../feed.xml");
+}
+
+if (File.Exists(rssPath))
+{
     File.Delete(rssPath);
 }
 
     File.Delete(rssPath);
 }
 
+Console.WriteLine("RSS generated, outputting to console and file");
+Console.WriteLine(output);
+
 File.WriteAllText(rssPath, output);
\ No newline at end of file
 File.WriteAllText(rssPath, output);
\ No newline at end of file