OfficeIMO.MarkdownRenderer
3.1.1
Prefix Reserved
dotnet add package OfficeIMO.MarkdownRenderer --version 3.1.1
NuGet\Install-Package OfficeIMO.MarkdownRenderer -Version 3.1.1
<PackageReference Include="OfficeIMO.MarkdownRenderer" Version="3.1.1" />
<PackageVersion Include="OfficeIMO.MarkdownRenderer" Version="3.1.1" />
<PackageReference Include="OfficeIMO.MarkdownRenderer" />
paket add OfficeIMO.MarkdownRenderer --version 3.1.1
#r "nuget: OfficeIMO.MarkdownRenderer, 3.1.1"
#:package OfficeIMO.MarkdownRenderer@3.1.1
#addin nuget:?package=OfficeIMO.MarkdownRenderer&version=3.1.1
#tool nuget:?package=OfficeIMO.MarkdownRenderer&version=3.1.1
OfficeIMO.MarkdownRenderer - WebView-friendly Markdown rendering
OfficeIMO.MarkdownRenderer is the host-oriented rendering package for OfficeIMO.Markdown. It builds full HTML shells, renders body fragments, parses renderer-owned Markdown documents, and produces update scripts for WebView2 and browser-based document/chat surfaces.
Install
dotnet add package OfficeIMO.MarkdownRenderer
For the first-party IntelligenceX preset pack:
dotnet add package OfficeIMO.MarkdownRenderer.IntelligenceX
Quick start
using OfficeIMO.MarkdownRenderer;
var options = MarkdownRendererPresets.CreateStrict();
string shellHtml = MarkdownRenderer.BuildShellHtml("Markdown", options);
string bodyHtml = MarkdownRenderer.RenderBodyHtml("""
# Hello
This is rendered through OfficeIMO.MarkdownRenderer.
""", options);
WebView update flow
using OfficeIMO.MarkdownRenderer;
var options = MarkdownRendererPresets.CreateStrict();
webView.NavigateToString(MarkdownRenderer.BuildShellHtml("Markdown", options));
await webView.ExecuteScriptAsync(MarkdownRenderer.RenderUpdateScript(markdownText, options));
Examples
Parse with renderer preprocessing and diagnostics
using OfficeIMO.Markdown;
using OfficeIMO.MarkdownRenderer;
var options = MarkdownRendererPresets.CreateRelaxed();
MarkdownRendererParseResult result = MarkdownRenderer.ParseDocumentResult(markdownText, options);
foreach (var diagnostic in result.PreProcessorDiagnostics) {
Console.WriteLine($"{diagnostic.Stage}: {diagnostic.ProcessorName} changed={diagnostic.Changed}");
}
MarkdownDoc document = result.Document;
foreach (var heading in document.GetHeadingInfos()) {
Console.WriteLine($"{heading.Text} -> {heading.Anchor}");
}
Render bounded HTML for a host-owned shell
using OfficeIMO.Markdown;
using OfficeIMO.MarkdownRenderer;
var options = MarkdownRendererPresets.CreateStrict();
options.MaxBodyHtmlBytes = 512 * 1024;
options.BodyHtmlOverflowHandling = OverflowHandling.RenderError;
string bodyHtml = MarkdownRenderer.RenderBodyHtml(markdownText, options);
Enable visual fences in a shell
using OfficeIMO.Markdown;
using OfficeIMO.MarkdownRenderer;
var options = MarkdownRendererPresets.CreateStrict();
options.Mermaid.Enabled = true;
options.HtmlOptions.Prism ??= new PrismOptions();
options.HtmlOptions.Prism.Enabled = true;
options.EnableCodeCopyButtons = true;
options.EnableTableCopyButtons = true;
string shellHtml = MarkdownRenderer.BuildShellHtml("Investigation", options);
string updateScript = MarkdownRenderer.RenderUpdateScript(markdownText, options);
What it does
- Builds a complete HTML shell for Markdown surfaces.
- Renders HTML body fragments for hosts that own their own shell.
- Produces incremental update scripts and streaming-friendly body output.
- Exposes strict, portable, minimal, relaxed, and transcript-oriented presets.
- Supports AST document transforms, pre-parse normalization, HTML post-processing, and plug-in/feature-pack registration.
- Keeps optional client-side features such as Mermaid, charts, math, Prism, and copy buttons in shell assets rather than managed runtime dependencies.
Boundaries
OfficeIMO.MarkdownRendererhosts and renders Markdown output.- The Markdown model and parser belong in
OfficeIMO.Markdown. - WPF/WebView2 control integration belongs in
OfficeIMO.MarkdownRenderer.Wpf. - IntelligenceX-specific presets and aliases belong in
OfficeIMO.MarkdownRenderer.IntelligenceX. - PDF output belongs in
OfficeIMO.Markdown.Pdf.
Related packages
- OfficeIMO.Markdown
- OfficeIMO.Markdown.Html
- OfficeIMO.MarkdownRenderer.Wpf
- OfficeIMO.MarkdownRenderer.IntelligenceX
- OfficeIMO.MarkdownRenderer.SamplePlugin
Targets and license
- Targets:
netstandard2.0,net8.0,net10.0. - License: MIT.
- Repository: EvotecIT/OfficeIMO
Dependency footprint
- External:
System.Text.Json; optional Mermaid, chart, math, and Prism behavior is carried as shell assets rather than managed runtime packages. - OfficeIMO:
OfficeIMO.MarkdownandOfficeIMO.Markdown.Htmlown parsing and HTML mapping; this package owns shells, presets, updates, and plug-in registration.
See the complete OfficeIMO package map for related formats and conversion paths.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.7.2
- OfficeIMO.Markdown (>= 3.1.1)
- OfficeIMO.Markdown.Html (>= 3.1.1)
- System.Text.Json (>= 10.0.7 && < 11.0.0)
-
.NETStandard 2.0
- OfficeIMO.Markdown (>= 3.1.1)
- OfficeIMO.Markdown.Html (>= 3.1.1)
- System.Text.Json (>= 10.0.7 && < 11.0.0)
-
net10.0
- OfficeIMO.Markdown (>= 3.1.1)
- OfficeIMO.Markdown.Html (>= 3.1.1)
-
net8.0
- OfficeIMO.Markdown (>= 3.1.1)
- OfficeIMO.Markdown.Html (>= 3.1.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on OfficeIMO.MarkdownRenderer:
| Package | Downloads |
|---|---|
|
OfficeIMO.MarkdownRenderer.Wpf
Reusable WPF/WebView2 host control for OfficeIMO.MarkdownRenderer. |
|
|
OfficeIMO.MarkdownRenderer.IntelligenceX
IntelligenceX renderer plugin pack for OfficeIMO.MarkdownRenderer with transcript-oriented preset helpers and IX visual aliases. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.1.1 | 0 | 8/7/2026 |
| 3.1.0 | 25 | 8/6/2026 |
| 3.0.3 | 159 | 7/27/2026 |
| 3.0.2 | 166 | 7/26/2026 |
| 3.0.1 | 152 | 7/26/2026 |
| 3.0.0 | 163 | 7/20/2026 |
| 2.0.1 | 160 | 7/14/2026 |
| 2.0.0 | 173 | 7/14/2026 |
| 0.2.42 | 215 | 7/9/2026 |
| 0.2.41 | 189 | 7/8/2026 |
| 0.2.40 | 184 | 7/5/2026 |
| 0.2.39 | 164 | 7/4/2026 |
| 0.2.38 | 189 | 6/27/2026 |
| 0.2.37 | 168 | 6/27/2026 |
| 0.2.36 | 180 | 6/24/2026 |
| 0.2.35 | 188 | 6/23/2026 |
| 0.2.34 | 180 | 6/21/2026 |
| 0.2.33 | 181 | 6/16/2026 |
| 0.2.32 | 282 | 6/16/2026 |
| 0.2.31 | 177 | 6/15/2026 |
0.2.0: introduces generic-first preset composition, AST-based semantic fenced-block rendering, IntelligenceX alias adapters, shared visual metadata contracts, and broader dataview payload support for host integrations.