msasikanth/twine · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
Twine - RSS 阅读器
Twine 是一款使用 Kotlin 和 Compose Multiplatform 构建的现代跨平台 RSS 阅读器应用。它提供了出色的用户体验, 方便您浏览订阅源,并支持动态主题,根据内容更改应用环境色。
下载
功能 ✨
- 支持 RDF、RSS、Atom 和 JSON 源
- 源管理:添加、编辑、删除、固定和分组源
- 主屏幕底部栏,用于访问固定的源和分组
- 智能获取:当提供任意网站主页时,Twine 会查找源
- 文章快捷方式,在阅读器视图中获取完整文章
- 用于播客和 HTML 音频标签的音频播放器
- 阅读器视图自定义(字体、颜色)
- 将帖子加入书签以便稍后阅读
- 搜索帖子
- 屏蔽词:基于关键词过滤内容
- 后台同步
- 支持 FreshRSS(GReader)、Miniflux、Dropbox (Alpha ⚠) 的云同步
- 主屏幕小组件
- 使用 OPML 导入和导出您的源
- 应用图标自定义
- 支持浅色、深色和 amoled 主题
项目结构 🏗️
该项目遵循模块化的 Kotlin Multiplatform 结构:
androidApp:Android 特定的应用代码和入口点。iosApp:iOS 特定的应用代码(Swift/Xcode 项目)。shared:包含使用 Compose Multiplatform 的核心 UI 逻辑、ViewModels(使用kotlin-inject)以及共享的展示逻辑。core/:模块化的业务逻辑。base:基础工具、通用接口和平台抽象。data:包含仓库、本地数据库(SQLDelight)和同步逻辑的数据层。model:在整个项目中使用的领域模型。network:使用 Ktor 进行源获取和解析的网络层。
resources/icons:共享图标资源。
技术栈 📚
- Kotlin Multiplatform
- Compose Multiplatform
- Kotlin Coroutines
- Ktor
- SQLDelight
- Kotlin-inject
- Coil
- Multiplatform Markdown Renderer
- Jetpack Libraries
如需查看所使用的完整依赖列表,请参阅 catalog 文件。
开发 🛠️
您可以直接克隆仓库并在本地构建,无需进行任何更改。
该项目需要 JDK 21+,并根据 libs.versions.toml 文件中定义的 AGP 版本,
您可以使用相应的 Android Studio 来导入该项目。
贡献 🛠️
您可以通过 PR 为该项目贡献 bug 修复,对于其他事项,请打开一个 issue 以开始讨论。
该项目使用 ktfmt,通过 spotless gradle 插件提供,并使用捆绑的项目 IntelliJ 代码风格。在提交 PR 之前,请运行
./gradlew spotlessApply 来格式化代码。
翻译
您可以在 Crowdin 上帮助翻译该项目。我们使用 Compose 资源 来处理字符串,您可以在此处 here 阅读更多相关信息。
隐私政策 🔒
您可以在此处 here 阅读隐私政策。
由 💖 制作
- Sasikanth Miriyampalli / 开发
- Eduardo Pratti / 设计
错误报告由


