Technical Blog

FreshTags as API

Posted on

The new FreshTags system comes with many benefits, such as the WidgetData system and also a more flexible interaction with the code itself.

Some basic example of this are the widgets one can create just using different settings. To include a feed in your sidebar you can add this code in with the other FreshTags settings data:

//feed widget
WidgetData[‘freshtags’][‘freshtags_FeedName‘] = {

And this code wherever you want the feed headlines to display:

<div id=”freshtags_FeedName“><i>Loading Feed…</i></div>

Similarly, a minor tweak to that code yeilds ‘Generic FreshTags’ behaviour as existed in the original FreshTags release:

//generic widget
WidgetData[‘freshtags’][‘freshtags_generic’] = {


<div id=”freshtags_generic”><i>Loading…</i></div>

Peek-a-boo headlines functionality also remains:

//Headlines Widget
WidgetData[‘freshtags’][‘BlogNameheadlines’] = {
‘username’:’ username for blog‘,
‘anchor’:’anchor tag for blog‘,
‘feedurl’:’FeedURL for blog‘,


<a id=”BlogNamelink” href=”javascript:toggleitem(‘BlogNameheadlines’,’BlogNamelink’,’-‘);freshtags_load(‘BlogNameheadlines’);”>+</a>
<a href=”BlogURL“>BlogName</a>
<div id=”BlogNameheadlines” style=”display:none;”><i>Loading…</i></div>

Note that the following must be included in the <head> section of your blog for this to work:

<script type=”text/javascript”>
function toggleitem(postid,linkid,newtxt,displaytype) {
if(!displaytype) {displaytype = ‘block’;}
var whichpost = document.getElementById(postid);
if ( != “none”) { = “none”;
} else { = displaytype;
if(linkid) {
var lnk = document.getElementById(linkid);
lnk.href = “javascript:toggleitem(‘”+postid+”‘,'”+linkid+”‘,'”+lnk.innerHTML+”‘);”;
lnk.innerHTML = newtxt;
}//end function toggleitem

Below is a list of easily externally accesible functions in FreshTags:

  • freshtags_load – called with no parameter it (re)loads all FreshTags widgets on a page. If you pass it the ID of a widget, just that widget will be (re)loaded (and associated widgets).
  • get_current_tags – takes three optional parameters, a space-separated string of default tags to use if none are found, an object containing a complete list of all tags avaliable for use in the format {‘tag’:count}, and a boolean value specifying whether or not to draw rel-tag data from the page if no tags are detected from the URL/referrer. Returns a plus-separated string of tags found or the null string (”).
  • main_tags_loaded – if you pass it false and teh ID of a FreshTags tag widget it will reload the widget (and associated widgets) without re-calling get_current_tags like freshtags_load does (thus enabling you to set the current tags to whatever you want).
  • listTags – takes the ID of a FreshTags tag widget and returns a string of the renderation to XHTML.
  • listTitles – takes the ID of a FreshTags posts (or external) widget and returns a string of the renderation to XHTML. An optional second parameter specifies whether to hide the widget when there’s no data (false, default) or

Leave a Response