TabBlazor.Markdown
1.7.63-beta
dotnet add package TabBlazor.Markdown --version 1.7.63-beta
NuGet\Install-Package TabBlazor.Markdown -Version 1.7.63-beta
<PackageReference Include="TabBlazor.Markdown" Version="1.7.63-beta" />
<PackageVersion Include="TabBlazor.Markdown" Version="1.7.63-beta" />
<PackageReference Include="TabBlazor.Markdown" />
paket add TabBlazor.Markdown --version 1.7.63-beta
#r "nuget: TabBlazor.Markdown, 1.7.63-beta"
#:package TabBlazor.Markdown@1.7.63-beta
#addin nuget:?package=TabBlazor.Markdown&version=1.7.63-beta&prerelease
#tool nuget:?package=TabBlazor.Markdown&version=1.7.63-beta&prerelease
TabBlazor.Markdown
A Markdig renderer for the preview of TabBlazor's MarkdownEditor. The
editor itself is in the TabBlazor package; without a renderer it works but has no preview.
builder.Services.AddTabBlazor();
builder.Services.AddTabBlazorMarkdown();
<MarkdownEditor @bind-Value="model.Description" Label="Description" Mode="MarkdownEditorMode.Split" />
The renderer is a plain IMarkdownRenderer, so it also renders saved markdown elsewhere:
@inject IMarkdownRenderer Markdown
<div class="markdown">@Markdown.Render(article.Body)</div>
Safe by default
Markdown typed by users ends up as HTML in other users' browsers, so the renderer:
- shows raw HTML as text (
<script>appears as typed instead of running); - lets links use only
http,httpsandmailto, and images onlyhttpandhttps. Relative URLs are always allowed. Other links (such asjavascript:) point to#, and other images have no source; - leaves out Markdig extensions that write raw attributes, such as generic attributes (
{onclick=…}).
The pipeline is CommonMark plus pipe tables, task lists, strikethrough and automatic links.
Options
builder.Services.AddTabBlazorMarkdown(options =>
{
options.SoftLineBreaksAsHardLineBreaks = true; // line breaks like GitHub comments
options.AllowedImageUrlSchemes.Add("data"); // images stored inline as data URLs
options.ConfigurePipeline = pipeline => pipeline.UseFootnotes();
});
Raw HTML
To let raw HTML through, pass a sanitizer. The renderer runs it on the rendered HTML. For example, with the HtmlSanitizer package:
var sanitizer = new Ganss.Xss.HtmlSanitizer();
builder.Services.AddTabBlazorMarkdown(options => options.AllowHtml(sanitizer.Sanitize));
HtmlSanitizer is not a dependency of this package: it pulls in AngleSharp, which adds a lot to a WebAssembly download, and most apps do not need raw HTML.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.7.63-beta | 45 | 11/9/2026 |