Як редагувати Markdown на C#

Бібліотека Aspose.HTML для .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);  



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

Щоб дізнатися більше про API Aspose.HTML, відвідайте наш посібник із документації. Ви можете завантажити C# приклади зі сховища GitHub. Вони мають відкритий вихідний код і можуть вільно використовуватися у ваших власних програмах.

Стаття документації Markdown Syntax містить інформацію про основні елементи Markdown, деталі та приклади синтаксису Markdown.

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


FAQ

1. Як я можу редагувати MD у C#?

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

2. Де я можу знайти більше інформації про редагування MD?

Перегляньте нашу документацію, щоб дізнатися більше про використання API Aspose.HTML для .NET для редагування MD. Якщо у вас є запитання щодо функціональності, виявлені проблеми або потрібна нова функція, почніть обговорення на нашому безкоштовному форумі підтримки.

3. Чи можу я редагувати файли MD на Linux, Mac OS, Android або iOS?

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

4. Які формати файлів можна редагувати за допомогою C# бібліотеки Aspose.HTML?

Ми підтримуємо кілька форматів файлів, які можна редагувати на C#, зокрема HTML, MHTML і Markdown.



Початок роботи з .NET HTML API

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

  1. Установіть пакет NuGet за допомогою графічного інтерфейсу користувача NuGet Package Manager.
  2. Встановіть пакет NuGet за допомогою консолі диспетчера пакетів. Ви можете використати таку команду PM> Install-Package Aspose.Html.
  3. Установіть Aspose.HTML для .NET через MSI.

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