npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

joplin-plugin-readwise-sync

v1.0.1

Published

A Joplin plugin that syncs your Readwise highlights to Joplin.

Readme

Readwise Sync for Joplin

A Joplin plugin that syncs your Readwise highlights to Joplin.

Features

  • One-way sync from Readwise to Joplin
  • Two sync modes: one note per book, or one note per highlight (with sub-notebooks per book)
  • Automatic background sync at configurable intervals
  • Incremental updates - only fetches new/updated highlights
  • Note updates - existing notes are updated when highlights change
  • Tag sync - optionally create Joplin tags from Readwise highlight tags
  • Safe setting changes - changing structural settings (sync mode, notebook name, API token, tag sync) archives the old notebook and triggers a full re-sync

Installation

  1. In Joplin, go to Tools → Options → Plugins
  2. Search for "Readwise Sync"
  3. Click Install
  4. Restart Joplin

Configuration

Go to Tools → Options → Readwise Sync to configure:

| Setting | Description | Default | |---------|-------------|---------| | Readwise API Token | Your API token from readwise.io/access_token | (required) | | Notebook Name | Name of the notebook where highlights will be saved | Readwise Highlights | | Sync Mode | How to organize highlights (see below) | One note per book | | Sync Tags | Create Joplin tags from Readwise highlight tags and assign them to notes | Off | | Sync Interval | How often to sync (in minutes). Set to 0 to disable automatic sync | 60 |

Sync Modes

  • One note per book (default) - Creates a single notebook ("Readwise Highlights") with one note per book. Each note contains all highlights for that book, along with book metadata.
  • One note per highlight - Creates a single notebook ("Readwise Highlights") with a sub-notebook per book (named "Book Title - Author"). Each highlight becomes its own minimal note containing just the highlight text and your note.

Changing Settings

Changing the Sync Mode, Notebook Name, API Token, or Sync Tags will:

  1. Rename the existing notebook to "Readwise Highlights (old)" (or "old 2", "old 3", etc. if that name is taken)
  2. Reset the sync timestamp so all highlights are re-imported
  3. Create a fresh notebook with the new structure on the next sync

This ensures you never lose your existing notes while getting a clean re-sync with the new settings.

Usage

Automatic Sync

Once configured with your API token, the plugin will automatically sync your highlights in the background at the configured interval.

Manual Sync

To sync immediately, go to Tools → Sync Readwise Highlights Now.

Note Format

One note per book

Each note is created with the book title and contains:

  • Cover image
  • Book metadata (author, category, source)
  • ISBN and link to Readwise
  • Your personal notes about the book
  • All highlights sorted by location
  • Highlight metadata (color, date, source link, tags)

Example:

![Cover](https://images-na.ssl-images-amazon.com/images/I/...)

**Author:** James Clear
**Category:** books
**Source:** kindle
**ISBN:** B07D23CFGR
[View in Readwise](https://readwise.io/bookreview/...)

## My Notes

This book changed how I think about habits and systems.

## Highlights

You do not rise to the level of your goals. You fall to the level of your systems.

*yellow · Jan 15, 2024*

---

Habits are the compound interest of self-improvement.

**Note:** This is a key concept

*blue · Jan 16, 2024 · #favorite #keyidea*

---

One note per highlight

In this mode, each book gets its own sub-notebook named "Book Title - Author" (e.g. "Atomic Habits - James Clear"). Each highlight becomes a separate note titled with the first 80 characters of the highlight text.

Notes are kept minimal — just the highlight text and your note (if any). All book context is in the sub-notebook name.

Building from Source

npm install
npm run dist

The plugin will be built to publish/org.joplinapp.plugins.ReadwiseSync.jpl.

Testing

npm test

License

MIT