如何在 C# 中创建 Markdown 标头

Aspose.HTML for .NET 库是一个独立的解决方案,允许您在不使用其他软件的情况下解析和操作 Markdown 文件。您可以从头开始创建 Markdown 文档,从本地文件打开并通过插入新元素、删除或编辑现有节点的内容来进行操作。
使用 Aspose.Html.Toolkit.Markdown.SyntaxAspose.Html.Toolkit.Markdown.Parser 命名空间以提供基于 GitHub Flavored Markdown (GFM) 规范的完整 Markdown 解析和 MD 语法树管理.


如何在 C# 中添加 Markdown 标头

使用 C# 库,您可以以编程方式编辑 MD 文件 - 更改文档结构和内容。在 C# 中创建 Markdown 标头元素有一个特性。特点是表头需要由几个节点拼装而成,比如文本节点、文本节点之间的空格、表头后面的空行。让我们看看从头开始创建一个新的 Markdown 文档并向其添加标题。

编辑MD文件的C#代码

     // Create the MarkdownSyntaxTree
    var markdown = new MarkdownSyntaxTree(new Configuration());

    // Get a SyntaxFactory to create new elements
    var mdf = markdown.SyntaxFactory;

    // Create headings of the required level
    var heading1 = mdf.AtxHeading("Heading 1 level text", 1);
    var heading2 = mdf.AtxHeading("Heading 2 level text", 2);
    var heading3 = mdf.AtxHeading("Heading 3 level text", 3);                       

    // Create and add newLineTrivia element for an empty line after headings 
    var newLineTrivia = mdf.NewLineTrivia();
    heading1.GetTrailingTrivia().Add(newLineTrivia);
    heading2.GetTrailingTrivia().Add(newLineTrivia);
    heading3.GetTrailingTrivia().Add(newLineTrivia);            

    // Add the headers to the Markdown syntax tree
    markdown.AppendChild(heading1);
    markdown.AppendChild(heading2);
    markdown.AppendChild(heading3);            

    // Prepare a path for MD file saving 
    string savePath = Path.Combine(OutputDir, "output-headers.md");

    // Save MD file
    markdown.Save(savePath);   



在 C# 中创建 Markdown 标头的步骤

让我们考虑创建 Markdown 标头的简单步骤:

  1. 使用 AtxHeading(string, int) 的构造函数创建一个新标头 MarkdownSyntaxFactory 类。它创建具有文本内容和标题级别的 AtxHeadingSyntaxNode。
  2. 为标题后的空行创建一个 newLineTrivia 元素。使用 NewLineTrivia() 构造函数。
  3. 调用 SyntaxNodeCollection 类的 Add() 方法将 newLineTrivia 节点添加到标题元素中。
  4. 将所有头节点汇集到一个元素后,将其添加到文档语法树中。

在 C# 中将 Markdown 标头编辑到现有的 MD 文件中

以下 C# 代码示例显示了如何在现有 MD 文档中编辑 Markdown 标头:

用于添加 Markdown 标头的 C# 代码

    // Specify the path to the source MD file
    var input = "C:/temp/document.md";

    // Create a MarkdownParser object
    var parser = new MarkdownParser();

    // Parse the document and get a Markdown syntax tree
    var syntaxTree = parser.ParseFile(input);

    // The first element of this document is AtxHeading
    var heading = (AtxHeadingSyntaxNode)syntaxTree.FirstChild;

    // Accumulate the text content from its elements
    var sb = new StringBuilder();

    while (heading.FirstChild != null)
    {
        sb.Append(heading.FirstChild);

        //  Remove accumulated first element from the tree
        heading.RemoveChild(heading.FirstChild);
    }

    // Get a SyntaxFactory to create new elements 
    var syntaxFactory = syntaxTree.SyntaxFactory;

    // Сreate a text node consisting of new and old text and add it as a child element of AtxHeading 
    var textSyntaxNode = syntaxFactory.Text("Added some new text! " + sb);
            
    // Add the new element to the document tree
    heading.AppendChild(textSyntaxNode);

    // Prepare a path for MD file saving 
    string savePath = Path.Combine(OutputDir, "edit-header.md");

    // Save MD file
    syntaxTree.Save(savePath);    

文档

要了解有关 Aspose.HTML API 的更多信息,请访问我们的 文档 指南。 Markdown 是一种简单的标记语言,可让您格式化纯文本。 Markdown 语法 文档文章提供了有关 Markdown 主要元素的信息、Markdown 语法的详细信息和示例。


FAQ

1. 如何在 C# 中创建、解析和编辑 Markdown?

用于 .NET 的 Aspose.HTML 库是一个独立的解决方案,用于处理不依赖于其他软件的 Markdown 文档。安装我们的 C# 库,将库引用添加到您的 C# 项目,并以编程方式处理 Markdown 文档

2. 为什么 Markdown 如此受欢迎?

由于其多功能性,Markdown 在作家、开发人员和内容创作者中非常受欢迎。 其优点包括易于学习和使用的语法、可移植性、灵活性、可读性和可用性。 Markdown 简单直观,可以转换为 HTML、PDF 或其他格式。

3. 我可以在 Linux、Mac OS、Android 或 iOS 上使用 Markdown 文件吗?

您可以在任何操作系统上使用 Markdown 文档,无论您使用的是 Windows、Mac OS、Linux、Android 还是 iOS。

4. Aspose.HTML C#库可以处理哪些文件格式?

我们支持多种文件格式,您可以在 C# 中创建、打开、解析、编辑、保存或转换它们。这些是 HTML、XHTML、MHTML 和 Markdown 格式。



.NET HTML API 入门

您可以使用多种方式在您的系统上安装适用于 .NET 的 Aspose.HTML 库:

  1. 使用 NuGet 包管理器 GUI 安装 NuGet 包
  2. 使用包管理器控制台安装 NuGet 包。
  3. 通过 MSI 安装 Aspose.HTML for .NET。

该库支持解析 HTML5、CSS3、SVG 和 HTML Canvas,以构建基于 WHATWG DOM 标准的文档对象模型 (DOM)。 Aspose.HTML for .NET 完全用 C# 编写,可用于构建任何类型的 32 位或 64 位 .NET 应用程序,包括 ASP.NET、WCF、WinForms 和 .NET Core。在运行 .NET 转换示例代码之前,请确保您拥有 Microsoft Windows 等操作系统或与 .NET Framework 或 .NET Standard 兼容的操作系统,以及 Microsoft Visual Studio 等开发环境。有关 C# 库安装和系统要求的更多详细信息,请参阅 Aspose.HTML 文档

系统要求

所有主要平台和操作系统都支持我们的 API。在执行代码之前,请确保您的系统具备以下先决条件。

  • Microsoft Windows 或具有 .NET Framework、.NET Core、Windows Azure、Mono 或 Xamarin 平台的兼容操作系统。
  • Microsoft Visual Studio 等开发环境。
  • Aspose.Html for .NET DLL 在您的项目中引用 - 使用上面的下载按钮从 NuGet 安装。