>백엔드 개발 >C#.Net 튜토리얼 >Markdown을 HTML로 변환하는 Razor TagHelper의 방법_실용적인 팁

Markdown을 HTML로 변환하는 Razor TagHelper의 방법_실용적인 팁

韦小宝
韦小宝원래의
2017-12-16 09:23:551885검색

아래 편집기는 Razor TagHelper를 사용하여 Markdown을 HTML로 변환하는 방법을 공유할 것입니다. 이는 좋은 참고 가치가 있으며 모든 사람에게 도움이 되기를 바랍니다.

마크다운은 일반적인 텍스트editor를 사용하여 작성할 수 있는 마크업 언어입니다. 간단한 마크업 구문을 통해 일반적인 텍스트 콘텐츠를 특정 형식으로 만들 수 있습니다.

Purpose

Markdown의 구문은 간결하고 명확하며 배우기 쉽고 기능도 일반 텍스트보다 강력하므로 많은 사람들이 이를 사용하여 블로그를 작성합니다. 세계에서 가장 인기 있는 블로그 플랫폼인 WordPress와 Joomla, Drupal과 같은 대형 CMS는 Markdown을 매우 잘 지원할 수 있습니다. Markdown 편집기를 완벽하게 사용하는 블로그 플랫폼에는 Ghost 및 Typecho가 있습니다.

문서를 작성하고 "README.MD"라는 파일 이름으로 소프트웨어 디렉토리에 저장하는 데 사용됩니다.

게다가 이제 RStudio와 같은 신 수준의 편집기가 있으므로 Markdown을 음성 PPT, Word 제품 문서, LaTex 문서로 빠르게 변환하고 아주 적은 양의 코드로 사용 가능한 가장 작은 프로토타입도 완성할 수 있습니다. 데이터 과학 분야에서 마크다운은 과학적 연구 표준으로 확립되어 동적 재현성 연구의 역사적 과정을 크게 발전시켰습니다.

TagHelper

Markdown을 HTML로 변환하려면 Razor TagHelper를 작성하세요. 여기서는 CommonMark.NETthis클래스 라이브러리를 사용해야 합니다.


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


직접 사용했어요


<markdown>@item.CommentContent</markdown>


위의 Razor TagHelper를 사용하여 Markdown을 HTML로 변환하는 방법은 모두 편집자가 공유한 내용이므로 참고가 되셨으면 좋겠습니다. PHP 중국어 홈페이지도 지원해 주시길 바랍니다.

관련 권장 사항:

ASP.NET Core Razor 페이지 라우팅에 대한 자세한 소개

ASP.NET Core Razor 페이지 라우팅에 대한 자세한 소개

Asp.net의 Razor 정보 문제에 대한 MVC 솔루션

위 내용은 Markdown을 HTML로 변환하는 Razor TagHelper의 방법_실용적인 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.