Instapaper export index generator -- Haskell version

Introduction

Instapaper is a social bookmarking service that allows web content to be saved so it can be "read later" on a different device, such as an e-reader, smartphone, or tablet. The service was founded in 2008 by Marco Arment. In April 2013, Arment sold a majority stake to Betaworks and by mid 2016 Pinterest acquired the company. In July 2018, ownership of Instapaper was transferred from Pinterest to a newly formed company Instant Paper, Inc. The transition was completed on August 6, 2018.

Export CSV-file

An Instapaper export looks like this:

1URL,Title,Selection,Folder,Timestamp,Tags
2https://www.theregister.com/2025/01/27/ai_agents_automate_argument/,The argument against AI agents and unnecessary automation,,AI QuantumComputing BigData,1738916228,[]
3https://github.com/RooSoft/nostr,GitHub - RooSoft/nostr: Connect to the nostr network with Elixir,,Elixir Erlang Gleam,1738913343,[]
4https://venturebeat.com/ai/deepseeks-r1-and-openais-deep-research-just-redefined-ai-rag-distillation-and-custom-models-will-never-be-the-same/,"DeepSeek’s R1 and OpenAI’s Deep Research just redefined AI — RAG, distillation, and custom models will never be the same",,AI QuantumComputing BigData,1738911412,[]
5
6...
7
8http://ogp.me/,Open Graph protocol,http://ogp.me/,2021-10-27,4294967295,[]
9http://www.theguardian.com/environment/2016/sep/30/james-lovelock-interview-by-end-of-century-robots-will-have-taken-over,"James Lovelock: ‘Before the end of this century, robots will have taken over’",http://www.theguardian.com/environment/2016/sep/30/james-lovelock-interview-by-end-of-century-robots-will-have-taken-over,2021-10-27,4294967295,[]

Note the anomalous older entries (this may be because of my past transfers from the excellent Instapaper to the excellent Paperspan and vice versa)

Index generator

A .html file will be generated in which all URLs that are in the Instapaper export file are included as a really big table.

The project is on Codeberg: photonsphere/hinstapaper-export

Usage examples

Most recent run:

1$ hinstapaper-export 2025-05-06_instapaper_export.csv 2025-05-06_instapaper_export.html
2Found           : 50774 records.
3Duplicates      : 1432 records.
4Remaining       : 49342 records.
5
6Hint: use lynx -anonymous -accept-all-cookies 2025-05-06_instapaper_export.html or the EInkBro app to view the result.

An earlier run:

1$ hinstapaper-export 2025-03-07_instapaper_export.csv 2025-03-07_instapaper_export.html
2Found           : 50049 records.
3Duplicates      : 1394 records.
4Remaining       : 48655 records.

Posts in this Series