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

プロジェクトの位置づけ
- 無料でオープンソースの Markdown デスクトップ執筆ツールです。まずはソース編集とネイティブプレビューの流れを安定させる方針です。
- 左側にファイル一覧とアウトライン、中央に AvaloniaEdit の Markdown エディター、右側に CodeWF.Markdown のプレビューを配置します。
- 表示メニューではサイドバー、アウトライン、文書一覧、ソースモード、行番号、ステータスバー、全画面、常に手前を制御できます。
- ファイルメニューは新規、開く、フォルダーを開く、最近使った文書、エンコードを指定して開き直す、WeChat Official Account/知乎/稀土掘金へのコピー、保存、エクスポート、印刷、プロパティ、削除、閉じるを扱います。
- HTML、PNG、選択可能なテキスト PDF、Word
.docxのエクスポートに対応します。PNG/PDF/Word はCodeWF.MarkdownのMarkdownDocumentExporterを再利用し、相対ローカル画像、data:image、HTTP(S)、SVG/GIF/WebP 変換も処理します。PDF 本文は選択・コピーでき、PDF と Word は画像リソースを埋め込むため、オフライン共有後も表示できます。 - WeChat Official Account、知乎、稀土掘金へのコピーは、現在の Markdown、組版テーマ、対象プラットフォームを
CodeWF.MarkdownのMarkdownHtmlClipboardExtensionsに渡し、現在の組版テーマを反映したリッチ HTML クリップボード形式を書き込みます。 - Web ページからコピーした内容を中央エディターへ貼り付けると、Vex はクリップボード HTML を優先して読み取り、
MarkdownHtmlClipboard.Html2Markdown(htmlContent)で Markdown に変換します。HTML がない場合や変換に失敗した場合は通常の貼り付けに戻ります。 - 検索/置換は大文字小文字、単語単位、正規表現、件数表示、長文書向けのデバウンススキャンをサポートします。
- テーマ色、Markdown 組版テーマ、コンパクトレイアウト、言語切り替えはヘルプメニューにまとまっています。
- 簡体字中国語、繁体字中国語、英語、日本語の UI とヘルプ文書を含みます。
主な機能
| 機能 | 説明 |
|---|---|
| Markdown 編集 | AvaloniaEdit ベース。スマート改行、現在行の強調、ソースモード、行番号、よく使う書式挿入に対応。 |
| ネイティブプレビュー | CodeWF.Markdown ベース。WebView に依存せず、見出し、リスト、表、コードブロック、タスクリスト、ローカル画像、SVG、GIF に対応。 |
| ファイルワークフロー | 新規、単一ファイルを開く、フォルダーを開く、最近使った文書、ドラッグ&ドロップ、保存、名前を付けて保存、外部変更検出、再読み込み。 |
| アウトライン | Markdown 見出しからアウトラインを生成し、選択した位置へ移動できます。 |
| 検索/置換 | 大文字小文字、単語単位、正規表現、件数表示、次を置換、すべて置換。 |
| Web 貼り付け | ブラウザーからコピーした内容を中央の 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 を使って WeChat Official Account、知乎、稀土掘金向けに書き込みます。Windows HTML Format は UTF-8 CF_HTML バイトを使い、現在の組版テーマを適用します。 |
| 多言語 | Lang.Avalonia.Json により簡体字中国語、繁体字中国語、英語、日本語を提供。 |
| オンボーディング | Guide ステップがメニュー項目、TabItem、エディター、プレビュー領域を指せます。 |
| パッケージング | Windows、Linux、macOS の複数 RID、リリース zip、SHA256、任意の 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