View Single Post
Old 02-25-2023, 02:14 AM   #3
culytera
Zealot
culytera ought to be getting tired of karma fortunes by now.culytera ought to be getting tired of karma fortunes by now.culytera ought to be getting tired of karma fortunes by now.culytera ought to be getting tired of karma fortunes by now.culytera ought to be getting tired of karma fortunes by now.culytera ought to be getting tired of karma fortunes by now.culytera ought to be getting tired of karma fortunes by now.culytera ought to be getting tired of karma fortunes by now.culytera ought to be getting tired of karma fortunes by now.culytera ought to be getting tired of karma fortunes by now.culytera ought to be getting tired of karma fortunes by now.
 
Posts: 131
Karma: 295674
Join Date: Jul 2021
Device: iPhone
Quote:
Originally Posted by Amalthia View Post
I'm now curious to know how other people use calibre to normalize their metadata, only I'm not sure this thread is the place to find out?
I separate the genre tags into category and freeform tags instead so they don't flood Calibre's tag browser while still keeping the freeform tags in order. The freeform tags will only show up on the fic's cover page, on a custom column and the epub itself. The only tags that show up on the tag browser now are the category/fandom, romantic relationships (the relationship tags that use "/"), the rating, the fic's status (whether it's in-progress/complete), and the grouped word count. So at the moment, my library has 59 tags.

If I want to look up the freeform tags on Calibre, I can still search for them since they're in a custom column with the long text type.

I use MapleRead to read epubs and I want to see the tags by order of their type so I also put a prefix depending on the tag. If it's a category it's [c], for the relationships it's [p], rating [r], status [s], grouped word count [w].

How I add the prefixes:
Spoiler:
Code:
add_to_extra_valid_entries:,prefix_ships,prefix_category,prefix_rating,prefix_status,prefix_wordcount

include_in_prefix_ships:ships
include_in_prefix_category:category
include_in_prefix_rating:rating
include_in_prefix_status:status
include_in_prefix_wordcount:numWords

replace_metadata:
 ## put these at the end of replace_metadata
 prefix_ships=>^(.*)=>[p] \1
 prefix_category=>^(.*)=>[c] \1
 prefix_rating=>^(.*)=>[r] \1
 prefix_status=>^(.*)=>[s] \1
 prefix_wordcount=>^(\d+|([0-4],\d{3})*|5,000)$=>[w] 0 - 5000
 prefix_wordcount=>^((?!5,000)([5-9],\d{3})*|10,000)$=>[w] 5001 - 10000
 prefix_wordcount=>^((?!10,000)(1\d,\d{3})*|20,000)$=>[w] 10001 - 20000
 prefix_wordcount=>^((?!20,000)([2-3]\d,\d{3})*|40,000)$=>[w] 20001 - 40000
 prefix_wordcount=>^((?!40,000)([4-7]\d,\d{3})*|80,000)$=>[w] 40001 - 80000
 prefix_wordcount=>^((?!80,000)(([8-9]\d)|(\d{3,}))(,\d{3})+)$=>[w] 80000+

 ## ships, category, rating, status with the added prefixes in Calibre's tags, the freeform tags don't flood the tag browser
include_subject_tags:prefix_ships,prefix_category,prefix_rating,prefix_status,prefix_wordcount


I remove characters if they're already mentioned in the relationship tag (since you have to manually input each character, I don't cover all of them, only the ones with multiple fics in my library):
Code:
exclude_metadata_pre:
 characters=~CHARACTER_NAME&&ships=~CHARACTER_NAME
 ## The below line specifically to exclude relationship tags that don't have / or & since some authors put "ship_name relationship" in the relationship tags and I want the tags to be consistent and not redundant
 ships!~(.*)[/&](.*)
I also have the fic's published and updated dates reformatted (thanks to JimmXinu for this):
Code:
datePublished_format:%%B %%d, %%Y
dateUpdated_format:%%B %%d, %%Y

add_to_extra_valid_entries:,dateRange

include_in_dateRange:datePublished, dateUpdated

add_to_replace_metadata:
# diff dates     1pmonth    2pday        3pyear   4umonth    5uday        6uyear
 dateRange_LIST=>([^\s]+)\s+(\d{1,2}),\s+(\d{4}), ([^\s]+)\s+(\d{1,2}),\s+(\d{4})=>\1 \2, \3-\4 \5, \6
# same year      1          2            3        4          5
 dateRange_LIST=>([^\s]+)\s+(\d{1,2}),\s+(\d{4})-([^\s]+)\s+(\d{1,2}),\s+\3=>\1 \2-\4 \5, \3
# same month     1          2              3            4
 dateRange_LIST=>([^\s]+)\s+(\d{1,2})-\1\s+(\d{1,2}),\s+(\d{4})=>\1 \2-\3, \4
And with the rest of my personal.ini, this is pretty much what the results will look like. (First image)

Since I put these all in custom columns, I could also use them as values for the Generate Cover plugin. You could even choose to show only one relationship tag instead of all of them. Here's how that layout was achieved:
Code:
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯​
{#ao3_category}
{#ao3_ships:sublist(0,-1,\,)}
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯​
{#ao3_rating} • {#ao3_words} • {#ao3_chapters}
{#ao3_date}
Attached Thumbnails
Click image for larger version

Name:	calibre.jpg
Views:	1318
Size:	408.8 KB
ID:	199915   Click image for larger version

Name:	generate_cover.jpg
Views:	1294
Size:	214.1 KB
ID:	199916  
culytera is offline   Reply With Quote