Quote:
Originally Posted by Amalthia
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}