Skip to content

About

A Typora-inspired cross-platform WYSIWYG Markdown editor built with Avalonia 12 and AtomUI 6.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

CxMarkdown

CxMarkdown 是一个基于 Avalonia 12 和 AtomUI 6 构建的跨平台所见即所得 Markdown 编辑器,目标是提供接近 Typora 的原生桌面编辑体验。

项目当前重点是自研 Markdown 编辑控件:用户看到渲染后的文本,同时光标定位、删除、选择、复制粘贴、回车、键盘导航等操作都映射回 Markdown 源码位置。

Features

  • 原生 Avalonia 桌面应用,面向 Windows 和 macOS 跨平台使用。
  • 基于 AtomUI 6 的控件风格,整体遵循 Ant Design 方向。
  • 自研 InlineMarkdownEditor,支持所见即所得 Markdown 文档流编辑。
  • 支持标题、段落、引用、无序列表、有序列表、任务列表。
  • 支持链接、图片、粗体、斜体、删除线、行内代码、转义字符。
  • 支持代码块、表格、脚注、目录、HTML 嵌入、Emoji shortcodes。
  • 支持行内数学和块级数学公式。
  • 支持源码模式和所见即所得模式切换。
  • 支持最近文档、自动保存、打开/保存和发布脚本。
  • 包含编辑器行为、解析、粘贴、性能和发布相关测试。

Tech Stack

  • .NET 8
  • Avalonia 12
  • AtomUI 6
  • Markdig
  • CommunityToolkit.Mvvm
  • Sylinko.CSharpMath.Avalonia

Getting Started

dotnet restore
dotnet build
dotnet run

Tests

dotnet run --project CxMarkdown.Tests\CxMarkdown.Tests.csproj

Publish

.\scripts\publish.ps1 -RuntimeIdentifier win-x64
.\scripts\publish.ps1 -RuntimeIdentifier osx-x64
.\scripts\publish.ps1 -RuntimeIdentifier osx-arm64

GitHub Actions Release

仓库内置了 Velopack 打包 workflow:.github/workflows/release.yml。

推送 tag 后会自动构建并打包 Windows、Linux 和 macOS 版本:

git tag v0.1.0
git push origin v0.1.0

也可以在 GitHub Actions 页面手动执行 Release Packages,并填写 tag_name,例如 v0.1.0。workflow 会创建或更新对应 GitHub Release。

当前打包目标:

  • win-x64
  • linux-x64
  • osx-x64
  • osx-arm64

Repository Notes

atomui/ 目录是本地下载的 AtomUI 源码,仅用于开发参考,不属于 CxMarkdown 仓库内容,因此已在 .gitignore 中排除。

bin/、obj/、.qoder/、IDE 缓存和发布产物也不会提交到仓库。

Status

CxMarkdown 目前处于早期开发阶段,核心编辑控件已经具备原型能力,后续会继续围绕 Typora 式编辑体验、复杂源码映射、大文档性能、输入法、撤销重做和跨平台一致性持续打磨。

About

A Typora-inspired cross-platform WYSIWYG Markdown editor built with Avalonia 12 and AtomUI 6.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages