OfficeIMO.MarkdownRenderer
0.2.38
Prefix Reserved
dotnet add package OfficeIMO.MarkdownRenderer --version 0.2.38
NuGet\Install-Package OfficeIMO.MarkdownRenderer -Version 0.2.38
<PackageReference Include="OfficeIMO.MarkdownRenderer" Version="0.2.38" />
<PackageVersion Include="OfficeIMO.MarkdownRenderer" Version="0.2.38" />
<PackageReference Include="OfficeIMO.MarkdownRenderer" />
paket add OfficeIMO.MarkdownRenderer --version 0.2.38
#r "nuget: OfficeIMO.MarkdownRenderer, 0.2.38"
#:package OfficeIMO.MarkdownRenderer@0.2.38
#addin nuget:?package=OfficeIMO.MarkdownRenderer&version=0.2.38
#tool nuget:?package=OfficeIMO.MarkdownRenderer&version=0.2.38
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
| 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 (>= 0.6.38)
- OfficeIMO.Markdown.Html (>= 0.1.38)
- System.Text.Json (>= 10.0.7 && < 11.0.0)
-
.NETStandard 2.0
- OfficeIMO.Markdown (>= 0.6.38)
- OfficeIMO.Markdown.Html (>= 0.1.38)
- System.Text.Json (>= 10.0.7 && < 11.0.0)
-
net10.0
- OfficeIMO.Markdown (>= 0.6.38)
- OfficeIMO.Markdown.Html (>= 0.1.38)
-
net8.0
- OfficeIMO.Markdown (>= 0.6.38)
- OfficeIMO.Markdown.Html (>= 0.1.38)
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 |
|---|---|---|
| 0.2.38 | 161 | 6/27/2026 |
| 0.2.37 | 154 | 6/27/2026 |
| 0.2.36 | 168 | 6/24/2026 |
| 0.2.35 | 166 | 6/23/2026 |
| 0.2.34 | 168 | 6/21/2026 |
| 0.2.33 | 159 | 6/16/2026 |
| 0.2.32 | 250 | 6/16/2026 |
| 0.2.31 | 164 | 6/15/2026 |
| 0.2.30 | 162 | 6/13/2026 |
| 0.2.29 | 161 | 6/12/2026 |
| 0.2.28 | 203 | 6/9/2026 |
| 0.2.27 | 171 | 6/5/2026 |
| 0.2.26 | 121 | 5/27/2026 |
| 0.2.25 | 118 | 5/26/2026 |
| 0.2.24 | 118 | 5/26/2026 |
| 0.2.23 | 121 | 5/23/2026 |
| 0.2.22 | 125 | 5/22/2026 |
| 0.2.21 | 117 | 5/21/2026 |
| 0.2.20 | 119 | 5/21/2026 |
| 0.2.19 | 112 | 5/20/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.