Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre > Library Management

Notices

Reply
 
Thread Tools Search this Thread
Old 01-21-2024, 07:09 PM   #106
ownedbycats
Custom User Title
ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.
 
ownedbycats's Avatar
 
Posts: 9,542
Karma: 64960981
Join Date: Oct 2018
Location: Canada
Device: Kobo Libra H2O, formerly Aura HD
Quote:
Originally Posted by ownedbycats View Post
While not entirely 'metadata' management, what methods do people use to download fics that aren't on the various FFF-supported websites? Old static webpages mostly.

Ive been using EpubPress, but I'm not entirely happy with it.
SingleFile and Calibre convert is what I'm using now, thoug I still have to do some light editing on the resulting ePub and fill the metadata manually.
ownedbycats is online now   Reply With Quote
Old 08-10-2024, 10:22 AM   #107
citac
Fanatic
citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.
 
Posts: 556
Karma: 1020204
Join Date: Sep 2008
Location: Bosnia and Herzegovina
Device: Lenovo Yoga Tab 2 (Android)
Hello, I realize this thread is old by this point, but I was wondering if you ever completed the guide you were working on? After a long time not using calibre and fanficfare myself I find myself in need of relearning both. I no longer have my old personal.ini file (old laptop died and I had no backup of it), and it's difficult to find my way around the forums and pick up bits and pieces of information (though I am going through threads and collecting what I can).

If anyone else has something I'd also appreciate it.

Quote:
Originally Posted by dailyalice View Post
Love to see what other people are doing. Thanks everybody.

I dislike the FanFicFare's default behavior that dumps a ton of data into the main calibre Tags column/field so I actually edit my personal.ini so FanFicFare doesn't put anything in subject_tags. (I know it works for some people since these fields/columns are easily searched, but I like having things in separate columns/fields.)

Instead I have a bunch of custom columns for the data. Relationships column, Fandom column, Warnings column, etc.

The most important custom column, that I always create first, is the "Saved Metadata" column so I always have all available data from archives in my library. That way if I mess around with adding new columns or changing them, I can always fill them from Saved Metadata without having to redownload fic.

Though it is best to figure out what metadata you value the most and how you want it presented sooner rather than later, especially if you make anthologies (which won't work with Saved Metadata). Or if you want data to look a certain way on title pages. You can inject new generated covers into epubs without too much trouble, but not title pages.

Here's my post over in the FanFicFare thread about how I have a tag column that's unedited AO3 freeform tags called Tags (AO3) and another tag column currently named Tags (Edited) which is "only" about 450 tags, some pulled straight from AO3's freeform tags, some modified using replace_metadata.

Basically I only keep the tags from AO3's tags that I find useful. Any time I hear someone say they want to try to normalize all the AO3 tags, I point out how futile it is. You can use the data! But my Tags (AO3) column has over 30,000 tags in it (I wish I were exaggerating). Tags (Edited) has 450 or so which is much more manageable to say the least.

I keep Tags (AO3) around so I have the data and can look at it or search it if I want to. And to have that information on title pages. (But I mostly ignore it in the tag browser.)



I'm intrigued by this. If you dump freeform tags into a long text column, do the tags then show up in the order they're written on AO3? I'm guessing they would.

Because that's a thing I'd like to have on my title pages: the freeformtags as posted. When you put them in a tags column, they're alphabetized which would be fine if people actually used them as tags but of course some authors practically tell stories in the tags (and yes, I like to keep the stories I suppose).
citac is offline   Reply With Quote
Advert
Old 08-12-2024, 12:04 AM   #108
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: 121
Karma: 295674
Join Date: Jul 2021
Device: iPhone
Quote:
Originally Posted by citac View Post
Hello, I realize this thread is old by this point, but I was wondering if you ever completed the guide you were working on? After a long time not using calibre and fanficfare myself I find myself in need of relearning both. I no longer have my old personal.ini file (old laptop died and I had no backup of it), and it's difficult to find my way around the forums and pick up bits and pieces of information (though I am going through threads and collecting what I can).

If anyone else has something I'd also appreciate it.
What kind of look do you want to achieve? I shared my config in this thread before though the ini is slightly outdated. The only significant change is the background color changing depending on the rating. And since I only use AO3 I don't know how well my config will work with other sites. Here's my ini:
Spoiler:

Code:
[defaults]
replace_xbr_with_hr:3
replace_hr:false
replace_br_with_p:false

slow_down_sleep_time:0.5

## http://docs.python.org/library/datetime.html#strftime-strptime-behavior
datePublished_format:%%B %%d, %%Y
dateUpdated_format:%%B %%d, %%Y

add_to_extra_valid_entries:,additional_characters,category_main,dateRange,icon_bookmarked,icon_subscribed,icons,prefix_category,prefix_rating,prefix_ships,prefix_status,prefix_wordcount

additional_characters_label:Characters
category_label:Fandom
dateRange_label:Date

include_in_additional_characters:characters
include_in_category_main:category
include_in_dateRange:datePublished,dateUpdated
include_in_icons:icon_bookmarked,icon_subscribed
include_in_prefix_category:category
include_in_prefix_rating:rating
include_in_prefix_ships:ships
include_in_prefix_status:status
include_in_prefix_wordcount:numWords

keep_in_order_category:true
keep_in_order_characters:true
keep_in_order_ships:true

## keep in order for extra entries
keep_in_order_additional_characters:true
keep_in_order_category_main:true
keep_in_order_dateRange:true
keep_in_order_icons:true
keep_in_order_prefix_category:true
keep_in_order_prefix_ships:true

exclude_metadata_pre:
 category=~(.*) - Fandom
 additional_characters==Other(s)
 additional_characters=~(Original|Various) Character\(?s?\)?
 freeformtags,genre==Other Additional Tags to Be Added
 warnings==Creator Chose Not To Use Archive Warnings
 warnings==No Archive Warnings Apply
## Remove ships that don't have a / or &
 ships,prefix_ships!~(.*)(\/| & )(.*)
## Removes platonic ships in ship lists
 ships,prefix_ships=~(.*) & (.*)
## Removes ships that are only implied or mentioned according to author
 prefix_ships=~^(.*)\(?(implied|mentioned)\)?

replace_metadata:
 rating=> Audiences=>
 rating=>Teen [Aa]nd Up=>Teen
## Change / to & if friendship is mentioned
 ships=>(.*)[/](.*) \(?[Ff]riendship(?: only)\)?=>\1 & \2
 category,prefix_category=>No Fandom=>Original Work
 category,prefix_category=> \(?(- All Media Types|- Fandom|Movies|Movie [0-9]+|Comics|TV|Video Games?)\)?$=>
 additional_characters=> - Character=>
 additional_characters=> ?\((cameo|briefly|if you squint|sort of)\)=>
 additional_characters=> \([Cc]haracter\)=>
 additional_characters=>\(mentions of\) =>
 category,ships= - Fandom$=>
 ships=> - Relationship=>
 ships=>^(.* - Relationship)$=>
 ships=>^(Eventual (.*)/(.*))$=>
## Get first item in list for prefixed tag
 prefix_category_LIST=>^(.*?)(\,.*)=>\1
 category_main_LIST=>^(.*?)(\,.*)=>\1
 prefix_ships_LIST=>^(.*?)(\,.*)=>\1
## Add prefix to tags
 prefix_ships=>^(.*)=>[p] \1
 prefix_category=>^(.*)=>[c] \1
 prefix_rating=>^(.*)=>[r] \1
 prefix_status=>^(.*)=>[s] \1
## Group word count
 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
### Get date range with published date and updated date
## diff dates     1pmonth    2pday        3pyear   4umonth    5uday        6uyear
 dateRange_LIST=>([^\s]+)\s+(\d{1,2})\,\s+(\d{4})\,\s([^\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
## don't need regexp for date day, handled by de-dup.
### Bookmark and subscribed icons
 icon_bookmarked=>True=>Bookmarked
 icon_subscribed=>True=>Subscribed
 icon_bookmarked=>False=>Not Bookmarked
 icon_subscribed=>False=>Not Subscribed
## Show bookmarked icon, show subscribed icon
 icons_LIST=>^(Bookmarked\, Subscribed)$=>����
## Don't show bookmarked icon, don't show subscribed icon
 icons_LIST=>^(Not Bookmarked\, Not Subscribed)$=>◈
## Don't show bookmarked icon, show subscribed icon
 icons_LIST=>^(Not Bookmarked\, Subscribed)$=>��
## Show bookmarked icon, don't show subscribed icon
 icons_LIST=>^(Bookmarked\, Not Subscribed)$=>��
## CHANGE BACKGROUND COLOR ACCORDING TO RATING
 output_css=>fff_titlepage_color_replace=>264701&&rating==General
 output_css=>fff_titlepage_color_replace=>38419D&&rating==Teen
 output_css=>fff_titlepage_color_replace=>66347F&&rating==Mature
 output_css=>fff_titlepage_color_replace=>8F0101&&rating==Explicit
 output_css=>fff_titlepage_color_replace=>1B1B1B&&rating==Not Rated 
 output_css=>fff_titlepage_color_replace=>555555
## FILTER REDUNDANT FREEFORM TAGS
 freeformtags=>^(Angst and )(.*)=>Angst\,\2
 freeformtags=>^(Fluff and )(.*)=>Fluff\,\2
 freeformtags=>^(Smut and )(.*)=>Smut\,\2
 freeformtags=>(\w+ )(Fluff)$=>Fluff
 freeformtags=>(\w+ )(Smut)$=>Smut
 freeformtags=>(\w+ )(Angst)$=>Angst
 freeformtags=>(.*)(Hurt\/Comfort)$=>Hurt/Comfort
 freeformtags=>^(Alternate Universe)$=>
 freeformtags=>^(Alternate Universe -)=>AU -
 freeformtags=>^(Drama & Romance)$=>Drama\,Romance
 freeformtags=>^(Friendship)$=>
 freeformtags=>^(Friendship/Love)$=>
 freeformtags=>^(Male-Female Friendship)$=>
 freeformtags=>^(Platonic Female/Male Relationships)$=>
 freeformtags=>^(Platonic Relationships)$=>
 freeformtags=>^(Canon Divergent)$=>Canon Divergence


add_to_custom_columns_settings:
 additional_characters=>#additional_characters
 bookmarked=>#work_bookmarked
 subscribed=>#work_subscribed
 chapterslashtotal=>#chapters
 dateRange=>#date_range
 freeformtags=>#additional_tags

add_to_output_css:
 body {
  text-align: left;
  font-family: 'Noto Sans', sans-serif;
 }
 body.fff_titlepage {
  font-size: 2.5vmax;
  font-family: 'Roboto', sans-serif;
  background-color: #fff_titlepage_color_replace;
  color: white;
 }
 hr {
  display: block;
  border: 0; border-top: 1px solid;
  padding: 0;
 }
## https://stackoverflow.com/a/50191135
 .flex-parent {
  display: flex;
  align-items: center;
 }
 .flex-child-edge {
  flex-grow: 2;
  border-bottom: 1px solid;
 }
 .flex-child-text {
  flex-basis: auto;
  flex-grow: 0;
  text-align: center;
  margin: 0 5px 0 5px;
  font-family: 'Roboto', sans-serif;
 }
 .flex-child-text.stats span { font-weight: bold; }
 .flex-child-text.category { font-weight: bold; }
 .fff_titlepage .title h1 {
  font-family: 'Roboto', sans-serif;
  font-size: 3vmax;
  margin: 0;
 }
 .fff_titlepage .title h1 { font-weight: normal; }
 .fff_titlepage .title h1 a { font-weight: bold; } 
 .fff_titlepage .title a,
 .fff_titlepage .tags a,
 .fff_titlepage .tag-summary-content a {
   text-decoration: none;
   color: unset;
 }
 .fff_titlepage .tag-summary-content a {
  font-style: italic;
 }
 .fff_titlepage .tag-summary-content p {
  margin-top: 0;
 }
 .fff_titlepage .tags {
  display: block;
  padding: 0;
 }
 dl .inline dt:after { content:'\00a0'; }
 dl .inline dt { float: left; }
 .display-on-reader { display: none; }
 .fff_titlepage dt { font-family: 'Roboto Condensed'; }
 .fff_titlepage dd { margin-left: 0.75em; }
 .fff_titlepage dl, .fff_titlepage dt { margin: 0; }
## Change displayed content on titlepage depending on screen width
 @media only screen and (max-device-width: 480px),
 only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  body.fff_titlepage, .fff_titlepage dt {
   background_color: unset;
   color: unset;
   font-family: unset;
  }
  .display-on-cover { display: none; }
  .display-on-reader { display: block; }
  .flex-parent.display-on-reader { display: flex; }
 }

## first ship, first category, rating, status, word count - all prefixed in Calibre's tags
include_subject_tags:prefix_ships_LIST,prefix_category_LIST,prefix_rating,prefix_status,prefix_wordcount

titlepage_start:<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>${title} by ${author}</title>
 <link href="stylesheet.css" type="text/css" charset="UTF-8" rel="stylesheet"/>
 <meta name="calibre-html-render-data"/>
 </head>
 <body class="fff_titlepage">
 <div class="title">
 <h1><a href="${storyUrl}">${title}</a> by ${authorHTML}</h1>
 </div>
  <div class="flex-parent display-on-reader">
   <div class="flex-child-edge"></div>
   <div class="flex-child-text">◈</div>
   <div class="flex-child-edge"></div>
 </div>
 <div class="flex-parent display-on-cover">
   <div class="flex-child-edge"></div>
   <div class="flex-child-text category">${category_main}</div>
   <div class="flex-child-edge"></div>
 </div>
 <dl class="tags">



## ${id}, ${label}, ${value}
titlepage_entry:
 <dt><b>${label}:</b></dt> <dd>${value}</dd>

## ${id}, ${label}, ${value}
## Used with entries listed in wide_titlepage_entries, typically description, storyUrl, authorUrl
titlepage_wide_entry:

## When using tables, make these span both columns.
wide_titlepage_entries:

## ${id}, ${value}
## For example, if you've set description_label:
## (that is, nothing)
titlepage_no_title_entry:${value}<br />

## metadata
titlepage_end:
 </dl>
 <div class="flex-parent display-on-cover">
   <div class="flex-child-edge"></div>
   <div class="flex-child-text stats"><span>${rating}</span> ${icons} ${numWords} ◈ ${chapterslashtotal}</div>
   <div class="flex-child-edge"></div>
 </div>
 <div class="flex-parent display-on-reader">
   <div class="flex-child-edge"></div>
   <div class="flex-child-text">${icons}</div>
   <div class="flex-child-edge"></div>
 </div>
 <div class="tag-summary-content">${description}</div>
 </body>
 </html>

 
[epub]
make_firstimage_cover:false
jpg_quality:100
convert_images_to:png
remove_transparency:false
no_image_processing:true

[archiveofourown.org]
is_adult:true
always_login:true

username:XXXXXXXX
password:XXXXXXXX

add_chapter_numbers:toconly
mark_new_chapters:latestonly
chapter_title_def_pattern:${title}
chapter_title_add_pattern:${title} (${date})
chapter_title_new_pattern:${title} (${date}) | NEW
chapter_title_addnew_pattern:${title} (${date}) | NEW

include_in_genre:
include_in_icon_bookmarked:bookmarked
include_in_icon_subscribed:subscribed

keep_in_order_ao3categories:true
keep_in_order_freeformtags:true

chapterslashtotal_label:Chapters
freeformtags_label:Tags
freefromtags_label:Tags
ao3categories_label:Category

extratags:

add_to_replace_metadata:
 authorUrl=>(/users/orphan_account)/pseuds/.*$=>\1

titlepage_entries:<div class="inline">,<div class="display-on-reader">,category,</div>,seriesHTML,warnings,ships,additional_characters,freeformtags,dateRange,<div class="display-on-reader">,rating,chapterslashtotal,numWords,</div>,</div>

## ${number}, ${index04}("%04d"%${number}), ${chapter}
chapter_start:<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>${chapter}</title>
 <link href="stylesheet.css" type="text/css" charset="UTF-8" rel="stylesheet"/>
 <meta name="chapterurl" content="${url}"></meta>
 <meta name="chapterorigtitle" content="${origchapter}"></meta>
 <meta name="chaptertoctitle" content="${tocchapter}"></meta>
 <meta name="chaptertitle" content="${chapter}"></meta>
 </head>
 <body class="fff_chapter">
 <h3 class="fff_chapter_title">${origchapter}<hr><small>${date}</small></h3>


Preview:
Spoiler:

Last edited by culytera; 08-12-2024 at 12:07 AM.
culytera is offline   Reply With Quote
Old 08-13-2024, 08:29 PM   #109
citac
Fanatic
citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.
 
Posts: 556
Karma: 1020204
Join Date: Sep 2008
Location: Bosnia and Herzegovina
Device: Lenovo Yoga Tab 2 (Android)
Quote:
Originally Posted by culytera View Post
What kind of look do you want to achieve? I shared my config in this thread before though the ini is slightly outdated. The only significant change is the background color changing depending on the rating. And since I only use AO3 I don't know how well my config will work with other sites. Here's my ini:
Spoiler:

Code:
[defaults]
replace_xbr_with_hr:3
replace_hr:false
replace_br_with_p:false

slow_down_sleep_time:0.5

## http://docs.python.org/library/datetime.html#strftime-strptime-behavior
datePublished_format:%%B %%d, %%Y
dateUpdated_format:%%B %%d, %%Y

add_to_extra_valid_entries:,additional_characters,category_main,dateRange,icon_bookmarked,icon_subscribed,icons,prefix_category,prefix_rating,prefix_ships,prefix_status,prefix_wordcount

additional_characters_label:Characters
category_label:Fandom
dateRange_label:Date

include_in_additional_characters:characters
include_in_category_main:category
include_in_dateRange:datePublished,dateUpdated
include_in_icons:icon_bookmarked,icon_subscribed
include_in_prefix_category:category
include_in_prefix_rating:rating
include_in_prefix_ships:ships
include_in_prefix_status:status
include_in_prefix_wordcount:numWords

keep_in_order_category:true
keep_in_order_characters:true
keep_in_order_ships:true

## keep in order for extra entries
keep_in_order_additional_characters:true
keep_in_order_category_main:true
keep_in_order_dateRange:true
keep_in_order_icons:true
keep_in_order_prefix_category:true
keep_in_order_prefix_ships:true

exclude_metadata_pre:
 category=~(.*) - Fandom
 additional_characters==Other(s)
 additional_characters=~(Original|Various) Character\(?s?\)?
 freeformtags,genre==Other Additional Tags to Be Added
 warnings==Creator Chose Not To Use Archive Warnings
 warnings==No Archive Warnings Apply
## Remove ships that don't have a / or &
 ships,prefix_ships!~(.*)(\/| &amp; )(.*)
## Removes platonic ships in ship lists
 ships,prefix_ships=~(.*) &amp; (.*)
## Removes ships that are only implied or mentioned according to author
 prefix_ships=~^(.*)\(?(implied|mentioned)\)?

replace_metadata:
 rating=> Audiences=>
 rating=>Teen [Aa]nd Up=>Teen
## Change / to & if friendship is mentioned
 ships=>(.*)[/](.*) \(?[Ff]riendship(?: only)\)?=>\1 & \2
 category,prefix_category=>No Fandom=>Original Work
 category,prefix_category=> \(?(- All Media Types|- Fandom|Movies|Movie [0-9]+|Comics|TV|Video Games?)\)?$=>
 additional_characters=> - Character=>
 additional_characters=> ?\((cameo|briefly|if you squint|sort of)\)=>
 additional_characters=> \([Cc]haracter\)=>
 additional_characters=>\(mentions of\) =>
 category,ships= - Fandom$=>
 ships=> - Relationship=>
 ships=>^(.* - Relationship)$=>
 ships=>^(Eventual (.*)/(.*))$=>
## Get first item in list for prefixed tag
 prefix_category_LIST=>^(.*?)(\,.*)=>\1
 category_main_LIST=>^(.*?)(\,.*)=>\1
 prefix_ships_LIST=>^(.*?)(\,.*)=>\1
## Add prefix to tags
 prefix_ships=>^(.*)=>[p] \1
 prefix_category=>^(.*)=>[c] \1
 prefix_rating=>^(.*)=>[r] \1
 prefix_status=>^(.*)=>[s] \1
## Group word count
 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
### Get date range with published date and updated date
## diff dates     1pmonth    2pday        3pyear   4umonth    5uday        6uyear
 dateRange_LIST=>([^\s]+)\s+(\d{1,2})\,\s+(\d{4})\,\s([^\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
## don't need regexp for date day, handled by de-dup.
### Bookmark and subscribed icons
 icon_bookmarked=>True=>Bookmarked
 icon_subscribed=>True=>Subscribed
 icon_bookmarked=>False=>Not Bookmarked
 icon_subscribed=>False=>Not Subscribed
## Show bookmarked icon, show subscribed icon
 icons_LIST=>^(Bookmarked\, Subscribed)$=>����
## Don't show bookmarked icon, don't show subscribed icon
 icons_LIST=>^(Not Bookmarked\, Not Subscribed)$=>◈
## Don't show bookmarked icon, show subscribed icon
 icons_LIST=>^(Not Bookmarked\, Subscribed)$=>��
## Show bookmarked icon, don't show subscribed icon
 icons_LIST=>^(Bookmarked\, Not Subscribed)$=>��
## CHANGE BACKGROUND COLOR ACCORDING TO RATING
 output_css=>fff_titlepage_color_replace=>264701&&rating==General
 output_css=>fff_titlepage_color_replace=>38419D&&rating==Teen
 output_css=>fff_titlepage_color_replace=>66347F&&rating==Mature
 output_css=>fff_titlepage_color_replace=>8F0101&&rating==Explicit
 output_css=>fff_titlepage_color_replace=>1B1B1B&&rating==Not Rated 
 output_css=>fff_titlepage_color_replace=>555555
## FILTER REDUNDANT FREEFORM TAGS
 freeformtags=>^(Angst and )(.*)=>Angst\,\2
 freeformtags=>^(Fluff and )(.*)=>Fluff\,\2
 freeformtags=>^(Smut and )(.*)=>Smut\,\2
 freeformtags=>(\w+ )(Fluff)$=>Fluff
 freeformtags=>(\w+ )(Smut)$=>Smut
 freeformtags=>(\w+ )(Angst)$=>Angst
 freeformtags=>(.*)(Hurt\/Comfort)$=>Hurt/Comfort
 freeformtags=>^(Alternate Universe)$=>
 freeformtags=>^(Alternate Universe -)=>AU -
 freeformtags=>^(Drama &amp; Romance)$=>Drama\,Romance
 freeformtags=>^(Friendship)$=>
 freeformtags=>^(Friendship/Love)$=>
 freeformtags=>^(Male-Female Friendship)$=>
 freeformtags=>^(Platonic Female/Male Relationships)$=>
 freeformtags=>^(Platonic Relationships)$=>
 freeformtags=>^(Canon Divergent)$=>Canon Divergence


add_to_custom_columns_settings:
 additional_characters=>#additional_characters
 bookmarked=>#work_bookmarked
 subscribed=>#work_subscribed
 chapterslashtotal=>#chapters
 dateRange=>#date_range
 freeformtags=>#additional_tags

add_to_output_css:
 body {
  text-align: left;
  font-family: 'Noto Sans', sans-serif;
 }
 body.fff_titlepage {
  font-size: 2.5vmax;
  font-family: 'Roboto', sans-serif;
  background-color: #fff_titlepage_color_replace;
  color: white;
 }
 hr {
  display: block;
  border: 0; border-top: 1px solid;
  padding: 0;
 }
## https://stackoverflow.com/a/50191135
 .flex-parent {
  display: flex;
  align-items: center;
 }
 .flex-child-edge {
  flex-grow: 2;
  border-bottom: 1px solid;
 }
 .flex-child-text {
  flex-basis: auto;
  flex-grow: 0;
  text-align: center;
  margin: 0 5px 0 5px;
  font-family: 'Roboto', sans-serif;
 }
 .flex-child-text.stats span { font-weight: bold; }
 .flex-child-text.category { font-weight: bold; }
 .fff_titlepage .title h1 {
  font-family: 'Roboto', sans-serif;
  font-size: 3vmax;
  margin: 0;
 }
 .fff_titlepage .title h1 { font-weight: normal; }
 .fff_titlepage .title h1 a { font-weight: bold; } 
 .fff_titlepage .title a,
 .fff_titlepage .tags a,
 .fff_titlepage .tag-summary-content a {
   text-decoration: none;
   color: unset;
 }
 .fff_titlepage .tag-summary-content a {
  font-style: italic;
 }
 .fff_titlepage .tag-summary-content p {
  margin-top: 0;
 }
 .fff_titlepage .tags {
  display: block;
  padding: 0;
 }
 dl .inline dt:after { content:'\00a0'; }
 dl .inline dt { float: left; }
 .display-on-reader { display: none; }
 .fff_titlepage dt { font-family: 'Roboto Condensed'; }
 .fff_titlepage dd { margin-left: 0.75em; }
 .fff_titlepage dl, .fff_titlepage dt { margin: 0; }
## Change displayed content on titlepage depending on screen width
 @media only screen and (max-device-width: 480px),
 only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  body.fff_titlepage, .fff_titlepage dt {
   background_color: unset;
   color: unset;
   font-family: unset;
  }
  .display-on-cover { display: none; }
  .display-on-reader { display: block; }
  .flex-parent.display-on-reader { display: flex; }
 }

## first ship, first category, rating, status, word count - all prefixed in Calibre's tags
include_subject_tags:prefix_ships_LIST,prefix_category_LIST,prefix_rating,prefix_status,prefix_wordcount

titlepage_start:<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>${title} by ${author}</title>
 <link href="stylesheet.css" type="text/css" charset="UTF-8" rel="stylesheet"/>
 <meta name="calibre-html-render-data"/>
 </head>
 <body class="fff_titlepage">
 <div class="title">
 <h1><a href="${storyUrl}">${title}</a> by ${authorHTML}</h1>
 </div>
  <div class="flex-parent display-on-reader">
   <div class="flex-child-edge"></div>
   <div class="flex-child-text">◈</div>
   <div class="flex-child-edge"></div>
 </div>
 <div class="flex-parent display-on-cover">
   <div class="flex-child-edge"></div>
   <div class="flex-child-text category">${category_main}</div>
   <div class="flex-child-edge"></div>
 </div>
 <dl class="tags">



## ${id}, ${label}, ${value}
titlepage_entry:
 <dt><b>${label}:</b></dt> <dd>${value}</dd>

## ${id}, ${label}, ${value}
## Used with entries listed in wide_titlepage_entries, typically description, storyUrl, authorUrl
titlepage_wide_entry:

## When using tables, make these span both columns.
wide_titlepage_entries:

## ${id}, ${value}
## For example, if you've set description_label:
## (that is, nothing)
titlepage_no_title_entry:${value}<br />

## metadata
titlepage_end:
 </dl>
 <div class="flex-parent display-on-cover">
   <div class="flex-child-edge"></div>
   <div class="flex-child-text stats"><span>${rating}</span> ${icons} ${numWords} ◈ ${chapterslashtotal}</div>
   <div class="flex-child-edge"></div>
 </div>
 <div class="flex-parent display-on-reader">
   <div class="flex-child-edge"></div>
   <div class="flex-child-text">${icons}</div>
   <div class="flex-child-edge"></div>
 </div>
 <div class="tag-summary-content">${description}</div>
 </body>
 </html>

 
[epub]
make_firstimage_cover:false
jpg_quality:100
convert_images_to:png
remove_transparency:false
no_image_processing:true

[archiveofourown.org]
is_adult:true
always_login:true

username:XXXXXXXX
password:XXXXXXXX

add_chapter_numbers:toconly
mark_new_chapters:latestonly
chapter_title_def_pattern:${title}
chapter_title_add_pattern:${title} (${date})
chapter_title_new_pattern:${title} (${date}) | NEW
chapter_title_addnew_pattern:${title} (${date}) | NEW

include_in_genre:
include_in_icon_bookmarked:bookmarked
include_in_icon_subscribed:subscribed

keep_in_order_ao3categories:true
keep_in_order_freeformtags:true

chapterslashtotal_label:Chapters
freeformtags_label:Tags
freefromtags_label:Tags
ao3categories_label:Category

extratags:

add_to_replace_metadata:
 authorUrl=>(/users/orphan_account)/pseuds/.*$=>\1

titlepage_entries:<div class="inline">,<div class="display-on-reader">,category,</div>,seriesHTML,warnings,ships,additional_characters,freeformtags,dateRange,<div class="display-on-reader">,rating,chapterslashtotal,numWords,</div>,</div>

## ${number}, ${index04}("%04d"%${number}), ${chapter}
chapter_start:<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>${chapter}</title>
 <link href="stylesheet.css" type="text/css" charset="UTF-8" rel="stylesheet"/>
 <meta name="chapterurl" content="${url}"></meta>
 <meta name="chapterorigtitle" content="${origchapter}"></meta>
 <meta name="chaptertoctitle" content="${tocchapter}"></meta>
 <meta name="chaptertitle" content="${chapter}"></meta>
 </head>
 <body class="fff_chapter">
 <h3 class="fff_chapter_title">${origchapter}<hr><small>${date}</small></h3>


Preview:
Spoiler:
I'm mostly trying to wrap my mind around the organization, and I'd like to have the following columns:

Rating
Archive Warning
Fandom
crossovers as well?
Relationships
possibly separate / and & relationships?
Characters
Additional Tags
Language
Collections
Published
Completed
Words
word count groups too?
Chapters
Comments
Kudos
Bookmarks

I've downloaded a large number of fics from my bookmarks, marked for later and history with the ao3downloader tool, and would like to organize those, and then continue updating them with FFF (which I was told was possible). I had tried using both calibre and FFF a long time ago, but always had trouble understanding it. They are complex and there's a huge amount of information that I find overwhelming, but need to organize the large number of fics saved over time (I joined AO3 in September of 2010).
citac is offline   Reply With Quote
Old 08-15-2024, 12:18 PM   #110
citac
Fanatic
citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.
 
Posts: 556
Karma: 1020204
Join Date: Sep 2008
Location: Bosnia and Herzegovina
Device: Lenovo Yoga Tab 2 (Android)
I've been trying to compare this .ini with the one a friend in a Discord server provided to see what parts are the same and what I could just add, but I have to admit defeat. It is almost like I cannot parse the code. Some parts I get; like there are parts that remove some metadata, and other that style the main window or book, and while I don't understand the regex (?) for word count, I get the purpose it serves.

I feel like I need to do something about the huge number of freeform tags that would accumulate if I let them all be imported, but I'm uncertain about removing some tags. Do I understand correctly that the first option in examples below will delete the tag, which the second would rename it??

Code:
 freeformtags=>^(Alternate Universe)$=>
 freeformtags=>^(Alternate Universe -)=>AU -
Also, I was curious about your icons but they don't appear in the .ini except the one for Not Bookmarked\, Not Subscribed:

Code:
 icons_LIST=>^(Bookmarked\, Subscribed)$=>����
## Don't show bookmarked icon, don't show subscribed icon
 icons_LIST=>^(Not Bookmarked\, Not Subscribed)$=>◈
## Don't show bookmarked icon, show subscribed icon
 icons_LIST=>^(Not Bookmarked\, Subscribed)$=>��
## Show bookmarked icon, don't show subscribed icon
 icons_LIST=>^(Bookmarked\, Not Subscribed)$=>��
My current .ini file:
Spoiler:

## This is an example of what your personal configuration might look
## like. Uncomment options by removing the '#' in front of them.

[defaults]
## [defaults] section applies to all formats and sites but may be
## overridden at several levels.

## Some sites also require the user to confirm they are adult for
## adult content. Uncomment by removing '#' in front of is_adult.
is_adult:true

## All available titlepage_entries and the label used for them:
## <entryname>_label:<label>
## Labels may be customized.
title_label:Title
storyUrl_label:Story URL
description_label:Summary
author_label:Author
authorUrl_label:Author URL
## epub, txt, html
formatname_label:File Format
## .epub, .txt, .html
formatext_label:File Extension
characters_label:Characters
ships_label:Relationships
series_label:Series
seriesUrl_label:Series URL
## seriesHTML is series as a link to seriesUrl.
seriesHTML_label:Series
## Completed/In-Progress
status_label:Status
## Dates story first published, last updated, and downloaded(last with time).
datePublished_label:Published
dateUpdated_label:Updated
dateCreated_label:Packaged
## Rating depends on the site. Some use K,T,M,etc, and some PG,R,NC-17
rating_label:Rating
## Also depends on the site.
warnings_label:Warnings
numChapters_label:Chapters
numWords_label:Words
## www.fanfiction.net, fictionalley.com, etc.
site_label:Publisher
## ffnet, fpcom, etc.
siteabbrev_label:Site Abbrev
## The site's unique story/author identifier. Usually a number.
storyId_label:Story ID
authorId_label:Author ID
## Primarily to put specific values in dc:subject tags for epub. Will
## show up in Calibre as tags. Also carried into mobi when converted.
extratags_label:Extra Tags
## The version of FanFicFare
version_labelownloader Version

## The metadata entry 'site' predates Calibre integration, and was
## later labeled Publisher and used to fill Calibre's Publisher field.
## Because users keep expecting it to be 'publisher' instead,
## 'publisher' is now a copy of 'site' and the Calibre plugin now uses
## 'publisher' instead. Default titlepage_entries are also changed.
include_in_publisher:site
publisher_label:Publisher
## Don't like the numbers at the start of chapter titles on some
## sites? You can use strip_chapter_numbers to strip them off. Just
## want to make them all look the same? Strip them off, then add them
## back on with add_chapter_numbers. Don't like the way it strips
## numbers or adds them back? See chapter_title_strip_pattern and
## chapter_title_add_pattern.
#strip_chapter_numbers:true
#add_chapter_numbers:true

## Add this to genre if there's more than one category.
#add_genre_when_multi_category: Crossover

add_category_when_multi_category: Crossover

## Date formats used by FanFicFare. Published and Update don't have time.
## See http://docs.python.org/library/datet...ptime-behavior
## Note that ini format requires % to be escaped as %%.
dateCreated_format:%%Y-%%m-%%d %%H:%%M:%%S
datePublished_format:%%Y-%%m-%%d %%H:%%M:%%S
dateUpdated_format:%%Y-%%m-%%d %%H:%%M:%%S

## (Plugin Only) - You can also populate calibre custom columns with
## the site specific metadata using custom_columns_settings (but only
## if 'Allow custom_columns_settings from personal.ini' is checked in
## the plugin GUI config.) There are three parts, the entry name,
## then the label of the calibre custom column, then (optionally) a
## 'mode'. 'r' to Replace any existing values, 'a' to Add to existing
## value (use with tag-like columns), and 'n' for setting on New books
## only. (Default is 'r'.)

## Literal strings can be set into custom columns using double quotes.
## Each metadata=>column mapping must be on a separate line and each
## needs to have one space at the start of each line.

## 'r_anthaver' and 'n_anthaver' can be used to indicate the same as
## 'r' and 'n' for normal downloads, but to average the metadata for
## the differents story in an anthology before setting in integer and
## float type custom columns. This can be useful for a averrating
## column, for example. Default is to sum the values of all stories,
## and numChapters and numWords are always summed.

custom_columns_settings:
fandoms=>#fandoms
freeformtags=>#freeformtags
ao3categories=>#ao3categories
comments=>#comments
chapterslashtotal=>#chapterslashtotal
chapterstotal=>#chapterstotal
kudos=>#kudos
hits=>#hits
collections=>#collections
bookmarks=>#bookmarks
bookmarked=>#bookmarked
bookmarktags=>#bookmarktags
bookmarksummary=>#bookmarksummary
bookmarkprivate=>#bookmarkprivate
bookmarkrec=>#bookmarkrec
restricted=>#restricted
wordcount=>#wordcount
series=>#multiseries,a
series00=>#multiseries,a
series01=>#multiseries,a
series02=>#multiseries,a
series03=>#multiseries,a

# cliches=>#acolumn
# themes=>#bcolumn,a
# timeline=>#ccolumn,n
# "FanFiction"=>#collection
# averrating=>#averrating,r_anthaver

## Reorder ships so b/a and c/b/a become a/b and a/b/c. '/' is no
## longer hard coded and can be changed and added to with
## sort_ships_splits.

sort_ships:true

## Each line indicates first a regex that should be used to split each
## ships entry and then, after => the string to use to merge the parts
## back together. \s == blank space.
## Each part will have replace_metadata with key ships_CHARS applied.

sort_ships_splits:
[ ]*/[ ]*=>/
[ ]*&amp;[ ]*=>\s&amp;\s

## Use regular expressions to find and replace (or remove) metadata.
## For example, you could change Sci-Fi=>SF, remove *-Centered tags,
## etc. See http://docs.python.org/library/re.html (look for re.sub)
## for regexp details.
##
## Make sure to keep at least one space at the start of each line and
## to escape % to %%, if used.
##
## Two, three or five part lines. Two part effect everything.
## Three part effect only those key(s) lists.
## *Five* part lines. Effect only when trailing conditional key=>regexp matches
## metakey[,metakey]=>pattern=>replacement[&&conditionalkey=>regexp]
##
## Note that if metakey == conditionalkey the conditional is ignored.
## You can use \s in the replacement to add explicit spaces. (The config parser
## tends to discard trailing spaces.)
##
## replace_metadata <entry>_LIST options: FanFicFare replace_metadata lines
## operate on individual list items for list entries. But if you
## want to do a replacement on the joined string for the whole list,
## you can by using <entry>_LIST. Example, if you added
## calibre_author: calibre_author_LIST=>^(.{,100}).*$=>\1
##
## You can 'split' one list item into multiple list entries by using
## \, in the replacement string.
##
## Examples:
#replace_metadata:
# genre,category=>Sci-Fi=>SF
# Puella Magi Madoka Magica.*=>Madoka
# Comedy=>Humor
# Crossover: (.*)=>\1
# title=>(.*)Great(.*)=>\1Moderate\2
# .*-Centered=>
# characters=>Sam W\.=>Sam Witwicky&&category=>Transformers
# characters=>Sam W\.=>Sam Winchester&&category=>Supernatural
# category=>Bitextual=>M/M\,F/M

replace_metadata:

[epub]
## include images from img tags in the body and summary of stories.
## Images will be converted to jpg for size if possible. Images work
## in epub format only. To get mobi or other format with images,
## download as epub and use Calibre to convert.
include_images:true

## If not set, the summary will have all html stripped for safety.
## Both this and include_images must be true to get images in the
## summary.
keep_summary_html:true

## If set, the first image found will be made the cover image. If
## keep_summary_html is true, any images in summary will be before any
## in chapters.
#make_firstimage_cover:true

## Resize images down to width, height, preserving aspect ratio.
## Nook size, with margin.
#image_max_size: 580, 725

## Change image to grayscale, if graphics library allows, to save
## space.
#grayscale_images: false

include_logpage: smart

# metadata - only used when creating a new logpage from scratch
logpage_start:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Update Log</title>
<link href="stylesheet.css" type="text/css" charset="UTF-8" rel="stylesheet"/>
</head>
<body class="fff_logpage">
<h3>Update Log</h3>

# metadata
logpage_update_start:<p class='log_entry'>

# ${id}, ${label}, ${value}
# Must contain <span id="${id}">${value}</span> for
# log updates to work correctly.
logpage_entry:<b>${label}:</b> <span id="${id}">${value}</span>

# metadata
logpage_update_end:</p><hr />

# metadata - only used when creating a new logpage from scratch
# Must contain </body> for log updates to work correctly.
logpage_end:
</body>
</html>

[archiveofourown.org]
use_basic_cache:true
## Some sites require login (or login for some rated stories) The
## program can prompt you, or you can save it in config. In
## commandline version, this should go in your personal.ini, not
## defaults.ini.
username:XXXXXXXX
password:XXXXXXXX

## In order to get bookmarktags and bookmarksummary, you need to login
## all the time. This defaults to off to save time and network
## traffic. Requires valid AO3 username and password when true.
always_login:true

## Some sites also require the user to confirm they are adult for
## adult content. In commandline version, this should go in your
## personal.ini, not defaults.ini.
is_adult:true

## AO3 offers a page to download the entire work at once. This can
## save a lot of network traffic if there are many chapters.
## True by built-in default.
use_view_full_work:true

## Some adapters collect additional meta information beyond the
## standard ones. They need to be defined in extra_valid_entries to
## tell the rest of the FanFicFare system about them. They can be
## used in include_subject_tags, titlepage_entries,
## extra_titlepage_entries, logpage_entries, extra_logpage_entries,
## and include_in_* config items. You can also add additional entries
## here to build up composite metadata entries.
## archiveofourown.org, for example, fills genre (a standard
## entry) as the composite offreeformtags, ao3categories in
## include_in_genre. If there's ever more than 4 series, add
## series04,series04Url etc.
extra_valid_entries:fandoms, freeformtags, ao3categories, comments, chapterslashtotal, chapterstotal, kudos, hits, bookmarks, collections, byline, bookmarked, bookmarktags, bookmarksummary, bookmarkprivate, bookmarkrec, restricted, wordccount, series00, series01, series02, series03, series00Url, series01Url, series02Url, series03Url, series00HTML, series01HTML, series02HTML, series03HTML
fandoms_label:Fandoms
freeformtags_label:Freeform Tags
ao3categories_label:AO3 Categories
comments_label:Comments
chapterslashtotal_label:Chapters/Total Chapters
chapterstotal_label:Total Chapters
kudos_label:Kudos
hits_label:Hits
collections_label:Collections
wordcount_label:Wordcount
## Count of bookmarks on story by all users
bookmarks_label:Bookmarks
## Tags & Summary from *your* bookmark on the story. Only collected
## if always_login:true
bookmarked_label:I Bookmarked Story
bookmarktags_label:My Bookmark Tags
bookmarksummary_label:My Bookmark Summary
bookmarkprivate_label:My Bookmark Private
bookmarkrec_label:My Bookmark Rec
restricted_label:Restricted to Registered Users
series00HTML_label:Series
series01HTML_label:Additional Series
series02HTML_label:Additional Series
series03HTML_label:Additional Series

## Assume entryUrl, apply to "<a class='%slink' href='%s'>%s</a>" to
## make entryHTML.
make_linkhtml_entries:series00,series01,series02,s eries03

## keep_in_order_<entry> options: FanFicFare sorts list entries by default
## (except for author/authorUrl/authorId). But if you want to use an
## extra entry derived from author, it ends up sorted. For example, if
## you added calibre_author: keep_in_order_calibre_author:true
keep_in_order_freeformtags:true

## AO3 doesn't have anything it calls 'genre'. The adapter used to be
## hardcoded to include the site specific metadata freeformtags &
## ao3categories in the standard metadata field genre. By making it
## configurable, users can change it.
include_in_genre:ao3categories

## AO3 uses the word 'category' differently than most sites. The
## adapter used to be hardcoded to include the site specific metadata
## fandom in the standard metadata field category. By making it
## configurable, users can change it.
include_in_category:fandoms

## chapterslashtotal contains 1/3 or 1/1 or 3/? etc as reported by AO3.
## chapterstotal is just the total chapters part after the /
include_in_chapterstotal:chapterslashtotal.NOREPL

## adds to titlepage_entries instead of replacing it.
extra_titlepage_entries: fandoms,freeformtags,ao3categories,comments,chapte rslashtotal,chapterstotal,kudos,hits,bookmarks,boo kmarked,bookmarktags,bookmarksummary,series01HTML, series02HTML,series03HTML,byline

## adds to include_subject_tags instead of replacing it.
extra_subject_tags:fandoms,freeformtags,ao3categor ies

## AO3 chapters can include several different types of notes. We've
## traditionally included them all in the chapter text, but this allows
## you to customize which you include. Copy this parameter to your
## personal.ini and list the ones you don't want.
#exclude_notes:authorheadnotes,chaptersummary,chap terheadnotes,chapterfootnotes,authorfootnotes,insp iredlinks

## AO3 authorfootnotes and inspiredlinks end up in the 'last' chapter,
## but if updated, then there's a new 'last' chapter, leaving multiple
## copies. This option applies the 'skip_on_ffdl_update' class to
## those tags which means they will be removed during epub reading for
## update. This will only effect chapters added after turning the
## setting on.
## Result: Only the last chapter will have end notes.
## Side-effect: An 'Update Always' that doesn't add a new last
## chapter will also remove the end notes.
#remove_authorfootnotes_on_update:false

## AO3 is blocking people more aggressively. If you download fewer
## stories less often you can likely get by with reducing this sleep.
slow_down_sleep_time:2

## AO3 allows users to archive stories they didn't write in certain
## cases. These are indicated by showing a byline such as:
## 'Orig Author [archived by Archivist Author]'
## If use_archived_author is set true (and there's only one author
## listed), author will be set to 'Orig Author' instead of 'Archivist
## Author'. authorUrl will still point to the Archivist Author's page.
use_archived_author:false

## AO3 chapters have 'date' available for each chapter.
## These can be used with custom output (see
## https://github.com/JimmXinu/FanFicFa...i/CustomOutput ) or with
## chapter_title_*_pattern settings.
## Examples for html & epub:
#[html]
#tocpage_entry:
# <a href="#section${index04}">${chapter}</a> ${date}<br />
#[epub]
#tocpage_entry:
# <a href="file${index04}.xhtml">${chapter}</a> ${date}<br /><br />

## The 'date' value for chapters mentioned above can be formated with
## datechapter_format. Otherwise it will default to
## datePublished_format
datechapter_format:%%Y-%%m-%%d


## This section will override anything in the system defaults or other
## sections here.
[overrides]
extratags_label:FanFiction
## default varies by site. Set true here to force all sites to
## collect series.
collect_series: true
add_to_extra_valid_entries:,main_ship,main_categor y
include_in_main_ship:ships
include_in_main_category:category

replace_metadata:
main_category_LIST=>^(.*?)(\,.*)=>\1
main_ship_LIST=>^(.*?\/.*?)(\,.*)=>\1

add_to_custom_columns_settings:
main_ship=>#main_ship
main_category=>#main_category


How does one even begin to decide which things to keep and which to remove, especially faced with an archive of fics that stretched back many years? And this is just for Ao3 fics; I don't even want to think about the mass of .txt files from old webrings and personal websites...
citac is offline   Reply With Quote
Advert
Old 08-16-2024, 10:55 AM   #111
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: 121
Karma: 295674
Join Date: Jul 2021
Device: iPhone
Quote:
Originally Posted by citac View Post
I feel like I need to do something about the huge number of freeform tags that would accumulate if I let them all be imported, but I'm uncertain about removing some tags.
Editing your include_subject_tags is important for managing tags in Calibre, that's the option that affects it. That's why I only have the prefix_* entries. On my setup, the freeform tags are put in a long-text type column that doesn't show up in the tag browser.

Quote:
Do I understand correctly that the first option in examples below will delete the tag, which the second would rename it??
Code:
 freeformtags=>^(Alternate Universe)$=>
 freeformtags=>^(Alternate Universe -)=>AU -
Yes.

Quote:
Also, I was curious about your icons but they don't appear in the .ini except the one for Not Bookmarked\, Not Subscribed:

Code:
 icons_LIST=>^(Bookmarked\, Subscribed)$=>����
## Don't show bookmarked icon, don't show subscribed icon
 icons_LIST=>^(Not Bookmarked\, Not Subscribed)$=>◈
## Don't show bookmarked icon, show subscribed icon
 icons_LIST=>^(Not Bookmarked\, Subscribed)$=>��
## Show bookmarked icon, don't show subscribed icon
 icons_LIST=>^(Bookmarked\, Not Subscribed)$=>��
Those are emojis, the forum converts them since they're unicode. Without the & prefix it's:
Code:
## Show bookmarked icon, show subscribed icon
 icons_LIST=>^(Bookmarked\, Subscribed)$=>#128278;#128276;
## Don't show bookmarked icon, don't show subscribed icon
 icons_LIST=>^(Not Bookmarked\, Not Subscribed)$=>#9672;
## Don't show bookmarked icon, show subscribed icon
 icons_LIST=>^(Not Bookmarked\, Subscribed)$=>#128276;
## Show bookmarked icon, don't show subscribed icon
 icons_LIST=>^(Bookmarked\, Not Subscribed)$=>#128278;
You can see the result on the preview I posted on my previous message.

Reference: https://www.alansofficespace.com/uni...nicd128499.htm

Quote:
How does one even begin to decide which things to keep and which to remove, especially faced with an archive of fics that stretched back many years? And this is just for Ao3 fics; I don't even want to think about the mass of .txt files from old webrings and personal websites...
Yeah that's why I only stick to Ao3 😅

I attached how my setup looks, it's not the whole thing but honestly I don't have the energy to explain it step by step. If you have more questions I'll try to answer them. You can check out FanFicFare's wiki too.

https://github.com/JimmXinu/FanFicFa...i/CustomOutput
https://github.com/JimmXinu/FanFicFa...dataManagement
https://github.com/JimmXinu/FanFicFare/wiki/INI-File
https://github.com/JimmXinu/FanFicFa...eplaceMetadata

I've shared my setup previously in this thread as well, most of it is still the same.
Attached Thumbnails
Click image for larger version

Name:	custom_columns.jpg
Views:	59
Size:	462.0 KB
ID:	210202   Click image for larger version

Name:	custom_columns_details.jpg
Views:	55
Size:	574.0 KB
ID:	210203   Click image for larger version

Name:	tags.jpg
Views:	52
Size:	135.4 KB
ID:	210204   Click image for larger version

Name:	categories.jpg
Views:	47
Size:	111.4 KB
ID:	210205  
culytera is offline   Reply With Quote
Old 08-16-2024, 01:12 PM   #112
citac
Fanatic
citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.citac ought to be getting tired of karma fortunes by now.
 
Posts: 556
Karma: 1020204
Join Date: Sep 2008
Location: Bosnia and Herzegovina
Device: Lenovo Yoga Tab 2 (Android)
Thank you for the links to specific issues! I've been going through some of the FAQs already as well as some of the posts here but there's a lot and it gets too much after a while. I know I won't be able to solve all of this in a week, and I'll do my best to follow the examples. If I get stuck I might take you up on your offer to ask further questions, and I might also post questions in other threads.
citac is offline   Reply With Quote
Old 09-02-2024, 10:32 PM   #113
iakrus
Member
iakrus began at the beginning.
 
Posts: 10
Karma: 10
Join Date: Aug 2024
Device: kobo sage
hey there, does anyone know how to have an ao3 fandom/catagory tag show up only once on an anthology? i'll include a picture of what i mean

ive been using calibre for years (over 17k fics downloaded) but ive been doing most of my organising manually- i only recently found out that all of this was a thing. i may have more questions in the future, ive tried reading through this thread but i dont understand a lot of it. im autistic so i sometimes get confused. im excited to have found all this though, its already saving me time now i have a few custom columns working!

thanks!
Attached Thumbnails
Click image for larger version

Name:	Screenshot 2024-09-03 021415.png
Views:	54
Size:	118.4 KB
ID:	210574  
iakrus is offline   Reply With Quote
Old 09-03-2024, 10:32 AM   #114
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: 121
Karma: 295674
Join Date: Jul 2021
Device: iPhone
Quote:
Originally Posted by iakrus View Post
hey there, does anyone know how to have an ao3 fandom/catagory tag show up only once on an anthology? i'll include a picture of what i mean

ive been using calibre for years (over 17k fics downloaded) but ive been doing most of my organising manually- i only recently found out that all of this was a thing. i may have more questions in the future, ive tried reading through this thread but i dont understand a lot of it. im autistic so i sometimes get confused. im excited to have found all this though, its already saving me time now i have a few custom columns working!

thanks!
Do you have a link to that anthology? (If it's NSFW, you can PM the link instead) If the stories are properly tagged, they should be pretty consistent.
culytera is offline   Reply With Quote
Old 09-26-2024, 05:36 PM   #115
iakrus
Member
iakrus began at the beginning.
 
Posts: 10
Karma: 10
Join Date: Aug 2024
Device: kobo sage
auto fill in collections column from ao3 fandoms metadata?

hi there,
sorry i didnt respond to your question, i figured out it was because i was using "Comma separated text, like tags, shown in the Tag browser" and not "Text, column shown in the Tag browser". swapping those over fixed it up. it was happening with all of my anthologies so i knew it couldnt be specific to the one in the screenshot.

im back because i have another issue (i will definitely respond this time!) and i need to solve this to solve a separate issue i'm gaving with the generate cover plug in.

i have a manual 'collections' column (#mycollections), which sorts into my virtual libraries and also my collections on my kobo reader. i manually edit it because for example "tolkien" includes both lord of the rings and the hobbit.

i also now have an ao3 fandoms column, the one i was having anthology issues with before, (#ao3fandoms).

what i'm trying to do is autofill my #mycollections with the metadata that comes into the #ao3fandoms column so i dont have to do it manually for every fic. for example, i want a fic tagged with "the lord of the rings - all media types" and "the lord of the rings - j. r. r. tolkien" and "he Hobbit (Jackson Movies)" ALL turn into "Tolkien" in the #mycollections column

i'll include two images of these columns with some examples as to why they need to be seperate, as well as the change in the personal.ini i tried to make (which i'll copy and paste here too)

i'm only trying with asoiaf/hotd to start with, and once i figure out how it works

Code:
replace_metadata: 
  category=>(A Song of Ice and Fire & Related Fandoms|Game of Thrones (TV)|A Song of Ice and Fire - George R. R. Martin)&&collections=>ASOIAF | GoT
  category=>House of the Dragon (TV) =>#mycollections House of the Dragon
that was me trying two different things, and i tried several things before too but this is just where ive given up and decided to ask for help. im autistic and i just dont understand code and i dont know what im doing!! is it even possible? i did a lot of googling and read everything i could to try and understand but i dont think my brain is made for this so its time to ask the experts!

did this all make sense? is there any more information you need? thank you so much
Attached Thumbnails
Click image for larger version

Name:	Screenshot 2024-09-26 200352.png
Views:	20
Size:	332.2 KB
ID:	211043   Click image for larger version

Name:	Screenshot 2024-09-26 200448.png
Views:	16
Size:	284.2 KB
ID:	211044   Click image for larger version

Name:	Screenshot 2024-09-26 211245.png
Views:	16
Size:	26.0 KB
ID:	211045  
iakrus is offline   Reply With Quote
Old 09-27-2024, 01:19 AM   #116
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: 121
Karma: 295674
Join Date: Jul 2021
Device: iPhone
You can't directly add onto a custom_column via replace_metadata, you'd need add_to_custom_columns_settings for that. But since you also want to have different data on #mycollections, you'll need to make another extra entry where you'll add the value from category. Here's how I would do that:

Code:
add_to_extra_valid_entries:,category_modified
include_in_category_modified:category

replace_metadata:
 category_modified=>House of the Dragon (TV)=>House of the Dragon

add_to_custom_columns_settings:
 category_modified=>#mycollections
Note the comma before category_modified in add_to_extra_valid_entries.

Make sure Allow custom columns settings from personal.ini to override is check in Fanficare's settings under the Custom Columns tab.
culytera is offline   Reply With Quote
Old 09-27-2024, 09:38 AM   #117
PeterT
Grand Sorcerer
PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.PeterT ought to be getting tired of karma fortunes by now.
 
PeterT's Avatar
 
Posts: 12,749
Karma: 75000002
Join Date: Nov 2007
Location: Toronto
Device: Libra H2O, Libra Colour
If the goal is just to have both sets of tags appear on the Kobo then you can set the driver to use both columns

Sent from my Pixel 7a using Tapatalk
PeterT is offline   Reply With Quote
Old 09-27-2024, 02:01 PM   #118
wildfire070
Enthusiast
wildfire070 began at the beginning.
 
Posts: 40
Karma: 10
Join Date: May 2012
Device: Kindle Oasis, Scribe, Paperwhite // Boox Palma
I'm noticing that whenever I download epubs with FFF vs directly from AO3, some of the formatting isn't retained. For example, some of the chapter text that's centered in the AO3 version is left-aligned when downloaded via FFF. I have a section in my personal.ini to configure the output css that I copied from a post in this thread, but I don't know enough about coding to figure out what exactly is causing the issue. Could someone help me out?

This is what I have in my personal.ini to configure the output css:
Code:
add_to_output_css:
 img { max-width: 100%%; height: auto; }
 body {
  text-align: left;
  font-family: 'Bookerly', serif;
 }
 body.fff_titlepage {
  font-size: inherit;
  font-family: 'Bookerly', serif;
  background-color: #000000;
  color: white;
 }
 hr {
  display: block;
  border: 0; border-top: 1px solid;
  padding: 0;
 }
 .hr-sect {
  display: flex;
  flex-basis: 100%%;
  align-items: center;
  text-align: center;
  margin: 5px 0px;
 }
 .hr-sect:before,
 .hr-sect:after {
   content: "";
   flex-grow: 1;
   height: 1px;
   border: 0; border-top: 1px solid;
   font-size: 0px;
   line-height: 0px;
   margin: 0px 8px;
 }
 .fff_titlepage .title h1,
 .fff_titlepage .title h2 {
  font-family: 'Bookerly', serif;
  font-size: 3.5vmax;
  margin: 0;
 }
 .fff_titlepage .title h1 { font-weight: normal; }
 .fff_titlepage .title h1 a { font-weight: bold; } 
 .fff_titlepage .title a,
 .fff_titlepage .tags a,
 .fff_titlepage .tag-summary-content a {
  text-decoration: none;
  color: unset;
 }
 .fff_titlepage .tag-summary-content a {
  font-style: italic;
 }
 .fff_titlepage .tag-summary-content p {
  margin-top: 0;
 }
 .fff_titlepage .tags {
  display: block;
  padding: 0;
 }
 .fff_titlepage dl .inline dd {
   display: inline;
   margin: 0;
 }
 .fff_titlepage dl .inline dd:after {
   display: block;
   content: '';
 }
 .fff_titlepage dl .inline dt {
   display: inline-block;
 }
 .fff_titlepage dd { margin-left: 0.75em; }
 .fff_titlepage dl, .fff_titlepage dt { margin: 0; }
 @media only screen and (max-device-width: 480px),
 only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
 	body.fff_titlepage { font-size: inherit; }
 }




titlepage_start:<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>${title} by ${author}</title>
 <link href="stylesheet.css" type="text/css" charset="UTF-8" rel="stylesheet"/>
 <meta name="calibre-html-render-data" content='{"size": "A2", "margins": [0, 0, 0, 0]}'/>
 </head>
 <body class="fff_titlepage" style="font-size: inherit;">
 <div class="title">
 <h1><a href="${storyUrl}">${title}</a> by ${authorHTML}</h1>
 <div class="hr-sect"> ✧ </div>




 <dl class="tags">


## ${id}, ${label}, ${value}
titlepage_entry:
 <dt><b>${label}:</b></dt> <dd>${value}</dd>


## ${id}, ${label}, ${value}
## Used with entries listed in wide_titlepage_entries, typically description, storyUrl, authorUrl
titlepage_wide_entry:


## When using tables, make these span both columns.
wide_titlepage_entries:


## ${id}, ${value}
## For example, if you've set description_label:
## (that is, nothing)
titlepage_no_title_entry:


## metadata
titlepage_end:
 <div class="hr-sect"> ✧ </div>
 </dl>
 <dt><b>Summary:</b></dt>
 <div class="tag-summary-content">${description}</div>


 </div>
 </body>
 </html>
Attached Thumbnails
Click image for larger version

Name:	FFF.png
Views:	17
Size:	536.7 KB
ID:	211056   Click image for larger version

Name:	AO3.png
Views:	16
Size:	536.9 KB
ID:	211057  
wildfire070 is offline   Reply With Quote
Old 09-27-2024, 10:32 PM   #119
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: 121
Karma: 295674
Join Date: Jul 2021
Device: iPhone
This is the second time in less than two days I've seen a part of my personal.ini in other posts, nice to see it getting used. It's outdated now though.

In body, remove the text-align: left; line and see if that changes anything.
Code:
body {
  text-align: left; <-- remove this
  font-family: 'Bookerly', serif;
 }
culytera is offline   Reply With Quote
Old 09-28-2024, 12:45 AM   #120
wildfire070
Enthusiast
wildfire070 began at the beginning.
 
Posts: 40
Karma: 10
Join Date: May 2012
Device: Kindle Oasis, Scribe, Paperwhite // Boox Palma
I thought that was the culprit and tried removing it before but it didn't seem to change anything.

Last edited by wildfire070; 09-28-2024 at 12:50 AM.
wildfire070 is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Library management issues after editing metadata dra Library Management 26 04-11-2020 06:10 PM
Best strategy for metadata management for Kobo using Calibre? ceridwen Kobo Developer's Corner 16 05-13-2019 03:51 AM
Will automatic metadata management also transfer updated cover images to device? TheSacredSoul Library Management 2 01-11-2013 07:05 AM
Metadata Management on Android not working? TheStretchedElf Devices 0 08-08-2012 10:10 AM
Automatic Metadata Management gxxshock Calibre 2 12-28-2008 01:48 PM


All times are GMT -4. The time now is 09:05 AM.


MobileRead.com is a privately owned, operated and funded community.