Find a file
Chmouel Boudjnah b5e0853d2d
chore: make the build depend on less trust
The wrapper downloaded Gradle from a URL and ran whatever came back, and
every GitHub Action was pinned to a tag, which is a name someone else
can move. Now the wrapper checks the distribution against a known
checksum and each action is pinned to the commit it was when it was
reviewed, with the tag kept alongside as a comment.

CI also builds the release APK on every pull request. That is the build
people install and the only one that runs R8, so a shrinking rule that
strips something Readium needs should fail in review rather than on the
evening a tag is cut.
2026-07-29 11:17:06 +02:00
.github/workflows chore: make the build depend on less trust 2026-07-29 11:17:06 +02:00
app fix: back up the things you would miss 2026-07-29 11:14:25 +02:00
docs/screenshots docs: a twelfth screenshot, for the dictionary 2026-07-29 10:14:38 +02:00
fastlane/metadata/android/en-US docs: screenshots we can actually publish 2026-07-29 09:40:01 +02:00
gradle chore: make the build depend on less trust 2026-07-29 11:17:06 +02:00
hack docs: a twelfth screenshot, for the dictionary 2026-07-29 10:14:38 +02:00
.gitignore chore: keep the signing key in pass 2026-07-29 09:08:10 +02:00
AGENTS.md feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
build.gradle.kts feat: add EPUB reading with Readium navigator 2026-07-28 21:38:21 +02:00
CLAUDE.md feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
DEVELOPER.md docs: screenshots we can actually publish 2026-07-29 09:40:01 +02:00
gradle.properties feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
gradlew feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
gradlew.bat feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
LICENSE feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00
README.md docs: Update readme with formatting and author details 2026-07-29 10:21:09 +02:00
settings.gradle.kts feat: scaffold Android project with Compose app shell 2026-07-28 21:21:07 +02:00

Liseur

An open-source EPUB reader and calibre-web client for Android: a modern reader that is equally at home with the files on your phone and with a calibre-web server.

Library Reading Reading controls Typography
The shelf, with whatever you were last reading on top. A full page of text, a highlight, a bookmark ribbon. Tap the middle for progress, the scrubber and time left. Reading themes, fonts, size, spacing, brightness.
Contents Highlights Search Definition card
Contents on a full screen, so long books stay navigable. Everything you marked up, exportable as Markdown. Search the whole book, with a snippet around each hit. Hold a word for a definition, without leaving the page.
Settings calibre-web setup Library in dark mode Reading in the dark theme
Theme, volume keys, and where your books come from. An address, a username, a password. Liseur works out the rest. The same shelf after dark. The Dark page theme, chosen separately from the app's.

Screenshots use Standard Ebooks editions, which are in the public domain.

What it does

Reading. Paginated EPUB rendering through the Readium Kotlin Toolkit, full screen by default. Tap the right of the page to go forward, the left to go back, the middle to bring up the chrome; volume keys work too if you would rather not touch the screen.

Typography. Four reading themes (Light, Sepia, Dark, Black) that are independent of the app's own theme, four bundled open fonts (Literata, Vollkorn, Atkinson Hyperlegible, Inter) or the publisher's own, plus size, line spacing, margins and an in-app brightness slider.

Where you are. A footer that shows time left in the chapter, time left in the book, page, or percentage; tap it to cycle. A scrubber with chapter ticks, and a pill that takes you back if you jumped somewhere by accident.

Marking up. Highlights in four colours, notes, bookmarks with a Kindle-style corner ribbon, and a notebook of everything you have marked in a book, exportable as Markdown.

Looking things up. Search the whole book with snippets and jump-to highlighting, and a Wiktionary definition card on any selected word, with a hand-off to an offline dictionary app if you have one.

Your library. Point Liseur at folders of EPUBs and it indexes them, covers and all. Books you are actually using sort to the front, finished ones get a tick, and pull to refresh picks up whatever changed behind the app's back.

calibre-web. One screen: URL, username, password. Liseur works out the rest (the OPDS catalog, whether the account may download, and the Kobo sync token), then merges your server's books into the same library with a cloud badge. Tap one and it downloads and opens. Reading positions sync both ways through calibre-web's Kobo protocol. You can remove the copy on the device, or delete the book from the server outright.

Free software. No trackers or analytics, no proprietary dependencies. The only network traffic is to the calibre-web server you configured and, if you ask for a definition, to Wiktionary.

Development

See DEVELOPER.md for how to build Liseur from source.

Author

Chmouel Boudjnah

Licence

MIT. Bundled fonts are under the SIL Open Font License.