国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Razor TagHelper實現Markdown轉HTML的方法

2024-07-10 13:32:48
字體:
來源:轉載
供稿:網友

Markdown是一種可以使用普通文本編輯器編寫的標記語言,通過簡單的標記語法,它可以使普通文本內容具有一定的格式。

用途

Markdown的語法簡潔明了、學習容易,而且功能比純文本更強,因此有很多人用它寫博客。世界上最流行的博客平臺WordPress和大型CMS如Joomla、Drupal都能很好的支持Markdown。完全采用Markdown編輯器的博客平臺有Ghost和Typecho。

用于編寫說明文檔,并且以“README.MD”的文件名保存在軟件的目錄下面。

除此之外,現在由于我們有了RStudio這樣的神級編輯器,我們還可以快速將Markdown轉化為演講PPT、Word產品文檔、LaTex論文甚至是用非常少量的代碼完成最小可用原型。在數據科學領域,Markdown已經被確立為科學研究規范,極大地推進了動態可重復性研究的歷史進程。

TagHelper

寫一個Razor TagHelper來實現Markdown轉HTML,這里需要使用到CommonMark. NET這個類庫。

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

使用方式

首先要在_ViewImports.cshtml加入這個TagHelper,像這樣

@addTagHelper *, ZKEACMS.Message

然后就可以直接使用了

<markdown>@item.CommentContent</markdown>

以上這篇Razor TagHelper實現Markdown轉HTML的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。

 

注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 晋中市| 甘南县| 蒙自县| 靖江市| 云南省| 崇州市| 达孜县| 舞钢市| 长顺县| 永寿县| 邳州市| 剑河县| 马边| 虞城县| 龙山县| 伊宁县| 会理县| 海丰县| 伊春市| 长白| 盐边县| 锡林浩特市| 彰武县| 曲水县| 航空| 七台河市| 平凉市| 河西区| 凌云县| 吐鲁番市| 东山县| 淮北市| 蒙城县| 常山县| 甘南县| 类乌齐县| 泗阳县| 桂东县| 松潘县| 东城区| 客服|