1:- module(buttons, [reddit//1,
    2		    delicious//1]).

Buttons for various social services and feeds

To be done
- email icon with prefilled subject & body
- twitter
- facebook
- identi.ca
- RSS feed

*/

   13:- use_module(library(http/html_write)).   14:- use_module(library(option)).   15
   16% http://www.reddit.com/buttons
 reddit(+Options:list)// is det
Generate a reddit button

The only option is style(Style) The available styles are

*/

   35reddit(Options) -->
   36	{
   37	    option(style(tiny), Options, tiny)
   38	},
   39	html([
   40	\['<a href="http://www.reddit.com/submit" onclick="window.\c
   41location = \'http://www.reddit.com/submit?url=\' + encodeURIComponent\c
   42(window.location); return false"> <img src="http://www.reddit.com/static\c
   43/spreddit1.gif" alt="submit to reddit" border="0" /> </a>']]).
   44
   45reddit(Options) -->
   46	{
   47	    option(style(plus), Options)
   48	},
   49	html([
   50	    \['<a href="http://www.reddit.com/submit" onclick="window.location = \'http://www.reddit.com/submit?url=\' + encodeURIComponent(window.location); return false"> <img src="http://www.reddit.com/static/spreddit7.gif" alt="submit to reddit" border="0" /> </a>']]).
   51
   52reddit(Options) -->
   53	{
   54	    option(style(score_only), Options)
   55	},
   56	html([
   57	    \['<script type="text/javascript" src="http://www.reddit.com/buttonlite.js?i=0"></script>']]).
   58
   59reddit(Options) -->
   60	{
   61	    option(style(tiny_score), Options)
   62	},
   63	html([
   64	    \['<script type="text/javascript" src="http://www.reddit.com/buttonlite.js?i=1"></script>']]).
   65
   66reddit(Options) -->
   67	{
   68	    option(style(tiny_vote), Options)
   69	},
   70	html([
   71	    \['<script type="text/javascript" src="http://www.reddit.com/static/button/button1.js"></script>']]).
   72
   73reddit(Options) -->
   74	{
   75		throw(error(domain_error(list, Options), context(reddit//1,
   76				   'invalid style')))
   77	},
   78	[].
 delicious(+Options:list)// is det
Creates a button to save this page on del.icio.us

Options

*/

   93delicious(Options) -->
   94	{
   95	   option(site_name(CoName), Options, 'set site_name'),
   96	   option(save_text(SaveText), Options, 'Save this on Delicious'),
   97	   uri_encoded(query_value, CoName, URLCoName),
   98	   format(atom(OnClick),
   99 'window.open(\'http://delicious.com/save?v=5&provider=~w&noui&jump=close&url=\'+
  100              encodeURIComponent(location.href)+
  101            \'&title=\'+encodeURIComponent(document.title),
  102	    \'delicious\',
  103	    \'toolbar=no,width=550,height=550\'); return false;', [URLCoName] )
  104	},
  105	html([img([
  106		  src('/icons/delicious.gif'),
  107		      height(16),
  108		      width(16),
  109		      alt('Delicious')], []),
  110	      a([href('#'), onclick(OnClick)], [SaveText])
  111		])