View Single Post
Old 01-13-2012, 08:18 PM   #8
Gary_M_Mugford has a complete set of Star Wars action figures.Gary_M_Mugford has a complete set of Star Wars action figures.Gary_M_Mugford has a complete set of Star Wars action figures.
Gary_M_Mugford's Avatar
Posts: 150
Karma: 297
Join Date: Jul 2010
Location: Brampton ON
Device: Kobo, Kindle3
Dr. Chiper,

First, to understand what I've done, I have to explain. I have created some extra non-standard columns:
  xstatus (text,fixed set)              XS?                PM,R,x3,xp           (Export status=Problem,Read,Ondevice(x3),Pending(xx))
  readrank(text,fixed set)             RR                 1,2,3,4,5,6,7,8,9     (Hotness ReadRank=1 best to 9 worst)
  tagsgm(comma sep. text)         TagsGM          My own set of top level tags, SF, Sports, Mystery, Thriller, Romance, etc.
The following are then created columns from other columns:

  genre                                       Genre               Two-letter abbreviations of My tags {#tagsgm:re( *(.[^\,]?)[^\,]*?(\,|$),\1\2)} 
  stripped_series                         StrippedSeres   Short form of series name {series:re(^(A|The|An)\s+,)||}
  shortened                                 Shortened         Short form of series with internal .. {#stripped_series:shorten(4,~,4)}
  initials                                      Initials               Acronym form of series name {#stripped_series:re([^\w]*(\w?)[^\s]+(\s|$),\1)}
Next, I created a metadata plugboard for mobi:Kindle2. It's a true work of art (thanks to help from CHaley). Here it is (Hint, copy and paste, there are spaces you won't spot):
[{#readrank:ifempty(9)}{#genre:ifempty(SF)}] {#stripped_series:lookup(.\s,#initials,.,#shortene d,series)}{series_index:|-|-}{title}

Let me explain. It first sets up a square bracket, then the readRank, which is 9 by default if missing. It then adds a genre shortform, putting in SF if missing. Then we have the closing square bracket and a space. So far we have [1SF] or [2My] as examples. Now it puts in a series indicator. It tries for the full title first, then the .. in the middle version and then the initials. All trying to keep it to five characters or less, PLUS the volume number in the series. It adds a dash if it finds that there is a series. Lastly it adds the title. You KNEW that had to come eventually. So you might get something like [1My] SP15-Fearless Fifteen or [1My] Monk12-Mr. Monk On The Couch.

NOW, when I get the book into the Kindle, for title sort, it sorts by hotness first (1's to the front), then genre within hotness, then series, then title. The kindle can handle sorting by author or most recent first (needed to delete the book from within the kindle, using the kindle). It's up to you to sort the hotness quotient. 1's are for books I wanted read ASAP. 2 is for next volumes in series I am reading. 3 is for books from unfamiliar authors that have been recommended. 4 is for 'popular' books that I'm probably not interested in. 9 is for technical books. Your system will probably vary.

For instance, you might wish to leave out the rigamarole with the series condensing. For me, LOTR is better than Lord of the Rings. I KNOW SP is Stephanie Plum but you might prefer Step..Plum or even the full name. If so, you could replace {#stripped_series:lookup(.\s,#initials,.,#shortene d,series)} with just {series}. And of course, you can then forego the creation of the columns that go to contributing to the mini version of the series.

All the while, the original metadata sits untouched in Calibre. And, if you have different readers, you can have plugboards for each type.

Good luck, GM
Gary_M_Mugford is offline   Reply With Quote