ashes_note(草灰笔记)

March 20, 2026 · View on GitHub

logo

一款基于Flutter开发的跨平台笔记应用,专注于提供简洁高效的笔记管理功能。
同时还是一款epub阅读器,可以读书笔记以markdown格式直接导出到笔记管理中。

🌟 主要特性

📝 核心功能

  • 无工具栏编辑体验 - 专注写作,减少干扰
  • 本地存储与Git同步 - 支持Gitee同步,数据安全可靠
  • 内容组织管理 - 标签分类、双向链接(待完善)
  • 文档解析阅读 - EPUB格式支持,内置阅读器

🎨 多主题支持 ✨

支持三种精美主题模式:

🌟 极简主题(默认)

  • 清爽明亮的界面风格,蓝灰色调设计
  • 适合日间阅读和办公场景
  • 支持完整的个性化调节

🌙 暗黑主题

  • 护眼舒适的深色界面,减少蓝光辐射
  • 适合夜间阅读和低光环境
  • OLED屏幕更省电

✒️ 墨水屏模式

  • 纯黑白高对比度设计,专为电子墨水屏设备优化
  • 禁用动画和渐变效果
  • 模拟真实纸质书阅读体验

🔍 其他功能

  • 智能搜索 - 全文检索,快速定位内容
  • 多语言支持 - 国际化本地化
  • 跨平台兼容 - Android、iOS、Windows、macOS、Linux、Web
  • 词典服务 - 集成有道、HZ、Free Dictionary
  • 文件管理 - 完善的本地文件操作

🚀 快速开始

环境要求

  • Flutter SDK 3.0+
  • Dart 2.17+
  • Android Studio / VS Code

安装步骤

# 克隆项目
git clone https://gitee.com/wangyidao/ashes_note.git
cd ashes_note

# 获取依赖
flutter pub get

# 运行应用
flutter run

构建发布

# Android APK
flutter build apk

# iOS IPA
flutter build ios

# Web
flutter build web

# Windows
flutter build windows

📖 使用指南

主题切换

  1. 进入设置页面
  2. 选择喜欢的主题模式
  3. 主题即时生效,无需重启

阅读器特色

  • 多主题适配 - 自动根据全局主题调整界面
  • 字体调节 - 支持12px-24px字体大小调节
  • 行间距控制 - 1.0-2.5倍行间距自定义
  • 书签管理 - 彩色书签,时间排序
  • 页面导航 - 目录跳转,快速定位
  • 高亮笔记 - 文本高亮,支持导出笔记

同步配置

  1. 在设置中配置Git仓库
  2. 选择Gitee或GitHub平台
  3. 输入Access Token和远程仓库地址
  4. 启用自动同步功能

🛠️ 技术架构

前端框架

  • Flutter - 跨平台UI框架
  • Dart - 编程语言
  • Material Design - 设计规范

核心模块

  • 主题系统 - 统一管理极简、暗黑、墨水屏三种主题
  • 阅读器引擎 - 支持EPUB格式解析与渲染
  • 词典服务 - 集成多平台词典API
  • 数据存储 - 本地文件管理与Git同步
  • 国际化 - 多语言支持

📱 平台支持

平台状态特性支持
Android✅ 完整所有功能
iOS✅ 完整所有功能
Windows✅ 完整所有功能
macOS✅ 完整所有功能
Linux✅ 完整所有功能
Web✅ 基础核心功能

🤝 贡献指南

欢迎提交Issue和Pull Request!

开发流程

  1. Fork项目到个人仓库
  2. 创建功能分支 git checkout -b feature/your-feature
  3. 提交更改 git commit -m 'Add some feature'
  4. 推送到分支 git push origin feature/your-feature
  5. 创建Pull Request

代码规范

  • 遵循Flutter官方代码风格
  • 使用有意义的变量和函数命名
  • 添加必要的注释和文档
  • 通过所有测试用例

📄 许可证

本项目采用MIT许可证 - 查看LICENSE文件了解详情

🙏 致谢

感谢以下开源项目的支持:

🔗 开源项目列表

核心框架

  • Flutter - Google 开发的跨平台 UI 框架
  • Dart SDK - Dart 编程语言运行时

UI 组件与图标

编辑器与阅读

文件与数据存储

网络与工具

其他工具


Made with ❤️ using Flutter