I've been an on-and-off user of Delicious for some years now. The other day I came across an article (which I can't find now) by Christian Hellmann ( @codep08) in which he uses Javascript to embed selected Delicious bookmarks in his blog page. His idea was to mark up the notes part of the bookmark to identify the label for a link. In the page, Javascript retrieves the JSON feed and creates a collection of links by replacing the label with the hyperlink.
I adapted this idea to get links to use on my desktop home page. I copied Christian's idea so I now have this subset of bookmarks in which the link label is enclosed in curly braces.
http://www.delicious.com/morelysq/4blog
Insead of the JSON feed, I use the RSS feed
http://feeds.delicious.com/v2/xml/morelysq/4blog
and process these with an XQuery script. This is running on an EC2 micro-instance I've started playing with:
http://184.73.216.20/exist/rest//db/apps/delicious/bookmarks.xq?tag=4blog
My first XQuery script used string functions to construct the HTML links:
declare option exist:serialize "method=xhtml media-type=text/html"; let $tag := request:get-parameter("tag","4blog") let $feed := doc(concat("http://feeds.delicious.com/v2/xml/morelysq/",$tag,"?count=50")) return <div> {for $item in $feed//item let $link := $item/link let $description := $item/description return <div> {substring-before($description,"{")} {substring-before(substring-after($description,"{"),"}")} {substring-after($description,"}")} </div> } </div>
I include the generated div in the HTML page using an iframe (blush).
The string functions look rather clumsy so I tried a regexp:
return util:parse( concat( "<div>", replace ($description, "\{(.*)\}", concat(" $1 ") ), "</div>" ) )
Better I think but the code now depends on an eXist function to convert from string to XML. Why conversion between strings and XML (util:parse() and util:serialize() in eXist ) are not core Path functions I really dont know.
Thanks to Christian, my use of Delicious has been reinvigorated and now that I can re-use the bookmarks I'm more likely to personalise my bookmarks by writing notes.