Razor TagHelpers Methode zum Konvertieren von Markdown in HTML_Praktische Tipps

韦小宝
Freigeben: 2017-12-16 09:23:55
Original
1864 Leute haben es durchsucht

Der folgende Herausgeber wird einen Artikel über die Methode von Razor TagHelper zur Konvertierung von Markdown in HTML mit Ihnen teilen. Er hat einen guten Referenzwert und ich hoffe, dass er für alle hilfreich sein wird. Folgen wir dem Editor und werfen wir einen Blick darauf

Markdown ist eine Markup-Sprache, die mit einem normalen Texteditor geschrieben werden kann. Durch einfache Markup-Syntax kann sie gewöhnlichen Textinhalten ein bestimmtes Format verleihen.

Zweck

Die Syntax von Markdown ist prägnant und klar, leicht zu erlernen und seine Funktionen sind stärker als reiner Text, weshalb es von vielen Menschen verwendet wird Blogs schreiben. Die weltweit beliebteste Blog-Plattform WordPress und große CMS wie Joomla und Drupal können Markdown sehr gut unterstützen. Zu den Blog-Plattformen, die Markdown-Editoren vollständig nutzen, gehören Ghost und Typecho.

wird zum Schreiben von Dokumentationen verwendet und im Verzeichnis der Software mit dem Dateinamen „README.MD“ gespeichert.

Darüber hinaus können wir Markdown jetzt, da wir über einen erstklassigen Editor wie RStudio verfügen, auch schnell in Sprach-PPT, Word-Produktdokumente, LaTex-Dokumente umwandeln und sogar minimale Bearbeitungen mit sehr wenig Code durchführen . Prototypen verfügbar. Im Bereich der Datenwissenschaft hat sich Markdown als wissenschaftliche Forschungsnorm etabliert und den historischen Prozess der dynamischen Reproduzierbarkeitsforschung erheblich vorangetrieben.

TagHelper

Schreiben Sie einen Razor TagHelper, um Markdown in HTML zu konvertieren. Hier müssen Sie

CommonMark NETverwenden Klassenbibliothek.


namespace ZKEACMS.Message.TagHelps
{
 [HtmlTargetElement("markdown", TagStructure = TagStructure.NormalOrSelfClosing)]
 [HtmlTargetElement(Attributes = "markdown")]
 public class MarkdownTagHelper : TagHelper
 {
  public ModelExpression Content { get; set; }
  public async override Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
  {
   if (output.TagName == "markdown")
   {
    output.TagName = null;
   }
   output.Attributes.RemoveAll("markdown");
   var content = await GetContent(output);
   var markdown = WebUtility.HtmlEncode(WebUtility.HtmlDecode(content));
   var html = CommonMarkConverter.Convert(markdown);
   output.Content.SetHtmlContent(html ?? "");
  }
  private async Task GetContent(TagHelperOutput output)
  {
   if (Content == null)
    return (await output.GetChildContentAsync()).GetContent();
   return Content.Model?.ToString();
  }
 }
}
Nach dem Login kopieren


Anwendung

Zuerst all, _ViewImports.cshtml Fügen Sie diesen TagHelper hinzu, liken Sie dies


@addTagHelper *, ZKEACMS.Message
Nach dem Login kopieren


Dann können Sie es direkt verwenden


<markdown>@item.CommentContent</markdown>
Nach dem Login kopieren


Die obige Methode zum Konvertieren von Markdown in HTML mit Razor TagHelper ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann. Ich hoffe, dass jeder die chinesische PHP-Website unterstützt.

Verwandte Empfehlungen:

Detaillierte Einführung in das ASP.NET Core Razor-Seitenrouting

Detaillierte Einführung in das ASP.NET Core Razor-Seitenrouting

Lösungen für Razor-Probleme in Asp.net MVC

Das obige ist der detaillierte Inhalt vonRazor TagHelpers Methode zum Konvertieren von Markdown in HTML_Praktische Tipps. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage