ホームページ >バックエンド開発 >C#.Net チュートリアル >Razor TagHelper による Markdown から HTML への変換方法_実践的なヒント

Razor TagHelper による Markdown から HTML への変換方法_実践的なヒント

韦小宝
韦小宝オリジナル
2017-12-16 09:23:551871ブラウズ

以下のエディターでは、Razor TagHelper を使用して Markdown を HTML に変換する方法を共有します。これは非常に参考になるので、皆さんのお役に立てれば幸いです。エディターをフォローして見てみましょう。

Markdown は、通常のテキストエディター を使用して記述できるマークアップ言語で、通常のテキスト コンテンツを特定の形式にすることができます。

使い方

Markdown の構文は簡潔かつ明確で学習が簡単で、その機能はプレーンテキストよりも強力であるため、多くの人がブログを書くためにそれを使用しています。世界で最も人気のあるブログ プラットフォーム WordPress や、Joomla や Drupal などの大規模 CMS は、Markdown を適切にサポートできます。 Markdown エディターを完全に使用するブログ プラットフォームには、Ghost や Typecho などがあります。

ドキュメントを作成し、「README.MD」というファイル名でソフトウェアのディレクトリに保存するために使用されます。

さらに、RStudio のような神レベルのエディターを手に入れたので、Markdown を音声 PPT、Word 製品ドキュメント、LaTex 論文にすばやく変換し、非常に少量のコードで使用可能な最小のプロトタイプを完成させることもできます。データ サイエンスの分野では、マークダウンは科学研究の標準として確立され、動的再現性研究の歴史的プロセスを大きく前進させました。

TagHelper

Markdown を HTML に変換するための Razor TagHelper を作成します。ここでは、CommonMark thisクラス ライブラリを使用する必要があります。


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


使い方

まず、次のように、この TagHelper を _ViewImports.cshtml に追加します


@addTagHelper *, ZKEACMS.Message


直接使いました


りー


Razor TagHelper を使用して Markdown を HTML に変換する上記の方法は、エディターによって共有されるすべてのコンテンツです。参考にしていただければ幸いです。また、PHP 中国語 Web サイトをサポートしていただければ幸いです。

関連する推奨事項:

ASP.NET Core Razor ページ ルーティングの詳細な紹介

ASP.NET Core Razor ページ ルーティングの詳細な紹介

Asp.net の Razor についてMVC による問題の解決策

以上がRazor TagHelper による Markdown から HTML への変換方法_実践的なヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。