diff --git a/Management.Web/Pages/AssignmentForm/AssignmentMarkdownEditor.razor b/Management.Web/Pages/AssignmentForm/AssignmentMarkdownEditor.razor
index f557e23..3c85e86 100644
--- a/Management.Web/Pages/AssignmentForm/AssignmentMarkdownEditor.razor
+++ b/Management.Web/Pages/AssignmentForm/AssignmentMarkdownEditor.razor
@@ -1,4 +1,4 @@
-@using Markdig
+
@using Management.Web.Shared.Components
@inject CoursePlanner planner
@@ -59,7 +59,13 @@
StateHasChanged();
}
- private MarkupString preview { get => (MarkupString)Markdown.ToHtml(assignmentContext?.Assignment?.Description ?? ""); }
+ private MarkupString preview { get
+ {
+ var pipeline = new MarkdownPipelineBuilder()
+ .UsePipeTables().Build();
+ return (MarkupString)Markdown.ToHtml(assignmentContext?.Assignment?.Description ?? "", pipeline);
+ }
+ }
private string HelpText()
{
var groupNames = string.Join("\n- " , planner.LocalCourse?.Settings.AssignmentGroups.Select(g => g.Name) ?? []);
diff --git a/Management.Web/Pages/CanvasRequestsQueue.razor b/Management.Web/Pages/CanvasRequestsQueue.razor
index cef1137..d320d9f 100644
--- a/Management.Web/Pages/CanvasRequestsQueue.razor
+++ b/Management.Web/Pages/CanvasRequestsQueue.razor
@@ -26,7 +26,7 @@
}
- Console.WriteLine(Navigation.BaseUri + "SignalRHub");
+ @* Console.WriteLine(Navigation.BaseUri + "SignalRHub"); *@
hubConnection = new HubConnectionBuilder()
.WithUrl(Navigation.BaseUri + "SignalRHub")
.WithAutomaticReconnect()
diff --git a/Management.Web/Pages/CoursePageForm/CoursePageMarkdownEditor.razor b/Management.Web/Pages/CoursePageForm/CoursePageMarkdownEditor.razor
index 6a91de7..5f48a0b 100644
--- a/Management.Web/Pages/CoursePageForm/CoursePageMarkdownEditor.razor
+++ b/Management.Web/Pages/CoursePageForm/CoursePageMarkdownEditor.razor
@@ -1,4 +1,3 @@
-@using Markdig
@using Management.Web.Shared.Components
@inject CoursePlanner planner
diff --git a/Management.Web/Pages/Index.razor b/Management.Web/Pages/Index.razor
index 03697ed..ab9db05 100644
--- a/Management.Web/Pages/Index.razor
+++ b/Management.Web/Pages/Index.razor
@@ -79,4 +79,3 @@
-@* *@
diff --git a/Management.Web/Pages/QuizForm/MarkdownQuestionPreview.razor b/Management.Web/Pages/QuizForm/MarkdownQuestionPreview.razor
index 938ee84..591f60c 100644
--- a/Management.Web/Pages/QuizForm/MarkdownQuestionPreview.razor
+++ b/Management.Web/Pages/QuizForm/MarkdownQuestionPreview.razor
@@ -1,4 +1,3 @@
-@using Markdig
@code {
[Parameter, EditorRequired]
@@ -40,7 +39,7 @@ else
{
@foreach(var answer in Question.Answers)
{
- string answerPreview = answer.HtmlText.StartsWith("
")
+ string answerPreview = answer.HtmlText.StartsWith("
")
? answer.HtmlText.Replace("
", "
")
: answer.HtmlText;
@@ -48,16 +47,16 @@ else
@if(answer.Correct)
{
@@ -66,7 +65,7 @@ else
{
@if(Question.QuestionType == QuestionType.MULTIPLE_ANSWERS)
{
@@ -78,5 +77,5 @@ else
@((MarkupString)answerPreview)
- }
-}
\ No newline at end of file
+ }
+}
diff --git a/Management/Features/Configuration/Synchronization/AssignmentSyncronizationExtensions.cs b/Management/Features/Configuration/Synchronization/AssignmentSyncronizationExtensions.cs
index f796246..c3469bf 100644
--- a/Management/Features/Configuration/Synchronization/AssignmentSyncronizationExtensions.cs
+++ b/Management/Features/Configuration/Synchronization/AssignmentSyncronizationExtensions.cs
@@ -6,7 +6,6 @@ using CanvasModel.Modules;
using CanvasModel.Quizzes;
using LocalModels;
using Management.Services.Canvas;
-using Markdig.Renderers.Normalize;
namespace Management.Planner;
diff --git a/Management/Models/Local/Assignment/AssignmentTemplate.cs b/Management/Models/Local/Assignment/AssignmentTemplate.cs
index 6615643..0c2930b 100644
--- a/Management/Models/Local/Assignment/AssignmentTemplate.cs
+++ b/Management/Models/Local/Assignment/AssignmentTemplate.cs
@@ -15,16 +15,16 @@ public record AssignmentTemplate
return matches.Select(match => match.Groups[1].Value);
}
- // public static string GetHtml(AssignmentTemplate template, LocalAssignment assignment)
+ // public static string GetHtml(AssignmentTemplate template, LocalAssignment assignment)
// {
- // var html = Markdig.Markdown.ToHtml(template.Markdown);
+ // var html = MarkdownService.Render(template.Markdown);
// foreach (KeyValuePair entry in assignment.template_variables)
// {
// html = html.Replace($"%7B%7B{entry.Key}%7D%7D", entry.Value);
// }
// return html;
- // }
+ // }
}
diff --git a/Management/Models/Local/Assignment/LocalAssignment.cs b/Management/Models/Local/Assignment/LocalAssignment.cs
index c6d8109..b931f97 100644
--- a/Management/Models/Local/Assignment/LocalAssignment.cs
+++ b/Management/Models/Local/Assignment/LocalAssignment.cs
@@ -1,8 +1,3 @@
-using System.Collections;
-using System.Reflection.Metadata.Ecma335;
-using System.Text;
-using System.Text.RegularExpressions;
-using YamlDotNet.Serialization;
namespace LocalModels;
@@ -30,7 +25,7 @@ public record LocalAssignment : IModuleItem
public string GetDescriptionHtml()
{
- return Markdig.Markdown.ToHtml(Description);
+ return MarkdownService.Render(Description);
}
public ulong? GetCanvasAssignmentGroupId(IEnumerable assignmentGroups) =>
diff --git a/Management/Models/Local/LocalCoursePage.cs b/Management/Models/Local/LocalCoursePage.cs
index dd5c922..9e5e4d7 100644
--- a/Management/Models/Local/LocalCoursePage.cs
+++ b/Management/Models/Local/LocalCoursePage.cs
@@ -5,7 +5,7 @@ public record LocalCoursePage : IModuleItem
public required string Name { get; init; }
public required string Text { get; set; }
public DateTime DueAt { get; init; }
- public string GetBodyHtml() => Markdig.Markdown.ToHtml(Text);
+ public string GetBodyHtml() => MarkdownService.Render(Text);
public string ToMarkdown()
{
diff --git a/Management/Models/Local/Quiz/LocalQuiz.cs b/Management/Models/Local/Quiz/LocalQuiz.cs
index 9bf1b2a..8d13375 100644
--- a/Management/Models/Local/Quiz/LocalQuiz.cs
+++ b/Management/Models/Local/Quiz/LocalQuiz.cs
@@ -30,7 +30,7 @@ public record LocalQuiz : IModuleItem
.FirstOrDefault(g => g.Name == LocalAssignmentGroupName)?
.CanvasId;
- public string GetDescriptionHtml() => Markdig.Markdown.ToHtml(Description);
+ public string GetDescriptionHtml() => MarkdownService.Render(Description);
public string ToYaml()
{
diff --git a/Management/Models/Local/Quiz/LocalQuizQuestion.cs b/Management/Models/Local/Quiz/LocalQuizQuestion.cs
index 80f8438..9474127 100644
--- a/Management/Models/Local/Quiz/LocalQuizQuestion.cs
+++ b/Management/Models/Local/Quiz/LocalQuizQuestion.cs
@@ -6,7 +6,7 @@ namespace LocalModels;
public record LocalQuizQuestion
{
public string Text { get; init; } = string.Empty;
- public string HtmlText => Markdig.Markdown.ToHtml(Text);
+ public string HtmlText => MarkdownService.Render(Text);
public string QuestionType { get; init; } = string.Empty;
public int Points { get; init; }
public IEnumerable Answers { get; init; } =
diff --git a/Management/Models/Local/Quiz/LocalQuizQuestionAnswer.cs b/Management/Models/Local/Quiz/LocalQuizQuestionAnswer.cs
index e98c676..0d44199 100644
--- a/Management/Models/Local/Quiz/LocalQuizQuestionAnswer.cs
+++ b/Management/Models/Local/Quiz/LocalQuizQuestionAnswer.cs
@@ -10,7 +10,7 @@ public record LocalQuizQuestionAnswer
public string? MatchedText { get; init; }
- public string HtmlText => Markdig.Markdown.ToHtml(Text);
+ public string HtmlText => MarkdownService.Render(Text);
public static LocalQuizQuestionAnswer ParseMarkdown(string input, string questionType)
{
diff --git a/Management/Services/MarkdownService.cs b/Management/Services/MarkdownService.cs
new file mode 100644
index 0000000..cc08d24
--- /dev/null
+++ b/Management/Services/MarkdownService.cs
@@ -0,0 +1,13 @@
+using Markdig;
+
+
+public static class MarkdownService
+{
+ public static string Render(string incomingMarkdown)
+ {
+ var pipeline = new MarkdownPipelineBuilder()
+ .UseAdvancedExtensions()
+ .Build();
+ return Markdown.ToHtml(incomingMarkdown, pipeline);
+ }
+}