A Python script that converts BookNote iOS app exports into Logseq-compatible markdown files.
- Reads a BookNote CSV export (zip file containing books and notes)
- Generates one Logseq markdown page per book under the
Books/namespace - Includes book metadata (author, status, rating, dates), description, and all notes
- Tags each note with its BookNote category:
#booknote-quote,#booknote-reflect,#booknote-distill,#booknote-apply - Safe to re-run — fully overwrites existing files since BookNote exports are cumulative
- Clone this repo
- Copy
config.example.pytoconfig.pyand fill in your paths:
BOOKNOTE_ZIP_PATH = "/path/to/BookNote_Books_and_Notes_Export.zip"
LOGSEQ_PAGES_DIR = "/path/to/logseq/graph/pages"For Logseq on iCloud, the pages directory is typically:
~/Library/Mobile Documents/iCloud~com~logseq~logseq/Documents/<YourGraph>/pages/
python3 convert.pyThe script will print a summary of how many books and notes were processed.
Each book gets a file named Books___<Title>.md containing:
- Book:: [[Books/Atomic Habits]]
- Author:: James Clear
- Status:: finished
- Rating:: 5
- Date Started:: 2025-01-10
- Date Finished:: 2025-02-03
---
- **Description** A groundbreaking book about building good habits...
---
- ## Notes
- #booknote-quote You do not rise to the level of your goals...
- Date:: 2025-01-15
- #booknote-reflect The habit loop is cue, craving, response, reward.
- Date:: 2025-01-22Python 3.6+ with no third-party dependencies (stdlib only).