Vex 維刻

Vex

Vex 是一個基於 .NET 10、Avalonia 12、Prism、Semi.Avalonia 和 Ursa.Avalonia 建構的跨平台 Markdown 桌面編輯器。它聚焦 Markdown 原始碼編輯、即時預覽、檔案管理、查找替換、匯出交付和複製到內容平台。

專案倉庫:https://github.com/dotnet9/Vex

Release v1.1.0:https://github.com/dotnet9/Vex/releases/tag/v1.1.0

Vex 主視窗

專案定位

  • 免費開源的 Markdown 桌面寫作工具,先把原始碼編輯與原生預覽鏈路做穩。
  • 左側提供檔案列表和大綱,中央使用 AvaloniaEdit 編輯 Markdown,右側使用 CodeWF.Markdown 渲染預覽。
  • 檢視選單支援側欄、大綱、文件列表、原始碼模式、行號、狀態列、全螢幕和置頂。
  • 檔案選單覆蓋新建、開啟、開啟資料夾、最近文件、按編碼重開、複製到公眾號/知乎/稀土掘金、儲存、匯出、列印、屬性、刪除和關閉。
  • 匯出支援 HTML、PNG、可選取文字 PDF 和 Word .docx;PNG/PDF/Word 複用 CodeWF.MarkdownMarkdownDocumentExporter,並處理本機相對圖片、data:image、HTTP(S)、SVG/GIF/WebP 等圖片邊界,PDF 正文可選取複製,PDF 和 Word 會嵌入圖片資源,離線分享後仍可查看。
  • 複製到公眾號、知乎與稀土掘金會把目前 Markdown、排版主題和目標平台交給 CodeWF.MarkdownMarkdownHtmlClipboardExtensions,寫入富 HTML 剪貼簿格式並套用目前排版主題。
  • 從網頁複製內容後貼到中間編輯器時,Vex 會優先讀取剪貼簿 HTML,並透過 MarkdownHtmlClipboard.Html2Markdown(htmlContent) 自動轉為 Markdown;沒有 HTML 或轉換失敗時回到普通貼上。
  • 查找替換支援大小寫、整詞、正則、命中計數和長文件防抖掃描。
  • 主題色、Markdown 排版主題、緊湊布局和語言切換集中在幫助選單下。
  • 簡體中文、繁體中文、英文和日文介面與幫助文件已覆蓋主要入口。

主要功能

功能 說明
Markdown 編輯 基於 AvaloniaEdit,支援智慧換行、目前行高亮、原始碼模式、行號和常用格式插入。
原生預覽 基於 CodeWF.Markdown,不依賴 WebView,支援標題、列表、表格、程式碼區塊、任務列表、本機圖片、SVG 和 GIF。
檔案工作流 支援新建、開啟單檔、開啟資料夾、最近文件、拖放開啟、儲存、另存為、外部變更偵測和重載。
大綱導航 從 Markdown 標題生成大綱,點擊即可跳轉到對應位置。
查找替換 支援大小寫、整詞、正則、命中計數、替換下一個和全部替換。
網頁貼上 從瀏覽器複製內容到中間 Markdown 編輯器時,優先把剪貼簿 HTML 轉成 Markdown 後插入,並保留普通文字貼上作為 fallback。
匯出交付 支援 HTML、PNG、可選取文字 PDF、Word .docx 和列印預覽;PNG/PDF/Word 複用 CodeWF.Markdown 公共匯出 API,PDF 正文可選取複製,PDF/Word 會嵌入本機、data:image、HTTP(S)、SVG/GIF/WebP 圖片。
發布複製 複製到公眾號、知乎、稀土掘金時呼叫 CodeWF.Markdown 公共富 HTML 剪貼簿 API,Windows HTML Format 使用 UTF-8 CF_HTML 位元組資料,並套用目前排版主題。
多語言 透過 Lang.Avalonia.Json 提供簡體中文、繁體中文、英文和日文介面。
新手引導 Guide 步驟可以定位選單項、TabItem、編輯區和預覽區。
發布打包 支援 Windows、Linux、macOS 多 RID 發布,並提供壓縮包與可選 MSIX 打包腳本。

執行示範

編輯和即時預覽

大綱導航

原始碼模式

檔案選單與匯出

查找替換

主題和語言

新手引導

技術棧

  • .NET 10
  • Avalonia 12
  • Prism.DryIoc.Avalonia
  • ReactiveUI.Avalonia
  • Semi.Avalonia
  • Ursa.Avalonia
  • AvaloniaEdit
  • CodeWF.Markdown
  • CodeWF.AvaloniaControls
  • CodeWF.EventBus
  • Lang.Avalonia.Json

快速開始

環境要求:

  • .NET 10 SDK
git clone https://github.com/dotnet9/Vex.git
cd Vex
dotnet restore Vex.slnx
dotnet build Vex.slnx
dotnet run --project src/Vex/Vex.csproj

生成發布產物:

.\publish_vex_all.bat --package

倉庫與發布