I do a lot of browsing in Private mode and I often want to save the top page to Pinboard without re-opening a new non-private window or logging into Pinboard from a private window. So I wrote a Keyboard Maestro Macro to do just that.
To use this you need to set your Pinboard API token. This can be found in Pinboard.in > Settings > Password
It’s in large blue letters on the screen and is your username:<longHexString>
If you’d like, you can go to File | Export Macros… and export the macro to post here.
Assuming this Discourse will let you upload the .kmmacros file, if not, you might have to zip it.
File | Edit | Copy As has copy as Text which is great for a forum too!
i.e.
Save top Safari Window's tab to Pinboard
Triggered by any of the following:
The Hot Key ⌃⌥⇧⌘1 is pressed
Will execute the following actions:
Set Variable “localPinboardAccessToken” to Text
Note: Set this to your Pinboard API Token. The format is:
Username:ABCD23E78A0D68E50FF1F
And can be found at Pinboard.in > Settings > Password
Execute AppleScript
tell application "Safari"
set windowNumber to 1
set myTabs to first tab of window windowNumber
set tabNumber to 0
set aTab to current tab of window windowNumber
set tabTitle to name of aTab
set tabURL to URL of aTab
tell application "Keyboard Maestro Engine"
setvariable "lastSafariTabURL" to tabURL
setvariable "lastSafariTabTitle" to tabTitle
end tell
end tell
Filter Variable “lastSafariTabURL” with Percent Encode for URL
Store result to Variable “localEncodedURL”.
Filter Variable “lastSafariTabTitle” with Percent Encode for URL
Store result to Variable “localEncodedTitle”.
Display Text Large
%Variable%lastSafariTabTitle%
%Variable%localEncodedTitle%
%Variable%lastSafariTabURL%
%Variable% localEncodedURL%
Execute Shell Script
curl "https://api.pinboard.in/v1/posts/add?shared=yes&format=json&auth_token=$KMVAR_localPinboardAccessToken&description=$KMVAR_localEncodedTitle&toread=no&url=$KMVAR_localEncodedURL&replace=yes"
Display trimmed results without errors briefly.
Stop macro and notify on failure.
Done! That does seem to be a better place to post Keyboard Maestro Macros since once can upload the kmmacros file directly.
I’ve got a couple macro sets (one for relative dates, and one for state abbreviations) that I’ll probably post. Should I cross post here or just post the description with a link over to the KM forum?
That’s cool, but it loses some details, like the debug code that I have disabled and the highlighted step where the user needs to put in their Pinboard API token.
I cross posted over at the Keyboard Maestro forums with an updated image and the kmmacros file with the source code.