Maison  >  Article  >  développement back-end  >  Méthode de Razor TagHelper pour convertir Markdown en HTML_Conseils pratiques

Méthode de Razor TagHelper pour convertir Markdown en HTML_Conseils pratiques

韦小宝
韦小宝original
2017-12-16 09:23:551793parcourir

L'éditeur suivant partagera avec vous un article sur la méthode de conversion de Markdown en HTML de Razor TagHelper. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Suivons l'éditeur et jetons un coup d'œil.

Markdown est un langage de balisage qui peut être écrit à l'aide d'un éditeur de texte ordinaire grâce à une syntaxe de balisage simple, il peut donner au contenu du texte ordinaire un certain format. .

Objectif

La syntaxe de Markdown est concise et claire, facile à apprendre et ses fonctions sont plus fortes que le texte brut, c'est pourquoi de nombreuses personnes l'utilisent écrire des blogs. La plateforme de blogs la plus populaire au monde, WordPress, et les grands CMS tels que Joomla et Drupal peuvent très bien prendre en charge Markdown. Les plates-formes de blog qui utilisent pleinement les éditeurs Markdown incluent Ghost et Typecho.

est utilisé pour rédiger la documentation et est enregistré dans le répertoire du logiciel sous le nom de fichier "README.MD".

De plus, maintenant que nous disposons d'un éditeur de niveau divin comme RStudio, nous pouvons également convertir rapidement Markdown en discours PPT, documents de produits Word, papiers LaTex et même effectuer une édition minimale avec une très petite quantité de code. . Prototypes disponibles. Dans le domaine de la science des données, Markdown a été établi comme norme de recherche scientifique, faisant considérablement progresser le processus historique de recherche sur la reproductibilité dynamique.

TagHelper

Écrivez un Razor TagHelper pour convertir Markdown en HTML Ici, vous devez utiliser CommonMark NETce. Bibliothèque de classe.


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();
  }
 }
}


Comment utiliser

Premier de all, _ViewImports.cshtml Ajoutez ce TagHelper, comme ceci


@addTagHelper *, ZKEACMS.Message


Ensuite, vous pouvez l'utiliser directement


<markdown>@item.CommentContent</markdown>


La méthode ci-dessus de conversion de Markdown en HTML à l'aide de Razor TagHelper est tout le contenu partagé par l'éditeur. J'espère qu'elle pourra vous donner une référence. J'espère que tout le monde soutiendra le site Web PHP chinois.

Recommandations associées :

Introduction détaillée au routage des pages ASP.NET Core Razor

Introduction détaillée au routage des pages ASP.NET Core Razor

Solutions aux problèmes Razor dans Asp.net MVC

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn