FAQs - JimmXinu/FanFicFare GitHub Wiki
- Please add site XYZ to FanFicFare?
- How do I get the latest released version of FanFicFare?
- How do I get the latest test version of FanFicFare?
- Why am I having errors downloading from fanfiction.net? / Why am I getting 'Cloudflare' errors downloading from fanfiction.net?
- I've followed all the instructions in Browser Cache Feature and it isn't working / I'm getting errors--help?
- I'm having SSL/TLS certificate errors--help?
- Why rename the project? What was wrong with FanFictionDownLoader(FFDL)?
- What is FanFicFare supposted to mean?
- How do I report problems or ask questions?
- Why shouldn't I just select my entire library and use FanFicFare plugin to check for updates?
- How do I setup FanFicFare to read my story update notification emails for me?
- Can FanFicFare download a story containing images?
- A book I downloaded has images (online) but they are not there in the book
- Does FanFicFare do any processing to included images?
- Can FanFicFare download and set the downloaded books cover?
- How can I keep FanFicFare from asking me if I am an adult all the time?
- Can FanFicFare remember my username and password for different sites?
- How can I edit stories after they are downloaded?
- How do I add a URL to an Calibre existing book?
- How do I backup FanFicFare settings?
- Why does the book Summary have strange HTML in it?
- How do I set the font size for a book's Summary/Description in Calibre?
- How do I update the metadata for an existing book in Calibre that wasn't downloaded with FanFicFare?
- How do I control what is sent to the Tags fields in Calibre
- How do I change what a particular metadata value appears as in FanFicFare?
- How can I limit or exclude the metadata values that FanFicFare keeps?
- I get an error saying the address is invalid. What should it be?
- I installed FanFicFare but can't see it in Calibre
- I love FanFicFare - how can I support on-going development?
- I used to be able to download from a website but it no longer works
- Why can't I use a different skin on my favorite site?
- Is it possible to automatically accept the 'Proceed with updating your library' dialog in Calibre?
- Is it possible to show the completion status of a downloaded story in Calibre?
- Where is this
personal.ini
I keep reading about? - Is there guidance on settings for the
personal.ini
(configuration)? - My settings in
personal.ini
disappeared after updating the Calibre plugin - what happened? - Why doesn't the color / font / special formatting from the story appear in the eBook FanFicFare produces?
- Why don't my CSS formatting changes in personal.ini work?
- What are Reading Lists in Calibre and how do I use them with FanFicFare?
- What is a Calibre Metadata plugboard?
- What is
ApplicationError: 5
? - Where do I find the discussion forum for FanFicFare?
- Which fan fiction websites are supported by FanFicFare?
- Why doesn't FanFicFare support LiveJournal and many other popular fan fiction websites?
- Is there a GUI version of FanFicFare?
- How can I run the CLI version without installing Python?
- Why doesn't the MOBI output show chapters markers on the progress bar in Kindle or include images?
- Why does my Kindle never finish indexing some FanFicFare books? / Why do some FanFicFare books break search on my Kindle?
- Why doesn't FanFicFare support other output types, like PDF?
- Why didn't FanFicFare collect Series for story X?
- What is an 'adapter'? What is an 'eFiction Base adapter'?
- Is there a way to add a tag 'Oneshot' to 1 chapter completed stories?
- How do I fix the error
'utf8' codec can't decode byte 0xXX in position XX: invalid start byte
? - How do I download a list of all of an author's stories or a user's Favorites list on fanfiction.net?
- How do I use a percent sign in personal.ini?
I rarely add new sites myself anymore for several reasons.
Most, if not all, of the new sites requested these days are new fiction or translated fiction instead of fanfiction. Newer, more interactive sites are frequently more difficult to implement. And mostly, I ran out of ambition for adding sites I don't read myself years ago.
These days new sites are mostly added by other people who want to read them. Which is kinda how it should be with an open source project, IMO.
This issue comment gives a (very) brief guide on getting started adding a site.
Calibre Plugin:
Once you have Calibre installed and running, inside Calibre, you can go to Preferences -> Get plug-ins to enhance Calibre.
Calibre automatically notifies when an updated plugin is available, but this can be manually checked by following the above steps and choosing Check for updated plugins.
FYI, anytime there's a new version of a plugin, there's a delay before it shows up on the official list of plugins that Calibre watches.
Or you can download it from the MobileRead forum for FanFicFare and then go to Preferences -> Plug-ins -> Load plug-in from file. It's not uncommon for test versions to be posted in the forum before they are released for general update.
Command Line Interface(CLI):
The CLI is now distributed as a pip
package. The most up to date
instructions should be posted on the Home wiki page.
We also have a user group for all versions.
FanFicFare is generally released only once a month, but there are often many test versions (especially of the plugin) posted between releases. Note that these are test versions--sometimes they are buggy.
Calibre Plugin:
You can download the latest test version from the MobileRead forum for FanFicFare and then in Calibre, go to Preferences -> Plug-ins -> Load plug-in from file.
Command Line Interface(CLI):
The CLI test version is posted to testpypi. To install it, use:
pip install --extra-index-url https://testpypi.python.org/pypi --upgrade FanFicFare
Why am I having errors downloading from fanfiction.net? / Why am I getting 'Cloudflare' errors downloading from fanfiction.net?
As of ~Dec 2020, the site fanfiction.net has started using the Cloudflare service for protection from automated attackers.
Unfortunately, the distinction between 'automated attacker' and 'automated download tool' (such as FanFicFare) is a fine one.
For most users, Cloudflare blocks more aggressively than can be easily automated around. That's not surprising--it is their intention, after all.
There are two features in FanFicFare to side-step the issue of Cloudflare.
The first is the Browser Cache Feature, which, once configured, will look in your browser's cache for story chapter pages. See the Browser Cache Feature wiki page for further details.
The second is the Proxy Feature, which, once you have setup and run a separate proxy process and configured FanFicFare to use it, will run your requests through a proxy that has some ability to by-pass Cloudflare. See the Proxy Features wiki page for further details.
I still strongly recommend using email notifications for updates rather than using FanFicFare update to check for new chapters on lots of books.
I've followed all the instructions in Browser Cache Feature and it isn't working / I'm getting errors--help?
Browser caches can sometimes become (mildly) corrupted and/or FFF's cache reading code is less than perfect. I suspect the answer is probably both.
Your best bet in such a case is to clear your browser cache before trying again with all steps, including visiting the pages in browser.
If that doesn't help, some users have reported success manually deleting the contents of their browser cache directory; then the browser should recreate it entirely. I'd quit the browser and back up first before trying again.
SSL(/TLS, indicated by URLs starting with https:
) is becoming more
and more common. But SSL certificates don't last forever.
SSL verification is a complicated process involving more than one certificate at more than one level, all of which eventually expire.
When the site's SSL certificate expires, you will also see an error visiting the site with your browser. All you can do in that case is wait for the site administrators to renew their cert. If you have a way to contact the site administrators, you could also notify them about the issue.
You can also get an error when any of the chain of 'signing' certificates expire.
Starting with FanFicFare v4: FanFicFare CLI now depends on the
certifi
package for
certificates while FanFicFare plugin bundles its own copy of certifi
in the plugin zip.
(It was a deliberate decision not to use Calibre's bundled certificates because FanFicFare still supports significantly older versions of Calibre. For example, the certificate bundle in Calibre 2.85.1 is from Jan 2017.)
Also starting with FanFicFare v4, you can set
use_ssl_unverified_context:true
in personal.ini
for specific sites
to by-pass SSL verification without impacting other sites or processes
in both CLI and Plugin. This is still a security risk, but now it is
a much more minor one.
This project was first called fanficdownloader and later FanFictionDownLoader(FFDL). Neither name was especially distinctive--There's also a completely unrelated project out there called fanfictiondownloader.net that had the name first.
Then in March 2015, Google announced that code.google.com was going to be shutdown and all projects would have to move to other hosting.
If we were going to have to move anyway, that seemed a good time to also change the name to something a bit more unique.
'FanFic' is obvious. While FanFicFare does support a few sites that host original works, the majority is fanfiction.
The 'Fare' part refers to the 'food' definition of 'fare':
a range of food, especially of a particular type
synonyms: food, meals, sustenance, nourishment, nutriment, foodstuffs, provender, eatables, provisions
If you haven't found an answer here, then there are a couple ways to get in touch with us.
If you are a FanFicFare Calibre Plugin user, the plugin forum on MobileRead is the most active discussion.
We also have a Google user group for all versions.
I do not recommend using FanFicFare that way. Checking for updates on dozens (or hundreds or thousands) of stories at once causes excessive traffic on the source site. fanfiction.net and archiveofourown.org in particular, have been known to block people's IP address or refuse requests if they generate too much traffic.
Instead, I highly recommend that you 'follow' stories and use the sites' email notifications to inform you about updates and then update those specific stories.
I also recommend using Update EPUB, not Overwrite, unless you have reason to believe that a particular story has changes in previous chapters. Even for Mobi file users, I recommend downloading to EPUB and converting.
I repeat, doing mass updates is not recommended.
First, you have to go into FanFicFare config on the new Email Settings tab and set your IMAP server, user, and folder. The folder must already exist. Use INBOX for your... inbox. Or the name of the label for a Gmail label. Your email account must allow IMAPS (IMAP with SSL). (I've only tested with Gmail--a Google Apps account, actually).
You can choose whether you want FanFicFare to automatically mark those emails read. It will only mark read emails it found story URLs in.
Then there will appear a new FanFicFare menu option for Get Story URLs from Email. Errors are not handled terribly gracefully, nor is there a 'busy' indicator while it's working.
If you didn't save it in config, FanFicFare asks for your email password. If you checked Remember password for session in config, it will only ask the first time you use it each session. The password is discarded when you quit calibre or when you switch libraries, since different libraries have different settings.
WARNING There's very little data protection in Python--once you've given FanFicFare your password, any plugin or other part of Calibre could potentially read it if it knows to look for it. Alternatively, if you use 2FA on Gmail you can use Google App Passwords.
Yes. You can choose whether to include the images or not, but only in the CLI and Calibre FanFicFare plugin versions and only in EPUB and HTML formats.
The following question has more details.
The Calibre FanFicFare plugin can turn on images with the Include images in EPUBs checkbox in configuration.
Also, there are additional image options which can be set up in
personal.ini
. This applies to both the Plugin and CLI. See [configuring
personal.ini] for how to achieve this.
Note: The include_images
and related options are only available
in EPUB and HTML output formats in Plugin and CLI. Images cannot be
included in MOBI or TXT. I recommend that you use EPUB output in Calibre and convert to get images in other
formats.
By default, all images saved to EPUB are converted to jpeg to save size. Further, you can set what size to scale the images down to fit in. Aspect ratio is preserved and images are never scaled up, only down.
The default size, image_max_size: 580, 725
(width, height) is for my
Nook STR. You can change it in your personal.ini
. (If people tell
me what appropriate sizes are for other book readers, I'll include
them in the comments.)
You can also add grayscale_images: true
to your personal.ini
have
them converted to grayscale for additional (minor) space savings.
By default, any transparency in the images will be filled with
background_color
. You can add remove_transparency: false
in your
personal.ini
if you want keep the transparency.
The Calibre plugin includes an image processing library.
However, the CLI can only do image processing if the PIL or Pillow image processing packages are installed.
You can also explicitly disable all image processing by adding
no_image_processing:true
to your personal.ini
.
Yes, but only for EPUB and only in the CLI and Calibre FanFicFare plugin versions.
The plugin has an option on the Basic Configuration tab, Update Cover when Updating Metadata. When checked, the Calibre cover image will be updated every time the other Calibre metadata is updated (assuming EPUB). If there is a cover image in the EPUB, it will be used. If not, Calibre will generate the usual from EPUB format type cover, usually showing the title page.
There are three places cover images can come from.
The first is an explicit cover image from the source site. Not all sites have specific cover images.
Second, the downloader can use the first image it finds in the story
with the include_images
and make_firstimage_cover
options in
personal.ini
. Then, if a story contains an image, FanFicFare will
set that as the book's cover. If keep_summary_html
is also true, it
can come from the summary.
Third, you can set a specific image that will be used if one of the other two isn't found.
Code:
[www.adastrafanfic.com:epub]
default_cover_image:file:///C:/Users/username/Desktop/nook/images/icon.png
[www.fictionalley.org:epub]
default_cover_image:http://www.somesite.com/someimage.gif
If you want images inside the EPUB, but never want an image cover, you can use:
Code:
never_make_cover:true
You can also use the Generate Cover plugin to set a cover image. FanFicFare plugin can be configured to automatically call Generate Cover if no cover image was found.
Some sites require the user to confirm they are adult for adult
content. You can, in your personal.ini
, set is_adult:true
in the
[defaults]
(or in specific site sections) and it will always assume
you are an adult.
In the commandline version, this should go in your personal.ini
, not
defaults.ini
.
Code:
[defaults]
is_adult:true
Some sites require login (or login for some rated stories).
FanFicFare can prompt you each time, or you can save it in
personal.ini
. Each site's username and password have to be saved in
the section for that site.
In the commandline version, this should go in your personal.ini
, not
defaults.ini
.
Code:
[www.ficwad.com]
username:YourName
password:yourpassword
[archiveofourown.org]
username:YourAO3Name
password:yourao3password
FanFicFare does not put any effort into securing these settings. It's recommended that you don't save usernames or passwords here that are sensitive--for example, if you are also an author and post your stories under that user.
If you don't intend to ever update the book using FanFicFare, you can do whatever you want to it.
FanFicFare can only update EPUB format files. Other formats, if you attempt to 'update' with FanFicFare after editing will overwrite your changes.
If you do plan to update an EPUB again using FanFicFare, you should use a tool that doesn't change the file layout inside the EPUB. Updating an EPUB use the previous chapter texts from your edited EPUB, but the title page, TOC, etc will be regenerated.
Calibre's Edit Book feature does a good job, but the way FanFicFare creates Anthology books (using EpubMerge) can be confusing because it creates directory structured EPUBs. To see the full path file names in Edit Book, go into Edit Book's Preferences, Main Window, and enable 'Show full file paths in the Files Browser'.
Another approach is:
Use Calibre to convert the eBook to RTF format and then edit in your word processor of choice. (TXT is also a conversion option but loses any formatting and the links (url) to the story and author).
Important: Make sure that while editing, that you do not remove the link to the story in the story's title. Also, conversion to RTF loses the Title and Author metadata - these will need to be restored otherwise the next step will not match the revised story and will create a new book in Calibre.
Copy the modified story back into Calibre (or use Calibre's add books option), delete the original eBook, and convert the newly imported story to your desired eBook format.
FanFicFare will search inside the existing EPUB for a URL embedded in the book (in the dc: source tag).
Alternately, find the URL for the story, and do an Add from URL(s) with Update Always or Update Calibre metadata only. There is a plugin called 'Search The Internet' which is very useful for this. The easiest option is probably to search using Google with this plugin.
FanFicFare is now able to search for the story (or stories) with the URLs provided, and will match the existing story by title and author and update everything.
If you already know the URL, you can edit the 'Ids:' field in Calibre
metadata and add a 'url:' identifier. Eg:
url:https://www.fanfiction.net/s/1111111/1/
For CLI, back up your personal.ini
file as you would any other file.
You're already backing up your home directory and fanfiction library,
right?
For Calibre plugin, FanFicFare keeps your settings in the Calibre library database--you backup your Calibre libraries, right?
Details of how to backup Calibre libraries are given in Calibre's User Guide - http://manual.calibre-ebook.com/faq.html#how-do-i-backup-calibre
By default, FanFicFare keeps the summary HTML from the site. Some sites include image tags, by keeping the summary in HTML, that image can be found and used as a cover.
You can disable it by adding the parameter keep_summary_html:false
to your personal.ini
. In [defaults]
to effect all sites, or in
the section for a specific site.
This is not under FanFicFare's control, but the Summary (Description) displayed in Calibre can be set as follows:
The general answer is in Calibre's User Manual Customizing Calibre Overriding icons, templates, etcetera.
First, find your Calibre config dir by doing Preferences->Change Calibre Behaviour->Advanced->Miscellaneous->Open Calibre configuration directory. Go into resources, and make a directory named 'templates'.
Then, copy C:\Program Files (x86)\Calibre2\resources\templates\book\_details.css
(or equivalent)
to the templates directory you just made.
You may need to edit the preferences first to unset the read only attribute.
Edit your new book_details.css file and add the font attribute to the .comment tag:
.comment {
font-size: 12px;
}
... or whatever size you like.
How do I update the metadata for an existing book in Calibre that wasn't downloaded with FanFicFare?
You need to find the URL of the story (book) and add it to the book's listing in Calibre.
See How do I add a URL to an existing book? for how to do this.
Then you can use FanFicFare's 'Update Calibre Metadata Only' feature. Update the book, but open 'Download Options' and change 'If Story Already Exists?' to 'Update Calibre Metadata Only'.
What metadata (category, genre, status, characters, ships, etc) gets
included in the Calibre tags is controlled by the personal.ini
option include_subject_tags
. (The name is historical because EPUB
'tags' are placed in <dc:subject>
tags.)
Note that there is an option in FanFicFare's Plugin configuration to keep existing tags (or not) and this should be checked or unchecked as appropriate. This becomes relevant when updating an existing story.
For example, when AO3 lists Captain America (Movies)
, you might want
that to appear as just Captain America
.
The answer is the replace_metadata
option in personal.ini
. It
uses regular expressions to change metadata values.
## Note that there has to be a space at the beginning of each line in
## the replace_metadata list.
replace_metadata:
category=>Captain America \(Movies\)=>Captain America
See the ReplaceMetadata page for more details.
There's a whole page, InExcludeMetadataFeature, to explain the Include/Exclude metadata feature.
This often happens because the author's page is selected by mistake. Ensure the story's index page or one of the individual chapter pages is selected.
The page of Supportedsites shows examples of valid URL forms for each site.
First, try re-starting Calibre.
If FanFicFare is still not visible, then it is possible the step to choose where to display FanFicFare was missed, or an option was chosen which doesn't apply.
If it disappears when you have a device plugged in, you probably don't have FanFicFare configured to appear on 'The main toolbar when a device is connected' bar.
Go to Preferences->Toolbar (in the Interface group) and choose the location where you want to see FanFicFare. Add from the list on the left and then move up or down in the list on the right to set FanFicFare where desired.
Typically users put FanFicFare on both 'The main toolbar' and 'The main toolbar when a device is connected'.
FanFicFare is completely free.
The best way you can support us is by joining the plugin forum or the user group and taking part.
We also welcome new code and documentation contributions.
Fanfiction websites regularly modify their websites as they work to improve their service. To be fair, it is good that they respond to user requests. They are also often driven to make changes when the underlying software that hosts their website is changed.
Check the user forum to check if this has already been reported, and then notify us if it hasn't - see Where do I find the discussion forum for FanFicFare?.
Another possibility is that you've changed your 'skin' preference on that site. Many sites off several different appearances, or 'skins'. Generally, FanFicFare is only coded to work with the default skin. Try setting your skin back to the default. See Why can't I use a different skin on my favorite site?
Many sites support more than one 'skin' that changes the appearance of the site. On many sites the changes are minor, different images and colors, but the same structure and labels. Sometimes, however, the skin changes the layout of the site's pages enough that FanFicFare cannot parse it using the same code.
For most sites, FanFicFare only supports the default skin. Supporting additional skins would add a lot more coding and testing--comparable to the effort needed to add a new site, depending on the skin.
('Default' is defined as the skin that appears to users who aren't logged in, or the skin that was first assigned to the developer's user when it was created.)
The 'proceed with updating?' dialog can't be skipped without risking corrupting your library DB. The official way to enforce sequential updates in Calibre is with that 'proceed with updating?' dialog.
It has to do with limitations of the library DB. It wasn't designed with concurrent access in mind, so there isn't appropriate locking, transaction support, etc.
Suppose you'd kicked off an FanFicFare download and at the same moment it finished and was updating the DB, you were also updating the DB from some other plugin or action. The DB cache can be corrupted in that case.
So until the Calibre DB gets concurrent access, we're stuck with it.
Yes, FanFicFare downloads story status from most sites, that may be in progress and the status (In-Progress or Completed) can be made visible in Calibre.
Metadata 'Status' is included in FanFicFare. By default, it shows up on the story's title page and is either In-Progress or Completed (or similar according to each website's settings).
FanFicFare also comes default configured to put In-Progress or Completed on each story as a tag. Assuming, of course, that you have the plugin update metadata.
In Calibre, you can create a custom column of one of the text types or a Yes/No column, and then configure FanFicFare to update it automatically from the Custom Columns tag of FanFicFare config.
In steps:
-
Go to Calibre Preferences->Add your own columns (in the Interface group), and add a column (Text type or Yes/No).
-
You will be prompted to re-start Calibre.
-
After re-start, check the display and drag the new column to where desired,
-
Open FanFicFare's configuration and go to the 'Custom Columns' tab - the new field should be listed. Select a value to populate this field with from the drop down list, presumably 'Status:Completed'.
-
Next time you update a book, it's Status will be populated in that column.
Note that this status can also be displayed on a book's cover if using the Generate Cover plugin.
The name personal.ini
is a reference to the file in the CLI, the
earliest version of FanFicFare.
Calibre Plugin: Click FanFicFare -> Configure Plugin -> personal.ini tab -> Edit personal.ini button.
Command Line Interface(CLI): ./personal.ini
or
~/.fanficfare/personal.ini
. For backward compatibility to the
earlier FanFictionDownLoader(FFDL), also
~/.fanficdownloader/personal.ini
. You'll have to create the
directory and initial file.
The primary place where all the personal.ini
options are documented
is the defaults.ini
file.
For CLI users, default.ini
is installed with the package files, but
that location varies depending on your OS and setup. You can always
view the defaults.ini file online.
For calibre plugin users, there's a button on the personal.ini
Configuration tab that will display the plugin's defaults.ini
.
(Note that the plugin defaults.ini
is not identical to the one used
by the CLI.)
Every library in Calibre has its own settings and the FanFicFare configuration is therefore unique to each library. If you have more than one library, this might be what happened. If you only have one library and you still believe you have lost your FanFicFare configuration, then do let us know.
Note: The first time you open the FanFicFare plugin config in a new library, it will copy the settings from the previously open library - if there was one.
Why doesn't the color / font / special formatting from the story appear in the eBook FanFicFare produces?
FanFicFare, by default, strips out style attributes, ignores site/story specific CSS and converts some HTML (like <i>
and <b>
tags) to other forms. It does these for three reasons:
- EPUB (the primary output format) only supports a subset of (X)HTML.
- eInk eBook Readers (the assumed target device) are gray scale and have additional limitations.
- To make FanFicFare output from any site and author more similar.
You can get part of the story formatting back, depending on how it was implemented in the story.
You can add add_to_keep_html_attrs:,style
to your personal.ini to enable HTML like <span style="color:green;">
to be preserved. You can put under section [defaults]
for all stories on all sites, or under the section for specific sites or stories.
On the other hand, if the story uses CSS styles, such as <span class="red">
, you would need to add those styles to FanFicFare's output_css
. For example (and it's only an example, not a panacea):
[storiesonline.net]
add_to_output_css:
blockquote p{font-family:Courier, monospace;}
.right,.r{text-align:right;}
.in{text-indent:2em;}
.center,.c{text-align:center;}
.red{color:red;}
.blue{color:navy;}
.lblue{color:blue;}
.green{color:green;}
.i{font-style:italic;}
.b{font-weight:bold;}
.bi{font-weight:bold;font-style:italic;}
This is often caused by something minor. To quote from http://www.w3.org/TR/REC-CSS2/syndata.html#q4:
All CSS style sheets are case-insensitive, except for parts that are not under the control of CSS. For example, the case-sensitivity of values of the HTML attributes 'id' and 'class', of font names, and of URLs lies outside the scope of this specification. Note in particular that element names are case-insensitive in HTML, but case-sensitive in XML. (eg If your CSS uses
<p>
and the story contains<P>
, then the formatting will not work).
In CSS2, identifiers (including element names, classes, and IDs in selectors) can contain only the characters [A-Za-z0-9] and ISO 10646 characters 161 and higher, plus the hyphen (-); they cannot start with a hyphen or a digit. They can also contain escaped characters and any ISO 10646 character as a numeric code (see next item). For instance, the identifier 'B&W?' may be written as 'B&W?' or 'B\26 W\3F'.
For more information, read http://www.w3.org/TR/REC-CSS2/syndata.html#q4
One common issue is that a story may not be using your CSS at all
because you tried to apply everything to <p>
tags and the story
doesn't contain any <p>
tags at all - all vertical spacing is done
with <br />
tags. Applying the formatting to <div>
instead of <p>
might help. Some stories always have a <div>
tag around the chapter
content, but not all sites do. <body>
is the only tag you're
guaranteed will be there for all sites.
Unfortunately, CSS for exact appearance is always going to be an iffy proposition because the HTML entered by different authors varies wildly.
That's why the FanFicFare strips out so much of it. For example, some
stories use <span>
with style attributes for italics. The downloader
strips out all the style attributes.
This means you may need to experiment with different settings until you find one that works.
The Reading List Calibre plugin allows users to keep lists of books, for example to track of which books they would like to read next, and in which order. You can have multiple lists per library.
The Reading List plugin has also allows you to synchronise list(s) to a device either manually or automatically when it is connected.
Once you've created Reading Lists for sending to your devices, you can configure FanFicFare to automatically add new/updated stories to those lists.
Reading Lists can also update custom columns automatically. Using that with a Metadata Plugboard, you can put a notation in the title of new books to read when they're sent to your device.
As a convenience, FanFicFare offers a menu option to remove stories from the to read lists after you've read them and optionally add read stories to the send to device lists again.
This is an illustrated example of how it could be used.
Please let us know if you have a better way to do this.
Plugboards allow you to use eBook metadata to change the metadata fields inside eBooks as they are sent to your devices. This can be used to to control how eBooks appear in an eBook reader.
For example, including the Series and tags in the 'title' field so that you can see and search for series and tags in your eBook reader.
For a detailed explanation, visit the MobileRead Wiki for Calibre or the plugboards forum on MobileRead.
This is a rather vague error that the Web Serice application gives for a variety of reasons.
This often indicates the application had problems connecting to the fan fiction website.
FanFicFare tries several times, with longer waits between attempts, when there's a failure to retrieve story data, but sometimes it still fails. Sometimes, the only answer is to try again later.
If you use the Calibre plugin, it's best to use the plugin forum. It's not uncommon for beta versions of FanFicFare to be available for testing on the plugin forum before it's released for the CLI.
The general discussion user group is available for all users, but particularly those not interested in Calibre specifics.
There's a separate Supportedsites page dedicated to listing the supported, suggested and rejected sites.
Downloading stories from LiveJournal and several other fan fiction websites is theoretically possible, but very difficult. Generally, the problem is picking the story out of the rest of the text. Some sites are just too complex - complex layout, embedded comments from readers, etc.
See Which fan fiction websites are supported by FanFicFare? for more information.
Right now, the Calibre plugin is the only GUI version.
There might be a stand alone GUI version in future, but there's nothing on the drawing board yet.
It's impossible without some sort of Python available, but if you already have Calibre installed, you can install the FanFicFare plugin and then run the FanFicFare CLI:
calibre-debug -e downloader.py -- [options to downloader]
Although, if you have Calibre, I'd recommend the FanFicFare Calibre plugin.
FanFicFare's MOBI output is less than ideal--it doesn't include chapter markers, nor can it include images. These are complex problems because MOBI is much more difficult to work with than epub.
Given the fact that Kindle has moved on to a newer format (AZW3), it's unlikely FanFicFare's MOBI support is ever going to improve. Unless, of course, somebody who wants it gets involved as a developer and improves it.
Right now, our best suggestion is to download as EPUB and then convert to MOBI.
The Calibre plugin has an option to automatically convert new downloads or updates using Calibre's extremely good Convert feature.
Why does my Kindle never finish indexing some FanFicFare books? / Why do some FanFicFare books break search on my Kindle?
Some sites / stories have poor HTML that can cause problems with Kindle's word indexing system.
As discussed above, FanFicFare's MOBI output is less than stellar.
This post by Dylan Tomorrow on the FanFicFare PI forum describes the problem and one solution for it using kindlegen.
Lack of interest by the developers, primarily. However, if someone comes forward and wants to write the code to add support for new output formats, we'd be happy to work with them.
Not all sites have series. And sometimes a site will add series after the FanFicFare code was written.
But not all sites that have series use them for series--some instead
use them for reading lists or favorites lists. There are a few sites
that can collect series, but are configured by default not to. You
can check defaults.ini
for the collect_series
parameter in the
site section your story is from. If it's set to false
, you can add
it to personal.ini
to enable it.
If you've found a site that uses series, but FanFicFare doesn't collect it, let us know through the user forums - see Where do I find the discussion forum for FanFicFare?
Internally, the code for a specific site in FanFicFare is called an adapter and collected together into and adapter file.
Many Fanfic sites use the eFiction story management system for hosting stories. This is a very flexible system that can be customized in many ways. That customization makes it harder for us because the metadata used and the HTML to show it can change significantly.
Back in Aug 2014, developer doe
noticed that most eFiction sites
don't customize the 'print' page versions nearly as much. doe
contributed what we call the eFiction Base adapter
code. This
allows an eFiction site to be supported with much less work if it
hasn't customed the print page very much.
As of Apr 2015, there are 8 sites that are supported using the
eFiction Base adapter
:
- devianthearts.com
- fannation.shades-of-moonlight.com
- fhsarchive.com
- libraryofmoria.com
- lotrfanfiction.com
- tgstorytime.com
- thehookupzone.net
- themaplebookshelf
Unfortunately, while a great idea for more easily adding new sites, the eFiction Base code is a bit more limited in the metadata it collects. For example, while it collects 'Series', it doesn't know what number a story is in a series. For Calibre users who collect the stories of a series in order, it probably doesn't matter. But it might for a CLI user, for example.
This seems to work:
# defaults so is affects everything, but can be overridden by
# more specific sections.
[defaults]
# 'add_to_' concats on to existing param, thus the leading comma
add_to_extra_valid_entries:,oneshot
# oneshot is a copy of status because status itself isn't a list.
include_in_oneshot:status
# add oneshot to the tags that are included in epub & calibre.
add_to_include_subject_tags:,oneshot
# Change oneshot to ['Completed'] to ['Completed','Oneshot'] only when
# numChapters is exactly 1.
# with ',' instead of '\,' it would be ['Completed'] to
# ['Completed,Oneshot']--one string instead of two.
add_to_replace_metadata:
oneshot=>Completed=>Completed\,Oneshot&&numChapters=>^1$
At least one user has reported receiving this error due to their software firewall blocking the outgoing connections from FanFicFare. Disabling the firewall or white listing the calibre and calibre background processes cleared it.
How do I download a list of all of an author's stories or a user's Favorites list on fanfiction.net?
FanFicFare has a feature "Get Story URLs from Web Page" (Plugin, see CLI options list for equivalent) that you can use to get lists of URLs from author pages or favorite pages.
For fanfiction.net specifically however, it's a little more complicated. Because they use javascript on the author page to switch between author's stories vs author's favorites, you have to use the mobile URLs instead. Change the www to m. Examples:
- https://m.fanfiction.net/u/00000/Author-Name (Author's stories)
- https://m.fanfiction.net/u/00000/Author-Name?a=fs (User's favorites)
Percent signs are special in INI and need to be 'escaped'. To do this, double it ('%%' rather than '%'). The second one will be ignored.
This is mostly used with randomly generated password
s and size
percentages in output_css
. Eg:
password:ifhn%%ER4
# ...
add_to_output_css: .full { width: 100%%; }