• Stars
    star
    142
  • Rank 258,495 (Top 6 %)
  • Language QML
  • License
    MIT License
  • Created over 5 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

remarkable-wikipedia

Update - this app now works with wikipedia via the network or a locally hosted zim file. First tries to find a zimsever on localhost:8081 and if its not running, falls back to the web. Also updated for reMarkable 2 with a better keyboard and swipe gestures.

When I was a kid, the apocryphal! story of the fire at the library of Alexandria, the supposed loss of most human knowledge acquired to that date, was something that made me sad. But in 1994, I became the excited owner of a Microsoft Encarta CD and a Creative Labs CD-ROM drive that plugged in to my PC's soundcard. Optical disks with 750MB capacity - enough to store an whole encyclopedia, to replace the heaving bookshelves of Brittanica, were a technological marvel. How lucky we are, I'd think to myself, that the sum total of human knowledge is right here in my hand and could never become lost to future humankind. Today, of course, every CD-ROM I ever owned is unusable on modern devices and I understand that there's much more to human knowledge than fits in 750 MB, but the thought stuck with me. Wouldn't it be cool to have my own self-contained personal repository of human knowledge, accessible without an internet connection - my very own library of Alexandria? Wikipedia is today's canonical descendant of Encarta and Brittanica - wouldn't it be great to be able to carry it around and consult it wherever and whenever I wanted?

After years of kicking this idea around in my head, a chat with friends who apparently wanted it too and a snowy weekend in May provided the catalyst to actually make it happen!

Over the long weekend, I built a thing I have wished existed for years - this is *all* of Wikipedia, available offline on my @remarkablepaper tablet. pic.twitter.com/mWewIzfOFx

โ€” David Singleton (@dps) May 29, 2019

This was a fun thing to build and is an even more fun thing to use, and judging by the response on Twitter, it's something other people would like too, so here are the instructions on how to build your very own hitchhiker's guide to the galaxy.

Once all the kit has arrived, you'll need to format the memory card as ext4, which is most easily done by connecting it to a Linux machine (I used a Raspberry Pi), but is also possible with pain on Mac OS X, seriously, just find a Linux box.

Next, download wikipedia to the memory card. The awesome folks over at the kiwix project maintain an archive of wikipedia pre-compressed into the compact zim file format.

  • Visit the kiwix content packages page and download the version of wikipedia you want. I recommend grabbing both Simple English wikipedia, which at 354M (in May 2019), fits comfortably in the internal storage of the reMarkable and Full English wikipedia (35 GB).

  • Copy the full wikipedia file into the root directory of your ext4 formatted sdcard and call it wikipedia.zim

Now we'll configure the reMarkable. We're going to install a new launcher called draft by @dixonary_, a zim file server and a little custom UI app I built. We'll also configure draft to run on start up instead of the built in launcher (called xochitl) and add some incantantions to mount the sdcard and run the zim server.

  • Enable passwordless ssh to your reMarkable from your computer. When you connect the reMarkable to wifi, or when you plug it in to your computer via USB you can ssh in to the tablet as root. The root password and the IP address(es) it's listening on are listed on the About screen (see what I mean about it being delightfully hackable!?). We're going to connect and disconnect a lot so typing that password in is going to be a pain, so let's first set up passwordless SSH. Follow these instructions at remarkablewiki.com - the ssh-copy-id route is easiest.

It is possible to build all the stuff I'm about to recommend from source code, and you'll find decent tutorials linked from awesome-remarkable -- if you don't trust me not to have modified the contents of the binaries you should definitely do that! It's a major yak shave to set up all the toolchains however, so if you do trust me, you'll find all the binaries you need in my github repo.

  • clone the repo git clone https://github.com/dps/remarkable-wikipedia.git
  • cd into the bin directory
  • set your reMarkable's IP address in the environment variable REMARKABLE_IP
    • e.g. export REMARKABLE_IP=10.11.99.1
  • run the install script ./install.sh

When the install script is done, your tablet will reboot to the draft launcher homescreen, which will look something like this:

You can enter the standard reMarkable UI by tapping xochitl.

Tapping wikipedia will start qtremarkable and render the wikipedia main page. Assuming the external memory card was attached when the tablet booted, you'll see the main page of full wikipedia. Otherwise, if you put simple english wikipedia on the internal memory, you'll see that version instead.

You can quit qtremarkable (or any other app launched by draft) by holding the middle hardware button for more than one second and releasing it. But you don't want to do that - there's so much wikipedia to read!

Tapping in the address bar at the top of the screen will bring up a keyboard so you can start looking for a specific wikipedia page. These suggestions are case-sensitive.

Once you have found the page you're looking for, the right and left hardware keys scroll a full page down or up the article respectively. Tapping on links moves through articles as you'd expect and the back and home buttons at the top do what you'd expect.

Enjoy reading and learning!

More Repositories

1

piui

Add a UI to your standalone Raspberry Pi project using your Android phone
JavaScript
416
star
2

nnrccar

nnrccar
C++
234
star
3

remarkable-keywriter

QML
183
star
4

rust-raytracer

๐Ÿ”ญ A simple ray tracer in Rust ๐Ÿฆ€
Rust
180
star
5

go-xml-parse

Streaming XML parser example in go
Go
126
star
6

rpi-timelapse

Timelapse Camera Controller for Raspberry Pi
Python
104
star
7

montesheet

JavaScript
13
star
8

piui-sdcards

sdcard images for piui
8
star
9

unhumanize

a simple python library to convert humanized time intervals (e.g. 'an hour ago') into timedeltas
7
star
10

northbelt

A belt that buzzes north
Arduino
6
star
11

SwiftUI-Recipes

๐Ÿฝ A SwiftUI demo app showing how to fetch data from the server to populate list views, navigate to detailed results and wire in a search field.
Swift
6
star
12

piui-timelapse

PiUi version of rpi-timelapse
Python
4
star
13

spreadsheet

JavaScript
4
star
14

shortest-sudoku

A collection of tiny Sudoku solvers
Java
4
star
15

android-vector-climacons

Android vector drawable resources for @adamwhitcroft 's Climacons
3
star
16

aoc

Python
3
star
17

recipes

recipes
Python
2
star
18

wear-exchangerates

Exchange Rates complication data provider for Android Wear 2.0
Java
2
star
19

laserUp

๐Ÿ” Create 3D relief map slices for Glowforge. ๐ŸŒŽGenerate input files at
Python
2
star
20

go-zim

Pure Go reader for the ZIM file format
Go
2
star
21

wixel

Wixel Apps
C
2
star
22

lasercut

A collection of laser cutter designs. Most made for my kids.
Python
1
star
23

wordgrid

1
star
24

multihttp

A multiplexing http notifier in golang
Go
1
star
25

webalert

Python
1
star
26

remarkable-ambient-launcher

A launcher for reMarkable
QMake
1
star
27

gcal-cruncher

Crunches .ics files exported from Google calendar to show you where your time has been spent
Ruby
1
star
28

dial.fyi.complications

dial.fyi complications
Java
1
star
29

hotdog

HTML
1
star
30

sundial

A sundial laser-cutter template generator
Python
1
star
31

dial.fyi

Java
1
star
32

simplescheduler

A simple task scheduler using redis for python
Python
1
star