如何在 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# 中创建 MD 段落元素有一个特点。特点是段落需要由几个节点拼装而成,比如文本节点、文本节点之间的空格、段落后的空行。让我们看看从头开始创建一个新的 Markdown 文档并向其中添加两个段落。

编辑MD文件的C#代码

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

    // Use the SyntaxFactory property to get the factory for creating the Markdown syntax tree
    var mdf = md.SyntaxFactory;

    // Create an empty paragraph1
    var paragraph1 = mdf.Paragraph();

    // Add texts to the paragraph1
    paragraph1.AppendChild(mdf.Text("The first sentence of the first paragraph."));
    // Add a space after the first sentence in the paragraph through a special WhiteSpace node
    paragraph1.AppendChild(mdf.Whitespace());

    paragraph1.AppendChild(mdf.Text("The second sentence of the first paragraph."));

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

    // Add the filled paragraph1 into MD document
    md.AppendChild(paragraph1);

    // Create an empty paragraph2
    var paragraph2 = mdf.Paragraph();

    // Add texts to the paragraph2
    paragraph2.AppendChild(mdf.Text("The first sentence of the second paragraph."));
    // Add a space after the first sentence in the paragraph through a special WhiteSpace node
    paragraph2.AppendChild(mdf.Whitespace());

    paragraph2.AppendChild(mdf.Text("The second sentence of the second paragraph."));

    // Add newLineTrivia element for an empty line after paragraph2             
    paragraph2.GetTrailingTrivia().Add(newLineTrivia);

    // Add the filled paragraph2 into MD document as a last child
    md.AppendChild(paragraph2);

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

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



在 C# 中创建 Markdown 段落的步骤

我们提醒您,段落需要由组件节点组装而成。考虑创建 Markdown 段落的简单步骤:

  1. 在 SyntaxFactory 中使用 Paragraph() 构造函数创建一个新的空段落节点。
  2. 使用 Text() 构造函数为段落创建文本节点。
  3. 调用MarkdownSyntaxNode类的 AppendChild() 方法添加文本节点和空格成段落。
  4. 使用 Whitespace() 构造函数在段落中的文本节点之间创建空间.
  5. 为段落后的空行创建并添加 newLineTrivia 元素。使用 NewLineTrivia() 构造函数和 Add() 方法。
  6. 将所有段落节点收集到一个元素后,将其添加到文档语法树中。

在 C# 中将 Markdown 段落添加到现有的 MD 文件

以下 C# 代码示例显示了如何在现有 MD 文档中添加段落:

C#代码添加段落

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

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

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

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

    // Create a new empty paragraph 
    var paragraphSyntaxNode = syntaxFactory.Paragraph();

    // Create and add newLineTrivia element for an empty line after paragraph 
    var newLineTrivia = syntaxFactory.NewLineTrivia();            
    paragraphSyntaxNode.GetTrailingTrivia().Add(newLineTrivia);
            
    // Create text content for the paragraph 
    var textSyntaxNode = syntaxFactory.Text("Markdown language is simple to learn. It has minimal extra characters, so you can quickly write and make fewer errors.");

    // Add text into paragraph
    paragraphSyntaxNode.AppendChild(textSyntaxNode);

    // Add paragraph to MD document before the first element of the syntax tree
    syntaxTree.InsertBefore(paragraphSyntaxNode, syntaxTree.FirstChild);

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

    // Save Markdown 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 安装。