No description
Find a file
Bastien Quelen e24b40fa3b
Some checks are pending
build / build (push) Waiting to run
ci: porte vers Forgejo Actions + corrige les chemins voisins (edda-library)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 19:16:06 +02:00
.claude Bootstrap eink-cli: Kotlin/Native OPDS client + OpenSpec change 2026-06-19 18:46:44 +02:00
.forgejo/workflows ci: porte vers Forgejo Actions + corrige les chemins voisins (edda-library) 2026-06-27 19:16:06 +02:00
app refactor: renomme boox-opds → muninn-eink, package net.helheim.muninn 2026-06-27 16:24:31 +02:00
design-system Pivot to boox-opds: Android/Compose e-ink OPDS app + design system 2026-06-19 19:08:06 +02:00
gradle Implement internal Readium EPUB reader 2026-06-19 21:57:21 +02:00
licenses Bundle editorial fonts (task 2.4) 2026-06-19 20:02:22 +02:00
openspec Synchro auto de la pile à lire vers la liseuse (to-read-sync) 2026-06-20 17:42:49 +02:00
.gitignore Pivot to boox-opds: Android/Compose e-ink OPDS app + design system 2026-06-19 19:08:06 +02:00
build.gradle.kts Pivot to boox-opds: Android/Compose e-ink OPDS app + design system 2026-06-19 19:08:06 +02:00
CLAUDE.md ci: porte vers Forgejo Actions + corrige les chemins voisins (edda-library) 2026-06-27 19:16:06 +02:00
gradle.properties Pivot to boox-opds: Android/Compose e-ink OPDS app + design system 2026-06-19 19:08:06 +02:00
gradlew Bootstrap eink-cli: Kotlin/Native OPDS client + OpenSpec change 2026-06-19 18:46:44 +02:00
gradlew.bat Bootstrap eink-cli: Kotlin/Native OPDS client + OpenSpec change 2026-06-19 18:46:44 +02:00
README.md refactor: renomme boox-opds → muninn-eink, package net.helheim.muninn 2026-06-27 16:24:31 +02:00
settings.gradle.kts refactor: renomme boox-opds → muninn-eink, package net.helheim.muninn 2026-06-27 16:24:31 +02:00

Muninn

An Android app — built for Boox e-ink readers — that browses your edda-library library over OPDS 2.0, downloads EPUBs, and opens them in NeoReader (the native Boox reader). It runs on the device.

Built with Kotlin + Jetpack Compose, tuned for e-ink: pure black-on-white, no animations, large touch targets.

A built-in EPUB reader may come later; v0.1 hands reading off to NeoReader.

Why

Reading the library on a Boox today means browsing the web UI in a sluggish e-ink browser, downloading, then finding the file. Muninn is a native, e-ink-first catalog client: search, tap, download, read.

Features (v0.1 scope)

  • Connect to an edda-library server with a per-user or shared OPDS token.
  • Browse the OPDS 2.0 navigation feed (authors, tags, publishers, series, unread…).
  • Search the catalog.
  • Download EPUBs and open them in NeoReader via an Android intent.
  • E-ink-optimised Compose UI (no motion, high contrast).

Build

Requires the Android SDK and JDK 17.

./gradlew :app:assembleDebug     # build debug APK
./gradlew :app:installDebug      # install on a connected Boox over adb

The debug APK lands at app/build/outputs/apk/debug/app-debug.apk. Release APKs are attached to each GitHub release (published on a v* tag).

Installing on the Boox

Enable developer options / USB debugging on the Boox, connect over USB (or adb connect <ip>), then ./gradlew :app:installDebug — or sideload the APK directly.

Configuration

In-app: enter your server URL and OPDS token (stored via DataStore). The token is sent as the ?token= query parameter that edda-library accepts on /opds/*.

Fonts

The editorial type system bundles three OFL (SIL Open Font License) variable fonts in app/src/main/res/font/Playfair Display (titles), Source Serif 4 (body), JetBrains Mono (labels). License texts are in licenses/.

Development

Spec-driven via OpenSpec — see openspec/changes/bootstrap-opds-client/ for the proposal, design, capability specs, and tasks. Conventions live in CLAUDE.md.