Ship code generator
Build the repetitive Calibre template without writing it by hand
This generator is the optional advanced continuation of Anthology-aware ships. It creates the longer #short_ships template that can show several order-preserved relationships. Add the full AO3 relationship name and the shorter name you want on your covers; the generator writes the repetitive Calibre code for you.
Before using it, complete the #all_slashes setup. This tool creates the calculated template only—it does not create the Calibre columns or change personal.ini.
If you have completed the AO3 relationship-category setup, you can enable Use AO3 category when no relationship is found. When a fic has no slash relationship, the generated template can then show its saved AO3 category, such as M/M or F/F, instead of the generic Gen fallback. The checkbox does not create or fill that category column for you.
The generator runs entirely on this page. It does not upload your ship list. It saves a temporary draft in this browser so an accidental refresh does not erase your work.
Choose a starting point
Start with an empty list, load two examples, or paste the advanced template from this tutorial—or code previously made by this generator.
Import existing template code
The importer understands the tutorial's anthology-aware template and templates made by this generator. Other hand-written Calibre code might not import correctly.
Add your ship names
Use the complete relationship name exactly as it appears on AO3, including the order of the people: Character A/Character B and Character B/Character A are different relationship names. Matching ignores capitalization, but it does not reverse the relationship for you. Add an alternative name when older or differently sourced stories use the other order or another version of the same relationship.
If you deliberately use FanFicFare's sort_ships:true, enter the participant order FanFicFare saves instead of AO3's original order.
If you use metadata cleanup that changes relationship names, enter the cleaned value instead of the original AO3 value.
This is the maximum number of different ships that will be displayed on a cover.
Enter any custom-column lookup name, with or without its leading #. The column must contain FanFicFare's AO3 Categories metadata; see Works without a romantic relationship tag.
Try an example
Separate relationships with commas, just as they appear in the Calibre column. Repeated relationships and repeated short names are shown only once.
Used only when the relationship sample above does not contain a slash relationship.
Generate your Calibre template
When your rows and preview look right, generate the complete template. In Calibre, open Preferences → Add your own columns, edit #short_ships, and replace the contents of its Template box with this result.