# mdcoder
**Repository Path**: one996/mdcoder
## Basic Information
- **Project Name**: mdcoder
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-08-01
- **Last Updated**: 2026-08-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# mdcoder
本地优先的 Markdown 编写 / 阅读工具(Tauri 2 + React + TypeScript,Windows 首发)。
作者:[one996](mailto:1833207786@qq.com)
## 效果预览
分栏编辑:左侧文件树 + 源码 / 预览 + 大纲。

图表与公式预览:Mermaid、KaTeX 等。

## 功能(MVP)
- 新建 / 打开 / 保存 / 另存为;打开文件夹 + 侧栏懒加载文件树
- CodeMirror 源码编辑 + GFM 实时预览(含 Mermaid / KaTeX 等)
- 智能补全、格式快捷键、应用内右键菜单
- 文件内搜索(`Ctrl+F`)/ 工作区搜索(`Ctrl+Shift+F`)/ 快速跳转(`Ctrl+P`)
- 大纲跳转、分栏 / 源码 / 预览 / 阅读模式
- 主题、同步滚动、会话恢复;dirty 门禁与外部文件变更提示
在线 API / AI 内联输入仅预留模块边界,本期不实现(见产品文档 §8)。
## 下载安装
Windows x64 安装包(NSIS,仓库内):
- [mdcoder_0.1.0_x64-setup.exe](./release/mdcoder_0.1.0_x64-setup.exe)
跨平台包(Win / macOS / Linux)走 **GitHub Actions → Releases**,见下一节。
未做代码签名,首次运行若提示「未知发布者」,选择仍要运行即可。
## 跨平台发布(CI)
本机 Windows **打不出** macOS / Linux 安装包,要用云端虚机编。
| 平台 | CI 跑机 | 产物 |
|------|---------|------|
| Windows | `windows-latest` | `.exe`(NSIS) |
| macOS Apple Silicon | `macos-latest` + `aarch64` | `.dmg` / `.app` |
| macOS Intel | `macos-latest` + `x86_64` | `.dmg` / `.app` |
| Linux | `ubuntu-22.04` | `.AppImage` / `.deb` |
**推荐玩法(GitHub):**
1. 把仓库推到 GitHub(可从 Gitee 导入/镜像;Actions 免费额度对公开库通常够用)。
2. 确认已有工作流文件:`.github/workflows/release.yml`。
3. 改版本号(`package.json` + `src-tauri/tauri.conf.json` + `Cargo.toml` 保持一致,例如 `0.1.1`)。
4. 打标签并推送:
```bash
git tag v0.1.1
git push origin v0.1.1
```
5. 打开 GitHub → **Actions**,看 `Release` 是否四台机器都绿。
6. 打开 **Releases** → 会有一份 **Draft(草稿)**,里面挂着各平台安装包;检查无误后点 **Publish release**。
也可在 Actions 页对 `Release` 点 **Run workflow** 手动跑(会按 `tauri.conf.json` 的 version 建 `v__VERSION__` 标签草稿)。
**关于 Gitee:**
- Gitee Go **一般没有** `macos-latest` 这类免费 mac 跑机,不适合直接复刻这套矩阵。
- 实务上:**代码主仓可仍在 Gitee**,再镜像/推一份到 GitHub 专门跑 CI 出包;或把 Release 资产手工下载后挂到 Gitee 发行版。
**macOS 注意:** 未做 Apple 开发者签名/公证时,别人下载可能提示「无法验证开发者」,需在系统设置里手动允许。自己用可以接受;上架/广泛分发再考虑签名。
## 开发
前置条件:
1. **Node.js** 18+
2. **Rust**(`rustup`,默认 `x86_64-pc-windows-msvc`)
3. **Visual Studio** 安装「使用 C++ 的桌面开发」工作负载(需完整 MSVC `lib\x64`、`vcvarsall.bat`)
4. **WebView2** 运行时(Win10/11 一般已自带)
若出现 `LNK1104: 无法打开文件 msvcrt.lib`,说明 MSVC 工具链不完整,请在 VS Installer 中修复/安装 C++ 桌面工作负载后再编译。
```bash
npm install
npm run tauri:dev
```
仅调试前端 UI(无系统文件对话框):
```bash
npm run dev
```
## 脚本
| 命令 | 说明 |
|------|------|
| `npm run tauri:dev` | 启动桌面开发窗口 |
| `npm run tauri:build` | 打包 Windows 应用 |
| `npm run build` | 仅构建前端 |
## 文档
- [产品设计方案](docs/产品设计方案.md)
- [框架设计](docs/框架设计.md)
- [设计评审意见](docs/设计评审意见.md)