如何在 C# 中创建 Markdown 文本
与 HTML 一样,Markdown 是一种标记语言。与 HTML 不同,Markdown 的目标是尽可能的可读。您可以对文本应用粗体、斜体、引号和删除线。它们也可以组合使用以同时使用多种样式。
Aspose.HTML for .NET
库是一个独立的解决方案,允许您在不使用其他软件的情况下解析和操作 Markdown 文件。您可以从头开始创建 Markdown 文档,从本地文件打开它,并通过插入新元素、删除或编辑现有节点的内容来操作它。
MarkdownSyntaxFactory 类包含创建各种 Markdown 元素的方法。对于标题创建,您可以使用创建 Atx 标题的 AtxHeading() 方法带有文本内容的语法节点。您可以使用 Emphasis() 方法,该方法将 Emphasis 枚举作为参数使文本变为粗体或斜体等的值。在这里,我们将查看一些有关如何使用 Markdown 文本的 C# 示例。
C# 中的 Markdown 文本
使用 C# 库,您可以以编程方式编辑 MD 文件 – 更改文档结构和内容。让我们看看从头开始创建一个新的 Markdown 文档并向其中添加文本。
用于创建 Markdown 文本的 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;
var header = mdf.AtxHeading("How to create Markdown Text in C#?", 2);
// Create and add newLineTrivia element for an empty line after header
var newLineTrivia = mdf.NewLineTrivia();
header.GetTrailingTrivia().Add(newLineTrivia);
// Add the headers to the Markdown syntax tree
md.AppendChild(header);
// Create an empty paragraph
var paragraph = mdf.Paragraph();
// Add texts to the paragraph
paragraph.AppendChild(mdf.Text("First, add an Aspose.HTML for .NET library reference to your C# project."));
// Add a space after the first sentence in the paragraph through a special WhiteSpace node
paragraph.AppendChild(mdf.Whitespace());
paragraph.AppendChild(mdf.Text("Then create the Markdown Syntax Tree and use the SyntaxFactory property to get a syntax factory to create new elements."));
// Add the filled paragraph into MD document
md.AppendChild(paragraph);
// Prepare a path for MD file saving
string savePath = Path.Combine(OutputDir, "markdown-text.md");
// Save MD file
md.Save(savePath);
在 C# 中创建 Markdown 文本的步骤
让我们考虑几个简单的步骤来创建 Markdown 文本:
- 使用 MarkdownSyntaxTree() 构造函数创建 MarkdownSyntaxTree。
- 使用 SyntaxFactory 属性获取用于创建 Markdown 语法树的工厂。
- 使用 AtxHeading(string, int) 的构造函数创建一个新标头 MarkdownSyntaxFactory 类。它创建具有文本内容和标题级别的 AtxHeadingSyntaxNode。
- 为标题后的空行创建一个 newLineTrivia 元素。使用 NewLineTrivia() 构造函数。
- 调用 SyntaxNodeCollection 类的 Add() 方法将 newLineTrivia 节点添加到标题元素中。
- 将所有头节点收集到一个元素后,将其添加到文档语法树中。
- 使用 SyntaxFactory 中的 Paragraph() 构造函数创建一个新的空段落节点。
- 使用 Text() 构造函数为段落创建文本节点。
- 使用 Whitespace() 构造函数在段落中的文本节点之间创建空间.
- 调用MarkdownSyntaxNode类的 AppendChild() 方法添加文本节点和空格成段落。
- 将所有段落节点收集到一个元素后,将其添加到文档语法树中。调用 MarkdownSyntaxNode 类的 AppendChild() 方法。
在 C# 中创建 Markdown 块引用
以下 C# 代码示例显示了如何创建 Markdown 块引用。
用于添加 Markdown 块引用的 C# 代码
// Create the MarkdownSyntaxTree
var markdown = new MarkdownSyntaxTree(new Configuration());
// Create a Markdown syntax factory
var mdf = markdown.SyntaxFactory;
// Create a blockQuote object
var blockQuote = mdf.BlockQuote();
// Add a leading trivia token blockquote
blockQuote.GetLinesLeadingTrivia().Add(mdf.Token(SourceText.From("> ")));
// Create a paragraph with text content
var paragraph = mdf.Paragraph();
paragraph.AppendChild(mdf.Text("For blockquote creation, you should put a sign `>` before the first line of a hard-wrapped paragraph.."));
// Add paragraph into blockQuote
blockQuote.AppendChild(paragraph);
// Add blockQuote object into MD document
markdown.AppendChild(blockQuote);
// Prepare a path for MD file saving
string savePath = Path.Combine(OutputDir, "markdown-blockquote.md");
// Save MD file
markdown.Save(savePath);
文档
要了解有关 Aspose.HTML API 的更多信息,请访问我们的
文档
指南。 Markdown 是一种简单的标记语言,可让您格式化纯文本。
Markdown 语法
文档文章提供了有关 Markdown 主要元素的信息、Markdown 语法的详细信息和示例。
FAQ
用于 Aspose.HTML for .NET 库是一个独立的解决方案,用于处理不依赖于其他软件的 Markdown 文档。安装我们的 C# 库,将库引用添加到您的 C# 项目,并以编程方式处理 Markdown 文档
由于其多功能性,Markdown 在作家、开发人员和内容创作者中非常受欢迎。 其优点包括易于学习和使用的语法、可移植性、灵活性、可读性和可用性。 Markdown 简单直观,可以转换为 HTML、PDF 或其他格式。
您可以在任何操作系统上使用 Markdown 文档,无论您使用的是 Windows、Mac OS、Linux、Android 还是 iOS。
我们支持多种文件格式,您可以在 C# 中创建、打开、解析、编辑、保存或转换它们。这些是 HTML、XHTML、MHTML 和 Markdown 格式。
Aspose.HTML for .NET API 入门
您可以通过多种方式在系统上安装 Aspose.HTML for .NET 库:
- 使用 NuGet 包管理器 GUI 安装 NuGet 包。
- 使用包管理器控制台安装 NuGet 包。
- 通过 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 安装。