首页 后端开发 C#.Net教程 Razor TagHelper实现Markdown转HTML的方法_实用技巧

Razor TagHelper实现Markdown转HTML的方法_实用技巧

Dec 16, 2017 am 09:23 AM
markdown

下面小编就为大家分享一篇Razor TagHelper实现Markdown转HTML的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持PHP中文网。

相关推荐:

ASP.NET Core Razor页面路由的详细介绍

有关ASP.NET Core Razor页面路由的详细介绍

Asp.net MVC中关于Razor问题的解决方法

以上是Razor TagHelper实现Markdown转HTML的方法_实用技巧的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Vue3怎么解析markdown并实现代码高亮显示 Vue3怎么解析markdown并实现代码高亮显示 May 20, 2023 pm 04:16 PM

Vue实现博客前端,需要实现markdown的解析,如果有代码则需要实现代码的高亮。Vue的markdown解析库有很多,如markdown-it、vue-markdown-loader、marked、vue-markdown等。这些库都大同小异。这里选用的是marked,代码高亮的库选用的是highlight.js。具体实现步骤如下:一、安装依赖库在vue项目下打开命令窗口,并输入以下命令npminstallmarked-save//marked用于将markdown转换成htmlnpmins

Python如何构建一个Markdown编辑器 Python如何构建一个Markdown编辑器 May 13, 2023 am 09:58 AM

首先,请确保您已安装Python3和Tkinter。我们需要的其他东西是tkhtmlview和markdown2。您可以通过运行pipinstalltkhtmlviewmarkdown2或pip3installtkhtmlviewmarkdown2来安装它们(如果您有多个Python版本)。现在启动您喜欢的编辑器或IDE并创建一个新文件(例如www.linuxidc.com.py(我将其命名为linuxidc.com编辑器))。我们将从导入必要的库开始。fromtkinterimport*fro

聊聊VScode怎么配置Markdown(附基础语法) 聊聊VScode怎么配置Markdown(附基础语法) Dec 07, 2022 pm 03:40 PM

VScode中怎么使用markdown?下面本篇文章给大家介绍一下VScode配置Markdown的方法,并聊聊Markdown基础语法,希望对大家有所帮助!

怎么用PHP实现markdown转换 怎么用PHP实现markdown转换 Mar 24, 2023 pm 02:30 PM

随着人们对于技术的不断追求,越来越多的工具和应用程序被开发出来来帮助人们简化复杂的任务。其中之一就是 Markdown,它是一种轻量级的标记语言,可以将纯文本转换成 HTML 格式的文本。本文将介绍如何使用 PHP 来实现 Markdown 转换。

如何在ThinkPHP6中使用Markdown 如何在ThinkPHP6中使用Markdown Jun 20, 2023 pm 11:00 PM

在现代互联网时代的开发中,文档撰写已经逐渐从繁琐的HTML标签转变为更为简单且便于读写的Markdown语法。ThinkPHP6使用了高度灵活的模板引擎,提供了方便的Markdown扩展,使得在项目中使用Markdown文件编写和显示变得十分容易。什么是MarkdownMarkdown是一种轻量级的标记语言,可快速将纯文本编写的文档转化为HTML,以便进行在

用了这条Linux命令,老板直接给我的名字写到加薪名单 用了这条Linux命令,老板直接给我的名字写到加薪名单 Feb 27, 2024 pm 08:49 PM

概述在Linux系统中,我们频繁使用命令行来处理文件和目录。Markdown是一种简洁的标记语言,可快速创建和格式化文档。但要阅读和管理Markdown文件可能需要大量命令和参数,对初学者来说可能有些复杂。这时就可以使用glow命令来简化操作。glow是一个旨在简化在Linux终端中渲染Markdown文件的命令行工具。它的主要目标是为用户提供更直观、更易管理的Markdown文件阅读体验。glow带有一个用户友好的图形界面,让您可以更轻松地查看和管理Markdown文件。通过这一界面,您无需记

一份程序员必备的Markdown备忘单! 一份程序员必备的Markdown备忘单! Feb 16, 2023 am 11:22 AM

本篇文章给大家带来了关于Markdown的相关知识,其中主要内容就是总结分享大家一份Markdown备忘单,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

Java API 开发中使用 Markdown 进行文档管理 Java API 开发中使用 Markdown 进行文档管理 Jun 17, 2023 pm 11:39 PM

随着Java的广泛应用,越来越多的开发人员开始关注如何更好地管理和维护自己的代码库。其中,文档管理就是开发人员必须面对的一个重要问题。而对于JavaAPI开发人员而言,使用Markdown进行文档管理就是一个好的选择。本文将从以下三个方面来解释为什么JavaAPI开发中使用Markdown进行文档管理是一个明智的决策。Markdown的简单易用Markd

See all articles