hopeless n00b
Posts: 5,110
Karma: 19597086
Join Date: Jan 2009
Location: in the middle of nowhere
Device: PW4, PW3, Libra H2O, iPad 10.5, iPad 11, iPad 12.9
|
Quote:
Originally Posted by mdclanahan
Sorry, then! I misunderstood what you meant. I was just thrilled to discover that I could export them, at least. I didn’t even think that much was possible.
|
Yeah, one reason I stick to Marvin when I need to do annotations is for the various export options.
Mind, those Marvin —> Marvin exports are actually simple zip files. I wish I could import them into Calibre but I just don't have the skill set necessary to create a parser for the Calibre Annotations plugin.
Quote:
Originally Posted by ilovejedd
The marvinz export is pretty much just a zip file containing a bunch of json files.
Each annotation is stored in a separate json file named <uuid>.entry.marvinj and a list of all these files is in manifest.json.
Sample manifest.json:
Code:
{
"DeviceVersion" : "10.3.3",
"Payload" : [
{
"filename" : "0051DBCF-6143-4349-9FC7-ED18719666D6.entry.marvinj"
}
],
"FileType" : "Marvin interchange file format",
"ContentType" : "marvin\/annotations",
"DateCreated" : 539657301.130649,
"HardwareName" : "iPad6,11",
"DeviceName" : "iPad",
"MarvinBuild" : "34",
"PayloadVersion" : 1,
"MarvinVersion" : "3.1.2"
}
Sample entry.marvinj:
0051DBCF-6143-4349-9FC7-ED18719666D6.entry.marvinj
Code:
{
"DeviceVersion" : "10.3.3",
"Payload" : {
"address" : null,
"selectionSectionName" : "A Dance with Dragons, 34. Bran III",
"country" : null,
"photoBase64" : null,
"tags" : [
],
"dateUpdated" : 536175284.265789,
"photoDate" : null,
"uuid" : "0051DBCF-6143-4349-9FC7-ED18719666D6",
"city" : null,
"latitude" : null,
"entryText" : "",
"dateCreated" : 536175284.265787,
"state" : null,
"type" : 2,
"photoLatitude" : null,
"selectionSectionIndex" : 362,
"starred" : false,
"entryDate" : 536175284.265789,
"longitude" : null,
"selectionStart" : 27294,
"photoLongitude" : null,
"ID" : 459,
"selectionEnd" : 27736,
"selectionText" : "An oak may live three hundred years, a redwood tree three thousand. A weirwood will live forever if left undisturbed. To them seasons pass in the flutter of a moth’s wing, and past, present, and future are one. Nor will your sight be limited to your godswood. The singers carved eyes into their heart trees to awaken them, and those are the first eyes a new greenseer learns to use*…*but in time you will see well beyond the trees themselves.",
"bookTitle" : "A Song of Ice and Fire: A Game of Thrones, A Clash of Kings, A Storm of Swords, A Feast for Crows, and A Dance with Dragons",
"hasPhoto" : false,
"colour" : 0,
"bookAuthor" : "George R.R. Martin",
"bookFileHash" : "a06fcbc831509ca9f5d1762585b28edb"
},
"FileType" : "Marvin interchange file format",
"ContentType" : "marvin\/journalentry",
"DateCreated" : 539657299.963053,
"HardwareName" : "iPad6,11",
"DeviceName" : "iPad",
"MarvinBuild" : "34",
"PayloadVersion" : 1,
"MarvinVersion" : "3.1.2"
}
From my observations: - selectionSectionName - corresponds to the chapter title
- selectionSectionIndex - index number of file based on epub's content.opf manifest?
- selectionStart & selectionEnd - word count within the chapter/section's html file only?
- ID - I believe Marvin stores all annotations in a single database and this ID corresponds to its index number in Marvin's database
- bookFileHash - MD5 hash of the epub file
|
|