diff --git a/src/TerribleDev.Blog.Web/Controllers/SeoController.cs b/src/TerribleDev.Blog.Web/Controllers/SeoController.cs index e6dd48c..c624844 100644 --- a/src/TerribleDev.Blog.Web/Controllers/SeoController.cs +++ b/src/TerribleDev.Blog.Web/Controllers/SeoController.cs @@ -15,6 +15,12 @@ namespace TerribleDev.Blog.Web.Controllers { public class SeoController : Controller { + private readonly BlogConfiguration configuration; + public SeoController(BlogConfiguration configuration) + { + this.configuration = configuration; + + } public static DateTimeOffset publishDate = DateTimeOffset.UtcNow; // keep publish date in memory so we just return when the server was kicked public static IEnumerable postsToSyndication = HomeController.postsAsList.Select(a => a.ToSyndicationItem()).ToList(); [Route("/rss")] @@ -28,8 +34,8 @@ namespace TerribleDev.Blog.Web.Controllers using (XmlWriter xmlWriter = XmlWriter.Create(this.Response.Body, new XmlWriterSettings() { Async = true, Indent = false, Encoding = Encoding.UTF8 })) { var writer = new RssFeedWriter(xmlWriter); - await writer.WriteTitle("The Ramblings of TerribleDev"); - await writer.WriteValue("link", "https://blog.terribledev.io"); + await writer.WriteTitle(configuration.Title); + await writer.WriteValue("link", configuration.Link); await writer.WriteDescription("My name is Tommy Parnell. I usually go by TerribleDev on the internets. These are just some of my writings and rants about the software space."); foreach (var item in postsToSyndication) @@ -48,7 +54,7 @@ namespace TerribleDev.Blog.Web.Controllers { Response.StatusCode = 200; Response.ContentType = "text/xml"; - var sitewideLinks = new List(HomeController.tagToPost.Keys.Select(a=> new SiteMapItem() { LastModified = DateTime.UtcNow, Location = $"https://blog.terribledev.io/tag/{a}/"})) + var sitewideLinks = new List(HomeController.tagToPost.Keys.Select(a => new SiteMapItem() { LastModified = DateTime.UtcNow, Location = $"https://blog.terribledev.io/tag/{a}/" })) { new SiteMapItem() { LastModified = DateTime.UtcNow, Location="https://blog.terribledev.io/all-tags/" } }; diff --git a/src/TerribleDev.Blog.Web/Models/BlogConfiguration.cs b/src/TerribleDev.Blog.Web/Models/BlogConfiguration.cs new file mode 100644 index 0000000..be468b0 --- /dev/null +++ b/src/TerribleDev.Blog.Web/Models/BlogConfiguration.cs @@ -0,0 +1,8 @@ +namespace TerribleDev.Blog.Web.Models +{ + public class BlogConfiguration + { + public string Title { get; set; } + public string Link { get; set; } + } +} \ No newline at end of file diff --git a/src/TerribleDev.Blog.Web/Startup.cs b/src/TerribleDev.Blog.Web/Startup.cs index 0ea5d80..80ebfcf 100644 --- a/src/TerribleDev.Blog.Web/Startup.cs +++ b/src/TerribleDev.Blog.Web/Startup.cs @@ -15,6 +15,8 @@ using Microsoft.Extensions.FileProviders; using Microsoft.Net.Http.Headers; using HardHat.Middlewares; using HardHat; +using TerribleDev.Blog.Web.Models; + namespace TerribleDev.Blog.Web { public class Startup @@ -29,6 +31,9 @@ namespace TerribleDev.Blog.Web // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { + var blogConfig = new BlogConfiguration(); + Configuration.GetSection("Blog").Bind(blogConfig); + services.AddSingleton(blogConfig); services.AddResponseCompression(a => { a.EnableForHttps = true; diff --git a/src/TerribleDev.Blog.Web/Views/Home/Post.cshtml b/src/TerribleDev.Blog.Web/Views/Home/Post.cshtml index b0134e6..fb76a8a 100644 --- a/src/TerribleDev.Blog.Web/Views/Home/Post.cshtml +++ b/src/TerribleDev.Blog.Web/Views/Home/Post.cshtml @@ -1,4 +1,5 @@ -@model IPost +@inject BlogConfiguration config +@model IPost @{ ViewData["Title"] = "Post"; ViewData["HideNav"] = true; @@ -13,7 +14,7 @@ - + diff --git a/src/TerribleDev.Blog.Web/Views/Shared/StockMeta.cshtml b/src/TerribleDev.Blog.Web/Views/Shared/StockMeta.cshtml index abd8bbe..f0ef88a 100644 --- a/src/TerribleDev.Blog.Web/Views/Shared/StockMeta.cshtml +++ b/src/TerribleDev.Blog.Web/Views/Shared/StockMeta.cshtml @@ -1,11 +1,12 @@ - +@inject BlogConfiguration config + - + - + - + \ No newline at end of file diff --git a/src/TerribleDev.Blog.Web/Views/Shared/_Layout.cshtml b/src/TerribleDev.Blog.Web/Views/Shared/_Layout.cshtml index 4cba5cb..a93ceee 100644 --- a/src/TerribleDev.Blog.Web/Views/Shared/_Layout.cshtml +++ b/src/TerribleDev.Blog.Web/Views/Shared/_Layout.cshtml @@ -1,4 +1,6 @@ - +@inject BlogConfiguration config + + @@ -11,7 +13,7 @@ - @ViewData["Title"] - The Ramblings of TerribleDev + @ViewData["Title"] - @config.Title @@ -24,7 +26,7 @@
- +
@{ var bodyBump = ViewData["HideNav"] == null ? "bodyWithNav": ""; diff --git a/src/TerribleDev.Blog.Web/appsettings.json b/src/TerribleDev.Blog.Web/appsettings.json index 80254de..9abe679 100644 --- a/src/TerribleDev.Blog.Web/appsettings.json +++ b/src/TerribleDev.Blog.Web/appsettings.json @@ -9,5 +9,9 @@ } } }, - "AllowedHosts": "*" + "AllowedHosts": "*", + "Blog": { + "title": "The Ramblings of TerribleDev", + "link": "https://blog.terribledev.io" + } }