February 15, 2021

How to read websites on reMarkable?

The reMarkable 2 lacks a web browser, therefore it is not possible to read websites on it. To address this issue, I can use Read on reMarkable Google Chrome extension. The problem with this extension is that it only lets me send individual pages to my reMarkable. I would like to be able to send a whole website to the reader.

That is where reCatchable comes into play. This tools lets you package a whole website into a book in EPUB format, then upload it to your reMarkable.

If you don't have the technical skills, or if you don't have the time, here is a quick and easy way to create your own books: visit Papeer at https://papeer.lapw.at. It actually uses the reCatchable tool under the hood.

The first part of this article is for Windows users only. If you are a Mac user, install git, nodejs and yarn via Homebrew and jump to Download reCatchable script section.

Set up reCatchable

In this section I will guide you through the installation of reCatchable and all of its dependencies.

First thing first, you will need to open a terminal.

Install Scoop

Scoop is a Windows package manager. It lets you install many programs from the terminal, which is much simpler than going on the download page of every program.

We will use Scoop to install reCatchable runtime.

In PowerShell, execute the following command:

Set-ExecutionPolicy RemoteSigned -scope CurrentUser

Type Y (uppercase) then Enter.

Now you are ready to execute Scoop isntallation script.

Type iwr -useb get.scoop.sh | iex in your terminal.

It should take less than a minute.

Install reCatchable runtime

We will use Scoop to install reCatchable runtime:

  • git because reCatchable sources are located on GitHub / GitLab
  • NodeJS yarn because reCatchable is a JavaScript script

Install the mentioned dependencies by typing this command:

scoop install git nodejs yarn

Once the installation is finished, we are actually ready to install reCatchable.

Download reCatchable script

Execute those commands

git clone https://gitlab.com/lapwat/reCatchable.git # download sources
cd reCatchable										# go into reCatchable folder
yarn                                                # install JS dependencies

You are now ready to use reCatchable! Check that this command works:

node index.js --help

Example

In this example, you are going to upload a book of recipes to your reMarkable.

First, you need to find the links to build the table of content.

Retrieve the table of content selector

Go to https://www.halfbakedharvest.com/category/recipes.

Right click on a recipe, Inspect, and find the associated HTML <a> tag.

Here, each <a> tag correspond to a different recipe. Notice that they all have a recipe-block class. This will be our selector for the table of content.

You have several sorts of selectors:

  • .recipe-block select by class
  • #alink select by id
  • a[attr="article-link"] select by tag and attribute value

Make sure you always select a <a href="XXX"> tag, that way reCatchable can follow the XXX link and retrieve the associated page.

For more information about CSS selectors, read the Mozilla documentation.

Upload the recipes to your reMarkable

Execute this command:

node index.js -h https://www.halfbakedharvest.com/category/recipes -s .recipe-block --upload

The first time this command is executed, you will be asked a One Time Code. You can get it at https://my.remarkable.com/desktop.

Once the command is executed, the book should have been uploaded to your device.

You can also find the epub file in reCatchable directory to add to your Calibre library.