Commit a7f86d6
committed
Add novel reader integration with LNReader JS plugin support
Full novel reading support using LNReader's JavaScript plugin ecosystem:
Core (hayai.novel.*):
- QuickJS-based JS runtime with full LNReader API bridge (fetch, cheerio,
dayjs, storage, require)
- NovelSource implementing CatalogueSource + TextSource marker
- Plugin manager: install/uninstall/update from configurable repos
- Novel repo system with SQLDelight persistence
Reader (hayai.novel.reader.*):
- NovelViewer following WebtoonViewer architecture (RecyclerView + Adapter)
- WebView-based page rendering with themed CSS (5 themes)
- GestureDetector tap navigation with correct system inset handling
- All 6 navigation modes (L, Kindlish, Edge, RightLeft, Disabled)
- Scroll progress tracking (percentage-based) with position restoration
- Reader settings tab (font size/family, line height, alignment, padding, theme)
- Preferences wired via .register() pattern matching WebtoonConfig/PagerConfig
Integration:
- Download queue: Download.source widened to Source, novel chapters saved as HTML
- Bottom sheet: Novel plugins tab with install/update UI
- All strings via moko-resources (no hardcoded text)
- Backup compatible: novels stored as regular Manga entities1 parent ee48891 commit a7f86d6
59 files changed
Lines changed: 4400 additions & 108 deletions
File tree
- app/src/main
- assets/novel
- runtime
- shims
- java
- eu/kanade/tachiyomi
- data
- download
- model
- preference
- source
- ui
- extension
- reader
- loader
- settings
- hayai/novel
- di
- js
- plugin
- model
- reader
- source
- ui
- res
- layout
- values
- data/src/commonMain
- kotlin/hayai/novel/repo
- sqldelight/tachiyomi/data
- domain/src/commonMain/kotlin/hayai/novel/repo
- interactor
- model
- i18n/src/commonMain/moko-resources/base
- novel-js-bundler
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments