diff --git a/app.yaml b/app.yaml
index 94a38723..0b49108f 100644
--- a/app.yaml
+++ b/app.yaml
@@ -1,6 +1,6 @@
# ffd-retief-hrd fanfictiondownloader
application: fanfictiondownloader
-version: 4-4-64
+version: 4-4-65
runtime: python27
api_version: 1
threadsafe: true
diff --git a/calibre-plugin/__init__.py b/calibre-plugin/__init__.py
index 9e067571..047df4cb 100644
--- a/calibre-plugin/__init__.py
+++ b/calibre-plugin/__init__.py
@@ -26,7 +26,7 @@ class FanFictionDownLoaderBase(InterfaceActionBase):
description = 'UI plugin to download FanFiction stories from various sites.'
supported_platforms = ['windows', 'osx', 'linux']
author = 'Jim Miller'
- version = (1, 7, 30)
+ version = (1, 7, 31)
minimum_calibre_version = (0, 8, 57)
#: This field defines the GUI plugin class that contains all the code
diff --git a/defaults.ini b/defaults.ini
index 6e085153..39809702 100644
--- a/defaults.ini
+++ b/defaults.ini
@@ -133,6 +133,9 @@ zip_filename: ${title}-${siteabbrev}_${storyId}${formatext}.zip
## zip_filename.
allow_unsafe_filename: false
+## The regex pattern of 'unsafe' filename chars for above.
+#output_filename_safepattern:[^a-zA-Z0-9_\. \[\]\(\)&'-]+
+
## entries to make epub subjects and calibre tags
## lastupdate creates two tags: "Last Update Year/Month: %Y/%m" and "Last Update: %Y/%m/%d"
include_subject_tags: extratags, genre, category, characters, ships, lastupdate, status
@@ -171,6 +174,11 @@ extratags: FanFiction
## 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 _LIST options: FFDL 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 _LIST. Example, if you added
+## calibre_author: calibre_author_LIST=>^(.{,100}).*$=>\1
#replace_metadata:
# genre,category=>Sci-Fi=>SF
# Puella Magi Madoka Magica.* => Madoka
@@ -233,6 +241,24 @@ chapter_title_strip_pattern:^[0-9]+[\.: -]+
## "The Beginning" => "1. The Beginning"
chapter_title_add_pattern:${index}. ${title}
+## Reorder ships so b/a and c/b/a become a/b and a/b/c. Only separates
+## on '/', so use replace_metadata to change separator first if
+## needed. Something like: ships=>[ ]*(/|&|&)[ ]*=>/ You can use
+## ships_LIST to change the / back to something else if you want.
+sort_ships:false
+
+## join_string_ options -- FFDL list entries are comma
+## separated by default. You can use this to change that. For example,
+## if you want authors separated with ' & ' instead, use
+## join_string_calibre_author:\s&\s. (\s == space)
+#join_string_author:,\s
+
+## keep_in_order_ options: FFDL 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_author:true
+
## Each output format has a section that overrides [defaults]
[html]
diff --git a/index.html b/index.html
index aec8d395..9968aad3 100644
--- a/index.html
+++ b/index.html
@@ -57,9 +57,7 @@
Changes:
- - New Site: scarhead.net -- Thanks, Ida!
- - Improved error reporting of fanfiction.net site errors
- - New force_login parameter for phoenixsong.net site.
+ - Several new ini parameters for metadata. See the Plugin forum for details.
@@ -71,7 +69,7 @@
If you have any problems with this application, please
report them in
the FanFictionDownLoader Google Group. The
- Previous Version is also available for you to use if necessary.
+ Previous Version is also available for you to use if necessary.
{{ error_message }}
diff --git a/plugin-defaults.ini b/plugin-defaults.ini
index ee8f9458..f31cf4ba 100644
--- a/plugin-defaults.ini
+++ b/plugin-defaults.ini
@@ -141,6 +141,11 @@ extratags: FanFiction
## 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 _LIST options: FFDL 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 _LIST. Example, if you added
+## calibre_author: calibre_author_LIST=>^(.{,100}).*$=>\1
#replace_metadata:
# genre,category=>Sci-Fi=>SF
# Puella Magi Madoka Magica.* => Madoka
@@ -223,6 +228,25 @@ chapter_title_add_pattern:${index}. ${title}
## anthologies.
anthology_title_pattern:${title} Anthology
+## Reorder ships so b/a and c/b/a become a/b and a/b/c. Only separates
+## on '/', so use replace_metadata to change separator first if
+## needed. Something like: ships=>[ ]*(/|&|&)[ ]*=>/ You can use
+## ships_LIST to change the / back to something else if you want.
+sort_ships:false
+
+## join_string_ options -- FFDL list entries are comma
+## separated by default. You can use this to change that. For example,
+## if you want authors separated with ' & ' instead, use
+## join_string_calibre_author:\s&\s. (\s == space)
+#join_string_author:,\s
+
+## keep_in_order_ options: FFDL 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_author:true
+
+
## Each output format has a section that overrides [defaults]
[html]