Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre > Plugins

Notices

Reply
 
Thread Tools Search this Thread
Old 08-22-2025, 12:22 PM   #11146
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,015
Karma: 4604635
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
New Test Version Posted

2025-08-22
- adapter_fireflyfansnet: Allow for missing authorId.



Quote:
Originally Posted by LeWyKi View Post
Hi, I've been trying to download a few stories from [fireflyfans.net] and for most of them the plugin is working perfectly. There's just a few stories that return an error with comment "list index out of range", e.g. this story: bluesun.aspx?bid=10996
...
So looks like some authors don't have an authorId if I'm reading this right. What can I do?
Agreed, author URL is missing author id. Basically, the site is broken.

On a more active site, I suggest contacting them to report it and wait for a fix.

But the most recent chapters list also has 'chapters' in 2019 that are empty, both in title and content. And the top ten includes 2020--that's not a very active site.
JimmXinu is offline   Reply With Quote
Old 08-22-2025, 03:28 PM   #11147
Clem2605
Connoisseur
Clem2605 began at the beginning.
 
Posts: 54
Karma: 10
Join Date: May 2020
Device: Kobo H2O, Kobo Libra H2O, Boox Tab Ultra C
Talking about broken sites, starslibrary.net is still noted as supported, but, as far as I know, the owners have stopped paying for the server and it's been around a year since it's been down.

There was talk about them trying to put it back online, but it had been largely unused for years before that, so I wouldn't hold my breath for it.
Clem2605 is offline   Reply With Quote
Advert
Old 08-22-2025, 04:01 PM   #11148
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,015
Karma: 4604635
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
There are a number (9?) of the 'supported' sites that are off line, broken, DNS parked, etc.

Historically, it's not uncommon for them to come back again later. Or only to be broken part time. I've needed to restore sites after removing them enough times over the years that I tend to keep them quite a while--typically 2-3 years--before removing them.

Sites that are officially closed or moved are removed much quicker.
JimmXinu is offline   Reply With Quote
Old 08-23-2025, 08:06 AM   #11149
LeWyKi
Junior Member
LeWyKi began at the beginning.
 
LeWyKi's Avatar
 
Posts: 2
Karma: 10
Join Date: Aug 2025
Device: Kobo Clara 2E
Quote:
Originally Posted by JimmXinu View Post
New Test Version Posted
Agreed, author URL is missing author id. Basically, the site is broken.

On a more active site, I suggest contacting them to report it and wait for a fix.

But the most recent chapters list also has 'chapters' in 2019 that are empty, both in title and content. And the top ten includes 2020--that's not a very active site.
Thank you so much! That's fixed it.

Yes, I saw that the site seems mostly dead, so wanted to archive a few stories just in case. Making it e-reader friendly is a positive side-effect
LeWyKi is offline   Reply With Quote
Old 08-23-2025, 08:12 AM   #11150
indecisivemess
Junior Member
indecisivemess began at the beginning.
 
Posts: 7
Karma: 10
Join Date: Aug 2025
Device: Kobo Libra Colour
Quote:
Originally Posted by culytera View Post
If your include_subject_tags line still looks like:

Code:
include_subject_tags:
 freeform_tags
 etc.
Then you're not actually including anything, it should be "include_subject_tags:freeformtags"

And move the freeformtag metadata changes under replace_metadata. However, you also have an extra entry called filtered_freeform_tags so you'll have to decide which one you'll actually want to add.

I made a quick test with your exact Ship column settings and all ships showed on mine so I don't know what you're lacking since I don't know your full setup.
Thanks, I have changed the format for the include_subject_tags:freeformtags

I have a already moved the freeformtag metadata under replace_metadata and tried using freeformtags and filtered_freeform_tags.

Thank you for double checking the ship column settings for me. I have used the same column types as shown in one of your screenshots you uploaded previously on the thread.

I've been trying to fix it but I'm honestly so terrible at this.
You've already helped so much and I really appreciate it! Would you be able to take a look at my full setup and see what's going wrong. Totally understand if not, because it would take up your time.
indecisivemess is offline   Reply With Quote
Advert
Old 08-23-2025, 09:17 AM   #11151
Tharos
Connoisseur
Tharos began at the beginning.
 
Posts: 72
Karma: 10
Join Date: Jul 2010
Device: Pocketbook InkPad Color 3, Kindle Oasis 2, Moon+ Reader pro
FFF stops downloading longer stories because it takes too long. Can this be disabled? Can the time be extended? Generally, or for specific websites? Or, if necessary, only for one story?
Tharos is offline   Reply With Quote
Old 08-23-2025, 09:26 AM   #11152
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,015
Karma: 4604635
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
Quote:
Originally Posted by Tharos View Post
FFF stops downloading longer stories because it takes too long. Can this be disabled? Can the time be extended? Generally, or for specific websites? Or, if necessary, only for one story?
Code:
## How long to wait for each HTTP connection to finish in seconds.
## Longer times are better for sites that are slow to respond.
## Shorter times prevent excessive wait when your network or the site
## is down.
connect_timeout:60.0
And if you're using flaresolverr:
Code:
## flaresolverr_proxy_timeout is in integer milliseconds.
## Keep flaresolverr_proxy_timeout set smaller than connect_timeout
## otherwise the connection *to* flaresolverr will timeout first.

flaresolverr_proxy_timeout:59000
JimmXinu is offline   Reply With Quote
Old 08-23-2025, 09:34 AM   #11153
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: 130
Karma: 295674
Join Date: Jul 2021
Device: iPhone
Quote:
Originally Posted by indecisivemess View Post
Thanks, I have changed the format for the include_subject_tags:freeformtags

I have a already moved the freeformtag metadata under replace_metadata and tried using freeformtags and filtered_freeform_tags.

Thank you for double checking the ship column settings for me. I have used the same column types as shown in one of your screenshots you uploaded previously on the thread.

I've been trying to fix it but I'm honestly so terrible at this.
You've already helped so much and I really appreciate it! Would you be able to take a look at my full setup and see what's going wrong. Totally understand if not, because it would take up your time.
You can share your full personal.ini here, make sure you share the "safe" personal.ini. (Fanficfare settings > personal.ini tab > View "Safe" personal.ini)

Enclose it in spoiler and code tags:
Spoiler:
Code:
Like this so it doesn't take up too much vertical space.


And a screenshot of your Fanficfare Custom Columns window. (Fanficfare settings > Custom Columns tab)
culytera is offline   Reply With Quote
Old 08-23-2025, 10:39 AM   #11154
Tharos
Connoisseur
Tharos began at the beginning.
 
Posts: 72
Karma: 10
Join Date: Jul 2010
Device: Pocketbook InkPad Color 3, Kindle Oasis 2, Moon+ Reader pro
Quote:
Originally Posted by JimmXinu View Post
connect_timeout:60.0
connect_timeout doesn't help me with SOL. The site probably has too much traffic or other problems. And I don't want to get banned because of too many requests.

The Sietch didn't really like the use of FFF and banned my account.
Tharos is offline   Reply With Quote
Old 08-23-2025, 12:44 PM   #11155
suhair
Junior Member
suhair began at the beginning.
 
Posts: 3
Karma: 10
Join Date: Apr 2025
Device: Galaxy 20 SM-G781U
Question replacing Ao3 category tags?

I'm looking for an efficient way to clean up Ao3 category subject tags for Boku no Hero Academia. I have an idea of what I think should work, but let me know if there is a better way. My test batch of fic has the category listed as
僕のヒーローアカデミア | Boku no Hero Academia | My Hero Academia for one
僕のヒーローアカデミア | Boku no Hero Academia | My Hero Academia (Anime & Manga) for the other.
Looking through the wrangled tags page, I'm seeing a whole lot of nonsense I'm likely to encounter once I start updating the rest of my library. (Said nonsense under the spoiler)

Spoiler:
01 - Fandom123451CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAcademia - Fandomaged up mhaAizawa SenseiALDKGNAKFBALKMlandlskgnalkflaknlknhal labfgkalkrjgakllall might - FandomALL THE CLASS 1A NONSENSEAll出all爆Alpha urarakaAlternative universe bnhaBaku Dekubaku no hero academybaku x dekuBakuDeku - Fandombakudekutodo - Fandombakugo - FandomBakugo Katsuki - Fandombakugo smutBakugou - Fandombakugou katsuki - FandomBakugou Katsuki/Midoriya Izuku - FandomBakugou Katsuki/Todoroki Shouto - FandomBakugou katsuki&Midoriya IzukuBakugoXUrarakabakushima - FandomBakuTodo - Fandombetter luck next time - Fandombetter luck next time - nauticalwarriorbhnaBkdk - FandomBktdBmhaBnHAbnha / mhaBNHA MHAbnha/mhaboko no heroBoko no Hero AcademiaBoko No Hero Animeboku - FandomBoku my hero AcademiaBoku noBoku no Academiaboku no heroboku no hero aboku no hero acadamiaBoku no Hero AcademiaBoku no hero Academia / my hero academiaBoku no Hero Academia VigilantesBoku no Hero Academia | My Hero AcademiaBoku no Hero Academia | My Hero Academia (Anime & Manga)Boku no Hero Academia | My Hero Academia: VigilantesBoku No Hero Academia.Boku no Hero Academia/ My Hero AcademyBoku no Hero Academia/My Hero AcademiaBoku no Hero Academia/My Hero AcademyBoku no Hero Academia| My Hero academia (Anime & Manga)Boku no hero academicBoku no hero acedemiaBoku no my hero academia - FandomBokunoheroacademia - FandomBroken Reality - Extended UniverseBroken Reality Extended UniverseBroken Reality Extended Universe - FandomBroken Reality Server - FandomChihiro NakamuraClass 1A - FandomDabi - Fandomdabi & Izukudabi/ hawksDabihawks - FandomDadzawa - Fandomdeku - Fandomdekubaku - Fandomdekubakutodo - Fandomdekuxbakudenki - FandomdowantEijiro Kirishima - FandomErasermic - FandomEraserMight - Fandomfadomsfanficton - FandomFemaleMidoriyaFor The Want Of A Nail | FTWOAN | FtWoaNFrom The Sidelines (Fanfiction)From The Sidelines - FandomFTWOAN | For The Want Of A Nail seriesgive it another chancehawks - FandomHawkzawa - FandomHC - Fandomhdidneuhero acahero academiaheroacaHeroes Too! | Boku no Hero Academia 2 | My Hero Academia 2Hero’s ShadowHero’s Shadow (FeelingStabby)himiko toga - FandomHizashi Yamada - FandomHMAhrakiidarakaizukatuizuku midoriya - FandomIzuku/DekuizukumidoriyaIzukuxochakoizuocha - Fandomjust me - FandomKacchako - Fandomkamishin - FandomKatsuDeku - Fandomkatsuki - FandomKatsuki Bakugou - FandomKikiyo Tomoekiribaku - Fandomkrbk - Fandomktdk - FandomLeague of Villains - FandomLeviathan - rest_in_ripLittle space bakugou - FandomLocked In Digitalmhamha bnhaMHA HawksMHA OC - Fandommha | bnhamha.Mha/Bnhamidoriya - Fandommidoriya izuku - Fandommidoriya x bakugoumy hemy hermy hero - Fandommy hero amy hero acmy hero acamy hero acadamia - FandomMy hero academiMy Hero AcademiaMy Hero Academia (Anime & Manga)my hero academia animeMy Hero Academia bokuMy Hero Academia Illegals: VigilantesMy Hero Academia Vigilante - FandomMy Hero Academia VigilantesMy Hero Academia | Boku No Hero AcademiaMy Hero Academia | Boku no Hero Academia | My Hero AcademiaMy Hero Academia: The Strongest Hero (Video Game) - FandomMy Hero Academia: Two Heroes - FandomMy Hero Academia: Vigilantes (Manga) (2018)My Hero Academia: Vigilantes (Manga) - FandomMy Hero Academia: Vigilantes - FandomMy hero academicMy Hero Academy - Fandommy hero accadiamy hero accdemiamy hero accediaMy Hero AcedemiaMy Hero CollegeMy Hero Isekai AUMy Hero VigilantesMy Next Generation AcademiaMy_Hero_Academiamyhero - Fandommyheroacademia - FandomnmhaNo HeroNomu - FandomNot putting this dumb shit in the main tags fuck thatochaco uraraka - FandomOchako/BakugoPresent Mic - Fandomquirk - FandomQuirks - FandomRoad to Nowhere- Aerugoniansero x todorokishigaraki - Fandomshinkami - Fandomshoji Mezo/ Tokoyami Fumikageshoto todoroki - Fandomshoto x reader - FandomshototodorokiShotouShouta Aizawa - FandomShow me a perfect timeline (and maybe I‘ll stop writing)Séance (AU) | Boku no Hero Academia | My Hero Academia - FandomTaiyuu (OCT)Taiyuu OCTTDBK - FandomTheir Hero AcademiaThrowaway - Fandomtitan - FandomTodoBaku - Fandomtodobakudeku - FandomTododeku - FandomTodomomo - Fandomtodoroki - FandomTodoroki Family | My Hero AcademiaTodoroki Izuku - Fandomtodoroki shoto - FandomTodoroki Shoto / Bakugou Katsukitodoroki/dekuTogachako - FandomTouya Todoroki - FandomVigilante: My Hero Academia IllegalsVigilantes (My Hero academia) - FandomVigilantes - FandomVillain Deku - FandomWhatever the fuck goes on in my stupid ass brainwo yingYuzuyaМоя геройская Академия《我的英雄学院》ヒロアカヴィジランテ | My Hero Academia: Vigilantes上鸣电气 - Fandom仆のヒーローアカデミア僕 の ヒ ー ロ ー ア カ デ ミ ア | Boku no Hero Academia | Mi héroe academia僕のヒーローアカデミア僕のヒーローアカデミア | Boku no Hero Academia | My Hero Academi僕のヒーローアカデミア | Boku no Hero Academia | My Hero Academia僕のヒーローアカデミア | Boku no Hero Academia | My Hero Academia (Anime y Manga)僕のヒーローアカデミア | Boku no Hero Academia | Моя геройская академия僕のヒーローアカデミア | Boku no Héroe Academia | mi héroe academia僕のヒーローアカデミア |My Hero Academic僕のヒーローアカデミアI Boku no Hero Academia I My HeroAcademia僕のヒーローアカデミア|My Hero Academia僕のヒーローアカデミア|我的英雄学院|My Hero Academia八木俊典 - Fandom出胜 - Fandom切岛锐儿郎 - Fandom切爆 - Fandom勝出 - Fandom吧哈喽哈喽嘻嘻土豆椅子天喰环 - Fandom小英雄山田阳射布雷森特麦克心出 - Fandom心操人使 - Fandom我的英雄学院我的英雄学院乙女向 - Fandom我的英雄学院乙女向;我英乙女我的英雄學院我英 - Fandom我英乙女我英同人桃源乡欧尔麦特 - Fandom欧爆欧相死柄木弔 - Fandom没有原作浴室 - Fandom爆右爆常 - Fandom爆豪胜己 - Fandom爆豪胜己 綠谷出久 轟焦凍爆豪胜己x绿谷出久 - Fandom爆豪胜己x绿谷出久x轰焦冻爆轟爆轰 - Fandom相泽消太 - Fandom綠谷出久 - Fandom绿谷出久 - Fandom绿谷出久 爆豪胜己 - Fandom绿谷出久 轰焦冻 - Fandom胜出 - Fandom英英雄学院荼出 - Fandom荼死荼毘 - Fandom荼毘爆荼毘轟荼毘轰轟出轟出勝轟焦凍 - Fandom轟爆轰出 - Fandom轰出胜 - Fandom轰出荼轰焦冻 - Fandom轰爆轰爆/tdbk轰荼毘迪达拉通行百万麦相 - Fandom


Is there a way to change any category tag that includes "Hero Academia" (not case sensitive) to "Boku no Hero Academia | My Hero Academia"?
suhair is offline   Reply With Quote
Old 08-23-2025, 01:54 PM   #11156
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,015
Karma: 4604635
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
Quote:
Originally Posted by suhair View Post
I'm looking for an efficient way to clean up Ao3 category subject tags for Boku no Hero Academia.
...

Is there a way to change any category tag that includes "Hero Academia" (not case sensitive) to "Boku no Hero Academia | My Hero Academia"?
AO3's tagging is, IMO, a fundamentally unfixable mess. But that doesn't stop people trying.

For maximum matching, you probably want something like:
Code:
replace_metadata:
 category=>(?i)^.*Hero Academia.*$=>Boku no Hero Academia | My Hero Academia
See ReplaceMetadata wiki page or search for replace_metadata.
JimmXinu is offline   Reply With Quote
Old 08-23-2025, 03:32 PM   #11157
suhair
Junior Member
suhair began at the beginning.
 
Posts: 3
Karma: 10
Join Date: Apr 2025
Device: Galaxy 20 SM-G781U
Smile

Quote:
Originally Posted by JimmXinu View Post
For maximum matching, you probably want something like:
Code:
replace_metadata:
 category=>(?i)^.*Hero Academia.*$=>Boku no Hero Academia | My Hero Academia
That worked perfectly!
suhair is offline   Reply With Quote
Old Today, 03:12 AM   #11158
Lys
Groupie
Lys ought to be getting tired of karma fortunes by now.Lys ought to be getting tired of karma fortunes by now.Lys ought to be getting tired of karma fortunes by now.Lys ought to be getting tired of karma fortunes by now.Lys ought to be getting tired of karma fortunes by now.Lys ought to be getting tired of karma fortunes by now.Lys ought to be getting tired of karma fortunes by now.Lys ought to be getting tired of karma fortunes by now.Lys ought to be getting tired of karma fortunes by now.Lys ought to be getting tired of karma fortunes by now.Lys ought to be getting tired of karma fortunes by now.
 
Posts: 169
Karma: 727278
Join Date: Dec 2022
Location: Not in an English speaking country
Device: (Too many) Kobo(s)
Hi all

I'm having some issues updating any locked story from AO3. Not locked stories are updating correctly, instead.
I tried playing around with my personal ini (taking out always_login + credential, adding the open in browser one), but no matter what I did, I always got a 403 error.
Are you also experiencing this issue?
If yes, and you managed to solve it, can you please share your personal ini setting?
Lys is offline   Reply With Quote
Old Today, 09:47 AM   #11159
indecisivemess
Junior Member
indecisivemess began at the beginning.
 
Posts: 7
Karma: 10
Join Date: Aug 2025
Device: Kobo Libra Colour
Quote:
Originally Posted by culytera View Post
You can share your full personal.ini here, make sure you share the "safe" personal.ini. (Fanficfare settings > personal.ini tab > View "Safe" personal.ini)

Enclose it in spoiler and code tags:
Spoiler:
Code:
Like this so it doesn't take up too much vertical space.


And a screenshot of your Fanficfare Custom Columns window. (Fanficfare settings > Custom Columns tab)

Spoiler:
Code:
# FanFicFare Configuration File - Optimized for AO3 & Calibre Integration
# ================================================
# ================================================[defaults]
# ============================================================================
# BASIC SETTINGS & FORMATTING
# ============================================================================

# HTML processing options
replace_xbr_with_hr:3
replace_hr:false
replace_br_with_p:false
slow_down_sleep_time:0.5

# Date formatting (http://docs.python.org/library/datet...ptime-behavior)
datePublished_format:%%B %%d, %%Y
dateUpdated_format:%%B %%d, %%Y

include_subject_tags:filtered_freeform_tags,freeformtags

include_in_genre:genre,forumtags,freeformtags,ao3categories
# include_subject_tags should have values if you want to put tags in Calibre.
#If you don't want to use the prefix_* tags you can remove those lines entirely
# and add the tags you want in include_subject_tags.

# ============================================================================
# CUSTOM FIELD DEFINITIONS
# ============================================================================
# Define all custom metadata fields we'll create from AO3 data

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,fanfic_rating,fanfic_status,filtered_freeform_tags

# Labels for custom fields (how they appear in Calibre)
additional_characters_label:Characters
category_label:Fandom
category_main_label:Fandom
dateRange_label:Date Range
filtered_freeform_tags_label:Genre Tags
ship_label: Ships
freeformtags_label:Freeform Tags

# Define what source data goes into each custom field
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
include_in_filtered_freeform_tags: freeformtags

# Preserve order of items in lists (important for consistency)
keep_in_order_category:true
keep_in_order_characters:true
keep_in_order_ships:true
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
keep_in_order_filtered_freeform_tags:true

# ============================================================================
# METADATA FILTERING & EXCLUSIONS
# ============================================================================

exclude_metadata_pre:
# Remove redundant fandom suffixes
 category=~(.*) - Fandom

# Filter out generic/useless character entries
 additional_characters==Other(s)
 additional_characters=~(Original|Various) Character\(?s?\)?

# Remove generic placeholder tags
 freeformtags,genre==Other Additional Tags to Be Added
 warnings==Creator Chose Not To Use Archive Warnings
 warnings==No Archive Warnings Apply

# Ship filtering - remove non-relationship entries
 ships,prefix_ships!~(.*)(\/| & )(.*)     # Must contain / or &
 ships,prefix_ships=~(.*) & (.*)          # Remove platonic relationships
 prefix_ships=~^(.*)\(?(implied|mentioned)\)?  # Remove implied/mentioned ships


# ============================================================================
# METADATA TRANSFORMATIONS & REPLACEMENTS
# ============================================================================

replace_metadata:
# Rating standardization
 rating=> Audiences=>
 rating=>Teen [Aa]nd Up=>Teen

# Relationship processing
 ships=>(.*)[/](.*) \(?[Ff]riendship(?: only)\)?=>\1 & \2

# Fandom cleaning
 category,prefix_category=>No Fandom=>Original Work
 category,prefix_category=> \(?(- All Media Types|- Fandom|Movies|Movie [0-9]+|Comics|TV|Video Games?)\)?$=>

# Character name cleaning
 additional_characters=> - Character=>
 additional_characters=> ?\((cameo|briefly|if you squint|sort of)\)=>
 additional_characters=> \([Cc]haracter\)=>
 additional_characters=>\(mentions of\) =>

# Ship name cleaning
 category,ships= - Fandom$=>
 ships=> - Relationship=>
 ships=>^(.* - Relationship)$=>
 ships=>^(Eventual (.*)/(.*))$=>

# Extract first item for prefixed tags (for Calibre tag system)
 prefix_category_LIST=>^(.*?)(\,.*)=>\1
 category_main_LIST=>^(.*?)(\,.*)=>\1
 prefix_ships_LIST=>^(.*?)(\,.*)=>\1

# Add prefixes to tags for better sorting in Calibre
 prefix_ships=>^(.*)=>[p] \1
 prefix_category=>^(.*)=>[c] \1
 prefix_rating=>^(.*)=>[r] \1
 prefix_status=>^(.*)=>[s] \1

# Word count grouping (creates ranges for better filtering)
 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+

# Date range formatting (combines publish/update dates intelligently)
 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   # Different dates
 dateRange_LIST=>([^\s]+)\s+(\d{1,2})\,\s+(\d{4})-([^\s]+)\s+(\d{1,2})\,\s+\3=>\1 \2-\4 \5, \3               # Same year
 dateRange_LIST=>([^\s]+)\s+(\d{1,2})-\1\s+(\d{1,2})\,\s+(\d{4})=>\1 \2-\3, \4                              # Same month

# Bookmark/subscription status icons
 icon_bookmarked=>True=>Bookmarked
 icon_subscribed=>True=>Subscribed
 icon_bookmarked=>False=>Not Bookmarked
 icon_subscribed=>False=>Not Subscribed

# Icon combinations for visual indicators
 icons_LIST=>^(Bookmarked\, Subscribed)$=>⭐📖        # Both
 icons_LIST=>^(Not Bookmarked\, Not Subscribed)$=>◈   # Neither
 icons_LIST=>^(Not Bookmarked\, Subscribed)$=>📖      # Subscribed only
 icons_LIST=>^(Bookmarked\, Not Subscribed)$=>⭐       # Bookmarked only

# Dynamic CSS color coding based on rating
 output_css=>fff_titlepage_color_replace=>264701&&rating==General   # Green
 output_css=>fff_titlepage_color_replace=>38419D&&rating==Teen      # Blue
 output_css=>fff_titlepage_color_replace=>66347F&&rating==Mature    # Purple
 output_css=>fff_titlepage_color_replace=>8F0101&&rating==Explicit  # Red
 output_css=>fff_titlepage_color_replace=>1B1B1B&&rating==Not Rated # Black
 output_css=>fff_titlepage_color_replace=>555555                    # Default gray

# ============================================================================
# GENRE TAG FILTERING (CALIBRE TAGS)
# ============================================================================
# Only allow specific genre tags into Calibre's main tag system
# This prevents tag spam while keeping useful categorization
# 
# To add new allowed genres: Add a line like "filtered_freeform_tags!=Your Tag"
# To remove genres: Delete the line or comment it out with ##

# Whitelist using a single regex: keep only tags that MATCH this list
# (everything else is excluded). Edit this list to add/remove allowed tags.
 filtered_freeform_tags!~^(Angst|Fluff|Domestic Fluff|Smut|Light-Hearted|Happy Ending|Crack|Dead Dove: Do Not Eat|Family|Found Family|Friendship|Childhood Friends|Sibling Bonding|Batfamily|Friends to Lovers|Enemies to Friends|Enemies to Lovers|Enemies|Pining|Mutual Pining|Hurt|Hurt\/Comfort|Emotional Hurt\/Comfort|Implied\/Referenced Character Death|One Shot|Drabble|5 Things|5\+1 Things|Slice of Life|Slow Build|Slow Burn|Alternate Universe|Alternate Universe - Modern Setting|Modern Era|Canon Universe|Canon Related|Not Canon Compliant|NCC|Domestic|Out of Character|OOC|Non-Sexual|Image|DCU \(Comics\)|DCEU|Young Justice|Batman \(Comics\)|Batman - All Media Types|Justice League - All Media Types|Justice League \(DCU\))$
# filtered_freeform_tags!~^Angst
# filtered_freeform_tags!=Fluff
# filtered_freeform_tags!=Smut
# filtered_freeform_tags!=Crack
 filtered_freeform_tags!=HumorZ
# Allow all "AU - ..." variants
 filtered_freeform_tags!~^AU -.*

# ============================================================================
# CALIBRE CUSTOM COLUMNS MAPPING
# ============================================================================
# Maps processed metadata to specific custom columns in Calibre
# These column names must match what you've set up in Calibre's preferences

add_to_custom_columns_settings:
 additional_characters=>#character           # Characters column
 category_main=>#fandom                     # Fandom column
 rating=>#audience                          # Audience/Rating column
 ships=>#ship                               # Relationships column
 chapterslashtotal=>#chapter_count          # Chapter count column
 dateRange=>#date_range                     # Date range column
 freeformtags=>#additional_tags             # All original tags column
 filtered_freeform_tags=>#genre_tags        # Filtered genre tags column
 bookmarked=>#work_bookmarked              # Bookmark status column
 subscribed=>#work_subscribed              # Subscription status column
 fanfic_rating=>#fanfic_rating             # Original rating column
 fanfic_status=>#fanfic_status             # Work status column
 kudos=>#kudos				   # Kudos from AO3

# ============================================================================
# CALIBRE TAG SYSTEM INTEGRATION
# ============================================================================
# Controls what appears in Calibre's main tag browser for sorting/filtering

include_subject_tags:prefix_ships_LIST,prefix_category_LIST,prefix_rating,prefix_status,prefix_wordcount,filtered_freeform_tags

# ============================================================================
# VISUAL STYLING (CSS)
# ============================================================================
# Custom CSS for enhanced book covers and reading experience

add_to_output_css:
 /* Base typography */
 body {
  font-family: 'Noto Sans', sans-serif;
 }
 
 /* Title page styling with dynamic colors */
 body.fff_titlepage {
  font-size: 2.5vmax;
  font-family: 'Roboto', sans-serif;
  background-color: #fff_titlepage_color_replace;
  color: white;
 }
 
 /* Horizontal rules */
 hr {
  display: block;
  border: 0; 
  border-top: 1px solid;
  padding: 0;
 }
 
 /* Flexbox layout for decorative elements */
 .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; }
 
 /* Title styling */
 .fff_titlepage .title h1 {
  font-family: 'Roboto', sans-serif;
  font-size: 3vmax;
  margin: 0;
  font-weight: normal;
 }
 .fff_titlepage .title h1 a { font-weight: bold; }
 
 /* Link styling */
 .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;
 }
 
 /* Content styling */
 .fff_titlepage .tag-summary-content p {
  margin-top: 0;
 }
 .fff_titlepage .tags {
  display: block;
  padding: 0;
 }
 
 /* Definition list styling */
 dl .inline dt:after { content:'\00a0'; }
 dl .inline dt { float: left; }
 .fff_titlepage dt { font-family: 'Roboto Condensed'; }
 .fff_titlepage dd { margin-left: 0.75em; }
 .fff_titlepage dl, .fff_titlepage dt { margin: 0; }
 
 /* Responsive design for different screen sizes */
 .display-on-reader { display: none; }
 
 @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; }
 }

# ============================================================================
# TITLE PAGE TEMPLATE
# ============================================================================
# HTML template for the book's title page

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">

# Individual metadata entry template
titlepage_entry:
 <dt><b>${label}:</b></dt> <dd>${value}</dd>

# Wide entry template (unused in this config)
titlepage_wide_entry:

# Entries that should span full width (unused in this config)
wide_titlepage_entries:

# Entry template for items without labels
titlepage_no_title_entry: ${value}<br />

# End of title page template
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 SETTINGS
# ============================================================================

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

# ============================================================================
# ARCHIVE OF OUR OWN (AO3) SPECIFIC SETTINGS
# ============================================================================

[archiveofourown.org]
# Authentication settings
is_adult:false
always_login:false
#always_login:true
#slow_down_sleep_time:4

# Replace with your credentials (or leave as XXXXXXXX for manual login)
# username:XXXXXXXX
# password:XXXXXXXX

# Chapter handling
add_chapter_numbers:toconly
mark_new_chapters:latestonly

# Chapter title patterns
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

# AO3-specific field mappings
include_in_genre:
include_in_icon_bookmarked: bookmarked
include_in_icon_subscribed: subscribed

# Preserve AO3 tag order
keep_in_order_ao3categories:true
keep_in_order_freeformtags:true

# AO3-specific labels
# chapterslashtotal_label:Chapters
 freeformtags_label:Tags
#freefromtags_label:Tags
# ao3categories_label:Category

# ============================================================================
# FREEFORM TAG PROCESSING
# ============================================================================
# Clean up and normalize commonly used tags before filtering

replace_metadata:
# Normalize compound tags
 freeformtags=>^(Angst and )(.*)=>Angst\,\2
 freeformtags=>^(Fluff and )(.*)=>Fluff\,\2
 freeformtags=>^(Smut and )(.*)=>Smut\,\2

# Simplify redundant modifiers
 freeformtags=>(\w+ )(Fluff)$=>Fluff
 freeformtags=>(\w+ )(Smut)$=>Smut
 freeformtags=>(\w+ )(Angst)$=>Angst
 freeformtags=>(.*)(Hurt\/Comfort)$=>Hurt/Comfort
 freeformtags=>^(Hurt)(?: .*)?$=>Hurt

# AU tag standardization
 freeformtags=>^(Alternate Universe)$=>
 freeformtags=>^(Alternate Universe -)=>AU -

# Remove overly generic tags
 freeformtags=>^(Drama &amp; Romance)$=>Drama\,Romance
 freeformtags=>^(Friendship)$=>
 freeformtags=>^(Friendship/Love)$=>
 freeformtags=>^(Male-Female Friendship)$=>
 freeformtags=>^(Platonic Female/Male Relationships)$=>
 freeformtags=>^(Platonic Relationships)$=>

# Standardize common variants
 freeformtags=>^(Canon Divergent)$=>Canon Divergence
  freeformtags=>^[Ll]ighthearted$=>Light-Hearted
  freeformtags=>^[Bb]atfam$=>Batfamily

# Additional tag processing
extratags:

# Author URL cleaning (handle orphaned accounts)
add_to_replace_metadata:
 authorUrl=>(/users/orphan_account)/pseuds/.*$=>\1

# Title page content order
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>

# ============================================================================
# CHAPTER TEMPLATE
# ============================================================================

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>

# ================================================
# END OF CONFIGURATION
# ================================================


indecisivemess is offline   Reply With Quote
Old Today, 10:32 AM   #11160
JimmXinu
Plugin Developer
JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.JimmXinu ought to be getting tired of karma fortunes by now.
 
JimmXinu's Avatar
 
Posts: 7,015
Karma: 4604635
Join Date: Dec 2011
Location: Midwest USA
Device: Kobo Clara Colour running KOReader
Quote:
Originally Posted by Lys View Post
Hi all

I'm having some issues updating any locked story from AO3. Not locked stories are updating correctly, instead.
I tried playing around with my personal ini (taking out always_login + credential, adding the open in browser one), but no matter what I did, I always got a 403 error.
Are you also experiencing this issue?
If yes, and you managed to solve it, can you please share your personal ini setting?
You could try use_archiveofourown_gay:true or Browser Cache feature. See wiki page for ProblematicSites

And worst case, AO3 has their own epub download feature you can use.
JimmXinu is offline   Reply With Quote
Reply

Tags
fanfiction


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[GUI Plugin] KindleUnpack - The Plugin DiapDealer Plugins 527 08-15-2025 01:36 PM
[GUI Plugin] Open With kiwidude Plugins 404 02-21-2025 05:42 AM
[GUI Plugin] Marvin XD Philantrop Plugins 126 01-29-2017 12:48 PM
[GUI Plugin] KiNotes -axel- Plugins 0 07-14-2013 06:39 PM
[GUI Plugin] Plugin Updater **Deprecated** kiwidude Plugins 159 06-19-2011 12:27 PM


All times are GMT -4. The time now is 01:17 PM.


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