How to Create Markdown Link in C#

Aspose.HTML for .NET library is a stand-alone solution that allows you to parse and manipulate Markdown files without using other software. You can create a Markdown document from scratch, open from a local file and manipulate by inserting new elements, removing, or editing the content of existing nodes.
Use the Aspose.Html.Toolkit.Markdown.Syntax and Aspose.Html.Toolkit.Markdown.Parser namespaces to provide full Markdown parsing and MD syntax tree management based on the GitHub Flavored Markdown (GFM) specification.


How to Add Markdown Link in C#

Using the C# library, you can programmatically edit MD files – change the document structure and content. Let’s look at creating a new Markdown document from scratch and adding a link element to it.

C# code to add MD link

    // Create the MarkdownSyntaxTree
    var md = new MarkdownSyntaxTree(new Configuration());

    // Create a Markdown syntax tree
    var mdf = md.SyntaxFactory;

    var link = mdf.InlineLink("C# HTML Parser", "https://products.aspose.com/html/net/", "Aspose.HTML  for .NET\r\nC# API to Parse HTML Files");

    // Add link into MD document
    md.AppendChild(link);

    // Prepare a path for MD file saving 
    string savePath = Path.Combine(OutputDir, "markdown-link.md");

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



Steps to Create Markdown Link in C#

Let’s consider a few simple steps to create Markdown link:

  1. Create the MarkdownSyntaxTree using MarkdownSyntaxTree() constructer.
  2. Use the SyntaxFactory property to get the factory for creating the Markdown syntax tree.
  3. Create a new link node. Use the InlineLink() constructor in SyntaxFactory and pass text, destination, and title to it as a parameters.
  4. Call the AppendChild() method of the MarkdownSyntaxNode class to add link node into the Markdown syntax tree.

Add Image as a Markdown Link in C#

The following C# example shows how to add an image as a link into MD document

C# code to add Markdown Image link

// Create the MarkdownSyntaxTree
    var markdown = new MarkdownSyntaxTree(new Configuration());

    // Create a link node and add it to Markdown syntax tree
    var link = markdown.SyntaxFactory.InlineLink("", "https://products.aspose.com/html/", "");
    markdown.AppendChild(link);

    // Create an image node and add it as a link
    var image = markdown.SyntaxFactory.InlineImage("Aspose.HTML High Code APIs", "https://products.aspose.com/html/images/headers/aspose_html-brand.svg", "Hyper Text Markup Language Solution");
    link.AppendChild(image);
            
    // Prepare a path for MD file saving 
    string savePath = Path.Combine(OutputDir, "markdown-image-link.md");

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

Documentation

To learn more about Aspose.HTML API, please visit our documentation guide. Markdown is a simple markup language that allows you to format plain text. The Markdown Syntax documentation article provides information on the main Markdown elements, details and examples of the Markdown syntax.


Get Started with Aspose.HTML for .NET API

Install Aspose.HTML for .NET from NuGet with the .NET CLI:

dotnet add package Aspose.HTML

You can also use the NuGet Package Manager UI or run Install-Package Aspose.HTML in the Package Manager Console. See the installation guide for setup details, or request a temporary license to evaluate the API without evaluation limitations.

System Requirements

Our APIs are supported on all major platforms and Operating Systems. Before executing the code, please ensure that you have the following prerequisites on your system.

  • Microsoft Windows or a compatible OS with .NET Framework, .NET Core, Windows Azure, Mono or Xamarin Platforms.
  • Development environment like Microsoft Visual Studio.
  • Aspose.Html for .NET DLL referenced in your project – Install from NuGet using the Download button above.