Как редактировать Markdown на C#

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


Как добавить элемент в файл MD на C#

Используя библиотеку C#, вы можете программно редактировать файлы MD – изменять структуру и содержимое документа. В следующем примере кода C# показано, как добавить новый абзац в документ MD:

Код C# для редактирования файлов MD

    // Specify the path to the source MD file
    var input = @"C:\temp\document.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 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("New paragraph text.");
    paragraphSyntaxNode.AppendChild(textSyntaxNode);

    // Add the paragraph 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-add-paragraph.md");

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



Шаги по созданию и добавлению элемента в документ MD на C#

Рассмотрим простые шаги по редактированию существующего документа MD. В документ добавится новый текстовый абзац:

  1. Укажите путь к исходному файлу MD и используйте MarkdownParser() для инициализации нового экземпляра класса MarkdownParser.
  2. Вызовите метод ParseFile(), чтобы проанализировать Markdown и получить синтаксическое дерево.
  3. Используйте свойство SyntaxFactory, чтобы получить фабрику синтаксиса для создания новых элементов.
  4. Создайте новый абзац с помощью конструктора Paragraph(). Создайте и добавьте текстовое содержимое для нового абзаца.
  5. Используйте метод InsertBefore(), чтобы добавить абзац перед первым элементом синтаксического дерева.
  6. Сохраните отредактированный файл MD с помощью метода Save().

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

Давайте посмотрим, как отредактировать первый элемент в файле MD ( document.md ). Первый элемент в файле – заголовок, уровень 3. Отредактированный файл вы найдете по ссылке – output-edit-header.md .

Код C# для редактирования файлов MD

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

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

    // Parse the MD document and get a 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("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, "output-edit-header.md");

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



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

Markdown – это простой язык разметки, который позволяет форматировать обычный текст. Файлы MD используют язык Markdown, который был предложен и разработан Джоном Грубером. Джон Грубер разработал синтаксис форматирования Markdown с целью сделать его максимально читабельным. Markdown часто используется в качестве формата для документации и файлов readme, поскольку он позволяет писать в удобном для чтения и написания стиле. Кроме того, файлы MD можно преобразовать в HTML, PDF, XPS или изображения, чтобы использовать преимущества других форматов для конкретных задач.

Чтобы узнать больше об Aspose.HTML API, посетите нашу документацию. Вы можете скачать примеры из репозитория GitHub. Они имеют открытый исходный код и могут свободно использоваться в ваших собственных приложениях.

Статья документации Синтаксис Markdown содержит информацию об основных элементах Markdown, подробности и примеры синтаксиса Markdown.


FAQ

1. Как редактировать MD на C#?

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

2. Где я могу найти дополнительную информацию о редактировании MD?

Ознакомьтесь с нашей документацией, чтобы узнать больше об использовании Aspose.HTML for .NET API для редактирования MD. Если у вас есть вопросы о функциональности, обнаруженных проблемах или вам нужна новая функция, начните обсуждение на нашем бесплатном форуме поддержки.

3. Можно ли редактировать MD на Linux, Mac OS, Android или iOS?

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

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

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



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

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

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

Aspose.HTML for .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.