Skip to content

CHANG-JUI-LIN/Yuedu-reader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

690 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yuedu

Yuedu

Apple Books-inspired open-source reader for iOS.

简体中文 · 繁體中文 · English

Download on the App Store Join the TestFlight beta Featured in iOS Dev Weekly #751 iOS 18.0+ MIT License

Featured in iOS Dev Weekly #751From WebView to CoreText: Building a Native EPUB Reader for iOS.

Yuedu is an open-source reading application focused on a high-quality local and open reading experience. One app for EPUB3, comics, audiobooks, RSS, and open catalogs — rendered natively with CoreText, no WebView.

Features

Formats EPUB3 · TXT · CBZ Comics · Audiobook · PDF (WIP)
Content Local Library · WebDAV · OPDS · RSS · Content Sources
Reading Vertical Writing · Themes · Annotation · Bookmarks
More Reading Statistics · iCloud Sync

Why CoreText, not WebView

Most readers wrap content in a WebView. Yuedu renders every page with CoreText, which gives precise pagination, true CJK vertical writing, frame-accurate text-to-speech sync, and native text selection — at native performance. The full story is in From WebView to CoreText.

Architecture

UI (SwiftUI)
  ↓
Reader (CoreText)
  ↓
Parser (EPUB / TXT / CBZ / RSS / Audio)
  ↓
Storage (Local-first)
  ↓
Sync (WebDAV / iCloud / OPDS)

Build

Requirements: Xcode 16+ · iOS 18.0+ · Swift 6.0

git clone https://github.com/CHANG-JUI-LIN/Yuedu-reader.git
cd Yuedu-reader
open Yuedu-Reader.xcodeproj

Then select a simulator (or your device) and run.

Contributing

Contributions are welcome — see CONTRIBUTING.md for conventions and the PR process.

License

MIT.

About

Yuedu is a native iOS reader that supports multiple book formats, RSS subscriptions, and user-provided book sources.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages