Как редактировать 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, его редактирование и сохранение в поддерживаемом формате. Это могут быть разные сценарии, но это можно сделать с помощью нескольких обязательных шагов:
- Открыть или создать Markdown.
- Parse Markdown, чтобы получить синтаксическое дерево. Отредактируйте синтаксическое дерево Markdown, используя классы и методы в указанных выше пространствах имен.
- Сохранить MD или конвертировать 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. В документ добавится новый текстовый абзац:
- Укажите путь к исходному файлу MD и используйте MarkdownParser() для инициализации нового экземпляра класса MarkdownParser.
- Вызовите метод ParseFile(), чтобы проанализировать Markdown и получить синтаксическое дерево.
- Используйте свойство SyntaxFactory, чтобы получить фабрику синтаксиса для создания новых элементов.
- Создайте новый абзац с помощью конструктора Paragraph(). Создайте и добавьте текстовое содержимое для нового абзаца.
- Используйте метод InsertBefore(), чтобы добавить абзац перед первым элементом синтаксического дерева.
- Сохраните отредактированный файл 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
Библиотека Aspose.HTML for .NET – это автономное решение для редактирования MD, которое не зависит от другого программного обеспечения. Установите нашу библиотеку C#, добавьте ссылку на библиотеку в свой проект C# и программно редактируйте MD документы и управляйте ими.
Ознакомьтесь с нашей документацией, чтобы узнать больше об использовании Aspose.HTML for .NET API для редактирования MD. Если у вас есть вопросы о функциональности, обнаруженных проблемах или вам нужна новая функция, начните обсуждение на нашем бесплатном форуме поддержки.
Вы можете редактировать MD-документы в любой операционной системе, независимо от того, используете ли вы Windows, Mac OS, Linux, Android или iOS.
Мы поддерживаем несколько форматов файлов, которые вы можете редактировать на 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.
Другие поддерживаемые Редакторы
Редактировать файлы в других форматах файлов: