#Pinboard Tools
Pinboard Tools is a helpful organizer for your existing Pinboard bookmarks. When run against user-specified tags, it will find the appropriate title, synopsis and keyword tags for each matching article URL and save them to Pinboard as unread items. Pinboard Tools uses the [Embedly API][7071-001], in order to optimize speed, quality, and consistency.
|2.0.0-p0| giggy in ~/dev/pinboard_tagger
$ rb lib/pinboard_tagger.rb fever
=> [##########################################################] [1/1] [100.00%] [00:03] [00:00] [0.32/s]
I have been saving articles to Pinboard for about a year, but attempted to use various auto-tagging systems, such as delicio.us tagging suggestions and IFTTT RSS tags. The result of those two workflows resulted in a mess of useless tags, and an almost useless tag cloud.
I needed a way to make sense of my existing bookmarks, to make them browsable by tag and searchable, with correct article titles (not just the ones added by saving from an article link), and usable descriptions. The [Embedly Extract API][7071-002] does a beautiful job of handling these tasks, using a hierarchy of acceptable meta data sources within articles. [Embedly][7071-001] can determine which element on a page is best suited for the data you want to retrieve.
After a bit of tinkering, I came up with this simple script. It gets all of your pinboard articles, filters them by tag, and passes each one through Embedly, replacing existing meta-data.
You will need:
- A [Pinboard][7071-003] account
- An [Embedly API ][7071-001] key (free for 5000 requests per month)
Clone the project onto your computer
git clone url
To install, you will need the bundler
gem.
[sudo] gem install bundler
Then run [bundler][7071-004].
bundle install
To configure, I've made it easy to setup your config file with a rake task. Simply enter:
rake pinboard:login
You will be prompted for you [pinboard][7071-003] username and password, as well as your [Embedly][7071-001] API key.
- I have only tested against Ruby 2.0.0
ruby bin/pinboardtools
Pinboard Tools accepts two arguments.
pinboardtools -s
Runs the Safari Reading List import to Pinboard task. This will parse your Reading List plist file, extract resolvable URLs, use Embedly to determine the correct metadata, and add each item to Pinboard. Once complete, it will clear out the Reading List to prevent duplicate tasks and minimize future Embedly API usage.
pinboardtools -t [optional tag name]
Runs the pinboard re-tagger task. When run without a tag name, it will process the ten most recent articles you saved to Pinboard. If you specify a tag (case sensitive), it will process every article that has that tag, and replace the metadata of the item with Embedly data.
Tests are written in cucumber, and ensure your connection to pinboard and Embedly.
All suggestions and pull requests are welcome. Add all issues and bugs to the Issues page.
Licensed under the [MIT license][7071-005]. [7071-001]: http://embed.ly/ "Embedly: Front-end developer tools for websites and apps" [7071-002]: http://embed.ly/docs/extract/api "Extract - API | Embedly" [7071-003]: http://pinboard.in/ "Pinboard: social bookmarking for introverts" [7071-004]: https://github.com/bundler/bundler/ "bundler/bundler · GitHub" [7071-005]: http://opensource.org/licenses/MIT "The MIT License (MIT) | Open Source Initiative"