This commit is contained in:
Laura Hausmann 2022-12-02 04:19:01 +01:00
parent 43355f4377
commit e010feaaba
Signed by: zotan
GPG key ID: D044E84C5BE01605
11 changed files with 10 additions and 12 deletions

2
.gitignore vendored
View file

@ -186,4 +186,4 @@ Temporary Items
database.db
.bearer_token
Pages/blog/posts/drafts
Posts/drafts

View file

@ -1,7 +1,7 @@
using System.ServiceModel.Syndication;
using Microsoft.AspNetCore.Mvc;
using zotanpw.Backend;
using zotanpw.Pages.blog;
using zotanpw.Pages;
namespace zotanpw.Controllers;

View file

@ -1,5 +1,5 @@
using Microsoft.AspNetCore.Mvc;
using zotanpw.Pages.blog;
using zotanpw.Pages;
using J = System.Text.Json.Serialization.JsonPropertyNameAttribute;
namespace zotanpw.Controllers;

View file

@ -8,13 +8,13 @@ using Microsoft.AspNetCore.Mvc.RazorPages;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.NamingConventions;
namespace zotanpw.Pages.blog;
namespace zotanpw.Pages;
public class BlogModel : PageModel {
public static readonly List<BlogPost> Posts = new();
static BlogModel() {
foreach (var file in Directory.EnumerateFiles("Pages/blog/posts"))
foreach (var file in Directory.EnumerateFiles("Posts"))
if (file.EndsWith(".md"))
Posts.Add(new BlogPost(Path.GetFileNameWithoutExtension(file)));
@ -37,7 +37,7 @@ public class BlogModel : PageModel {
}
public void UpdateContentAndMetadata() {
var markdownText = System.IO.File.ReadAllText($"Pages/blog/posts/{Shorthand}.md");
var markdownText = System.IO.File.ReadAllText($"Posts/{Shorthand}.md");
var parsed = ParseBlogPost(markdownText);
Title = parsed.metadata.Title!;

View file

@ -1,6 +1,6 @@
@page "/blog/{post}"
@model BlogPostModel
@using zotanpw.Backend
@model BlogPostModel
@{
if (Model.Post == null)

View file

@ -1,20 +1,18 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace zotanpw.Pages.blog;
namespace zotanpw.Pages;
public class BlogPostModel : PageModel {
public BlogModel.BlogPost? Post;
public IActionResult OnGet() {
if (string.IsNullOrWhiteSpace((string)RouteData.Values["post"]!)) {
if (string.IsNullOrWhiteSpace((string)RouteData.Values["post"]!))
return NotFound();
}
Post = BlogModel.Posts.FirstOrDefault(p => p.Shorthand == (string)RouteData.Values["post"]!);
if (Post == null) {
if (Post == null)
return NotFound();
}
return Page();
}