Як створити заголовок 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 на C#

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

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

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



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

Давайте розглянемо прості кроки для створення заголовка Markdown:

  1. Створіть новий заголовок за допомогою AtxHeading(string, int) конструктора Клас MarkdownSyntaxFactory. Він створює AtxHeadingSyntaxNode з текстовим вмістом і рівнем заголовка.
  2. Створіть елемент newLineTrivia для порожнього рядка після заголовка. Використовуйте конструктор NewLineTrivia().
  3. Викличте метод Add() класу SyntaxNodeCollection, щоб додати вузол newLineTrivia до елемента заголовка.
  4. Після того, як усі вузли заголовків зібрано в один елемент, додайте його до синтаксичного дерева документа.

Редагування заголовка Markdown на C#

У наступному прикладі коду C# показано, як редагувати заголовок Markdown в існуючому документі MD:

Код C# для додавання заголовка Markdown

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

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

Щоб дізнатися більше про 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» вище.