项目简介
WinMd 是一款基于 WinUI 3 的原生 Windows Markdown 编辑器,提供类似 Typora 的三栏布局(文件树 / 大纲 + 编辑器 + 实时预览)。核心渲染能力依赖 WebView2 + marked + highlight.js + KaTeX + Mermaid,覆盖完整 Markdown 生态。
技术约束(重要)
- 只使用 .NET 8(targetFramework 固定为
net8.0-windows10.0.26100.0)——WinUI 3 (Windows App SDK 2.4) 的 WinRT.Runtime 与 .NET 10 不兼容 - 只使用 x64 平台,
RuntimeIdentifier固定为win-x64 - WindowsPackageType=None(unpackaged),
WindowsAppSDKSelfContained=true(自带 Windows App SDK 和 WebView2),双击 exe 即可运行
渲染管线
- 编辑器文本变化 → marked 解析为 HTML
- highlight.js 对代码块着色(192 种语言,13 套主题可选)
- KaTeX 渲染数学公式(
$...$行内 /$$...$$块级) - Mermaid 渲染
```mermaid代码块 - WebView2 容器呈现最终效果
核心文件
MainWindow.xaml.cs(约 2000+ 行)集中了文件树管理、大纲提取、全文检索、Markdown 渲染、标签页管理、查找替换、UI 主题切换等全部核心逻辑,搭配 SessionConfig.cs(会话记忆)和 UiTheme.cs(6 套主题定义)。

