muck-raker 0.1.43 → 0.1.45
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/app/controllers/muck/topics_controller.rb +3 -1
- data/app/helpers/muck_raker_google_helper.rb +78 -0
- data/app/models/feed.rb +8 -4
- data/app/views/google/_combined_feed.html.erb +73 -0
- data/app/views/google/_hot_trends.html.erb +5 -0
- data/app/views/google/_search.html.erb +39 -0
- data/app/views/topics/_form.html.erb +1 -1
- data/app/views/topics/show.html.erb +23 -14
- data/db/bootstrap/services.yml +73 -0
- data/db/migrate/20091022150615_add_uri_key_to_services.rb +9 -0
- data/lib/muck_raker.rb +3 -0
- data/locales/en.yml +5 -3
- data/muck-raker.gemspec +11 -2
- data/public/stylesheets/muck-raker.css +14 -1
- data/test/rails_root/app/views/layouts/default.html.erb +2 -0
- data/test/rails_root/db/bootstrap/services.yml +73 -1
- data/test/rails_root/db/migrate/20091022150615_add_uri_key_to_services.rb +9 -0
- data/test/rails_root/public/stylesheets/muck-raker.css +14 -1
- metadata +18 -2
data/Rakefile
CHANGED
@@ -62,6 +62,7 @@ begin
|
|
62
62
|
gemspec.add_dependency "mbleigh-acts-as-taggable-on"
|
63
63
|
gemspec.add_dependency "mislav-will_paginate"
|
64
64
|
gemspec.add_dependency "httparty"
|
65
|
+
gemspec.add_dependency "nokogiri"
|
65
66
|
gemspec.add_dependency "muck-feedbag"
|
66
67
|
gemspec.add_dependency "pauldix-feedzirra"
|
67
68
|
gemspec.add_dependency "muck-engine"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.45
|
@@ -6,6 +6,8 @@ class Muck::TopicsController < ApplicationController
|
|
6
6
|
before_filter :build_tag_feeds, :only => [:show, :rss_discovery]
|
7
7
|
|
8
8
|
def show
|
9
|
+
@show_google_search = true
|
10
|
+
@show_combined = false
|
9
11
|
respond_to do |format|
|
10
12
|
format.html do
|
11
13
|
@opml_path = topic_path(params[:id], :service_ids => params[:service_ids], :format => 'opml')
|
@@ -32,7 +34,7 @@ class Muck::TopicsController < ApplicationController
|
|
32
34
|
format.iphone { render :template => 'topics/photos' }
|
33
35
|
end
|
34
36
|
end
|
35
|
-
|
37
|
+
|
36
38
|
def videos
|
37
39
|
@terms = CGI.unescape(params[:id])
|
38
40
|
@page_title = @title = @terms.titleize
|
@@ -1,5 +1,60 @@
|
|
1
1
|
module MuckRakerGoogleHelper
|
2
2
|
|
3
|
+
# Render a google custom search control. If feeds are provided then the search will be restricted to the
|
4
|
+
# 'display_url' for each feed. If search_for is specified then a default search will be executed.
|
5
|
+
# It is not recommended that you provide feeds and locale since the overlap between the feeds provided
|
6
|
+
# and the languages might be nothing.
|
7
|
+
# Examples:
|
8
|
+
#
|
9
|
+
# Create a custom search over a specific set of feeds:
|
10
|
+
# <%= google_search('Google Search (Search within these results)', [], '', %w{web}, 'google_restricted_search') %>
|
11
|
+
#
|
12
|
+
# Create a general google search based on the current locale:
|
13
|
+
# <%= google_search('Google Search', [], @terms, %w{web video blog news image local book patent}, 'google_search', I18n.locale) %>
|
14
|
+
#
|
15
|
+
# feeds: An array of feeds to render each with a property 'display_uri' defined
|
16
|
+
# search_for: Terms to search for by default. If none are specified then no default search will be performed.
|
17
|
+
# search_types: Types of google searches to add to the dialog. Valid values are web video blog news image local book patent
|
18
|
+
# content_id: Name of the div that will hold the widget google generates.
|
19
|
+
# If this method is called more than once on a given page then you will need to
|
20
|
+
# specify different content_ids for each call.
|
21
|
+
# locale: Locale to restrict searches. For example, to restrict the search to only German sites specify 'de'
|
22
|
+
# A complete set of valid Google languages can be found here:
|
23
|
+
# http://code.google.com/apis/ajaxlanguage/documentation/#SupportedLanguages
|
24
|
+
# For a list of valid codes you can also look at the babelphish gem. Codes can be found in languages.rb.
|
25
|
+
def google_search(title, feeds = [], search_for = '', search_types = %w{web video blog news image local book patent}, content_id = 'google_search', locale = nil)
|
26
|
+
render :partial => 'google/search', :locals => { :title => title,
|
27
|
+
:feeds => feeds,
|
28
|
+
:search_for => search_for,
|
29
|
+
:search_types => search_types,
|
30
|
+
:content_id => content_id,
|
31
|
+
:locale => locale }
|
32
|
+
end
|
33
|
+
|
34
|
+
# Utility method for generating scripts required to to build google search
|
35
|
+
# type: Type of Google search. Should be one of web video blog news image local book patent
|
36
|
+
# feeds: An array of feeds to render each with a property 'display_uri' defined
|
37
|
+
# locale: Locale to restrict searches. For example, to restrict the search to only German sites specify 'de'
|
38
|
+
# A complete set of valid Google languages can be found here:
|
39
|
+
# http://code.google.com/apis/ajaxlanguage/documentation/#SupportedLanguages
|
40
|
+
# For a list of valid codes you can also look at the babelphish gem. Codes can be found in languages.rb.
|
41
|
+
def google_typed_search(type, feeds = [], locale = nil)
|
42
|
+
content = "var #{type}Search = new google.search.#{type.capitalize}Search();\n"
|
43
|
+
if !['video', 'blog'].include?(type)
|
44
|
+
if !locale.blank?
|
45
|
+
content << "#{type}Search.setRestriction(google.search.Search.RESTRICT_EXTENDED_ARGS, {lr:'lang_#{locale}'});\n"
|
46
|
+
end
|
47
|
+
end
|
48
|
+
if !['video', 'local', 'patent', 'book'].include?(type)
|
49
|
+
feeds.each do |feed|
|
50
|
+
if !feed.display_uri.blank?
|
51
|
+
content << "#{type}Search.setSiteRestriction('#{feed.display_uri}');\n"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
content << "searchControl.addSearcher(#{type}Search);\n"
|
56
|
+
end
|
57
|
+
|
3
58
|
# Render feeds using Google's api
|
4
59
|
# feeds: Feed object.
|
5
60
|
# show_controls: Indicates whether or not to show editing controls. ie Remove
|
@@ -21,6 +76,18 @@ module MuckRakerGoogleHelper
|
|
21
76
|
:run_load_scripts => run_load_scripts}
|
22
77
|
end
|
23
78
|
|
79
|
+
# Render combined feed using Google's api
|
80
|
+
#
|
81
|
+
# feeds: Array of feeds that have attribute 'uri' defined.
|
82
|
+
# content_id: Name of the div that will hold the widget google generates.
|
83
|
+
# If this method is called more than once on a given page then you will need to
|
84
|
+
# specify different content_ids for each call.
|
85
|
+
# javascript_callback: Name of a javascript method to call after the feed has finished loading. The
|
86
|
+
# method should accept the feed uri and the content id. ie feed_callback(uri, content_id).
|
87
|
+
def google_combined_feeds(feeds, content_id = 'google_combined_feed', javascript_callback = nil)
|
88
|
+
render :partial => 'google/combined_feed', :locals => { :feeds => feeds, :content_id => content_id, :javascript_callback => javascript_callback }
|
89
|
+
end
|
90
|
+
|
24
91
|
# Render a google dynamic feed control.
|
25
92
|
#
|
26
93
|
# feeds: An array of feeds to render each with a property 'title' and 'uri' defined
|
@@ -171,4 +238,15 @@ module MuckRakerGoogleHelper
|
|
171
238
|
</script>}
|
172
239
|
end
|
173
240
|
|
241
|
+
def google_hot_trends
|
242
|
+
feed = Feed.fetch_feed('http://www.google.com/trends/hottrends/atom/hourly')
|
243
|
+
result = Nokogiri::HTML(feed.entries[0].content)
|
244
|
+
google_hot_trends_terms = result.css('a').collect{ |a| change_chars(a.text) }.compact
|
245
|
+
render :partial => 'google/hot_trends', :locals => { :google_hot_trends_terms => google_hot_trends_terms }
|
246
|
+
end
|
247
|
+
|
248
|
+
def change_chars(term)
|
249
|
+
term.gsub('+', ' ').gsub('.', '-')
|
250
|
+
end
|
251
|
+
|
174
252
|
end
|
data/app/models/feed.rb
CHANGED
@@ -35,8 +35,6 @@
|
|
35
35
|
|
36
36
|
class Feed < ActiveRecord::Base
|
37
37
|
|
38
|
-
require 'httparty'
|
39
|
-
|
40
38
|
include HTTParty
|
41
39
|
format :xml
|
42
40
|
|
@@ -144,7 +142,7 @@ class Feed < ActiveRecord::Base
|
|
144
142
|
feeds = []
|
145
143
|
@available_feeds = discover_feeds(uri)
|
146
144
|
@available_feeds.each do |feed|
|
147
|
-
feeds << new_from_feedzirra(
|
145
|
+
feeds << new_from_feedzirra(fetch_feed(feed.url)) unless feed.blank?
|
148
146
|
end
|
149
147
|
feeds
|
150
148
|
end
|
@@ -155,11 +153,17 @@ class Feed < ActiveRecord::Base
|
|
155
153
|
feeds = []
|
156
154
|
@available_feeds = discover_feeds(uri)
|
157
155
|
@available_feeds.each do |feed|
|
158
|
-
feeds << create_from_feedzirra(
|
156
|
+
feeds << create_from_feedzirra(fetch_feed(feed.url), user) unless feed.blank?
|
159
157
|
end
|
160
158
|
feeds
|
161
159
|
end
|
162
160
|
|
161
|
+
# Fetch a remote feed
|
162
|
+
def self.fetch_feed(url)
|
163
|
+
return nil if url.blank?
|
164
|
+
Feedzirra::Feed.fetch_and_parse(url)
|
165
|
+
end
|
166
|
+
|
163
167
|
# Turns a feed from feedzirra into a muck feed
|
164
168
|
def self.new_from_feedzirra(feed)
|
165
169
|
return if feed.blank?
|
@@ -0,0 +1,73 @@
|
|
1
|
+
<% content_for :head do -%>
|
2
|
+
<%= google_ajax_api_scripts -%>
|
3
|
+
<%= google_load_feeds -%>
|
4
|
+
<% end -%>
|
5
|
+
|
6
|
+
<script type="text/javascript">
|
7
|
+
entries = [];
|
8
|
+
function feed_loaded(result) {
|
9
|
+
if (!result.error) {
|
10
|
+
jQuery('#<%= content_id %> .waiting').hide();
|
11
|
+
jQuery('#<%= content_id %> ul').html('');
|
12
|
+
new_entries = result.feed.entries;
|
13
|
+
for (var i=0; i<new_entries.length; i++){
|
14
|
+
new_entries[i].feed = result.feed;
|
15
|
+
}
|
16
|
+
entries = jQuery.merge(entries, new_entries);
|
17
|
+
entries = entries.sort(function(a,b){
|
18
|
+
return a.publishedDate > b.publishedDate;
|
19
|
+
});
|
20
|
+
for (var i=0; i<entries.length; i++) {
|
21
|
+
var html = '<li class="feed-item" style="background: transparent url(/images/service_icons/24/' + get_service_name(entries[i]) + ') no-repeat scroll left top;">';
|
22
|
+
html += '<div class="feed-title"><a href="' + entries[i].link + '" target="_blank">' + entries[i].title + '</a></div>';
|
23
|
+
html += '<div class="feed-content" style="display:none;">';
|
24
|
+
html += '<h3><a href="' + entries[i].link + '" target="_blank">' + entries[i].title + '</a></h3>';
|
25
|
+
html += entries[i].content;
|
26
|
+
html += '</div>';
|
27
|
+
html += '</li>';
|
28
|
+
jQuery('#<%= content_id %> ul').append(html);
|
29
|
+
}
|
30
|
+
apply_show_content();
|
31
|
+
<%= "#{javascript_callback}('#{content_id}');" if javascript_callback -%>
|
32
|
+
}
|
33
|
+
}
|
34
|
+
google.setOnLoadCallback(function(){
|
35
|
+
<% feeds.each do |feed| -%>
|
36
|
+
new google.feeds.Feed("<%=feed.uri%>").load(feed_loaded);
|
37
|
+
<% end -%>
|
38
|
+
});
|
39
|
+
|
40
|
+
function get_service_name(entry) {
|
41
|
+
var services = eval(<%= Service.all.to_json(:only => [ :uri_key, :icon ]) %>);
|
42
|
+
for(var i=0; i<services.length; i++){
|
43
|
+
if(services[i].uri_key && (entry.link.indexOf(services[i].uri_key) >= 0 || entry.feed.link.indexOf(services[i].uri_key) >= 0)){
|
44
|
+
return services[i].icon;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
return 'feed.png';
|
48
|
+
}
|
49
|
+
|
50
|
+
function apply_show_content(){
|
51
|
+
jQuery('.combined-feed-list .feed-item .feed-title').hover(
|
52
|
+
function () {
|
53
|
+
jQuery(this).next('.combined-feed-list .feed-item .feed-content').show();
|
54
|
+
},
|
55
|
+
function () {
|
56
|
+
jQuery(this).next('.combined-feed-list .feed-item .feed-content').hide();
|
57
|
+
}
|
58
|
+
);
|
59
|
+
jQuery('.combined-feed-list .feed-item .feed-content').hover(
|
60
|
+
function () {
|
61
|
+
jQuery(this).show();
|
62
|
+
},
|
63
|
+
function () {
|
64
|
+
jQuery(this).hide();
|
65
|
+
}
|
66
|
+
);
|
67
|
+
}
|
68
|
+
</script>
|
69
|
+
|
70
|
+
<div id="<%= content_id %>" class="combined-feed">
|
71
|
+
<span class="waiting"><%= t('muck.raker.loading_message') %></span>
|
72
|
+
<ul class="combined-feed-list"></ul>
|
73
|
+
</div>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
<% content_for :head do -%>
|
2
|
+
<%= google_ajax_api_scripts -%>
|
3
|
+
<%= google_load_search -%>
|
4
|
+
<% end -%>
|
5
|
+
<script type="text/javascript">
|
6
|
+
function google_load_search() {
|
7
|
+
var searchControl = new google.search.SearchControl();
|
8
|
+
|
9
|
+
<% search_types.each do |type| -%>
|
10
|
+
<%= google_typed_search(type, feeds, locale) %>
|
11
|
+
<% end -%>
|
12
|
+
|
13
|
+
<% if GlobalConfig.google_ad_partner_pub -%>
|
14
|
+
searchControl.enableAds('<%= GlobalConfig.google_ad_partner_pub %>');
|
15
|
+
<% end -%>
|
16
|
+
|
17
|
+
<% if search_types.length > 1 -%>
|
18
|
+
var drawOptions = new google.search.DrawOptions();
|
19
|
+
drawOptions.setDrawMode(google.search.SearchControl.DRAW_MODE_TABBED);
|
20
|
+
searchControl.draw(document.getElementById("<%= content_id %>"), drawOptions);
|
21
|
+
<% else -%>
|
22
|
+
searchControl.draw(document.getElementById("<%= content_id %>"));
|
23
|
+
<% end -%>
|
24
|
+
|
25
|
+
searchControl.execute('<%=search_for%>');
|
26
|
+
}
|
27
|
+
google.setOnLoadCallback(google_load_search);
|
28
|
+
</script>
|
29
|
+
<div class="feed">
|
30
|
+
<div class="feed-header">
|
31
|
+
<h3 class="google-header"><%= title %></h3>
|
32
|
+
</div>
|
33
|
+
<div class="feed-content">
|
34
|
+
<div id="<%= content_id %>" class="search-container">
|
35
|
+
<span class="waiting"><%= t('muck.raker.loading_message') %></span>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<% custom_form_for(:topic, :url => topics_path, :html => {:method => :post}) do |f| -%>
|
2
|
-
<%= text_field_tag :terms, params[:terms] %>
|
2
|
+
<%= text_field_tag :terms, params[:terms] || @terms %>
|
3
3
|
<%= f.submit t('muck.raker.build_topic'), :id => 'generate_topic' %>
|
4
4
|
<span id="generating_topic_message" style="display:none;">
|
5
5
|
<%= t('muck.raker.generating_topic_message') %><img src="/images/spinner.gif" alt="<%= t('muck.raker.discover_feed_message') %>" />
|
@@ -4,27 +4,35 @@
|
|
4
4
|
|
5
5
|
<%= output_errors('', {:class => 'help-box'}) %>
|
6
6
|
|
7
|
-
<div class="span-
|
8
|
-
<h2><%= @title %></h2>
|
9
|
-
</div>
|
10
|
-
|
11
|
-
<div class="span-7 column">
|
7
|
+
<div id="search-header" class="span-24 column center">
|
12
8
|
<%= topics_form %>
|
13
9
|
</div>
|
14
10
|
|
15
11
|
<div class="span-24 column">
|
16
12
|
<%= link_to t('muck.raker.photos'), photos_topic_path(params[:id], :service_ids => params[:service_ids]) %>
|
17
13
|
<%= link_to t('muck.raker.videos'), videos_topic_path(params[:id], :service_ids => params[:service_ids]) %>
|
14
|
+
<%= link_to t('muck.raker.download_opml', :terms => @title), @opml_path %>
|
18
15
|
</div>
|
19
16
|
|
20
17
|
<div class="span-14 column datafeeds">
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
18
|
+
|
19
|
+
<% if @show_google_search -%>
|
20
|
+
<div id="search-results">
|
21
|
+
<%= google_search('Google Search', [], @terms, %w{web video blog news image local book patent}, 'google_search', I18n.locale) %>
|
22
|
+
</div>
|
23
|
+
<% end -%>
|
24
|
+
|
25
|
+
<% if @show_combined -%>
|
26
|
+
<%= google_combined_feeds(@general_feeds + @discovered_feeds) %>
|
27
|
+
<% else -%>
|
28
|
+
<div id="calculated-feeds">
|
29
|
+
<%= google_feeds(@general_feeds, @show_controls, @number_of_items, @number_of_images, @number_of_videos) %>
|
30
|
+
</div>
|
31
|
+
<div id="discovered_feeds">
|
32
|
+
<%= google_feeds(@discovered_feeds, @show_controls, @number_of_items, @number_of_images, @number_of_videos) %>
|
33
|
+
</div>
|
34
|
+
<% end -%>
|
35
|
+
|
28
36
|
</div>
|
29
37
|
|
30
38
|
<div class="span-10 column datafeeds">
|
@@ -36,7 +44,7 @@
|
|
36
44
|
|
37
45
|
<div class="span-24 column">
|
38
46
|
<%= link_to t('muck.raker.generate_new_topic'), new_topic_path %>
|
39
|
-
|
47
|
+
|
40
48
|
<!--
|
41
49
|
<a href="http://www.google.com/reader/view/feed/<%=CGI.escape(request.url)%>" title="<%=@title%>">
|
42
50
|
<img src="http://buttons.googlesyndication.com/fusion/add.gif" border="0" alt="Add to Google" />
|
@@ -44,4 +52,5 @@
|
|
44
52
|
-->
|
45
53
|
</div>
|
46
54
|
|
47
|
-
<%= render :partial => 'google/feeds_scripts' %>
|
55
|
+
<%= render :partial => 'google/feeds_scripts' %>
|
56
|
+
|
data/db/bootstrap/services.yml
CHANGED
@@ -25,6 +25,7 @@ twitter:
|
|
25
25
|
id: 3
|
26
26
|
name: Twitter
|
27
27
|
uri: "http://www.twitter.com"
|
28
|
+
uri_key: "twitter.com"
|
28
29
|
api_uri:
|
29
30
|
uri_data_template: "http://www.twitter.com/{username}"
|
30
31
|
uri_template: "http://www.twitter.com/{username}"
|
@@ -37,6 +38,7 @@ youtube:
|
|
37
38
|
id: 4
|
38
39
|
name: You Tube
|
39
40
|
uri: "http://www.youtube.com"
|
41
|
+
uri_key: "youtube.com"
|
40
42
|
api_uri:
|
41
43
|
uri_data_template: "http://gdata.youtube.com/feeds/base/users/{username}/uploads?alt=rss&v=2&orderby=published&client=ytapi-youtube-profile"
|
42
44
|
uri_template: "http://www.youtube.com/user/{username}"
|
@@ -49,6 +51,7 @@ flickr:
|
|
49
51
|
id: 5
|
50
52
|
name: Flickr
|
51
53
|
uri: "http://www.flickr.com"
|
54
|
+
uri_key: "flickr.com"
|
52
55
|
api_uri:
|
53
56
|
uri_data_template: "http://www.flickr.com/photos/{username}/"
|
54
57
|
uri_template: "http://www.flickr.com/photos/{username}/"
|
@@ -61,6 +64,7 @@ delicious:
|
|
61
64
|
id: 6
|
62
65
|
name: delicious
|
63
66
|
uri: "http://delicious/"
|
67
|
+
uri_key: "delicious.com"
|
64
68
|
api_uri: "https://api.delicious/v1/"
|
65
69
|
uri_data_template: "http://delicious.com/{username}"
|
66
70
|
uri_template: "http://delicious.com/{username}"
|
@@ -73,6 +77,7 @@ digg:
|
|
73
77
|
id: 7
|
74
78
|
name: Digg
|
75
79
|
uri: "http://www.digg.com"
|
80
|
+
uri_key: "digg.com"
|
76
81
|
api_uri:
|
77
82
|
uri_data_template: "http://digg.com/users/{username}/history.rss"
|
78
83
|
uri_template: "http://digg.com/users/{username}"
|
@@ -85,6 +90,7 @@ yelp:
|
|
85
90
|
id: 8
|
86
91
|
name: Yelp
|
87
92
|
uri: "http://www.yelp.com/"
|
93
|
+
uri_key: "yelp.com"
|
88
94
|
api_uri:
|
89
95
|
uri_data_template: "http://{username}.yelp.com/rss"
|
90
96
|
uri_template: "http://{username}.yelp.com"
|
@@ -97,6 +103,7 @@ stumbleupon:
|
|
97
103
|
id: 9
|
98
104
|
name: StumbleUpon
|
99
105
|
uri: "http://www.stumbleupon.com/"
|
106
|
+
uri_key: "stumbleupon.com"
|
100
107
|
api_uri:
|
101
108
|
uri_data_template: "http://rss.stumbleupon.com/user/{username}/"
|
102
109
|
uri_template: "http://www.stumbleupon.com/stumbler/{username}"
|
@@ -109,6 +116,7 @@ vimeo:
|
|
109
116
|
sort: 10
|
110
117
|
name: Vimeo
|
111
118
|
uri: "http://vimeo.com"
|
119
|
+
uri_key: "vimeo.com"
|
112
120
|
api_uri:
|
113
121
|
uri_data_template: "http://vimeo.com/{username}/videos/rss"
|
114
122
|
uri_template: "http://vimeo.com/{username}"
|
@@ -121,6 +129,7 @@ lastfm:
|
|
121
129
|
sort: 11
|
122
130
|
name: Last.fm
|
123
131
|
uri: "http://www.last.fm"
|
132
|
+
uri_key: "last.fm"
|
124
133
|
api_uri:
|
125
134
|
uri_data_template: "http://ws.audioscrobbler.com/1.0/user/{username}/recenttracks.rss"
|
126
135
|
uri_template: "http://www.last.fm/user/{username}"
|
@@ -133,6 +142,7 @@ livejournal:
|
|
133
142
|
sort: 12
|
134
143
|
name: LiveJournal
|
135
144
|
uri: "http://www.livejournal.com"
|
145
|
+
uri_key: "livejournal.com"
|
136
146
|
api_uri:
|
137
147
|
uri_data_template: "http://{username}.livejournal.com"
|
138
148
|
uri_template: "http://{username}.livejournal.com"
|
@@ -145,6 +155,7 @@ simpy:
|
|
145
155
|
sort: 13
|
146
156
|
name: Simpy
|
147
157
|
uri: "http://www.simpy.com"
|
158
|
+
uri_key: "simpy.com"
|
148
159
|
api_uri:
|
149
160
|
uri_data_template: "http://www.simpy.com/rss/user/{username}/links/"
|
150
161
|
uri_template: "http://www.simpy.com/user/{username}"
|
@@ -157,6 +168,7 @@ wordpress:
|
|
157
168
|
sort: 14
|
158
169
|
name: Wordpress.com
|
159
170
|
uri: "http://www.wordpress.com/"
|
171
|
+
uri_key: "wordpress.com/"
|
160
172
|
api_uri:
|
161
173
|
uri_data_template: "http://{username}.wordpress.com/"
|
162
174
|
uri_template: "http://{username}.wordpress.com/"
|
@@ -169,6 +181,7 @@ xanga:
|
|
169
181
|
sort: 15
|
170
182
|
name: Xanga
|
171
183
|
uri: "http://www.xanga.com"
|
184
|
+
uri_key: "xanga.com"
|
172
185
|
api_uri:
|
173
186
|
uri_data_template: "http://www.xanga.com/{username}/rss"
|
174
187
|
uri_template: "http://{username}.xanga.com"
|
@@ -181,6 +194,7 @@ citeulike:
|
|
181
194
|
sort: 16
|
182
195
|
name: cite u like
|
183
196
|
uri: "http://www.citeulike.org"
|
197
|
+
uri_key: "citeulike.org"
|
184
198
|
api_uri:
|
185
199
|
uri_data_template: "http://www.citeulike.org/rss/user/{username}"
|
186
200
|
uri_template: "http://www.citeulike.org/user/{username}"
|
@@ -193,6 +207,7 @@ googlenews:
|
|
193
207
|
sort: 17
|
194
208
|
name: Google News
|
195
209
|
uri: "http://news.google.com/"
|
210
|
+
uri_key: "news.google.com"
|
196
211
|
icon: google.png
|
197
212
|
use_for: false
|
198
213
|
service_category_id: 4
|
@@ -205,6 +220,7 @@ googleblogsearch:
|
|
205
220
|
sort: 18
|
206
221
|
name: Google Blogs
|
207
222
|
uri: "http://blogsearch.google.com/"
|
223
|
+
uri_key: "blogsearch.google.com"
|
208
224
|
icon: google.png
|
209
225
|
use_for: false
|
210
226
|
service_category_id: 4
|
@@ -233,6 +249,7 @@ odeo:
|
|
233
249
|
sort: 21
|
234
250
|
name: Odeo Podcasts
|
235
251
|
uri: "http://www.odeo.com"
|
252
|
+
uri_key: "odeo.com"
|
236
253
|
icon: odeo.png
|
237
254
|
use_for: false
|
238
255
|
service_category_id: 1
|
@@ -242,6 +259,7 @@ technorati:
|
|
242
259
|
sort: 22
|
243
260
|
name: Technorati
|
244
261
|
uri: "http://www.technorati.com/"
|
262
|
+
uri_key: "technorati.com"
|
245
263
|
api_uri:
|
246
264
|
uri_data_template: "http://feeds.technorati.com/faves/{username}?format=rss"
|
247
265
|
icon: technorati.png
|
@@ -253,6 +271,7 @@ mixx:
|
|
253
271
|
sort: 23
|
254
272
|
name: Mixx
|
255
273
|
uri: "http://www.mixx.com"
|
274
|
+
uri_key: "mixx.com"
|
256
275
|
api_uri:
|
257
276
|
uri_data_template: "http://www.mixx.com/feeds/users/{username}"
|
258
277
|
uri_template: "http://www.mixx.com/users/{username}"
|
@@ -265,6 +284,7 @@ reddit:
|
|
265
284
|
sort: 24
|
266
285
|
name: Reddit
|
267
286
|
uri: "http://www.reddit.com"
|
287
|
+
uri_key: "reddit.com"
|
268
288
|
api_uri:
|
269
289
|
uri_data_template: "http://www.reddit.com/user/{username}/.rss"
|
270
290
|
uri_template: "http://www.reddit.com/user/{username}"
|
@@ -277,6 +297,7 @@ facebook:
|
|
277
297
|
sort: 25
|
278
298
|
name: Facebook
|
279
299
|
uri: "http://www.facebook.com"
|
300
|
+
uri_key: "facebook.com"
|
280
301
|
api_uri:
|
281
302
|
uri_data_template:
|
282
303
|
icon: facebook.png
|
@@ -290,6 +311,7 @@ pandora:
|
|
290
311
|
sort: 26
|
291
312
|
name: pandora
|
292
313
|
uri: "http://www.pandora.com"
|
314
|
+
uri_key: "pandora.com"
|
293
315
|
api_uri:
|
294
316
|
uri_data_template: "http://feeds.pandora.com/feeds/people/{username}/favorites.xml"
|
295
317
|
icon: pandora.png
|
@@ -301,6 +323,7 @@ technorati_tags:
|
|
301
323
|
sort: 27
|
302
324
|
name: Technorati
|
303
325
|
uri: "http://www.technorati.com/"
|
326
|
+
uri_key: "technorati.com"
|
304
327
|
api_uri:
|
305
328
|
uri_data_template: "http://feeds.technorati.com/search/{tag}?language=n"
|
306
329
|
uri_template: "http://www.technorati.com/search/{tag}?language=n"
|
@@ -313,6 +336,7 @@ flickr_tags:
|
|
313
336
|
sort: 28
|
314
337
|
name: Flickr
|
315
338
|
uri: "http://www.flickr.com"
|
339
|
+
uri_key: "flickr.com"
|
316
340
|
api_uri:
|
317
341
|
uri_data_template: 'http://api.flickr.com/services/feeds/photos_public.gne?tags={tag}&lang=en-us&format=rss_200'
|
318
342
|
uri_template: 'http://www.flickr.com/search/?q={tag}'
|
@@ -325,6 +349,7 @@ wordpress_tags:
|
|
325
349
|
sort: 29
|
326
350
|
name: Wordpress.com
|
327
351
|
uri: "http://www.wordpress.com/"
|
352
|
+
uri_key: "wordpress.com"
|
328
353
|
api_uri:
|
329
354
|
uri_data_template: 'http://wordpress.com/tag/{tag}/feed/'
|
330
355
|
uri_template: 'http://wordpress.com/tag/{tag}'
|
@@ -337,6 +362,7 @@ citeulike_tags:
|
|
337
362
|
sort: 30
|
338
363
|
name: cite u like
|
339
364
|
uri: "http://www.citeulike.org"
|
365
|
+
uri_key: "citeulike.org"
|
340
366
|
api_uri:
|
341
367
|
uri_data_template: 'http://www.citeulike.org/rss/tag/{tag}'
|
342
368
|
uri_template: 'http://www.citeulike.org/tag/{tag}'
|
@@ -349,6 +375,7 @@ delicious_tags:
|
|
349
375
|
sort: 31
|
350
376
|
name: delicious
|
351
377
|
uri: "http://delicious/"
|
378
|
+
uri_key: "delicious.com"
|
352
379
|
api_uri: "https://api.delicious/v1/"
|
353
380
|
uri_data_template: 'http://feeds.delicious.com/rss/tag/{tag}'
|
354
381
|
uri_template: 'http://delicious.com/search?p={tag}'
|
@@ -360,6 +387,7 @@ netflix:
|
|
360
387
|
id: 32
|
361
388
|
name: Netflix
|
362
389
|
uri: "http://www.netflix.com"
|
390
|
+
uri_key: "netflix.com"
|
363
391
|
api_uri:
|
364
392
|
uri_data_template:
|
365
393
|
icon: netflix.png
|
@@ -373,6 +401,7 @@ blogger:
|
|
373
401
|
id: 33
|
374
402
|
name: Blogger
|
375
403
|
uri: "http://www.blogger.com"
|
404
|
+
uri_key: "blogger.com"
|
376
405
|
api_uri:
|
377
406
|
uri_data_template:
|
378
407
|
icon: blogger.png
|
@@ -385,6 +414,7 @@ clipmarks:
|
|
385
414
|
id: 34
|
386
415
|
name: Clipmarks
|
387
416
|
uri: "http://www.clipmarks.com"
|
417
|
+
uri_key: "clipmarks.com"
|
388
418
|
api_uri:
|
389
419
|
uri_data_template: "http://rss.clipmarks.com/clipper/{username}/"
|
390
420
|
uri_template: "http://www.clipmarks.com/clipper/{username}/"
|
@@ -397,6 +427,7 @@ friendfeed:
|
|
397
427
|
id: 35
|
398
428
|
name: Friendfeed
|
399
429
|
uri: "http://friendfeed.com"
|
430
|
+
uri_key: "friendfeed.com"
|
400
431
|
api_uri:
|
401
432
|
uri_data_template:
|
402
433
|
icon: friendfeed.png
|
@@ -410,6 +441,7 @@ linkedin:
|
|
410
441
|
id: 36
|
411
442
|
name: LinkedIn
|
412
443
|
uri: "http://www.linkedin.com"
|
444
|
+
uri_key: "linkedin.com"
|
413
445
|
api_uri:
|
414
446
|
uri_data_template:
|
415
447
|
icon: linkedin.png
|
@@ -423,6 +455,7 @@ diigo:
|
|
423
455
|
id: 37
|
424
456
|
name: diigo
|
425
457
|
uri: "http://www.diigo.com"
|
458
|
+
uri_key: "diigo.com"
|
426
459
|
api_uri:
|
427
460
|
uri_data_template: "http://www.diigo.com/rss/user/{username}"
|
428
461
|
uri_template: "http://www.diigo.com/user/{username}"
|
@@ -436,6 +469,7 @@ diigo_tags:
|
|
436
469
|
sort: 38
|
437
470
|
name: diigo
|
438
471
|
uri: "http://www.diigo.org"
|
472
|
+
uri_key: "diigo.org"
|
439
473
|
api_uri:
|
440
474
|
uri_data_template: 'http://www.diigo.com/community/tag?tag={tag}'
|
441
475
|
uri_template: 'http://www.diigo.com/community/tag?tag={tag}'
|
@@ -448,6 +482,7 @@ netvibes:
|
|
448
482
|
sort: 39
|
449
483
|
name: NetVibes
|
450
484
|
uri: "http://www.netvibes.com"
|
485
|
+
uri_key: "netvibes.com"
|
451
486
|
api_uri:
|
452
487
|
uri_data_template: "http://www.netvibes.com/{username}#General"
|
453
488
|
uri_template: "http://www.netvibes.com/{username}#General"
|
@@ -460,6 +495,7 @@ dailymotion:
|
|
460
495
|
sort: 40
|
461
496
|
name: Dailymotion
|
462
497
|
uri: "http://www.dailymotion.com"
|
498
|
+
uri_key: "dailymotion.com"
|
463
499
|
uri_data_template: "http://www.dailymotion.com/rss/user/{username}/1"
|
464
500
|
uri_template: "http://www.dailymotion.com/{username}"
|
465
501
|
icon: dailymotion.png
|
@@ -471,6 +507,7 @@ polyvore:
|
|
471
507
|
sort: 41
|
472
508
|
name: Polyvore
|
473
509
|
uri: "http://www.polyvore.com"
|
510
|
+
uri_key: "polyvore.com"
|
474
511
|
icon: polyvore.png
|
475
512
|
active: false
|
476
513
|
prompt: polyvore_prompt
|
@@ -482,6 +519,7 @@ identica:
|
|
482
519
|
sort: 42
|
483
520
|
name: "identi.ca"
|
484
521
|
uri: "http://identi.ca"
|
522
|
+
uri_key: "identi.ca"
|
485
523
|
uri_data_template: "http://identi.ca/api/statuses/user_timeline/{username}.atom"
|
486
524
|
uri_template: "http://identi.ca/{username}"
|
487
525
|
icon: identica.png
|
@@ -493,6 +531,7 @@ tumblr:
|
|
493
531
|
sort: 43
|
494
532
|
name: "Tumblr"
|
495
533
|
uri: "http://www.tumblr.com"
|
534
|
+
uri_key: "tumblr.com"
|
496
535
|
uri_data_template: "http://{username}.tumblr.com/"
|
497
536
|
uri_template: "http://{username}.tumblr.com/"
|
498
537
|
icon: tumblr.png
|
@@ -504,6 +543,7 @@ joost:
|
|
504
543
|
sort: 44
|
505
544
|
name: "Joost"
|
506
545
|
uri: "http://www.joost.com"
|
546
|
+
uri_key: "joost.com"
|
507
547
|
uri_data_template: "http://www.joost.com/api/events/get/{username}?fmt=atom"
|
508
548
|
uri_template: "http://www.joost.com/users/{username}/"
|
509
549
|
icon: joost.png
|
@@ -515,6 +555,7 @@ fotolog:
|
|
515
555
|
sort: 45
|
516
556
|
name: "Fotolog"
|
517
557
|
uri: "http://www.fotolog.com"
|
558
|
+
uri_key: "fotolog.com"
|
518
559
|
uri_data_template: "http://www.fotolog.com/{username}/feed/main/rss20"
|
519
560
|
uri_template: "http://www.fotolog.com/{username}"
|
520
561
|
icon: fotolog.png
|
@@ -526,6 +567,7 @@ photobucket_photo_tags:
|
|
526
567
|
sort: 46
|
527
568
|
name: Photobucket (Photos)
|
528
569
|
uri: "http://www.photobucket.com/"
|
570
|
+
uri_key: "photobucket.com"
|
529
571
|
api_uri:
|
530
572
|
uri_data_template: "http://feed.photobucket.com/images/{tag}/feed.rss"
|
531
573
|
uri_template: "http://www.photobucket.com/images/{tag}"
|
@@ -538,6 +580,7 @@ photobucket_video_tags:
|
|
538
580
|
sort: 47
|
539
581
|
name: Photobucket (Videos)
|
540
582
|
uri: "http://www.photobucket.com/"
|
583
|
+
uri_key: "photobucket.com"
|
541
584
|
api_uri:
|
542
585
|
uri_data_template: "http://feed.photobucket.com/videos/{tag}/feed.rss"
|
543
586
|
uri_template: "http://www.photobucket.com/videos/{tag}"
|
@@ -550,6 +593,7 @@ identica_tags:
|
|
550
593
|
sort: 48
|
551
594
|
name: "identi.ca"
|
552
595
|
uri: "http://identi.ca"
|
596
|
+
uri_key: "identi.ca"
|
553
597
|
uri_data_template: "http://identi.ca/api/statusnet/tags/timeline/{tag}.atom"
|
554
598
|
uri_template: "http://identi.ca/tag/{tag}"
|
555
599
|
icon: identica.png
|
@@ -561,6 +605,7 @@ smugmug:
|
|
561
605
|
sort: 49
|
562
606
|
name: "Smugmug"
|
563
607
|
uri: "http://www.smugmug.com"
|
608
|
+
uri_key: "smugmug.com"
|
564
609
|
uri_data_template: "http://{username}.smugmug.com/"
|
565
610
|
uri_template: "http://{username}.smugmug.com/"
|
566
611
|
icon: smugmug.png
|
@@ -572,6 +617,7 @@ smugmug_tags:
|
|
572
617
|
sort: 50
|
573
618
|
name: "Smugmug"
|
574
619
|
uri: "http://www.smugmug.com"
|
620
|
+
uri_key: "smugmug.com"
|
575
621
|
uri_data_template: "http://www.smugmug.com/hack/feed.mg?Type=search&Data={tag}&format=atom10"
|
576
622
|
uri_template: "http://www.smugmug.com/search/index.mg?searchWords={tag}&searchType=global&x=0&y=0"
|
577
623
|
icon: smugmug.png
|
@@ -583,6 +629,7 @@ zooomr:
|
|
583
629
|
sort: 51
|
584
630
|
name: "Zooomr"
|
585
631
|
uri: "http://www.zooomr.com"
|
632
|
+
uri_key: "zooomr.com"
|
586
633
|
uri_data_template: "http://www.zooomr.com/photos/{username}"
|
587
634
|
uri_template: "http://www.zooomr.com/photos/{username}"
|
588
635
|
icon: zooomr.png
|
@@ -594,6 +641,7 @@ picasa:
|
|
594
641
|
sort: 52
|
595
642
|
name: "Picasa"
|
596
643
|
uri: "http://picasaweb.google.com"
|
644
|
+
uri_key: "picasaweb.google.com"
|
597
645
|
uri_data_template: "http://picasaweb.google.com/data/feed/base/user/{username}?alt=rss&kind=album&hl=en_US&access=public"
|
598
646
|
uri_template: "http://picasaweb.google.com/{username}"
|
599
647
|
icon: picasa.png
|
@@ -605,6 +653,7 @@ picasa_tags:
|
|
605
653
|
sort: 53
|
606
654
|
name: "Picasa"
|
607
655
|
uri: "http://picasaweb.google.com"
|
656
|
+
uri_key: "picasaweb.google.com"
|
608
657
|
uri_data_template: "http://picasaweb.google.com/data/feed/base/all?alt=rss&kind=photo&filter=1&q={tag}&hl=en_US"
|
609
658
|
uri_template: "http://picasaweb.google.com/lh/view?q={tag}&psc=G&filter=1#"
|
610
659
|
icon: picasa.png
|
@@ -616,6 +665,7 @@ librarything:
|
|
616
665
|
sort: 54
|
617
666
|
name: LibraryThing
|
618
667
|
uri: "http://www.librarything.com"
|
668
|
+
uri_key: "librarything.com"
|
619
669
|
uri_data_template: "http://www.librarything.com/rss/reviews/{username}"
|
620
670
|
uri_template: "http://www.librarything.com/profile/{username}"
|
621
671
|
icon: librarything.png
|
@@ -627,6 +677,7 @@ goodreads:
|
|
627
677
|
sort: 55
|
628
678
|
name: Goodreads
|
629
679
|
uri: "http://www.goodreads.com"
|
680
|
+
uri_key: "goodreads.com"
|
630
681
|
icon: goodreads.png
|
631
682
|
use_for: "identity"
|
632
683
|
service_category_id: 13
|
@@ -638,6 +689,7 @@ zotero_groups:
|
|
638
689
|
sort: 56
|
639
690
|
name: Zotero Groups
|
640
691
|
uri: "http://www.zotero.org"
|
692
|
+
uri_key: "zotero.org"
|
641
693
|
icon: zotero.png
|
642
694
|
use_for: "identity"
|
643
695
|
service_category_id: 8
|
@@ -649,6 +701,7 @@ zotero:
|
|
649
701
|
sort: 57
|
650
702
|
name: Zotero
|
651
703
|
uri: "http://www.zotero.org"
|
704
|
+
uri_key: "zotero.org"
|
652
705
|
uri_data_template: "http://www.zotero.org/{username}/items"
|
653
706
|
uri_template: "http://www.zotero.org/{username}/items"
|
654
707
|
icon: zotero.png
|
@@ -660,6 +713,7 @@ amazon:
|
|
660
713
|
sort: 58
|
661
714
|
name: Amazon
|
662
715
|
uri: "http://www.amazon.com"
|
716
|
+
uri_key: "amazon.com"
|
663
717
|
uri_data_template: "http://www.amazon.com"
|
664
718
|
uri_template:
|
665
719
|
icon: amazon.png
|
@@ -671,6 +725,7 @@ twitter_tags:
|
|
671
725
|
id: 59
|
672
726
|
name: Twitter
|
673
727
|
uri: "http://www.twitter.com"
|
728
|
+
uri_key: "twitter.com"
|
674
729
|
api_uri:
|
675
730
|
uri_data_template: "http://search.twitter.com/search.atom?q=+{tag}"
|
676
731
|
uri_template: "http://search.twitter.com/search?q=+{tag}"
|
@@ -683,6 +738,7 @@ youtube_tags:
|
|
683
738
|
id: 60
|
684
739
|
name: You Tube
|
685
740
|
uri: "http://www.youtube.com"
|
741
|
+
uri_key: "youtube.com"
|
686
742
|
api_uri:
|
687
743
|
uri_data_template: "http://gdata.youtube.com/feeds/base/videos?q={tag}&client=ytapi-youtube-search&alt=rss&v=2"
|
688
744
|
icon: youtube.png
|
@@ -694,6 +750,7 @@ icerocket_blogs:
|
|
694
750
|
id: 61
|
695
751
|
name: IceRocket Blogs
|
696
752
|
uri: "http://www.icerocket.com"
|
753
|
+
uri_key: "icerocket.com"
|
697
754
|
api_uri:
|
698
755
|
uri_data_template: "http://www.icerocket.com/search?tab=blog&q={tag}&rss=1"
|
699
756
|
uri_template: "http://www.icerocket.com/search?tab=blog&fr=h&q={tag}&x=0&y=0"
|
@@ -706,6 +763,7 @@ yahoo_search:
|
|
706
763
|
id: 62
|
707
764
|
name: Yahoo
|
708
765
|
uri: "http://www.yahoo.com"
|
766
|
+
uri_key: "yahoo.com"
|
709
767
|
api_uri:
|
710
768
|
uri_data_template: "http://api.search.yahoo.com/WebSearchService/rss/webSearch.xml?appid=yahoosearchwebrss&query={tag}"
|
711
769
|
uri_template: "http://search.yahoo.com/search?p={tag}&fr=yfp-t-152&toggle=1&cop=mss&ei=UTF-8"
|
@@ -718,6 +776,7 @@ bing_search:
|
|
718
776
|
id: 63
|
719
777
|
name: Bing
|
720
778
|
uri: "http://www.bing.com"
|
779
|
+
uri_key: "bing.com"
|
721
780
|
api_uri:
|
722
781
|
uri_data_template: "http://www.bing.com/search?q={tag}&go=&form=QBLH&qs=n&format=rss"
|
723
782
|
uri_template: "http://www.bing.com/search?q={tag}&go=&form=QBLH&qs=n"
|
@@ -730,6 +789,7 @@ bloglines_tags:
|
|
730
789
|
id: 64
|
731
790
|
name: Bloglines
|
732
791
|
uri: "http://www.bloglines.com"
|
792
|
+
uri_key: "bloglines.com"
|
733
793
|
api_uri:
|
734
794
|
uri_data_template: "feed://www.bloglines.com/search?q={tag}&ql=en&s=f&pop=l&news=m&format=rss"
|
735
795
|
uri_template: "http://www.bloglines.com/search?q={tag}&ql=en&s=f&pop=l&news=m"
|
@@ -742,6 +802,7 @@ ask_blog_search:
|
|
742
802
|
id: 65
|
743
803
|
name: Ask.com Blogs
|
744
804
|
uri: "http://www.ask.com"
|
805
|
+
uri_key: "ask.com"
|
745
806
|
api_uri:
|
746
807
|
uri_data_template: "http://ask.bloglines.com/search?q={tag}&ql=&format=rss"
|
747
808
|
uri_template: "http://www.ask.com/blogsearch?q={tag}&search=search&qsrc=0&o=0&l=dir"
|
@@ -754,6 +815,7 @@ ask_news_search:
|
|
754
815
|
id: 66
|
755
816
|
name: Ask.com News
|
756
817
|
uri: "http://www.ask.com"
|
818
|
+
uri_key: "ask.com"
|
757
819
|
api_uri:
|
758
820
|
uri_data_template: "http://news.ask.com/newsrss?q={tag}&n2c=&o=0&l=dir"
|
759
821
|
uri_template: "http://news.ask.com/news?qsrc=167&o=0&l=dir&q={tag}"
|
@@ -766,6 +828,7 @@ icerocket_news:
|
|
766
828
|
id: 67
|
767
829
|
name: IceRocket News
|
768
830
|
uri: "http://www.icerocket.com"
|
831
|
+
uri_key: "icerocket.com"
|
769
832
|
api_uri:
|
770
833
|
uri_data_template: "http://www.icerocket.com/search?tab=news&q={tag}&rss=1"
|
771
834
|
uri_template: "http://www.icerocket.com/search?tab=news&fr=h&q={tag}&x=0&y=0"
|
@@ -778,6 +841,7 @@ icerocket_search:
|
|
778
841
|
id: 68
|
779
842
|
name: IceRocket
|
780
843
|
uri: "http://www.icerocket.com"
|
844
|
+
uri_key: "icerocket.com"
|
781
845
|
api_uri:
|
782
846
|
uri_data_template: "http://www.icerocket.com/search?tab=web&q={tag}&rss=1"
|
783
847
|
uri_template: "http://www.icerocket.com/search?tab=web&q={tag}"
|
@@ -790,6 +854,7 @@ digg_search:
|
|
790
854
|
id: 69
|
791
855
|
name: Digg
|
792
856
|
uri: "http://www.digg.com"
|
857
|
+
uri_key: "digg.com"
|
793
858
|
api_uri:
|
794
859
|
uri_data_template: "feed://digg.com/rss_search?s={tag}"
|
795
860
|
uri_template: "http://digg.com/search?s={tag}"
|
@@ -802,6 +867,7 @@ clipmarks:
|
|
802
867
|
id: 70
|
803
868
|
name: Clipmarks
|
804
869
|
uri: "http://www.clipmarks.com"
|
870
|
+
uri_key: "clipmarks.com"
|
805
871
|
api_uri:
|
806
872
|
uri_data_template: "feed://rss.clipmarks.com/search/{tag}/"
|
807
873
|
uri_template: "http://clipmarks.com/search/{tag}/"
|
@@ -815,6 +881,7 @@ simpy:
|
|
815
881
|
sort: 71
|
816
882
|
name: Simpy
|
817
883
|
uri: "http://www.simpy.com"
|
884
|
+
uri_key: "simpy.com"
|
818
885
|
api_uri:
|
819
886
|
uri_data_template: "feed://www.simpy.com/rss/links/search/{tag}/s=d"
|
820
887
|
uri_template: "http://www.simpy.com/links/search/{tag}"
|
@@ -827,6 +894,7 @@ connotea_search:
|
|
827
894
|
sort: 72
|
828
895
|
name: Connotea
|
829
896
|
uri: "http://www.connotea.org"
|
897
|
+
uri_key: "connotea.org"
|
830
898
|
uri_data_template: "http://www.connotea.org/rss/search?q={tag}"
|
831
899
|
uri_template: "http://www.connotea.org/search?q={tag}"
|
832
900
|
icon: connotea.png
|
@@ -838,6 +906,7 @@ connotea:
|
|
838
906
|
sort: 73
|
839
907
|
name: Connotea
|
840
908
|
uri: "http://www.connotea.org"
|
909
|
+
uri_key: "connotea.org"
|
841
910
|
uri_data_template: "http://www.connotea.org/rss/user/{username}"
|
842
911
|
uri_template: "http://www.connotea.org/user/{username}"
|
843
912
|
icon: connotea.png
|
@@ -848,6 +917,7 @@ twine_search:
|
|
848
917
|
id: 74
|
849
918
|
name: Twine
|
850
919
|
uri: "http://www.twine.com"
|
920
|
+
uri_key: "twine.com"
|
851
921
|
api_uri:
|
852
922
|
uri_data_template: "http://www.twine.com/feed/atom/entries/search?text={tag}&type="
|
853
923
|
uri_template: "http://www.twine.com/search?type=&text={tag}"
|
@@ -861,6 +931,7 @@ bibsonomy:
|
|
861
931
|
sort: 75
|
862
932
|
name: Bibsonomy
|
863
933
|
uri: "http://www.bibsonomy.org"
|
934
|
+
uri_key: "bibsonomy.org"
|
864
935
|
uri_data_template: "feed://www.bibsonomy.org/publrss/author/{username}"
|
865
936
|
uri_template: "http://www.bibsonomy.org/author/{username}"
|
866
937
|
icon: bibsonomy.png
|
@@ -872,6 +943,7 @@ bibsonomy_search:
|
|
872
943
|
sort: 76
|
873
944
|
name: Bibsonomy
|
874
945
|
uri: "http://www.bibsonomy.org"
|
946
|
+
uri_key: "bibsonomy.org"
|
875
947
|
uri_data_template: "feed://www.bibsonomy.org/burst/tag/{tag}"
|
876
948
|
uri_template: "http://www.bibsonomy.org/tag/{tag}"
|
877
949
|
icon: bibsonomy.png
|
@@ -882,6 +954,7 @@ metacafe:
|
|
882
954
|
id: 77
|
883
955
|
name: MetaCafe
|
884
956
|
uri: "http://www.metacafe.com"
|
957
|
+
uri_key: "metacafe.com"
|
885
958
|
api_uri:
|
886
959
|
uri_data_template: "http://www.metacafe.com/tags/{tag}/rss.xml"
|
887
960
|
uri_template: "http://www.metacafe.com/tags/{tag}"
|