Як створити параграф Markdown на C#

Бібліотека Aspose.HTML for .NET – це окреме рішення, яке дозволяє аналізувати та маніпулювати файлами Markdown без використання іншого програмного забезпечення. Ви можете створити документ Markdown з нуля, відкрити з локального файлу та маніпулювати, вставляючи нові елементи, видаляючи або редагуючи вміст існуючих вузлів.
Використовуйте Aspose.Html.Toolkit.Markdown.Syntax і Aspose.Html.Toolkit.Markdown.Parser простори імен для забезпечення повного синтаксичного аналізу Markdown і керування синтаксичним деревом MD на основі специфікації GitHub Flavored Markdown (GFM).


Як додати Markdown Paragraph на C#

Використовуючи бібліотеку C#, ви можете програмно редагувати MD-файли – змінювати структуру та вміст документа. Створення елемента абзацу MD на C# має особливість. Особливістю є те, що абзац потрібно зібрати з кількох вузлів, таких як текстові вузли, проміжки між текстовими вузлами та порожній рядок після абзацу. Давайте розглянемо створення нового документа Markdown з нуля та додавання до нього двох абзаців.

Код C# для редагування файлів MD

    // 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);



Кроки для створення параграфу Markdown на C#

Нагадуємо, що параграф потрібно зібрати зі складових вузлів. Розглянемо прості кроки, щоб створити Markdown Paragraph:

  1. Створіть новий порожній вузол абзацу за допомогою конструктора Paragraph() у SyntaxFactory.
  2. Використовуйте конструктор Text(), щоб створити текстові вузли для абзацу.
  3. Викличте метод AppendChild() класу MarkdownSyntaxNode, щоб додати текстові вузли та пробіли в абзац.
  4. Використовуйте конструктор Whitespace(), щоб створити пробіл між текстовими вузлами в параграфі.
  5. Створіть і додайте елемент newLineTrivia для порожнього рядка після абзацу. Використовуйте конструктор NewLineTrivia() і метод Add().
  6. Після того, як усі вузли абзаців будуть зібрані в один елемент, додайте його до синтаксичного дерева документа.

Додайте Markdown Paragraph на C#

У наведеному нижче прикладі коду 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);

Документація

Щоб дізнатися більше про API Aspose.HTML, відвідайте наш посібник із документації . Markdown – це проста мова розмітки, яка дозволяє форматувати звичайний текст. Стаття документації Markdown Syntax містить інформацію про основні елементи Markdown, деталі та приклади синтаксису Markdown.


Установлення Aspose.HTML for .NET

Установіть Aspose.HTML for .NET з NuGet за допомогою .NET CLI:

dotnet add package Aspose.HTML

Також можна скористатися інтерфейсом диспетчера пакетів NuGet або виконати Install-Package Aspose.HTML у консолі диспетчера пакетів. Докладні інструкції наведено в посібнику зі встановлення . Щоб оцінити API без обмежень ознайомлювальної версії, запросіть тимчасову ліцензію .

Системні вимоги

Наші API підтримуються на всіх основних платформах і операційних системах. Перш ніж виконувати код, переконайтеся, що у вашій системі є такі передумови.

  • Microsoft Windows або сумісна ОС з платформами .NET Framework, .NET Core, Windows Azure, Mono або Xamarin.
  • Середовище розробки, наприклад Microsoft Visual Studio.
  • Aspose.HTML for .NET DLL, на який посилається ваш проект – Встановіть із NuGet за допомогою кнопки «Download» вище.