Joseph Milazzo 0e19ba4a10
Manga Reader Shakeout (#1142)
* Fixed a unit test in ArchiveService

* Image scaling fixes

* removing test

* Added new layout mode (enum only) and cleaned up manga reader and wrote extra documentation

* Aligned code with cleanup

* Adding reverse classes for manga reading

* Disable options for layout modes that doesn't make sense.

* Cleaned up manga reader menu items to link to preferences options directly

* Work in progress, but rendering the correct page numbers for double. Need to rework caching logic so we can use existing image objects

* Pagination logic is now properly increasing page number an extra when double layout mode

* I can't figure out cachedImages to work properly with double pages, but doing it in a way where it handles downloading the image (and etag cache) + rendering the url, seems to work really well

* Double original fix, also flex squish fix

* Implemented last page on double which will load next chapter.

Fixed a bug where if GetImage from ReaderController threw an error, the chapter directory would be emptied, but the folder itself wasn't deleted.

* Fixed a bad if for double manga

* double class fix

* Cleanup up some console.logs

* Adjusted the caching for images in a reading session so they cache for 2 mins

* fixing webtoon image issue

* Tweaked the caching of images to 10 mins for reading. Fixed a bug where after webtoon, single image layout would be selected. Tweaked logic for handling prev/next pages on chapter boundaries.

* Fixed an issue where 2nd page would be skipped

* Fixed an issue where 2nd page would be skipped

* Fixed a skip page issue

* Misc css fixes

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
2022-03-08 17:58:47 -08:00
2022-02-21 16:39:25 -05:00
2021-07-17 14:03:11 -05:00
2022-03-08 17:58:47 -08:00
2022-02-24 14:42:39 -08:00
2022-03-08 17:58:47 -08:00
2022-02-04 11:28:58 -08:00
2022-03-08 17:58:47 -08:00
2021-07-17 14:03:11 -05:00
2021-07-22 21:13:24 -05:00
2021-06-06 15:25:50 -05:00
2022-02-16 07:12:38 -08:00
2021-07-17 14:03:11 -05:00
2021-06-06 15:25:50 -05:00
2021-11-18 06:55:52 -08:00
2022-01-26 10:51:03 -08:00
2021-06-06 15:25:50 -05:00
2021-06-17 18:07:51 -05:00
2021-12-08 11:27:54 -08:00
2022-02-16 07:12:38 -08:00
2021-08-28 15:32:24 -07:00
2020-12-12 17:03:06 -06:00
2021-12-02 11:38:19 -06:00
2022-02-12 06:49:22 -08:00

Kavita

!high level view

Kavita is a fast, feature rich, cross platform reading server. Built with a focus for manga, and the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family!

Release License Downloads Docker Pulls Maintainability Rating Security Rating Backers on Open Collective Sponsors on Open Collective

Goals

  • Serve up Manga/Webtoons/Comics (cbr, cbz, zip/rar, 7zip, raw images) and Books (epub, pdf)
  • First class responsive readers that work great on any device (phone, tablet, desktop)
  • Dark and Light themes
  • Provide hooks into metadata providers to fetch metadata for Comics, Manga, and Books
  • Metadata should allow for collections, want to read integration from 3rd party services, genres.
  • Ability to manage users, access, and ratings
  • Ability to sync ratings and reviews to external services
  • Fully Accessible with active accessibility audits
  • Dedicated webtoon reading mode
  • And so much more...

Support

Reddit Discord GitHub - Bugs and Feature Requests Only

Demo

If you want to try out Kavita, we have a demo up: https://demo.kavitareader.com/

Username: demouser
Password: Demouser64

Setup

Non-Docker

  • Unzip the archive for your target OS
  • Place in a directory that is writable. If on windows, do not place in Program Files
  • Linux users must ensure the directory & kavita.db is writable by Kavita (might require starting server once)
  • Run Kavita
  • If you are updating, copy everything over into install location. All Kavita data is stored in config/, so nothing will be overwritten.
  • Open localhost:5000 and setup your account and libraries in the UI.

Docker

Running your Kavita server in docker is super easy! Barely an inconvenience. You can run it with this command:

docker run --name kavita -p 5000:5000 \
-v /your/manga/directory:/manga \
-v /kavita/data/directory:/kavita/config \
--restart unless-stopped \
-d kizaing/kavita:latest

You can also run it via the docker-compose file:

version: '3'
services:
    kavita:
        image: kizaing/kavita:latest
        container_name: kavita
        volumes:
            - ./manga:/manga
            - ./config:/kavita/config
        ports:
            - "5000:5000"
        restart: unless-stopped

Note: Kavita is under heavy development and is being updated all the time, so the tag for current builds is :nightly. The :latest tag will be the latest stable release.

Feature Requests

Got a great idea? Throw it up on our Feature Request site or vote on another idea. Please check the Project Board first for a list of planned features.

Notice

Kavita is being actively developed and should be considered beta software until the 1.0 release. Kavita may be subject to changes in how the platform functions as it is being built out toward the vision. You may lose data and have to restart. The Kavita team strives to avoid any data loss.

Contributors

This project exists thanks to all the people who contribute. Contribute.

Donate

If you like Kavita, have gotten good use out of it or feel like you want to say thanks with a few bucks, feel free to donate. Money will go towards expenses related to Kavita. Back us through OpenCollective. You can also use Paypal, however your name will not show below.

Backers

Thank you to all our backers! 🙏 Become a backer

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor

Mega Sponsors

JetBrains

Thank you to JetBrains for providing us with free licenses to their great tools.

Palace-Designs

We would like to extend a big thank you to who hosts our infrastructure pro-bono.

License

Description
Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.
Readme GPL-3.0 245 MiB
Languages
C# 60.9%
TypeScript 24.1%
HTML 12.2%
SCSS 2.5%
Shell 0.1%