Instapaper Import
Parse Instapaper highlight exports and create slipbox entries for the user's own notes.
Input Format
# [[Article Title](url)]
> Original highlight from article (SKIP)
User's note about the highlight (IMPORT)
> Another highlight (SKIP)
Another user note (IMPORT)
> lines= original article highlights → skip- Plain text lines = user's own notes → import as separate entries
- Empty lines → skip
Header fields:
- Title + URL from
# [[Title](url)]; URL may beinstapaper-private://...or a regular URL - Source type:
article - Author:
null(Instapaper doesn't include author)
Workflow
- Parse header → extract article title and URL. Done when title and URL are both captured.
- Extract user notes → collect every plain-text line (not starting with
>, not empty). Done when every non->, non-empty line in the input is accounted for. - Precheck → show user: article title, note count, ask for confirmation. Done when user confirms (or aborts).
- On confirmation → for each note, invoke slipbot:
- Type: note (
-prefix) - Source:
~ article, {title} - Let slipbot handle: filename, tags, links, graph update
- Type: note (
- Report → count of notes created. Done when the reported count matches the extracted count.
Example
Input:
# [[How to Learn Faster](https://example.com/article)]
> Get feedback more often
To learn faster we need faster feedback loops.
> Latent learning occurs without reinforcement
Testing yourself proactively speeds up learning.
One resulting slipbot call:
- To learn faster we need faster feedback loops. ~ article, How to Learn Faster
Edge Cases
- No user notes (only
>lines): Report "no notes to import" - Multi-line user notes: Treat each paragraph as a separate note
- Title with special chars: Preserve as-is for source metadata