I now have eight variations of my original peek-a-boo widget. (See also peek-a-boo HTML and peek-a-boo scrolling.) I was then asked for yet another variant. I realised that keeping these strictly in posts is insane and disorganised. So I have added the variant (open links in new window) and created a wizard. Just follow the steps and generate the code for your widget, just the way you like it!
What is the point of getting that profile section in your sidebar marked up as an hCard? There are a number of reasons. Your blog will be compatible with the features of the new Operator Firefox Extension. If you ping Pingerati (or you’re indexed by Technorati), people will be able to find you on the hCard Search Engine. There are, obviously, other reasons as well.
What’s that? Blogger doesn’t output this markup by default, and you don’t want to learn the codes? No problem! Use my new hCard Profile Wizard and follow the easy two-step process to include an hCard-compatible profile in your blog!
I toot my own horn too much. This blog has more recently been at least 90% my own code. My readership seems to be going up though (FeedBurner reporting over 60 as of yesterday).
Either way I think I’ll spend this posts talking about some of the more recent developments in the hacker community. Some of this is new, some of it is old, it is not a comprehensive list. This is just what I thought was cool recently 😉 These are in no particular order.
…has used the new Blogger ‘if’ tags (as he documented them) to create a hack that shows Google AdSense ads inside posts on item pages. My blog is ad-free. I find ads inside posts the most annoying. If I ever do ads I promise they will not interfere with the post. But at least his hack keeps them from cluttering the main page.
…has created a horizontal menu bar of your tags (yawn…) with drop-down lists of the most recent posts (cool!) Definately a hack to check out, even if you don’t install it.
Note to Hoctro : how about a way to browse your blog by date? The newest entry on the main page and then no interface for date-based archives or a prevous-post link/list. Nothing. Annoying.
Since the Blogger BETA (now the new Blogger) launch, the wiki has been stagnating just a little bit. Hacks have been rolling out at record rate from many new players. I myself have been very lax at entering all my new hacks into the Wiki. One problem was that one could not tell from the wiki if a hack was for the old or new Blogger.
No longer. The main ‘View Hacks’ link now points to the Wiki Category for the New Blogger, and I have added categories to all the hacks’ pages based on platform. We as hackers need to start adding our hacks back into this database — everyone will benefit, even us! (Who wants to duplicate work if there’s an easy way to find out someone else already did it?) There is also a category for hacks which I was unsure what platforms they would work on. I need help going through and recategorising the pages in the Platform Unknown category.
I have also done some work on the Request Hacks page. New hack requests should now be added to the top section ‘Undiscussed Requests’. After the community has posted some feedback it gets moved to under the ‘Discussed Requests’ heading. Requests which have been solved (ie, had hacks created for them) move to the Solved Requests page.
The Wiki benefits both hackers (easier to find our hacks, find other’s hacks, and get ideas for hacks from the requests page) and the general people (find hacks so much easier!) I would really like to keep it up-to-date and maintained 🙂
With some more inspiration from this man, and some help from this post I have created alternate versions of my peek-a-boo links lists and peek-a-boo HTML widgets. These ones, when expanded, are a 200-pixel-high box with a scrollbar. For those extra-long lists 😉
Link List (Click Title to Expand)
Note about installation : if you put this code into your template more than once at a time (for multiple lists) you must change the id=’ALIST’ (bold in the code) to id=’BLIST’ on the second list, etc. This code should go inside the section for your sidebar. Then, after saving, go to ‘Page Elements’ to customise its contents.
<b:widget id='ALIST' locked='false' title='List Title' type='LinkList'>
<b:includable id='main'>
<script type='text/javascript'>
//<![CDATA[
if(typeof(rnd) == 'undefined') var rnd = '';
rnd = Math.floor(Math.random()*1000);
rnd = 'id-' + rnd;
document.write('<a href="#" onclick="tmp = document.getElementById("' + rnd + '"); tmp.style.display = (tmp.style.display == "none") ? "block" : "none"; return false;">');
//]]>
</script>
<b:if cond='data:title'><h2><data:title/></h2></b:if>
<script type='text/javascript'>
//<![CDATA[
document.write('<\/a>');
//]]>
</script>
<div class='widget-content'>
<script type='text/javascript'>
//<![CDATA[
document.write('<div id="' + rnd + '" style="display:none;height:200px;overflow:auto;">');
//]]>
</script>
<ul>
<b:loop values='data:links' var='link'>
<li><a expr:href='data:link.target'><data:link.name;
</b:loop>
</ul>
<script type='text/javascript'>
//<![CDATA[
document.write('<\/div>');
//]]>
</script>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>
Link List (Click [+/-] to Expand)
Note about installation : if you put this code into your template more than once at a time (for multiple lists) you must change the id=’ALIST’ (bold in the code) to id=’BLIST’ on the second list, etc. This code should go inside the section for your sidebar. Then, after saving, go to ‘Page Elements’ to customise its contents.
<b:widget id='ALIST' locked='false' title='List Title' type='LinkList'>
<b:includable id='main'>
<script type='text/javascript'>
//<![CDATA[
if(typeof(rnd) == 'undefined') var rnd = '';
rnd = Math.floor(Math.random()*1000);
rnd = 'id-' + rnd;
document.write('<a href="#" onclick="tmp = document.getElementById("' + rnd + '"); tmp.style.display = (tmp.style.display == "none") ? "block" : "none"; return false;" style="float:left;margin-right:5px;">[+/-]<\/a>');
//]]>
</script>
<b:if cond='data:title'><h2><data:title/></h2></b:if>
<div class='widget-content'>
<script type='text/javascript'>
//<![CDATA[
document.write('<div id="' + rnd + '" style="display:none;overflow:auto;height:200px;">');
//]]>
</script>
<ul>
<b:loop values='data:links' var='link'>
<li><a expr:href='data:link.target'><data:link.name;
</b:loop>
</ul>
<script type='text/javascript'>
//<![CDATA[
document.write('<\/div>');
//]]>
</script>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>