Tomortec/ZhuJian
Tomortec/ZhuJian has 83 GitHub stars and 9 forks. GitHot measured 0 stars in 24 hours, 0 in 7 days, and 0 in 15 days. Last checked 2026-11-15 15:09 UTC. Last push 2026-03-04.
可以做什么
- Custom background: set a global background (with cropping), widgets can mirror it
- Colorful cards: per-note foreground/background color and tags for categorization
- Typography: multiple built-in fonts (e.g., Alimama DongFangDaKai, Source Han Serif)
- Bulk edit: long-press in Outline to multi-select and batch update color/tags
实测星标增长
- 24小时
- 0
- 7天
- 0
- 15天
- 0
- 1个月
- 正在收集历史
各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。
关于
iOS app for collecting and reviewing sentences: OCR capture, card‑based browsing, colorful tags & fonts, widgets, optional iCloud sync. Minimal SwiftUI quotes notebook—scan, type or collect via link; personalized colors/fonts, QR sharing and widgets. 一款专注记录句子的 iOS App:OCR 扫描、卡片化整理、颜色与字体个性化、桌面小组件、iCloud 同步、多字体/多配色、批量编辑与可访问性优化
效率工具README.zh-CN.md
原文
拾句 ZhuJian
专注于「收集美好句子」的 iOS App。用最顺手的方式把你看到、想到的句子记录下来:拍照扫描、手动输入、从分享链接收集,随后以卡片的形式呈现与复习。支持个性化的颜色、标签与字体,也提供桌面小组件随时回顾。
当前开源仓库聚焦于 App 端实现与最佳实践示例,默认关闭所有对外域名与私有接口的依赖,便于开箱体验与二次开发。
核心特性(v1.3.0)
- 自定义背景:设置全局背景图(含裁剪),小组件亦可同步背景
- 多彩卡片:为每张卡片分别设置前景/背景色、添加标记进行分类
- 更有氛围的字体:内置多套字体(如
阿里妈妈东方大楷、思源宋体等) - 批量编辑:在纵览页长按进入多选,批量修改颜色与标记
- 分享卡片:支持生成带二维码的分享卡片,方便他人收集
- 排序和复习:支持按修改时间、创建时间、标题、标记、标记颜色排序
- 安全与同步:可选开启 FaceID/TouchID 保护;支持 iCloud 同步(可选)
- 无障碍优化:为 VoiceOver 等辅助功能做了事件与提示适配
更多亮点见应用内的新版本引导页(设置 > 新版本:多彩)。
截图
快速开始
- 系统要求:Xcode 14+,iOS 15+
- 安装依赖
# 如果尚未安装 CocoaPods:
brew install cocoapods # 或 gem install cocoapods
pod install
- 打开工程
open ZhuJian.xcworkspace
- 配置签名
- 在 Xcode 的 Targets(App / Share Extension / Widgets)下将 Signing Team 设置为你自己的开发者团队;
- 如无需 iCloud 同步或 Widgets,可临时关闭对应 Capabilities 以便快速运行。
- 运行
- 选择模拟器或真机,直接 Run;
- 首次构建可能会触发 Swift Package 的依赖解析(网络环境影响较大)。
可选配置(Info.plist)
项目默认“零外部依赖”即可运行。若你希望启用链接跳转、分享收集或远程开关等能力,可在 App 的 Info.plist 添加以下可选键:
- ZJ_ALLOWED_URL_HOSTS:允许处理的 HTTPS 域名(逗号分隔)
- 示例:
share.example.com, app.example.com
- 示例:
- ZJ_SHARE_BASE_URL:分享收集页基址(用于生成分享链接与二维码)
- 示例:
https://share.example.com
- 示例:
- ZJ_HELP_URL:应用内“帮助”页面地址
- ZJ_FONTS_INFO_URL:字体说明与版权信息页地址
- ZJ_HOME_URL:应用主页地址(“关于开发者与必要说明”中的入口)
- ZJ_API_MEMORIAL_URL:纪念日变灰状态查询接口(GET,返回
{"MemorialDay":true|false}) - ZJ_API_SUPPORTS_URL:支持/点赞计数接口(PUT,LeanCloud 风格)
- ZJ_LEANCLOUD_ID / ZJ_LEANCLOUD_KEY:配合上述 API 的鉴权 Header 值
未配置这些键时,相关功能将自动隐藏或安全降级;不会发出任何外部请求。
此外,日志上传至对象存储(COS)的能力也默认关闭;若需要,可在 Info.plist 配置:
- ZJ_QCLOUD_TOKEN_URL:用于获取临时密钥的后端地址
- ZJ_QCLOUD_REGION:COS 区域名(如
ap-beijing) - ZJ_QCLOUD_BUCKET:COS Bucket 名
启用后,LogManager/AppDelegate 会使用这些配置动态初始化上传所需的 SDK。
技术栈与架构要点
- UI:SwiftUI(iOS 15+)
- 数据:Core Data(通过
PersistenceManager管理);可选 iCloud 同步(SyncKit + CloudKit) - 小组件:WidgetKit(支持颜色与字体的同步展示)
- 可访问性:VoiceOver/动态字体等适配(大量
accessibilityLabel与状态广播) - 分享:分享卡片支持生成二维码;可根据配置输出分享链接
- 字体与主题:内置多套字体与配色方案,提供个性化卡片配置与批量编辑
- 架构风格:以
Manager类承载跨页面状态(如StorageManager、SettingsManager、FontManager等),通过EnvironmentObject注入;页面拆分遵循“单向数据 + 事务下沉”的思路,保证状态可控
隐私与开源说明
- 仓库中不包含任何私密密钥与后端域名;默认不会发起对外网络请求;
- 如果你计划发布到 App Store,请自行替换 bundle id、签名与相关配置;
贡献
欢迎提 Issue / PR。对于较大的改动,请先在 Issue 中达成一致的方向与方案。
许可
MIT License,见 LICENSE。