Как создать тексты Markdown на C#

Как и HTML, Markdown — это язык разметки. В отличие от HTML, Markdown стремится быть как можно более читабельным. К тексту можно применять жирный шрифт, курсив, кавычки и зачеркивание. Их также можно использовать в комбинации, чтобы использовать несколько стилей одновременно. Библиотека Aspose.HTML для .NET — это автономное решение, позволяющее анализировать файлы Markdown и управлять ими без использования другого программного обеспечения. Вы можете создать документ Markdown с нуля, открыть его из локального файла и манипулировать им, вставляя новые элементы, удаляя или редактируя содержимое существующих узлов.

Класс MarkdownSyntaxFactory содержит методы для создания различных элементов Markdown. Для создания заголовков вы можете использовать метод AtxHeading() , который создает заголовок Atx. Синтаксический узел с текстовым содержимым. Вы можете использовать метод Emphasis(), который принимает в качестве параметра перечисление Emphasis значения, чтобы сделать текст полужирным или курсивом, и многое другое. Здесь мы рассмотрим несколько примеров работы с текстом Markdown на C#.


Текст Markdown на C#

Используя библиотеку C#, вы можете программно редактировать файлы MD — изменять структуру и содержимое документа. Давайте рассмотрим создание нового документа Markdown с нуля и добавление в него текстов.

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

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



Шаги по созданию текста Markdown на C#

Рассмотрим несколько простых шагов для создания текстов Markdown:

  1. Создайте MarkdownSyntaxTree с помощью конструктора MarkdownSyntaxTree().
  2. Используйте свойство SyntaxFactory, чтобы получить фабрику для создания синтаксического дерева Markdown.
  3. Создайте новый заголовок с помощью конструктора AtxHeading(string, int) Класс MarkdownSyntaxFactory . Он создает AtxHeadingSyntaxNode с текстовым содержимым и уровнем заголовка.
  4. Создайте элемент newLineTrivia для пустой строки после заголовка. Используйте конструктор NewLineTrivia().
  5. Вызовите метод Add() класса SyntaxNodeCollection, чтобы добавить узел newLineTrivia в элемент заголовка.
  6. После того, как все узлы заголовков собраны в один элемент, добавьте его в синтаксическое дерево документа.
  7. Создайте новый пустой узел абзаца, используя конструктор Paragraph() в SyntaxFactory.
  8. Используйте конструктор Text() для создания текстовых узлов для абзаца.
  9. Используйте конструктор Whitespace(), чтобы создать пространство между текстовыми узлами в абзаце.
  10. Вызовите метод AppendChild() класса MarkdownSyntaxNode, чтобы добавить текстовые узлы и пробелы. в абзац.
  11. После того, как все узлы абзаца собраны в один элемент, добавьте его в синтаксическое дерево документа. Вызовите метод AppendChild() класса MarkdownSyntaxNode.

Создание блочной цитаты Markdown на C#

В следующем примере кода C# показано, как создать блочную цитату Markdown.

Код C# для добавления цитаты Markdown

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

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 с помощью кнопки «Загрузить» выше.