Kavita
Kavita copied to clipboard
[WIP] Comic Rework
The initial implementation of Comic support was built with limited exposure and limited input from community about Comics. Kavita has grown in size and as such, needs to rework the Comic support to align better with the needs of Comic users.
This is a comprehensive story to tackle such an effort.
- Series will be determined by Series Name and Volume number (as a year or number)
Series Grouping
- Series will now be determined by Series Name + Volume number (year/number) from the first Volume
Misc
- ComicInfo Format tag with the following values will force the issue to be treated as a special:
- TBD
- Storyline tab will be removed from Series Detail. Issues will be the default tab.
- Allow for non-numeric, negative, and 0 chapter/issue numbers
- Covers will generate from issue 1 or greater (if 1 is missing) (#2432)
- Reading List order will be:
- Volumes -> Loose leaf issues -> Annuals -> Specials (only effects Series with Annuals within, not where Annuals are their own series)
Annuals
- Annuals can be within a series or externally as their own series. The following occurs:
- If their own series, the main series will establish a relationship of Annual to the Annual Series. This will show under Related tab. The series detail page will show the issues under an Annual tab.
- If they are within the main series, they should be labelled with Annual in the filename, in a folder called Annuals, or be tagged with Format of Annual. They will be grouped in a tab called Annuals.
Imprints
- Add support to parse and display Imprint tag just like Publisher. This will bring same functionality like Filtering on it.
Non-Number Issues
- Issues will have a Sort Order field going forward. This will map with
<IssueOrder>
tag in ComicInfo. If not present, the issue number will be taken (if it is a number). Otherwise, will fallback to Issue number (<Number>
). - Non-numeric issues will be grouped at the start or end (given an arbitrary number).
- (Stretch) Attempt to parse 18.HU -> 18 or 18.5
- Admin will be able to edit the non-numberic issue order via ComicInfo or via the UI (This may be pending until the UX refresh)
Tachiyomi
- This will cause a breakage to Tachiyomi's GetLatestChapter API due to DefaultVolume/Chapter change.
CDisplayEx
- Need to validate with Henri if this will impact his app.
Initial Estimate for time to deliver: 200 dev hours
Linked discussion: https://github.com/Kareadita/Kavita/discussions/2542
All of this would vastly improve the overall experience with Western Comics!
Would the changes to annuals allow them to be picked up by imported reading lists?
"(Stretch) Attempt to parse 18.HU -> 18 or 18.5" - This would need to be 18.5 as there is an issue 18 too and 18.HU isn't the only one.
The order is 16, 16.HU, 17, 18, 18.HU, 19, 19.HU, 20, 20,HU. There is also 92.BEY. It would be awesome if you can parse them, if not the <issue order>
tag seems like it would still solve the probelm.
Just started using Kavita for comics. I support the above features. I would also like to request an ability to add collections to collections. This would allow a higher level of organization. For example, creating many collections for various genres (super-hero, western, horror, etc), then adding all of those collections to a higher level collection simply titled "Genres"
Can I make some suggestions here? A couple things off top of my head now that I've started using this.
- A feature to add single issues to collections, right now, can only add them to reading lists. One application for this would be creating a collection of favorite artists and all their issues drawn. I guess 'reading list' could be used for this, but I think collection is better suited.
- Ability to search for creators inside single issues. Right now, it only finds the set/volume/etc. This is problematic for larger comic sets.
The foundational changes are now in place (and extended testing has begun). This story is now ready to be started.
Testing Issue:
- [x] Library Type pipe is missing for ComicVine
- [x] Cover Image isn't preferring Issue 1 when there is a 0 issue
- [x] Reading list page fails to open when item in ComicVine library