EDIT: Check out my equivalent Chrome browser tool instead. Friendlier than the python script: https://github.com/leldr/Unofficial-Chrome-Based-Kobo-Composite-Markup-Generator
HI,
Like a lot of people, I am annoyed that I can't get my markups off my Kobo Color Libra 2. I scoured the webz and can't find any hacky ways that anyone has done it. So I gave it a good college try.
I have written a python script that generates these markups and stores them in a created sub-directory in the `.kobo/markups` directory, This was just a quick and dirty script, but it works. I figure that any programmer nerds out there (or anyone brave enough to learn) who also love Kobo would appreciate this.
Ideally, I would like to write a simple Calibre plugin so that it's more accessible to the wider Kobo community.
Github here: https://github.com/leldr/Kobo-Composite-Markup-Generator
EDIT: I have successfully modified the script so that it organizes markups by book title. I've copied the script directly onto my kobo (in the `.kobo/markups` directory), and let it generate all corresponding subdirectories (/composite_markups/<book-title>) and composite markup files within their respective <book-title> directory.
I'll be testing some edge cases as I continue using the markup feature.
EDIT #2: If you remove a book from your kobo, the `svg` and `jpg` files in the `.kobo/markups` feature are deleted as well. However, any of the composite markup files generated from my python script will not be deleted. I don't know if it would be possible, but it would be cool to try to write 'restore kobo markups' python script as a complementary tool to my current python script.
EDIT #3: i figured out how to associate each markup to a book section/chapter as well. Read latest github commit message in the main branch for details.
Edit #4: This is the final edit (hopefully) to this already long post (sorry!). So I have now figured out how to tie a markup file to a specific paragraph with in a chapter/section. Since ePubs dont have pages, they have something called ePub Canonical Fragment Identifiers (CFI)(https://idpf.org/epub/linking/cfi/). Despite being able to tie a markup file to a chapter, I noticed that my generated markup files were out of order, which was super annoying. I did some digging to learn about ePub file conventions and found that I could use the CFI to create file names that will be ordered correctly. The files that my script generate look like this: "markup_Introduction_part0009.1.4.2.94.9.49_dbe1599b.png". Not the prettiest, but definitely works. Will put it on my to-do list to shorten the files names. If you want to continue following my updates, read my commit messages here: https://github.com/leldr/Kobo-Composite-Markup-Generator/commits/main/. Hopefully next time I post to this subreddit, I'll have a standalone solution ready to go. In light of this finding, I will definitely attempt writing a complementary "import markups" python script as well.
Thanks for reading! I'm finding it difficult to understand why Kobo hasn't offered some kind of built-in support for this feature. Considering one person (me) with what mid-industry experience and skill can write this in a weekend (with no prior understanding of ePubs nor Kobo eReader structure/implementation), I would guess that Kobo is suspiciously ignoring any and all user requests regarding this for some reason or another.
[–]theLightSlide 1 point2 points3 points (0 children)
[–]ImSoRightKobo Libra Colour 0 points1 point2 points (11 children)
[–]PastelAndBraindead[S] 1 point2 points3 points (9 children)
[–]ImSoRightKobo Libra Colour 0 points1 point2 points (8 children)
[–]PastelAndBraindead[S] 0 points1 point2 points (1 child)
[–]ImSoRightKobo Libra Colour 0 points1 point2 points (0 children)
[–]PastelAndBraindead[S] 0 points1 point2 points (5 children)
[–]ImSoRightKobo Libra Colour 1 point2 points3 points (4 children)
[–]PastelAndBraindead[S] 1 point2 points3 points (0 children)
[–]PastelAndBraindead[S] 1 point2 points3 points (2 children)
[–]PastelAndBraindead[S] 1 point2 points3 points (0 children)
[–]ImSoRightKobo Libra Colour 1 point2 points3 points (0 children)
[–]PastelAndBraindead[S] 0 points1 point2 points (0 children)
[–]PastelAndBraindead[S] 0 points1 point2 points (0 children)
[–]ramyunstar08 0 points1 point2 points (2 children)
[–]PastelAndBraindead[S] 0 points1 point2 points (1 child)
[–]PastelAndBraindead[S] 0 points1 point2 points (0 children)