[Enhancement]: Genre / subgenre tree support #1271

Open
opened 2026-04-24 23:38:02 +02:00 by adam · 3 comments
Owner

Originally created by @wtanksleyjr on GitHub (Jul 19, 2023).

Describe the feature/enhancement

I'd like to be able to view and/or search for subgeneras within a given genre, so for example I would be able to click on the Fiction genre to see all fiction books (including sci-fi, drama, fantasy, and so on).

This is probably a long-term request, but most sources of Genre information actually treat the Genres as being a tree structure. For example, rather than a book being "Space Opera", it'll actually be "Fiction > Science Fiction & Fantasy > Science Fiction > Space Opera".

In the Audible API, this is reported as "Genre Ladders", with a book being given multiple genres like "Fiction > Fantasy > Epic" and "Action & Adventure > Thrillers" all at once. So the tree Audible uses can be indirectly deduced from its own metadata.

Originally created by @wtanksleyjr on GitHub (Jul 19, 2023). ### Describe the feature/enhancement I'd like to be able to view and/or search for subgeneras within a given genre, so for example I would be able to click on the Fiction genre to see all fiction books (including sci-fi, drama, fantasy, and so on). This is probably a long-term request, but most sources of Genre information actually treat the Genres as being a tree structure. For example, rather than a book being "Space Opera", it'll actually be "Fiction > Science Fiction & Fantasy > Science Fiction > Space Opera". In the Audible API, this is reported as "Genre Ladders", with a book being given multiple genres like "Fiction > Fantasy > Epic" and "Action & Adventure > Thrillers" all at once. So the tree Audible uses can be indirectly deduced from its own metadata.
adam added the enhancementbacklog labels 2026-04-24 23:38:02 +02:00
Author
Owner

@KaiStarkk commented on GitHub (Dec 17, 2023):

Nice idea. I haven't been able to get genres matched in a useful way so far, since the cleanliness of data on most providers is average at best. Would be nice.

@KaiStarkk commented on GitHub (Dec 17, 2023): Nice idea. I haven't been able to get genres matched in a useful way so far, since the cleanliness of data on most providers is average at best. Would be nice.
Author
Owner

@wtanksleyjr commented on GitHub (Dec 17, 2023):

I found a workaround that kinda works ... what I do is extract every element of the "category ladder" into the "tags" field, and then put only one "most important" tag into the Genre. The way ABS works is loosely similar, as it puts the FIRST item in each category ladder into Genres and the rest into Tags, so I only have to retype 2-3 tags when I Match against Audible.

It's still very much a "gut feel" kind of thing, though.

@wtanksleyjr commented on GitHub (Dec 17, 2023): I found a workaround that kinda works ... what I do is extract every element of the "category ladder" into the "tags" field, and then put only one "most important" tag into the Genre. The way ABS works is loosely similar, as it puts the FIRST item in each category ladder into Genres and the rest into Tags, so I only have to retype 2-3 tags when I Match against Audible. It's still very much a "gut feel" kind of thing, though.
Author
Owner

@anakinsleftleg commented on GitHub (Jul 24, 2025):

Yes, I was just thinking something similar in that the tags and genres are not very helpful since you can only access a single one of either at any time. And in the drop down to filter, the visible text is very limited so even if you were to add more descriptors, you wouldn't even be able to see them in that view.

Genre ladders would be great. In Calibre, I use Genre to describe things about the book, and I use Age/Style to describe what kind of book it is. Genre could be something like Nonfiction.Historical.Military or Fiction.Fantasy.Epic or any number of combinations of those types of ladder descriptors. It makes it really easy to filters, sort, and set a book with multiple genres. Like it could be about space travel and philosophy at the same time so both would be there in their own ladders. Age/Style I use to set things like Adult.Reference or Juvenile.ShortStory or General.Novel and this only gets one entry, unlike Genre. It doesn't say what the book is about, just what style or type of writing it is and the group is geared for.

Anyway, something like this would be very helpful in ABS. As far as I can tell, the only difference between Genre and Tags in ABS is that Tags can be used to filter content for users. But otherwise they play the same role.

Another way to say it, is you can't sub-filter. You can only see one genre or tag at any given time, but not a combination. If you want philosophy and space-travel, you can only see one or the other, but not the intersection of both.

@anakinsleftleg commented on GitHub (Jul 24, 2025): Yes, I was just thinking something similar in that the tags and genres are not very helpful since you can only access a single one of either at any time. And in the drop down to filter, the visible text is very limited so even if you were to add more descriptors, you wouldn't even be able to see them in that view. Genre ladders would be great. In Calibre, I use Genre to describe things about the book, and I use Age/Style to describe what kind of book it is. Genre could be something like _Nonfiction.Historical.Military_ or _Fiction.Fantasy.Epic_ or any number of combinations of those types of ladder descriptors. It makes it really easy to filters, sort, and set a book with multiple genres. Like it could be about space travel and philosophy at the same time so both would be there in their own ladders. Age/Style I use to set things like _Adult.Reference_ or _Juvenile.ShortStory_ or _General.Novel_ and this only gets one entry, unlike Genre. It doesn't say what the book is about, just what style or type of writing it is and the group is geared for. Anyway, something like this would be very helpful in ABS. As far as I can tell, the only difference between Genre and Tags in ABS is that Tags can be used to filter content for users. But otherwise they play the same role. Another way to say it, is you can't sub-filter. You can only see one genre or tag at any given time, but not a combination. If you want philosophy and space-travel, you can only see one or the other, but not the intersection of both.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#1271