您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么在Razor TagHelper中將Markdown轉(zhuǎn)換為HTML,億速云小編覺得不錯(cuò),現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨億速云小編來看看吧!
Markdown是一種可以使用普通文本編輯器編寫的標(biāo)記語言,通過簡(jiǎn)單的標(biāo)記語法,它可以使普通文本內(nèi)容具有一定的格式。
用途
Markdown的語法簡(jiǎn)潔明了、學(xué)習(xí)容易,而且功能比純文本更強(qiáng),因此有很多人用它寫博客。世界上最流行的博客平臺(tái)WordPress和大型CMS如Joomla、Drupal都能很好的支持Markdown。完全采用Markdown編輯器的博客平臺(tái)有Ghost和Typecho。
用于編寫說明文檔,并且以“README.MD”的文件名保存在軟件的目錄下面。
除此之外,現(xiàn)在由于我們有了RStudio這樣的神級(jí)編輯器,我們還可以快速將Markdown轉(zhuǎn)化為演講PPT、Word產(chǎn)品文檔、LaTex論文甚至是用非常少量的代碼完成最小可用原型。在數(shù)據(jù)科學(xué)領(lǐng)域,Markdown已經(jīng)被確立為科學(xué)研究規(guī)范,極大地推進(jìn)了動(dòng)態(tài)可重復(fù)性研究的歷史進(jìn)程。
TagHelper
寫一個(gè)Razor TagHelper來實(shí)現(xiàn)Markdown轉(zhuǎn)HTML,這里需要使用到CommonMark. NET這個(gè)類庫。
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加入這個(gè)TagHelper,像這樣
@addTagHelper *, ZKEACMS.Message
然后就可以直接使用了
<markdown>@item.CommentContent</markdown>
以上就是億速云小編為大家收集整理的怎么在Razor TagHelper中將Markdown轉(zhuǎn)換為HTML,如何覺得億速云網(wǎng)站的內(nèi)容還不錯(cuò),歡迎將億速云網(wǎng)站推薦給身邊好友。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。