Dies könnte z.B. für Blogs, News,... nützlich sein.
Als Markdown Prozessor wird Markdig verwendet.
Benötigte NuGet-Packages:
Zitat |
markdig Microsoft.AspNetCore.Mvc.TagHelpers |
Der Datei _ViewImports.cshtml folgendes hinzufügen:
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, MarkdownTagExample
MarkdownTagExample mit eurem Projektnamen ersetzen, "*" gibt an dass alle TagHelper(-Ableitungen) in der jeweiligen Assembly hinzugefügt werden.
TagHelper hinzufügen (am besten in einen TagHelpers-Ordner, siehe Namespace):
using Microsoft.AspNetCore.Razor.TagHelpers;
using Markdig;
namespace MarkdownTagExample.TagHelpers
{
// Tag: <markdown md-content="@mymarkdown"/>
[HtmlTargetElement("markdown", TagStructure = TagStructure.WithoutEndTag)]
public class MarkdownTagHelper : TagHelper
{
public string MdContent {get;set;}
public override void Process(TagHelperContext context, TagHelperOutput output)
{
// Markdown will be rendered between div
output.TagName = "div";
output.TagMode = TagMode.StartTagAndEndTag;
output.Content.SetHtmlContent(Markdown.ToHtml(MdContent));
}
}
}
Markdown-Tag im View hinzufügen:
@{
ViewData["Title"] = "Home Page";
var md = "# Test\n- *Hello World!*\n - __Test__";
}
<markdown md-content="@md"/>
Mehr Infos: Tag Helpers in ASP.NET Core
GitHub Projekt: markdown-tag-aspnet