MarkdownHelp.Skia 0.1.0-alpha.6

This is a prerelease version of MarkdownHelp.Skia.
dotnet add package MarkdownHelp.Skia --version 0.1.0-alpha.6
                    
NuGet\Install-Package MarkdownHelp.Skia -Version 0.1.0-alpha.6
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MarkdownHelp.Skia" Version="0.1.0-alpha.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MarkdownHelp.Skia" Version="0.1.0-alpha.6" />
                    
Directory.Packages.props
<PackageReference Include="MarkdownHelp.Skia" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add MarkdownHelp.Skia --version 0.1.0-alpha.6
                    
#r "nuget: MarkdownHelp.Skia, 0.1.0-alpha.6"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package MarkdownHelp.Skia@0.1.0-alpha.6
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=MarkdownHelp.Skia&version=0.1.0-alpha.6&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=MarkdownHelp.Skia&version=0.1.0-alpha.6&prerelease
                    
Install as a Cake Tool

MarkdownHelp.Skia

여러 UI 프레임워크가 공유하는 Markdown layout·paint 라이브러리다. Markdig로 Markdown을 해석하고 RichTextKit, CSharpMath, SkiaSharp로 재생 가능한 MarkdownRenderFrame(SKPicture)을 만든다.

IMarkdownFrameCanvas는 Avalonia, WPF, WinUI, Uno 화면 adapter가 구현하는 최소 공개 계약이다. MarkdownCanvasSession은 이 계약의 frame 소유권, 50–400% 확대, 논리 크기와 화면 extent 계산을 공유한다. UI 기반 클래스, 무효화 방식과 visual lifetime은 프레임워크마다 다르므로 인터페이스에 포함하지 않는다.

IMarkdownFrameCanvas canvas = platformCanvas;
canvas.SetFrame(renderer.CreateFrame(markdown, 900));
canvas.SetZoom(1.5f);

제품 렌더링 경로에는 PNG 인코딩, 임시 파일, 저장소 경로가 없다. 호스트는 CreateFrame의 결과를 자신이 소유한 SKCanvas에 직접 재생한다. 프레임은 벡터 그리기 명령이므로 확대할 때 문자가 저해상도 PNG처럼 깨지지 않는다. Noto Sans와 Noto Sans KR 기본 폰트는 어셈블리에 포함된다.

using var renderer = new SkiaMarkdownRenderer();
using var frame = renderer.CreateFrame(markdown, width: 900, OpenAsset);
frame.Draw(hostCanvas, scale: 1.5f);

렌더 스레드가 UI 수명과 독립적으로 frame을 재생하는 host는 frame.Retain() lease를 scene operation이 끝날 때까지 보관한다. 그래서 resize나 detach가 이전 frame을 교체해도 진행 중인 replay의 native picture가 먼저 해제되지 않는다.

현재 지원 범위:

  • 제목, 문단, 굵게·기울임, 링크 표시, inline code, 인용문
  • 순서/글머리/중첩 목록, 정렬 표, fenced code, 상대 이미지
  • inline/display TeX 수식
  • flowchart/graphTD, TB, LR Mermaid subset
  • host canvas에서 임의 배율로 vector replay

PNG는 화면 비교와 증거 생성에만 필요하다. 해당 인코더는 제품 프로젝트가 아니라 examples/MarkdownHelp.DemoSupport에 격리되어 있다.

정식 제품 버전 전 남은 범위는 링크 hit-test/활성화 정책, 부분 텍스트 선택, 구조화된 접근성 tree, 전체 Mermaid 문법이다. 현재 Avalonia adapter는 문서 단위 접근성 이름을 제공하지만 문서 내부 구조까지 노출하지는 않는다.

Product Compatible and additional computed target framework versions.
.NET 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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on MarkdownHelp.Skia:

Package Downloads
MarkdownHelp.Wpf

Reusable direct Skia canvas control for MarkdownHelp in WPF applications.

MarkdownHelp.WinUI

Reusable direct Skia canvas control for MarkdownHelp in WinUI 3 applications.

MarkdownHelp.Uno

Reusable direct Skia canvas control for MarkdownHelp in Uno Platform applications.

MarkdownHelp.Avalonia

Reusable Markdown help views, tooltips, guided overlays, and windows for Avalonia applications.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-alpha.6 83 8/5/2026
0.1.0-alpha.5 91 8/5/2026