All Projects → robertmartin8 → Kindleclippings

robertmartin8 / Kindleclippings

Licence: mit
Extract kindle highlights into organised text files

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Kindleclippings

Kindle Highlights
Get your Kindle highlights.
Stars: ✭ 469 (+1854.17%)
Mutual labels:  kindle, books, reading
book-sentences
A collection of sentences from different books.
Stars: ✭ 43 (+79.17%)
Mutual labels:  books, reading
highlights.sawyerh.com
highlights.sawyerh.com
Stars: ✭ 37 (+54.17%)
Mutual labels:  reading, ebooks
kthoom
Comic Book Reader in the Browser
Stars: ✭ 97 (+304.17%)
Mutual labels:  books, ebooks
Kali-Linux-Ebooks
Top 20 Kali Linux Related E-books (Free Download)
Stars: ✭ 134 (+458.33%)
Mutual labels:  books, ebooks
EbookReader
The EbookReader Android App. Support file format like epub, pdf, txt, html, mobi, azw, azw3, html, doc, docx,cbz, cbr. Support tts.
Stars: ✭ 37 (+54.17%)
Mutual labels:  kindle, ebooks
bookery
Manage all your ebooks and send them to your reader
Stars: ✭ 35 (+45.83%)
Mutual labels:  kindle, ebooks
point-us-to-a-book
📚 reading list
Stars: ✭ 50 (+108.33%)
Mutual labels:  books, reading
Game Programmer Study Notes
⚓ 我的游戏程序员生涯的读书笔记合辑。你可以把它看作一个加强版的Blog。涉及图形学、实时渲染、编程实践、GPU编程、设计模式、软件工程等内容。Keep Reading , Keep Writing , Keep Coding.
Stars: ✭ 6,050 (+25108.33%)
Mutual labels:  books, ebooks
Free Livros
Educação é um direito de todos
Stars: ✭ 433 (+1704.17%)
Mutual labels:  books, ebooks
notes
📖 What I'm reading lately
Stars: ✭ 85 (+254.17%)
Mutual labels:  books, reading
Booktype
Booktype is a free, open source platform that produces beautiful, engaging books formatted for print, Amazon, iBooks and almost any ereader within minutes.
Stars: ✭ 810 (+3275%)
Mutual labels:  books, ebooks
Annual-Reading-List
A list of things to read every year.
Stars: ✭ 124 (+416.67%)
Mutual labels:  books, reading
lazarus-beginners-guide
A book written for new Lazarus users, named "Beginners’ Guide to Lazarus IDE". Moved to: https://gitlab.com/adnan360/lazarus-beginners-guide
Stars: ✭ 26 (+8.33%)
Mutual labels:  books, ebooks
reading-list
My reading list
Stars: ✭ 15 (-37.5%)
Mutual labels:  books, reading
ReaDB
ReaDB is your private digital bookshelf. Read. Review. Remember.
Stars: ✭ 84 (+250%)
Mutual labels:  books, reading
Mastering-Algorithms-with-C
This repository contains example files organized by chapters in Mastering Algorithms with C, by Kyle Loudon
Stars: ✭ 48 (+100%)
Mutual labels:  books, reading
Gen2Kindle
Search, download, convert and send files directly to your kindle from Libgen in one place.
Stars: ✭ 21 (-12.5%)
Mutual labels:  books, kindle
Hacking Security Ebooks
Top 100 Hacking & Security E-Books (Free Download)
Stars: ✭ 3,232 (+13366.67%)
Mutual labels:  books, ebooks
Bookwyrm
Social reading and reviewing, decentralized with ActivityPub
Stars: ✭ 483 (+1912.5%)
Mutual labels:  books, reading

python   MIT license   maintained  

One of the many great things about kindles is that you can highlight parts of your book to go back to later. However, it is perhaps surprising that there is no good way of aggregating the highlights (even per book).

KindleClippings is a utility born out of personal need, which fetches any highlights that you have made on your kindle, and organises them into plain text files per book. It is run from the command line using:

python KindleClippings.py

The result is a new folder with individual text files per book:

In my workflow, I then copy these into Evernote, but the whole point is that you are now free to do whatever you want.

Background

When you make highlights or add bookmarks on your kindle, they are stored to a text file on the kindle called My Clippings.txt. This has a regular format, which means that it can be parsed:

==========
The Selfish Gene: 30th Anniversary Edition (Richard Dawkins)
- Your Highlight on page 92 | location 1406-1407 | Added on Saturday, 26 March 2016 14:59:39

Perhaps consciousness arises when the brain's simulation of the world becomes so complete that it must include a model of itself.(4)

==========
Fahrenheit 451 (Ray Bradbury)
- Your Bookmark at location 346 | Added on Saturday, 26 March 2016 15:46:21


==========
Fahrenheit 451 (Ray Bradbury)
- Your Highlight at location 784-785 | Added on Saturday, 26 March 2016 18:37:26

Who knows who might be the target of the well-read man?
==========

Prerequisites

The only requirement for this project is to have python (either python 2 or python 3) installed on your system. For users on macOS, you don't have to worry about this because it is already installed. On Windows, python can be installed following the instructions here.

Basic usage

It is recommended that you download the KindleClippings.py and place it either in your home directory or the desktop. Connect your kindle, and make sure it exists in your filesystem. Then, open up your terminal/shell.

If you're on a mac, you might just be able to run

python KindleClippings.py

However, most users will need to specify the path to the kindle and optionally the path to the destination. By default, the script will create a folder called KindleClippings in the current directory, and place the resulting text files there (though this likely only works on mac). For example

python KindleClippings.py -source /Volumes/Kindle/

On windows, this might look something like:

python KindleClippings.py -source C:\Kindle -destination \

If the parsing is succesful, the script will print all of the exported titles

Exported titles:

To Kill a Mockingbird - Harper Lee.txt
A Clockwork Orange - 50th Anniversary Edition - Anthony Burgess.txt
The Road - Cormac McCarthy.txt
Fahrenheit 451 - Ray Bradbury.txt
Heart of Darkness - Joseph Conrad.txt
The Meaning of It All - Richard P Feynman.txt
The Selfish Gene - 30th Anniversary Edition - Richard Dawkins.txt

About

I originally forked firewood, but I realised that my fork was fundamentally different to firewood – to the extent that it has become a different solution.

If you play around with firewood enough, you'll find that sometimes it can just completely break. This is because firewood relies on the regular order of the My Clippings.txt file from the kindle. For the most part, this is a fair assumption. However, I have found that very occasionally, kindle will insert an extra blank line that will prevent the whole program from functioning.

My solution does require regularity, but it is a lot more robust to irregularity. We first split the text file into individual highlights, then proceed from there.

Sometimes when you make a highlight on kindle, then delete it, it still gets stored into clippings. So if you make a wrong highlight and redo it, you'll end up with multiple very similar highlights. I haven't yet decided whether this is worth fixing, but in my workflow it's not very important.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].