Skip to content

ggbond268/Mote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mote

极简 macOS 纯文本笔记工具。随手记,随手归档,自动消失。

核心理念

  • 纯文本 — 所有笔记以 .txt 文件存储,无数据库,无私有格式
  • Digital Disposable — 笔记归档后自动倒计时删除(7天/30天/永不)
  • iCloud 同步 — 直接存入 iCloud Drive,跨设备自动同步

系统要求

  • macOS 14.0+
  • Xcode 16+(Swift 6)
  • iCloud 账号(可选,无账号时本地存储)

快速开始

git clone <repo>
cd Mote

# 安装 xcodegen(只需一次)
brew install xcodegen

# 生成 Xcode 项目
xcodegen generate

# 打开项目
open Mote.xcodeproj

首次打开后:

  1. 选中 Mote target → Signing & Capabilities
  2. 勾选 Automatically manage signing,选择你的 Team
  3. iCloud 配置已通过 project.yml 预设,直接 Build & Run(⌘R

Mote.xcodeproj 由 xcodegen 自动生成,不提交到 git。修改项目结构时编辑 project.yml,然后重跑 xcodegen generate

CLI 构建(无需 Xcode)

swift build    # 编译
swift test     # 运行单元测试(20个)

使用说明

操作 快捷键
新建笔记 ⌘N
归档 / 取消归档 ⌘⇧A
删除笔记 ⌘⌫
搜索 ⌘F
偏好设置 ⌘,
  • Inbox 右滑可归档,左滑可删除
  • 笔记标题 = 第一行文字;无内容时显示 "Untitled"
  • 编辑后 500ms 自动保存

文件存储结构

iCloud Drive / Mote / Documents /
├── Inbox/        # 当前笔记(UUID.txt)
└── Archive/      # 已归档笔记

iCloud 不可用时自动降级到 ~/Library/Application Support/Mote/Documents/

项目结构

Mote/
├── Package.swift
├── Sources/
│   ├── Shared/               # 跨平台业务逻辑(为将来 iOS 复用设计)
│   │   ├── Models/           # Note, NoteLocation, CleanupPeriod
│   │   ├── Services/         # 文件读写、归档、清理、iCloud 冲突处理
│   │   │   └── Protocols/   # 各 Service 的协议定义
│   │   ├── ViewModels/       # NoteListVM, NoteEditorVM, SettingsVM
│   │   └── Utils/            # NSFileCoordinator 封装, Logger, MoteError
│   └── Mote/                 # macOS 专属
│       ├── App/              # 入口 + DependencyContainer
│       └── Views/            # SwiftUI 视图(侧边栏/列表/编辑器/设置)
└── Tests/SharedTests/        # 单元测试(20个)

运行测试

swift test

后续计划

  • iOS 版本:在 Sources/ 下新增 MoteIOS/ target,复用 Shared/ 全部逻辑
  • 标签 / 分组支持
  • Markdown 预览

About

simple note

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages