视觉开发不可不知——Markding

  Markding是一个为 .NET 平台设计的高性能、功能丰富的 Markdown 解析器和渲染器。它的主要作用是将 Markdown 文本转换为 HTML 或其他格式。

1、主要特点

  高性能:采用优化的解析方式,即使在处理大型文件时也能保持出色的速度。
  高兼容性:完全兼容 CommonMark 规范,确保了 Markdown 文档在不同平台间的一致性。
  强扩展性:内置了超过 20 种扩展,并允许开发者自定义解析和渲染逻辑,灵活满足各种需求。
  易于使用:提供了简洁的 API,可以快速上手。

2、应用场景

  • 博客系统:作为后台 Markdown 处理器,将用户撰写的文章转换为 HTML 进行展示
  • 文档生成:自动化生成技术文档或 API 手册
  • Markdown 编辑器:利用其解析能力,开发带有实时预览功能的编辑器

3、GitHub 地址

  Markdig 的官方仓库地址是:https://github.com/xoofx/markdig  

  Markdig 采用的是 BSD-2-Clause 协议。
  这是一个非常宽松的开源协议,意味着你可以:
    免费用于商业项目。
    修改源代码。
    分发代码。
    主要义务:通常只需要在分发时保留原始的版权声明和许可声明即可。

4、简单Demo

using System;
using Markdig;
using Markdig.Extensions.TaskLists; // 引用任务列表扩展命名空间(可选,用于强类型处理)

namespace MarkdigDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1. 准备一段包含扩展语法(表格、任务列表、引用)的 Markdown 文本
            string markdownContent = @"
### Markdig 演示

这是一个支持扩展语法的演示。

#### 任务列表
- [x] 安装 Markdig 库
- [x] 编写 C# 代码
- [ ] 部署到服务器

#### 管道表格
| 功能 | 状态 |
| :--- | :--- |
| 高性能解析 | ✅ 完成 |
| CommonMark 兼容 | ✅ 完成 |

> **提示**: Markdig 非常易于集成。
";

            // 2. 配置管道 (Pipeline)
            // 使用 UseAdvancedExtensions() 可以一键开启表格、脚注、任务列表等多种扩展
            var pipeline = new MarkdownPipelineBuilder()
                .UseAdvancedExtensions() 
                .Build();

            // 3. 转换为 HTML
            string htmlContent = Markdown.ToHtml(markdownContent, pipeline);

            // 4. 输出结果
            Console.WriteLine("=== 转换后的 HTML ===");
            Console.WriteLine(htmlContent);
            
            // 保持控制台窗口打开
            Console.ReadKey();
        }
    }
}

  

posted @ 2026-04-23 13:56  echo-efun  阅读(28)  评论(0)    收藏  举报