Skip to content

QWQLwToo/YMhut-Write

Repository files navigation

YMhut-Write

Version License Platform Electron Vue

轻量级写作编辑器 - 支持 Markdown 和纯文本格式

功能特性快速开始使用指南开发指南贡献


📖 简介

YMhut-Write 是一个专为轻量级写作设计的桌面编辑器,支持 Markdown 和纯文本格式。适合写文章、小说、周报等各类文档。简洁、高效、专注创作。

✨ 核心特点

  • 🎨 现代化界面 - 简洁美观的 UI 设计,支持浅色/深色主题
  • 📝 双模式编辑 - Markdown 分屏预览 + 富文本编辑器
  • 🌍 多语言支持 - 简体中文、繁体中文、English
  • 轻量高效 - 基于 Electron + Vue 3,启动快速,占用资源少
  • 💾 自动保存 - 智能缓存机制,防止内容丢失
  • 🎯 专注模式 - 打字机模式、专注模式、源代码模式等多种写作模式

🚀 功能特性

编辑器功能

  • Markdown 编辑器

    • 分屏预览(左侧源码,右侧预览)
    • 实时渲染
    • 支持常用 Markdown 语法
    • 工具栏快捷操作(加粗、斜体、标题、列表、引用、代码块、链接等)
    • 打字机模式(当前行居中)
    • 专注模式(突出当前段落)
    • 源代码模式(仅显示源码)
  • 纯文本编辑器

    • 富文本编辑功能
    • 格式化工具栏(加粗、斜体、下划线、删除线等)
    • 段落对齐
    • 字体样式设置

文档管理

  • 文档列表管理
  • 文档创建、编辑、删除
  • 文档重命名
  • 格式转换(Markdown ↔ 纯文本)
  • 导出功能(支持导出为 DOCX 等格式)

个性化设置

  • 外观设置

    • 浅色/深色主题切换
    • 自定义字体
    • 字体大小调节
  • 编辑器设置

    • 显示/隐藏 Markdown 源码
    • 打字机模式开关
    • 专注模式开关
    • 源代码模式开关
    • 显示行号(类似 IDE)
    • 大纲模式
  • 通用设置

    • 界面语言切换
    • 自动保存开关
    • 开机自启动

其他功能

  • 字数统计(实时显示)
  • 运行日志查看
  • 设置向导(首次启动)
  • 动态岛状态提示

📦 安装

Windows

  1. 下载最新版本的安装包:YMhut-Write Setup 1.0.0.exe
  2. 运行安装程序
  3. 按照向导完成安装
  4. 启动应用

从源码构建

# 克隆仓库
git clone https://github.com/QWQLwToo/YMhut-Write.git
cd YMhut-Write

# 安装依赖
npm install

# 开发模式运行
npm run dev

# 构建生产版本
npm run build

🎯 快速开始

首次使用

  1. 启动应用 - 首次启动会进入设置向导
  2. 选择语言 - 选择您偏好的界面语言
  3. 配置存储 - 设置文档和数据库的存储位置(可使用默认路径)
  4. 系统集成 - 选择是否开机自启动
  5. 默认格式 - 选择创建新文档时的默认格式(Markdown 或纯文本)

创建文档

  1. 点击左侧边栏的 "新建文档" 按钮
  2. 输入文档名称(可选,留空将使用默认名称)
  3. 选择文档格式(Markdown 或纯文本)
  4. 点击 "创建" 开始写作

编辑文档

  • Markdown 模式:使用工具栏插入 Markdown 语法,右侧实时预览
  • 纯文本模式:使用工具栏进行富文本格式化

保存文档

  • 文档会自动保存(如果开启了自动保存)
  • 也可以手动保存(Ctrl+S)

🛠️ 技术栈

  • 框架: Electron 28.3.3
  • 前端: Vue 3.3.0 + Vite 5.0.0
  • 样式: TailwindCSS 3.0.0
  • 数据库: better-sqlite3 9.0.0
  • Markdown: markdown-it 13.0.0
  • 文档处理: docx 9.5.1, mammoth 1.11.0
  • 其他: dayjs, uuid, fs-extra, ini

📁 项目结构

YMhut-Write/
├── electron/              # Electron 主进程
│   ├── main.js           # 主进程入口
│   ├── preload.js        # 预加载脚本
│   └── utils/            # 工具函数
│       ├── db.js         # 数据库操作
│       ├── fileManager.js # 文件管理
│       ├── converter.js  # 格式转换
│       ├── logger.js     # 日志记录
│       └── paths.js      # 路径管理
├── src/                   # 渲染进程源码
│   ├── assets/           # 静态资源
│   ├── components/       # Vue 组件
│   ├── composables/      # 组合式函数
│   ├── locales/          # 国际化文件
│   ├── views/            # 页面视图
│   ├── App.vue           # 根组件
│   ├── main.js           # 渲染进程入口
│   └── router.js            # 路由配置
├── build/                # 构建资源
│   ├── icon.ico          # 应用图标
│   └── icon.svg          # 图标源文件
├── dist/                 # 构建输出
├── package.json          # 项目配置
└── README.md             # 项目说明

🔧 开发指南

环境要求

  • Node.js >= 16.0.0
  • npm >= 7.0.0

开发命令

# 安装依赖
npm install

# 开发模式(启动 Vite 开发服务器 + Electron)
npm run dev

# 构建生产版本
npm run build

# 重建原生模块(如果遇到 better-sqlite3 相关问题)
npm run rebuild

开发说明

  1. 主进程代码位于 electron/ 目录
  2. 渲染进程代码位于 src/ 目录
  3. 国际化文件位于 src/locales/ 目录
  4. IPC 通信通过 preload.js 暴露的 window.api 进行

代码规范

  • 使用 ESLint 进行代码检查
  • 遵循 Vue 3 Composition API 最佳实践
  • 组件使用 <script setup> 语法

🌍 国际化

项目支持三种语言:

  • 简体中文 (zh-CN)
  • 繁体中文 (zh-TW)
  • English (en-US)

语言文件位于 src/locales/ 目录,可在设置界面切换。


📝 使用指南

Markdown 编辑器

工具栏功能

  • 加粗 (**文本**)
  • 斜体 (*文本*)
  • 标题 (H1, H2, H3)
  • 无序列表
  • 有序列表
  • 引用
  • 代码块
  • 插入链接

编辑模式

  • 分屏模式:左侧编辑源码,右侧实时预览
  • 打字机模式:当前编辑行始终居中
  • 专注模式:淡化其他内容,突出当前段落
  • 源代码模式:仅显示源码,隐藏预览

纯文本编辑器

  • 富文本格式化工具栏
  • 支持加粗、斜体、下划线、删除线
  • 段落对齐功能
  • 字体样式设置

文档操作

  • 创建文档:点击侧边栏 "新建文档" 按钮
  • 重命名:右键文档 → 重命名
  • 删除文档:右键文档 → 删除
  • 格式转换:右键文档 → 格式转换(会创建新文档,不覆盖原文档)

🤝 贡献

欢迎贡献代码!请遵循以下步骤:

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

贡献指南

  • 提交前请确保代码通过 ESLint 检查
  • 添加新功能时请同步更新国际化文件
  • 提交时请使用清晰的提交信息

📄 许可证

本项目采用 MIT License 许可证。


👤 作者

YMhut (QWQLwToo)


🙏 致谢

感谢以下开源项目:


📮 反馈与支持


⭐ Star History

如果这个项目对您有帮助,请给一个 Star ⭐!


Made with ❤️ by YMhut

⬆ 回到顶部

About

轻量的写作软件

Resources

License

Stars

Watchers

Forks

Packages

No packages published