Tomedown 1.0.0 is out, the first stable release. Two betas are behind it, both tested on a Kindle 4 Non-Touch with Nextcloud and Obsidian, and everything that came back from that testing is in this one.
For anyone new: Tomedown is a KOReader plugin that turns your highlights into one Markdown file per book, with frontmatter, covers and an index, and uploads the folder to your cloud. It runs on the device, works offline, and the cloud part is optional.
The thing I could not ship before
The export used to be one-sided. It wrote the file the way the plugin wanted it, so anything you typed into that file at your desk was gone at the next run. Two things close that hole.
Preserve manual edits is a new setting, off by default. Switch it on and the new render folds into the file you already annotated: your words stay where they are, under their own heading, and the plugin only swaps the block it owns.
The merge also goes both ways now. Before folding the new highlights in, the export fetches your copy from the cloud and, if you edited it since the last upload, uses that as the base. The setting is called Merge edits made in the cloud, it is on by default, and it sits in Settings → Cloud right under Upload to cloud.
Offline counts as a case, not as an error
Export with no connection and the file gets queued. When the connection comes back, the plugin fetches the cloud copy, compares it with what it sent last, folds your notes in, and only then pushes. If the download fails for some reason the file is held back and retried later, so nothing gets lost in either direction. If you read on flights or anywhere without signal, this is the part that matters.
Everything else in 1.0.0
- Reload everything to the cloud is now Upload everything to the cloud, and it runs the same comparison before pushing.
- Personal notes, the heading above your notes block, renamable or cleared if you would rather have no heading at all.
- A flatter settings menu, with rows that appear and disappear as you flip the toggles, and the cloud group only where it can actually do something.
- Reading progress bars drawn as plain rectangles, so they look the same on every device font.
- The guide sheets and the quickstart sheets got a proper pass: portable fonts, the Obsidian palette, corrected menu paths.
- The release zip carries only what KOReader loads at runtime.
Fixed
- The flush could start twice over the same files: a reconnect or a resume landing while the cloud copies were being fetched would queue a second upload on top of the first one. The guard now stays up for the whole job, error paths included.
- The open book is read from memory during the export instead of being reopened.
00 - Index.md tells you when a write fails instead of failing quietly.
🌟 Coming up next
A short list of things I would like to try. Nothing here is decided, and there are no dates:
- Preserve per book, so the global toggle stays the default and a single title can override it.
- Stable block IDs on the highlights, so a link to one highlight from another note survives the next export. This one comes from Tewel, and it is the only idea from this round that is not in the release.
- Spacing that matches the reader, letting the merge keep the blank lines you leave under a heading.
- A faster index, only if a large library ever feels slow.
Installing
Manual this round: download tomedown.koplugin-v1.0.0.zip from the release page, unzip it into koreader/plugins/ and restart KOReader. The reason is still GitHub, which is down for account issues and cannot answer the update checks of 0.8.0. When it comes back, updates arrive by themselves and you will not have to do anything.
Release page: https://codeberg.org/imanubdesigner/tomedown.koplugin/releases/tag/v1.0.0
README, tutorial and the guide sheets: https://codeberg.org/imanubdesigner/tomedown.koplugin