I am trying to build a simple (I hope) automation either by shortcut or Keyboard Maestro (preferred) to trigger either Goodlinks or Instapaper to add articles to DEVONthink as pdf. However, I cannot find anything suitable in either option.
Has anyone done or come across something similar on the Mac or iPad . Hope this does not involve AppleScript or things even more complicated
I do this also. Only difference is that I set the RSS feeds to save as Markdown to keep size down as text only good enough for me. If later i need the images i go back to the web site. 99% of time web site and page still there but of course i know the risk of the source database disappearingāthatās life.
And the rules I use to move are more selective based on rules. I do not move all.
I find for my most-read feeds that I often save into DEVONthink, this a very quick way to do so.
This is a very timely thread and really helpful post by @shandy. I have a large Instapaper library of articles going back 10 years that Iād quite like to save to DevonThink - I found Instapaperās ācleanā reading mode to be excellent, but want to take advantage of all the features for linking/surfacing knowledge in DevonThink
However, short of exporting them all individually as PDFs from the Web version of Instapaper Iād not found a way of doing this. You can create an Instapaper RSS feed of your articles, but when I played with this I couldnāt get them to show up in DevonThink (I think the RSS feed from Instapaper only has the first few characters, IIRC).
I will need to give this another shot - but I wonder whether, even if this does work for Instapaper as @shandy describes - it will only capture new things that are added to Instapaper from that point on. If so, is there a way of retrieving a decadeās worth of nicely formatted Instapaper articlesā¦?
Edit: Iāve just checked, and the Instapaper RSS feed only provides the 10 most recent articles (and the is updated as new items added) and per this Tweet from @InstapaperHelp in 2020 canāt retrieve anything older than this. More importantly, it only provides a short preview of the content - the image below is an example from a CNN article I saved yesterday, viewed within DevonThink, but the same applies to all of the 10 items in my Instapaper RSS feed.
So unfortunately it looks like Instapaper is a bit of a black-hole when it comes to the āread it laterā formatted articles. The options to get the formatted full text into DevonThink would seem to be:
Manually click through each article in your Instapaper account, then export to PDF and important that to DevonThink. Youād need to repeat this process at regular intervals - which makes it fairly impractical.
Retrieve all the Instapaper URLs from your account (you can download these as a CSV or HTML from your account - see below for the CSV format) and then add these to DevonThink some other way. I donāt know DevonThink well enough to know whether it can crawl URLs and retrieve them as PDFs in a read-it-later format.
URL,Title,Selection,Folder,Timestamp
https://www.cnn.com/travel/article/refugee-airplane-mystery-reunion-cec/index.html,Finding Tracy: How a CNN story led to a long-awaited reunion | CNN Travel,,Unread,1652648874
I suspect if you asked Instapaper how long they keep their older feeds, this will help you figure out. Also depends on the source that Instapaper points to, I would think. If you try pointing the DEVONthink feed to the source RSS and not the Instagram feed, different result?
The issue is that Instapaperās feed only has 10 items, and only provides a preview of content (rather than full text). The articles are all ones that Iāve saved to Instapaper over the years using their bookmarklet or extension - so there is no other source RSS I could use to get them into another client.
Iāve made a couple of suggestions of how to work around this, albeit manual/clunky, in the post above. Doesnāt seem to be a good, automated way of doing it, sadly. Iām definitely going to have to rethink using Instapaper as the āprettificationā service - which is a shame, Iād hoped I could simply use that as an intermediary to DevonThink.
I suspect anything that has a valid RSS Feed, be it a read-later, or read now, will work with DEVONthink. but have to try. I have used Feedly for years and itās connected to my āReederā app. I donāt find a way that Feedly exposes what they have as an RSS feed for DEVONthink to use. What Iāve done is for my *very frequent and important" feeds, I use the RSS feed:// url noted in Reeder to add that feed to DEVONthink. Feedly not involved, and as I mentioned, I canāt find a way to involve that.
For the other read later apps, look at their web site and read their documentation to see if they expose RSS feeds for you.
For your archive of older Instapaper articles, thereās an AppleScript by Annard Brouwer which can batch save/import them as PDFs. Iāve pasted the script below, but itās also linked to here:
-- Use Instapaper to export a CSV file of your articles.
-- Must have Numbers to open it in.
-- Will create PDF documents in /Instapaper/<your folder in Instapaper> groups.
-- Be sure to select an open database in DT Pro before you run this.
--
-- Created by Annard Brouwer, 24/08/2014
-- Share and enjoy!
property kCSVFileType : "csv"
property kRootGroupName : "Instapaper"
tell application "Numbers"
local csvFile, csvDocument, cellRange, aRow, loadURL, theTitle, theGroup
set downloadsFolder to path to downloads folder from user domain
tell application id "DNtp"
set csvFile to choose file with prompt "Select a csv file exported from Instapaper" of type kCSVFileType default location (downloadsFolder as alias)
end tell
set csvDocument to open csvFile
tell csvDocument
tell first sheet
tell first table
try
set cellRange to cell range
my windUp(count of rows)
repeat with aRow in rows
if address of aRow > 1 then
tell aRow
set loadURL to the value of first cell
set theTitle to value of second cell
set theGroup to value of fourth cell
my importArticle(loadURL, theTitle, theGroup)
end tell
end if
end repeat
my windDown()
on error errorMessage number errorNumber
my windDown()
if the errorNumber is not -128 then display alert "DEVONthink" message errorMessage as warning
end try
end tell
end tell
end tell
end tell
on windUp(numberOfArticles)
tell application id "DNtp"
activate
show progress indicator "Archiving Instapaper articles..." steps numberOfArticles
end tell
end windUp
on windDown()
tell application id "DNtp"
activate
hide progress indicator
end tell
end windDown
on importArticle(aURL, aTitle, aGroup)
local groupPath, theGroup, theRecord
tell application id "DNtp"
try
step progress indicator aTitle
set groupPath to kRootGroupName & "/" & aGroup
if not (exists record at groupPath) then
set theGroup to create location groupPath
else
set theGroup to get record at groupPath
end if
set theRecord to create PDF document from aURL name aTitle in theGroup pagination no
on error errorMessage
log message aURL info errorMessage
end try
end tell
end importArticle
For me, Raindrop.io works well with DT, including automatically saving the whole article (not just preview) as PDF.
For an archive of older saved links (which probably wonāt appear in the RSS feed) the Applescript I posted above should do the trick.
Also worth noting that Raindrop.io works with Zapier and Make.com (previously known as Integromat). So you can use Raindrop.io alongside Instapaper (or whatever) and automatically get new saved articles pushed from one service to the other.
I havenāt tried this in DT so I donāt know how it works, but Pocket does have an RSS feed, it does sync your entire collection (and its tags), and the feed is the entire article, not just a snippet. I have my Pocket feed pointing to Reeder and it has all 5000 of my Pocket items in there. Pocket has the added bonus of being owned by Mozilla and believing in data privacy.
I moved off Instapaper during their data privacy shenanigans years ago (they cut off support to all EU citizens because they couldnāt comply with the then-new data regulations - which makes you wonder what data they were harvestingā¦). Anyway, at the time my export was a giant csv file. Iāve kept it, but gradually ārebuiltā my saved pages as PDFs which I store locally.
thanks a lot @shandy , the script works. I am very happy. Very interesting that the script had to work on a CSV file exported from Instapaper account.
I guess my next question is how to update the archive, the instapaper export option does not seem to have means to limit to newer articles since last export. Perhaps I manually go to the CSV file using Numbers to remove those already imported into DEVONthink?
I use indexed folders in Devonthink. Indexed folders donāt have bidirectional sync with DTTG, which means I need to use something thatās not DTTG to capture URLs on my phone.
I want the PDFs captured in a desktop format (i.e. not mobile) and I donāt want to wait around for them to be rendered and saved before I can continue using the phone. This rules out creating the PDFs on the phone. I.e. my priority is to capture the URL, knowing that the PDF will then be automatically generated in the right format, in the background on my mac, and auto-filed in the right folder.
I prefer Raindropās workflow for quickly capturing a URL and allocating it to a folder. No other tool Iāve tried (including DT & DTTG) makes this as quick, painless and reliable across all browsers, apps and devices.
If I only use Raindrop, then I wonāt get the archived PDF.