Google niedawno zlikwidowało funkcję Share w Google Readerze. Dla mnie kłopot, bo o nią opierałem dotychczas schemat polecania ciekawych tekstów – gdy coś mi się spodobało, wciskałem Shift-S (albo, w przypadku tekstów spoza RSSów, klikałem bookmarklet Share in Reader) i dzięki odpowiednio zapiętemu pajączkowi narzędzi link pojawiał się w rubryczce „Wyłowione z czytnika”, w związanym z nią feedzie, na moim Twitterze a okresowo też w paru innych serwisach, do których dawało się dopiąć feed RSS. Cóż, Share znikło, dlatego musiałem wymyśleć inną metodę.
Osoby obserwujące przepraszam za pewne zamieszanie związane z migracją (niektórym starym odsyłaczom niechcący przestawiłem datę, przez co się ponownie – po latach – wyłoniły). A reszta artykułu opisuje szczegóły implementacji nowego pajączka, może komuś się to lub podobne rozwiązanie przyda.
Dzielenie się zakładkami
Nowego pajączka oparłem o … zakładki. Posłużyłem się serwisem Pinboard ale podobny mechanizm można zbudować w oparciu o inne serwisy zakładkowe (potrzebny jest feed RSS per tag i jakieś API zwracające najnowsze linki otagowane zadanym tagiem).
Interesujący artykuł oznaczam obecnie dodając zakładkę opatrzoną tagiem
@share
. Jest to o tyle naturalne i wygodne, że ciekawe teksty tak czy siak
zazwyczaj dodaję do zakładek, dlatego zamiast dwóch czynności (zabookmarkowanie
i dzielenie) robię jedną.
Pinboard ma aplikację mobilną, mogę zatem dzielić się także linkami do artykułów przeglądanych na telefonie.
Rozgłaszanie
Pinboard udostępnia feed RSS ograniczony do zadanego tagu. Przepuszczam ten feed przez feedburnera otrzymując ostatecznie mój standardowy feed Wyłowione z czytnika.
Przepuszczanie przez feedburner daje trochę statystyk oraz pozwala zachować stały adres mimo zmiany źródła – obecnie po prostu zmieniłem w feedburnerze źródło z feedu Google Readera na feed Pinboardowy, publiczny adres działa bez zmian.
Dodatkowo używam własnej domeny, by mieć możliwość rekonfiguracji na wypadek problemów z Feedburnerem.
Wysyłkę na Twittera obsługuje twitterfeed korzystający z powyższego feedu. Także przy jego pomocy dopnę feed do Facebooka (tego ostatniego niemal nie używam ale konto z paru przyczyn potrzebuję mieć, więc publikowanie na nim ciekawych linków jest jakąś metodą utrzymania na nim niezerowej aktywności).
Używałem dawniej dającej podobne możliwości funkcji Socialize feedburnera ale … choć nadal jest opisana w helpie, cichaczem znikła z menu.
Niestety na razie nie znalazłem możliwości automatycznej publikacji na Google Plus.
Linkroll
Wklejkę „Wyłowione z czytnika” widoczną w prawym panelu notatnika pierwotnie chciałem zrobić przy pomocy gotowca ale ostatecznie zrobiłem swoją, trochę inną wersję, opartą o ten sam ajaksowy serwis udostępniany przez Pinboard – preferowałem nieco inne formatowanie i nie chciałem, by ładowanie tego bloczka blokowało ładowanie się reszty strony. Moja wersja skryptu wygląda następująco: (wymaga jQuery, z którego tak czy siak mój blog korzysta).
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() {
// Konfiguracja
var count = '8';
var user = 'PINBOARD-USERNAME';
var tag = '@share';
// Koniec konfiguracji
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");
});
Uzupełnia to następujący fragment w szablonie strony bloga:
<div id="pinboard_shared">
<script language="javascript" src="/ścieżka/do/powyższego/skryptu/linkroll_widget.js"></script>
</div>
Migracja
Zdecydowałem się zachować stare dzielone artykuły. Dlatego wyeksportowałem je z Google Readera metodą zalecaną w helpie do pinboarda: w ramach Reader Settings skorzystałem z zakładki Import/Export i tam pobrałem „Items you have shared” w formacie „Reader JSON”.
Następnie po prostu zaimportowałem je (settings → import na Pinboard).
Tag @share
dodałem pisząc krótki skrypt perlowy oparty o API
Pinboarda (i Delicious). Skryptem się jednak nie podzielę, bo … był
niepotrzebny, już po jego użyciu zauważyłem że Pinboard pozwala wyfiltrować
skrypty zaimportowane z Google Readera (link
http://pinboard.in/u:NAZWAUŻYTKOWNIKA/from:google
) a funkcja Edit
pozwala
na łatwe grupowe nadawanie tagów.
Możliwe rozszerzenia
Dzielenie przy pomocy tagów ma tą miłą cechę, że można je łatwo uogólnić stosując kilka różnych tagów (np. rozdzielając teksty polskie od angielskich albo techniczne od rozrywkowych).