From 287af40501edf8ba5dea1466ed6a341c8441493a Mon Sep 17 00:00:00 2001 From: Oliver Booth Date: Sun, 13 Aug 2023 13:27:44 +0100 Subject: [PATCH] feat: share template system among all projects --- OliverBooth.Blog/Data/BlogContext.cs | 7 ++ .../Configuration/TemplateConfiguration.cs | 19 +++++ OliverBooth.Blog/Data/Template.cs | 76 +++++++++++++++++++ OliverBooth.Blog/Program.cs | 2 + OliverBooth.Common/Data/ITemplate.cs | 18 +++++ .../Formatting/DateFormatter.cs | 4 +- .../Formatting/MarkdownFormatter.cs | 5 +- .../Markdown}/TemplateExtension.cs | 10 +-- .../Markdown}/TemplateInline.cs | 2 +- .../Markdown}/TemplateInlineParser.cs | 2 +- .../Markdown}/TemplateRenderer.cs | 8 +- .../Services/ITemplateService.cs | 19 +++++ ...figuration.cs => TemplateConfiguration.cs} | 8 +- .../Web/{ArticleTemplate.cs => Template.cs} | 39 +++++----- OliverBooth/Data/WebContext.cs | 14 ++-- OliverBooth/Program.cs | 6 +- OliverBooth/Services/TemplateService.cs | 25 ++---- 17 files changed, 195 insertions(+), 69 deletions(-) create mode 100644 OliverBooth.Blog/Data/Configuration/TemplateConfiguration.cs create mode 100644 OliverBooth.Blog/Data/Template.cs create mode 100644 OliverBooth.Common/Data/ITemplate.cs rename {OliverBooth => OliverBooth.Common}/Formatting/DateFormatter.cs (90%) rename {OliverBooth => OliverBooth.Common}/Formatting/MarkdownFormatter.cs (88%) rename {OliverBooth/Markdown/Template => OliverBooth.Common/Markdown}/TemplateExtension.cs (77%) rename {OliverBooth/Markdown/Template => OliverBooth.Common/Markdown}/TemplateInline.cs (95%) rename {OliverBooth/Markdown/Template => OliverBooth.Common/Markdown}/TemplateInlineParser.cs (99%) rename {OliverBooth/Markdown/Template => OliverBooth.Common/Markdown}/TemplateRenderer.cs (78%) create mode 100644 OliverBooth.Common/Services/ITemplateService.cs rename OliverBooth/Data/Web/Configuration/{ArticleTemplateConfiguration.cs => TemplateConfiguration.cs} (53%) rename OliverBooth/Data/Web/{ArticleTemplate.cs => Template.cs} (61%) diff --git a/OliverBooth.Blog/Data/BlogContext.cs b/OliverBooth.Blog/Data/BlogContext.cs index cb3ea4e..54512ff 100644 --- a/OliverBooth.Blog/Data/BlogContext.cs +++ b/OliverBooth.Blog/Data/BlogContext.cs @@ -25,6 +25,12 @@ internal sealed class BlogContext : DbContext /// The collection of blog posts. public DbSet BlogPosts { get; private set; } = null!; + /// + /// Gets the collection of templates in the database. + /// + /// The collection of templates. + public DbSet