Articles in this section
Category / Section

How to convert Markdown string to HTML using Blazor Rich Text Editor?

3 mins read

Markdown editor to HTML

Blazor Markdown Editor is an intuitive and light-weight component that provides option for md to HTML conversion. It allows the content to be in the markdown format. The typed markdown syntax content can be previewed using a third-party plugin. The Blazor Rich Text Editor Component can be used as a Blazor WYSIWYG Markdown Editor (md editor).

In this knowledge base, we are going to integrate the Markdig third-party library into our Blazor Rich Text Editor’s Markdown editor (MD editor) to preview the Markdown.

What is Markdig?

Markdig is one of the fastest third-party libraries for parsing and converting Markdown plain text to HTML string. For more information, please go through this Markdig GitHub link.

Create a Blazor server-side application

First, create a Blazor server-side application and configure the Syncfusion Blazor services.

Configure the Blazor Rich Text Editor’s Markdown editor

Enable the Syncfusion Blazor Rich Text Editor to function as a Markdown editor:

  1. Set the EditorMode as EditorMode.Markdown.
    <SfRichTextEditor EditorMode="EditorMode.Markdown">
    </SfRichTextEditor>
    

 

  1. Then, set the SaveInterval to 1 to convert and trigger the ValueChange event every second.
    <SfRichTextEditor SaveInterval="1" EditorMode="EditorMode.Markdown" Height="100%" @bind-Value="@mdValue">
          ……
          …….
    </SfRichTextEditor>
    

 

  1. Configure the most-used toolbar items like Bold and Italic for the SfRichTextEditor Markdown editor.
    private List<ToolbarItemModel> tools = new List<ToolbarItemModel>()
    {
         new ToolbarItemModel() { Command = ToolbarCommand.Bold },
         new ToolbarItemModel() { Command = ToolbarCommand.Italic },
         new ToolbarItemModel() { Command = ToolbarCommand.StrikeThrough },
         new ToolbarItemModel() { Command = ToolbarCommand.SubScript },
    …..
     };
    

 

  1. Then, render the Markdown editor.
    <SfRichTextEditor SaveInterval="1" EditorMode="EditorMode.Markdown" Height="100%" @bind-Value="@mdValue">
       <RichTextEditorEvents ValueChange="onValueChange"></RichTextEditorEvents>
       <RichTextEditorToolbarSettings Items="@tools" Type="ToolbarType.MultiRow"></RichTextEditorToolbarSettings>
    </SfRichTextEditor>
    

 

Render another Rich Text Editor in the right side to preview the Markdown editor without a toolbar.

<SfRichTextEditor Readonly="true" Height="100%" @bind-Value="@htmlValue">
   <RichTextEditorToolbarSettings Enable="false"></RichTextEditorToolbarSettings>
</SfRichTextEditor>

 

Add the Markdig library

To import the Markdig namespace, install the Markdig NuGet package in your application as shown.

Note:

dotnet add package Markdig --version 0.22.0

 

Show live preview

Convert the Rich Text Editor’s Markdown plain text to HTML string using the Markdig library. Then, bind the resultant HTML string to the Rich Text Editor Markdown preview on the right side to preview the HTML content.

private MarkdownPipeline pipeline { get; set; }
 private string htmlValue { get; set; }
 protected override void OnInitialized()
 {
    pipeline = new MarkdownPipelineBuilder().UseAdvancedExtensions().Build();
    this.htmlValue = Markdig.Markdown.ToHtml(mdValue, pipeline);
    base.OnInitialized();
 }

 

Convert the Markdown plain text to HTML string in the ValueChange event of the left-side Rich Text Editor.

private void onValueChange(Syncfusion.Blazor.RichTextEditor.ChangeEventArgs args)
    {
        if (args.Value == null)
        {
            this.htmlValue = null;
        }
        else
        {
            this.htmlValue = Markdig.Markdown.ToHtml(args.Value, pipeline);
        }
    }

 

Live preview of markdown in Blazor


Conclusion

I hope you enjoyed learning how to convert Markdown string to HTML using Blazor Rich Text Editor.

You can refer to our Blazor Rich Text Editor feature tour page to know about its other groundbreaking feature representations and documentation, and how to quickly get started for configuration specifications. You can also explore our Blazor Rich Text Editor example to understand how to create and manipulate data.

For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.

If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forumsDirect-Trac, or feedback portal. We are always happy to assist you!


Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments
Please  to leave a comment
Access denied
Access denied