Как создать заголовок Markdown на C#

Библиотека Aspose.HTML для .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# показано, как редактировать заголовок Markdown в существующем документе MD:

Код С# для добавления заголовка 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);

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

Чтобы узнать больше об Aspose.HTML API, посетите нашу документацию. Markdown – это простой язык разметки, который позволяет форматировать обычный текст. Статья документации Синтаксис Markdown содержит информацию об основных элементах Markdown, подробности и примеры синтаксиса Markdown.


FAQ

1. Как создавать, анализировать и редактировать Markdown на C#?

Библиотека Aspose.HTML for .NET – это автономное решение для работы с файлами Markdown, которое не зависит от другого программного обеспечения. Установите нашу библиотеку C#, добавьте ссылку на библиотеку в свой проект C# и программно работайте с документами Markdown и управляйте ими.

2. Почему Markdown так популярен?

Markdown очень популярен среди писателей, разработчиков и создателей контента благодаря своей универсальности. Его преимущества включают простой для изучения и использования синтаксис, переносимость, гибкость и удобство использования. Markdown прост и интуитивно понятен и может быть конвертирован в HTML, PDF или другие форматы.

3. Могу ли я работать с файлами Markdown в Linux, Mac OS, Android или iOS?

Вы можете работать с документами Markdown в любой операционной системе, независимо от того, используете ли вы Windows, Mac OS, Linux, Android или iOS

4. Файлы каких форматов можно обрабатывать с помощью библиотеки Aspose.HTML C#?

Мы поддерживаем несколько форматов файлов, которые вы можете создавать, открывать, анализировать, редактировать, сохранять или конвертировать на C#. Это форматы HTML, XHTML, MHTML и Markdown



Начало работы с .NET HTML API

Вы можете использовать несколько способов установки библиотеки Aspose.HTML для .NET в вашей системе:

  • Установите пакет NuGet с помощью графического интерфейса диспетчера пакетов NuGet.
  • Установите пакет NuGet с помощью консоли диспетчера пакетов.
  • Установите Aspose.HTML для .NET через MSI.

Aspose.HTML для .NET поддерживает синтаксический анализ HTML5, CSS3, SVG и HTML Canvas для создания объектной модели документа (DOM) на основе стандарта WHATWG DOM. Библиотека полностью написана на C# и может использоваться для создания любого типа 32-битного или 64-битного приложения .NET, включая ASP.NET, WCF, WinForms и .NET Core. Прежде чем запускать код примера преобразования .NET, убедитесь, что у вас есть ОС, такая как Microsoft Windows, или совместимая с .NET Framework или .NET Standard, и среда разработки, такая как Microsoft Visual Studio. Дополнительные сведения об установке библиотеки C# и системных требованиях вы найдете в документации Aspose.HTML.


Системные Tребования

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

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