Google recently removed Share function of Google Reader. It was a foundation of my sharing scheme – whenever I liked some article, I pressed Shift-S (or used Share in Reader bookmarklet) and thanks to appropriately configured tools given link was forwarded to linkroll on my Polish blog, my Twitter, my Facebook, and other social networks.
I looked for replacement for some time, and finally decided to build the process on the basis of the bookmarking service – Pinboard in this case, but other bookmarking services should do too if they support per-tag RSS, and some API returning links tagged with specific tag.
Sharing
Whenever I stumble upon some interesting article, I bookmark it, tagging
with @share
. Easy and natural as in most cases I
bookmark interesting text nevertheless, so instead of two actions
(bookmarking and sharing) I perform just one.
Pinboard has mobile app, so I can also share articles viewed on the phone.
Forwarding
Pinboard provides per-tag feeds (http://feeds.pinboard.in/rss/u:USERNAME/t:@share/
in this case).
I filter this feed through feedburner to keep the public
URL unchanged even if I modify tag (or reconfigure something deeper). In fact,
I filtered old Google Reader feed this way, so now I only had to replace the source URL.
twitterfeed forwards the resulting feed to Twitter, Facebook, and LinkedIn. Also, any RSS-consuming service can be configured to refer to the feed (for example status.net mirroring is able to import RSS).
Unfortunately I am yet to find the way to submit to Google Plus (pity, Buzz consumed RSS feeds very well).
Finally, I configured linkroll on my blog (the „Wyłowione z czytnika” pane on notatnik.mekk.waw.pl). Initially I used Pinboard linkroll as-is, but finally opted to modify it - still using the same JSONP service. My version uses different formatting (definition list instead of paragraphs), skips tags, loads more asynchronously, and requires jQuery (which my blog was already using).
Here is the code:
var pinboard_parent_div_name = "#pinboard_shared";
function pinboard_show_bookmarks(items) {
var parent_div = $(pinboard_parent_div_name);
var dl = $("<dl/>");
for (var i in items)
{
var item = items[i];
if(item.d) {
dl.append( $("<dt/>").append(
$("<a/>", {
href: item.u,
}).text(item.d)
) );
dl.append( $("<dd/>").text(item.n) );
}
}
dl.appendTo(parent_div);
}
$(document).ready(function() {
// Configurables
var count = '8';
var user = 'PINBOARD-USERNAME';
var tag = '@share';
// End of configurables
var json_URL = "http://feeds.pinboard.in/json/v1/u:"
+ user + "/t:" + tag
+ "/?cb=pinboard_show_bookmarks&count=" + count;
var parent_div = $(pinboard_parent_div_name);
$("<script/>", {
src: json_URL,
}).appendTo("body");
});
To use it I placed the following snippet in my page template.
<div id="pinboard_shared">
<script language="javascript" src="/path/to/the/script/above/linkroll_widget.js"></script>
</div>
Migration
To keep old shared articles I imported them to Pinboard according to docs: via Reader Settings I visited Import/Export tab and took “Items you have shared” in ”Reader JSON” format.
Then I just imported the file (settings → import on Pinboard website).
To added @share
tag I narrowed the filter to google-imported items (link
http://pinboard.in/u:USERNAME/from:google
) and used group Edit
function.
Future possibilities
Filtering by single @share
tag is just a simplest way, the process
can be easily extended to provide a few different recommendation feeds
(for example technical and non-technical) based on different tags or
tag combinations.