diff --git a/Wave/Components/Pages/ArticleEditor.razor b/Wave/Components/Pages/ArticleEditor.razor index f687426..27dd623 100644 --- a/Wave/Components/Pages/ArticleEditor.razor +++ b/Wave/Components/Pages/ArticleEditor.razor @@ -6,6 +6,7 @@ @using Markdig @using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Identity +@using Wave.Utilities @attribute [Authorize(Policy = "ArticleEditPermissions")] @inject IDbContextFactory ContextFactory @@ -156,12 +157,7 @@ } article.LastModified = DateTimeOffset.UtcNow; - var pipeline = new MarkdownPipelineBuilder() - .UsePipeTables() - .UseEmphasisExtras() - .DisableHtml() - .Build(); - article.BodyHtml = Markdown.ToHtml(article.Body, pipeline); + article.BodyHtml = MarkdownUtilities.Parse(article.Body); await context.SaveChangesAsync(); if (article.Status >= ArticleStatus.Published && article.PublishDate <= DateTimeOffset.UtcNow) { diff --git a/Wave/Utilities/MarkdownUtilities.cs b/Wave/Utilities/MarkdownUtilities.cs new file mode 100644 index 0000000..986e599 --- /dev/null +++ b/Wave/Utilities/MarkdownUtilities.cs @@ -0,0 +1,15 @@ +using Markdig; +using Wave.Data; + +namespace Wave.Utilities; + +public static class MarkdownUtilities { + public static string Parse(string markdown) { + var pipeline = new MarkdownPipelineBuilder() + .UsePipeTables() + .UseEmphasisExtras() + .DisableHtml() + .Build(); + return Markdown.ToHtml(markdown, pipeline); + } +} \ No newline at end of file