blogger categories with related posts
Here is a new categories script. This categories version includes related posts, and expandable category menus. It's not the same script as you see on this blog but I did use it on the post pages. more>
To install it you type a category for your posts into the link field(?)
Enable the "link Field" for your blog (?)
(This may look like a lot of work at first, the result is much better as doing it automatic) You also need to install the mini script for expandable post zones in the template.
How to make expandable post zones#
To nest parts of a post, like here So that that clicking a link makes the text appear in-line. You need 3 bits of code: This bit of javascript >>
<script type="text/Javascript">
function togglecomments (postid) {
var whichpost = document.getElementById(postid);
if (whichpost.className=="commentshown") { whichpost.className="commenthidden"; } else { whichpost.className="commentshown"; }
} </script>
and this ccs>>
.commenthidden {display:none} .commentshown {display:inline}
need to be in the head of the template. The ccs can go just below the the <style type="text/css"> the javascript can go just above it. Then add this bit of html >>
<a aiotitle="click to expand" href="javascript:togglecomments('NAMEITHERE')">expand</a>
<div class="commenthidden" id="NAMEITHERE"></div>
to the blog post. Give it an uniqe name where it says NAMEITHERE and change "expand" to what ever you like. Type the hidden text inside the div
We need this to make the items under each category expand and collaps.
Then there is the main script>
<script type="text/javascript">
menu=""
submenu=""
var y
var z
var x = new Array();
<Blogger><BlogItemTitle>x[x.length] = new Array("<$BlogItemURL$>", "<MainOrArchivePage><$BlogItemTitle$></MainOrArchivePage>", "<$BlogItemPermalinkUrl$>");
</BlogItemTitle></Blogger>
var b = x.length
for (var y=0;y != b; y++)
{
var a = '\'' + x[y][0] + '\''
if (menu.indexOf(a) <= 0 )
{
menu=menu+'<a href=\"#\" class=\"category\" onclick=\"togglecomments(\''+x[y][0]+'\')\;ret'+'urn false;\" >'+x[y][0]+'</a><div class=\"commenthidden\" id=\"'+x[y][0]+'\">'
for (var z=0; z != b; z++)
{
if (x[y][0]==x[z][0])
{
var a = '\"' + x[z][2] + '\"'
if (menu.indexOf(a) == -1 )
{
menu = menu + '<a href=\"' + x[z][2] + '\" class=\"menuitem\">' + x[z][1] + '</a><br>'
}
}
}
menu = menu + '</div>'
} }
document.getElementById("menuos").innerHTML=menu
<Blogger>
rel = "<i>related posts:</i><br>"
for (var z=0; z != b; z++)
{
if (x[z][0]=='<$BlogItemURL$>')
{
var a = x[z][2]
if ((rel.indexOf(a) == -1 ) && ('<$BlogItemPermalinkURL$>' != a))
{
rel = rel + '<a href=\"' + x[z][2] + '\" class=\"menuitem\">' + x[z][1] + '</a><br>'
}
}
}
document.getElementById("rel<$BlogItemNumber$>").innerHTML = rel
</Blogger>
a = location.search
b = a.slice(1);
c = b;
if (c.length > 0) {
togglecomments(c);
}
</script>
Add it to the end of your template above the </body> tag, then republish. Now open a text editor and visit each archive page, right click > view source find the script and copy it's output into one text document. The oldest archive goes at the end, the newest at the top. The script output is easy to spot, this is mine for example>
x[x.length] = new Array('talk_scripts', 'design research and development', 'http://categories.blogspot.com/2006/05/design-research-and-development.html');
x[x.length] = new Array('blogger_comments', 'google video in blogspot comments', 'http://categories.blogspot.com/2006/05/google-video-in-blogspot-comments.html');
x[x.length] = new Array('google', 'adsense beginner video', 'http://categories.blogspot.com/2006/05/adsense-beginner-video.html');
x[x.length] = new Array('google', '7dollarsmagic adsense alternative', 'http://categories.blogspot.com/2006/05/7dollarsmagic-adsense-alternative.html');
x[x.length] = new Array('blogvertising', 'One for the bookmark soicopaths', 'http://categories.blogspot.com/2006/05/one-for-bookmark-soicopaths.html');
x[x.length] = new Array('examples', 'From Beyrouth to Teheran', 'http://categories.blogspot.com/2006/04/from-beyrouth-to-teheran.html');
x[x.length] = new Array('talk_scripts', 'Recreational re-creation', 'http://categories.blogspot.com/2006/04/recreational-re-creation.html');
x[x.length] = new Array('google', 'Assimilate!', 'http://categories.blogspot.com/2006/04/assimilate.html');
x[x.length] = new Array('talk_scripts', 'Uber - tag - cloudish - total - assimialtion', 'http://categories.blogspot.com/2006/04/uber-tag-cloudish-total-assimialtion.html');
x[x.length] = new Array('talk_scripts', 'technorati compost', 'http://categories.blogspot.com/2006/04/technorati-compost.html');
x[x.length] = new Array('talk_scripts', 'The author\'s gone mad, long live the author', 'http://categories.blogspot.com/2006/04/authors-gone-mad-long-live-author.html');
x[x.length] = new Array('user_interface', 'More random outbound linkage?', 'http://categories.blogspot.com/2006/04/more-random-outbound-linkage.html');
x[x.length] = new Array('blogdesign', 'New lay out', 'http://categories.blogspot.com/2006/04/new-lay-out.html');
x[x.length] = new Array('blogvertising', 'labelr', 'http://categories.blogspot.com/2006/04/labelr.html');
x[x.length] = new Array('blogger_categories', 'Easy categories for the blogger blog', 'http://categories.blogspot.com/2006/04/easy-categories-for-blogger-blog.html');
x[x.length] = new Array('blogger_comments', 'blogger comment box part2', 'http://categories.blogspot.com/2006/04/blogger-comment-box-part2.html');
x[x.length] = new Array('examples', 'alex dynamo', 'http://categories.blogspot.com/2006/04/alex-dynamo.html');
x[x.length] = new Array('blogger_scripts', 'Adsense between posts', 'http://categories.blogspot.com/2006/04/adsense-between-posts.html');
x[x.length] = new Array('examples', 'Categories at Sendungsbewusstsein', 'http://categories.blogspot.com/2006/04/categories-at-sendungsbewusstsein.html');
x[x.length] = new Array('blogger_comments', 'Blogger reply box', 'http://categories.blogspot.com/2006/04/blogger-reply-box.html');
x[x.length] = new Array('blogvertising', 'how to configure comments', 'http://categories.blogspot.com/2006/04/how-to-configure-comments.html');
x[x.length] = new Array('blogger_scripts', 'less previous posts', 'http://categories.blogspot.com/2006/04/less-previous-posts.html');
x[x.length] = new Array('tools', 'Feed2JS', 'http://categories.blogspot.com/2006/04/feed2js.html');
x[x.length] = new Array('blogger_scripts', 'Blogger admin menu', 'http://categories.blogspot.com/2006/04/blogger-admin-menu.html');
x[x.length] = new Array('blogger_scripts', 'MainOrItemPage \& ArchiveOrItemPage', 'http://categories.blogspot.com/2006/03/mainoritempage-archiveoritempage.html');
x[x.length] = new Array('blogger_comments', 'Comments and adsense', 'http://categories.blogspot.com/2006/03/comments-and-adsense.html');
x[x.length] = new Array('blogger_comments', 'egold comments', 'http://categories.blogspot.com/2006/03/egold-comments.html');
x[x.length] = new Array('HTML', 'Cross page data transfer', 'http://categories.blogspot.com/2006/03/cross-page-data-transfer.html');
x[x.length] = new Array('blogger_comments', 'How to set up a google group for your blog', 'http://categories.blogspot.com/2006/03/how-to-set-up-google-group-for-your.html');
x[x.length] = new Array('blogvertising', 'How to add banner code to your post', 'http://categories.blogspot.com/2006/03/how-to-add-banner-code-to-your-post.html');
x[x.length] = new Array('blogvertising', 'New ideas', 'http://categories.blogspot.com/2006/03/new-ideas.html');
x[x.length] = new Array('Hardware', 'miss replaced my p4p800 e de luxe with a p4p800x in order to not-fix it', 'http://categories.blogspot.com/2006/03/miss-replaced-my-p4p800-e-de-luxe-with.html');
x[x.length] = new Array('blogvertising', 'mouseover banneradvertising', 'http://categories.blogspot.com/2006/02/mouseover-banneradvertising.html');
x[x.length] = new Array('blogger_comments', 'It\'s 0 comment<b>S</b> 1 comment and 2 comment<b>S</b>', 'http://categories.blogspot.com/2006/02/its-0-comments-1-comment-and-2.html');
x[x.length] = new Array('Blogger_graphics', 'Image preloader', 'http://categories.blogspot.com/2006/02/image-preloader.html');
x[x.length] = new Array('blogvertising', 'Spam blogs don\'t work?', 'http://categories.blogspot.com/2006/02/spam-blogs-dont-work.html');
x[x.length] = new Array('Blogger_graphics', 'Images in blogspot comments', 'http://categories.blogspot.com/2006/02/images-in-blogspot-comments.html');
x[x.length] = new Array('blogger_scripts', 'Yahoo! 360° <b>Blog this</b> for blogger blogs', 'http://categories.blogspot.com/2006/02/yahoo-360-blog-this-for-blogger-blogs.html');
x[x.length] = new Array('google', 'Blogger Forum - Blogging help, tips, Blogger support, and blog forum', 'http://categories.blogspot.com/2006/02/blogger-forum-blogging-help-tips.html');
x[x.length] = new Array('google', 'HTML Basics - Google Video', 'http://categories.blogspot.com/2006/02/html-basics-google-video.html');
x[x.length] = new Array('Gmail', 'Import yahoo contacts into Gmail', 'http://categories.blogspot.com/2006/02/import-yahoo-contacts-into-gmail.html');
x[x.length] = new Array('Google', 'Breaking the blog', 'http://categories.blogspot.com/2006/01/breaking-blog.html');
x[x.length] = new Array('blogger_comments', 'Blogsearch rss better as <b>Google</b>?', 'http://categories.blogspot.com/2006/01/blogsearch-rss-better-as-google.html');
x[x.length] = new Array('Gmail', 'Just stop bookmarking - get those Google alerts', 'http://categories.blogspot.com/2006/01/just-stop-bookmarking-get-those-google.html');
x[x.length] = new Array('blogger_categories', 'Categories for Blogger - The winning solution [blogger hacks]', 'http://categories.blogspot.com/2006/01/categories-for-blogger-winning.html');
x[x.length] = new Array('Feedburner', 'FeedBlitz email subscription', 'http://categories.blogspot.com/2006/01/feedblitz-email-subscription.html');
x[x.length] = new Array('Google', 'Talking the template', 'http://categories.blogspot.com/2006/01/talking-template.html');
x[x.length] = new Array('blogger_categories', 'how does each post know what category it is', 'http://categories.blogspot.com/2006/01/how-does-each-post-know-what-category.html');
x[x.length] = new Array('the_categories_template', 'Wishes, Bugs \& feature requests', 'http://categories.blogspot.com/2006/01/wishes-bugs-feature-requests.html');
x[x.length] = new Array('blogger_scripts', 'Selective next post link', 'http://categories.blogspot.com/2006/01/selective-next-post-link.html');
x[x.length] = new Array('blogger_scripts', '11 posts per post page', 'http://categories.blogspot.com/2006/01/11-posts-per-post-page.html');
x[x.length] = new Array('artificial_intelligence', 'Living machines', 'http://categories.blogspot.com/2006/01/living-machines.html');
x[x.length] = new Array('Hardware', 'DHL over DSL', 'http://categories.blogspot.com/2006/01/dhl-over-dsl.html');
x[x.length] = new Array('the_categories_template', 'Categories', 'http://categories.blogspot.com/2005/12/categories.html');
x[x.length] = new Array('blogger_scripts', 'The ultimate Blogger secret', 'http://categories.blogspot.com/2005/12/ultimate-blogger-secret.html');
x[x.length] = new Array('blogger_comments', 'I blog, you comment, I reply \& you say nothing!! AHHHH!!!', 'http://categories.blogspot.com/2005/12/i-blog-you-comment-i-reply-you-say.html');
x[x.length] = new Array('the_categories_template', 'A new "read more" link', 'http://categories.blogspot.com/2005/12/new-link.html');
x[x.length] = new Array('blogdesign', 'Changing the categories - "this document is best viewed printed on paper far away from electrical devices.', 'http://categories.blogspot.com/2005/12/changing-categories-this-document-is.html');
x[x.length] = new Array('the_categories_template', 'Cut down the javascript', 'http://categories.blogspot.com/2005/12/cut-down-javascript.html');
x[x.length] = new Array('Google', 'Singapore Web Hosting Blog - Google Analytics and Google SEO', 'http://categories.blogspot.com/2005/12/singapore-web-hosting-blog-google.html');
x[x.length] = new Array('the_categories_template', 'a different CSS for each post', 'http://categories.blogspot.com/2005/12/different-css-for-each-post.html');
x[x.length] = new Array('blogger_scripts', 'Notify Blogger about objectionable content. What does this mean? Blogger · Get your own blog · Flag Blog · Next blog · BlogThis!', 'http://categories.blogspot.com/2005/12/notify-blogger-about-objectionable.html');
x[x.length] = new Array('blogvertising', 'Search Engine Optimization Page Factors: Optimizing Meta Tags | LevelTen KnowledgeBase', 'http://categories.blogspot.com/2005/12/search-engine-optimization-page.html');
x[x.length] = new Array('the_categories_template', 'Warp speed browsing by subject', 'http://categories.blogspot.com/2005/12/warp-speed-browsing-by-subject.html');
x[x.length] = new Array('blogvertising', 'Finding readers', 'http://categories.blogspot.com/2005/12/finding-readers.html');
x[x.length] = new Array('blogger_scripts', 'blogspot NEXT post links [move to older post]', 'http://categories.blogspot.com/2005/12/blogspot-next-post-links-move-to-older.html');
x[x.length] = new Array('the_categories_template', 'The complex tempate V2', 'http://categories.blogspot.com/2005/12/complex-tempate-v2.html');
x[x.length] = new Array('the_categories_template', 'machine search vs human interface: Adding graphics to categories', 'http://categories.blogspot.com/2005/12/machine-search-vs-human-interface.html');
x[x.length] = new Array('blogvertising', 'HTMLDOC PDF-o-matic - Easy Software Products', 'http://categories.blogspot.com/2005/12/htmldoc-pdf-o-matic-easy-software.html');
x[x.length] = new Array('Google', 'Google hardware, it\'s coming slowly...', 'http://categories.blogspot.com/2005/12/google-hardware-its-coming-slowly.html');
x[x.length] = new Array('Gmail', 'Gmail for nerds+', 'http://categories.blogspot.com/2005/12/gmail-for-nerds.html');
x[x.length] = new Array('Blogger_graphics', 'Adding graphics to categories', 'http://categories.blogspot.com/2005/12/adding-graphics-to-categories.html');
x[x.length] = new Array('Hardware', 'What does the future of hardware have to offer?', 'http://categories.blogspot.com/2005/12/what-does-future-of-hardware-have-to.html');
x[x.length] = new Array('Google', 'Google rss, the:\"why it is crap\" [XML]', 'http://categories.blogspot.com/2005/12/google-rss-thewhy-it-is-crap-xml.html');
x[x.length] = new Array('blogger_comments', 'jsierra.net: Comment Notification Added', 'http://categories.blogspot.com/2005/12/jsierranet-comment-notification-added.html');
x[x.length] = new Array('Feedburner', 'Feedburner RSS toys, rss to email, atom to rss, clean up, fix, track or even publish rss on another site.', 'http://categories.blogspot.com/2005/12/feedburner-rss-toys-rss-to-email-atom.html');
x[x.length] = new Array('Opera', 'Why I prefer the Opera webbrowser over the current Firefox', 'http://categories.blogspot.com/2005/12/why-i-prefer-opera-webbrowser-over.html');
x[x.length] = new Array('blogger_scripts', 'how to make expandable post zones', 'http://categories.blogspot.com/2005/12/how-to-make-expandable-post-zones.html');
x[x.length] = new Array('the_categories_template', 'Making all text the same size', 'http://categories.blogspot.com/2005/12/making-all-text-same-size.html');
x[x.length] = new Array('blogvertising', 'Freelance your blog skills', 'http://categories.blogspot.com/2005/12/freelance-your-blog-skills.html');
x[x.length] = new Array('Google', 'The mind that is google - man, to be dominated', 'http://categories.blogspot.com/2005/12/mind-that-is-google-man-to-be.html');
x[x.length] = new Array('the_categories_template', 'instructions for the tagged template installation', 'http://categories.blogspot.com/2005/12/instructions-for-tagged-template.html');
x[x.length] = new Array('the_categories_template', 'Template tags for all', 'http://categories.blogspot.com/2005/12/template-tags-for-all.html');
x[x.length] = new Array('blogdesign', 'The intelect of a blog platform - "how smart can it store?"', 'http://categories.blogspot.com/2005/12/intelect-of-blog-platform-how-smart.html');
x[x.length] = new Array('user_interface', 'Is MSN search inteligent enough to filter out good looking pages true valid html?', 'http://categories.blogspot.com/2005/12/is-msn-search-inteligent-enough-to.html');
x[x.length] = new Array('blogdesign', 'Will our global artificial intelligence be able to understand documents in the same way we do?', 'http://categories.blogspot.com/2005/12/will-our-global-artificial.html');
Now we go back to the blogger template and insert everything into the original script. This would make it look like this>
<script type="text/javascript">
menu=""
submenu=""
var y
var z
var x = new Array();
<Blogger><BlogItemTitle>x[x.length] = new Array("<$BlogItemURL$>", "<MainOrArchivePage><$BlogItemTitle$></MainOrArchivePage>", "<$BlogItemPermalinkUrl$>");
</BlogItemTitle></Blogger>
x[x.length] = new Array('talk_scripts', 'design research and development', 'http://categories.blogspot.com/2006/05/design-research-and-development.html');
x[x.length] = new Array('blogger_comments', 'google video in blogspot comments', 'http://categories.blogspot.com/2006/05/google-video-in-blogspot-comments.html');
x[x.length] = new Array('google', 'adsense beginner video', 'http://categories.blogspot.com/2006/05/adsense-beginner-video.html');
x[x.length] = new Array('google', '7dollarsmagic adsense alternative', 'http://categories.blogspot.com/2006/05/7dollarsmagic-adsense-alternative.html');
x[x.length] = new Array('blogvertising', 'One for the bookmark soicopaths', 'http://categories.blogspot.com/2006/05/one-for-bookmark-soicopaths.html');
x[x.length] = new Array('examples', 'From Beyrouth to Teheran', 'http://categories.blogspot.com/2006/04/from-beyrouth-to-teheran.html');
x[x.length] = new Array('talk_scripts', 'Recreational re-creation', 'http://categories.blogspot.com/2006/04/recreational-re-creation.html');
x[x.length] = new Array('google', 'Assimilate!', 'http://categories.blogspot.com/2006/04/assimilate.html');
x[x.length] = new Array('talk_scripts', 'Uber - tag - cloudish - total - assimialtion', 'http://categories.blogspot.com/2006/04/uber-tag-cloudish-total-assimialtion.html');
x[x.length] = new Array('talk_scripts', 'technorati compost', 'http://categories.blogspot.com/2006/04/technorati-compost.html');
x[x.length] = new Array('talk_scripts', 'The author\'s gone mad, long live the author', 'http://categories.blogspot.com/2006/04/authors-gone-mad-long-live-author.html');
x[x.length] = new Array('user_interface', 'More random outbound linkage?', 'http://categories.blogspot.com/2006/04/more-random-outbound-linkage.html');
x[x.length] = new Array('blogdesign', 'New lay out', 'http://categories.blogspot.com/2006/04/new-lay-out.html');
x[x.length] = new Array('blogvertising', 'labelr', 'http://categories.blogspot.com/2006/04/labelr.html');
x[x.length] = new Array('blogger_categories', 'Easy categories for the blogger blog', 'http://categories.blogspot.com/2006/04/easy-categories-for-blogger-blog.html');
x[x.length] = new Array('blogger_comments', 'blogger comment box part2', 'http://categories.blogspot.com/2006/04/blogger-comment-box-part2.html');
x[x.length] = new Array('examples', 'alex dynamo', 'http://categories.blogspot.com/2006/04/alex-dynamo.html');
x[x.length] = new Array('blogger_scripts', 'Adsense between posts', 'http://categories.blogspot.com/2006/04/adsense-between-posts.html');
x[x.length] = new Array('examples', 'Categories at Sendungsbewusstsein', 'http://categories.blogspot.com/2006/04/categories-at-sendungsbewusstsein.html');
x[x.length] = new Array('blogger_comments', 'Blogger reply box', 'http://categories.blogspot.com/2006/04/blogger-reply-box.html');
x[x.length] = new Array('blogvertising', 'how to configure comments', 'http://categories.blogspot.com/2006/04/how-to-configure-comments.html');
x[x.length] = new Array('blogger_scripts', 'less previous posts', 'http://categories.blogspot.com/2006/04/less-previous-posts.html');
x[x.length] = new Array('tools', 'Feed2JS', 'http://categories.blogspot.com/2006/04/feed2js.html');
x[x.length] = new Array('blogger_scripts', 'Blogger admin menu', 'http://categories.blogspot.com/2006/04/blogger-admin-menu.html');
x[x.length] = new Array('blogger_scripts', 'MainOrItemPage \& ArchiveOrItemPage', 'http://categories.blogspot.com/2006/03/mainoritempage-archiveoritempage.html');
x[x.length] = new Array('blogger_comments', 'Comments and adsense', 'http://categories.blogspot.com/2006/03/comments-and-adsense.html');
x[x.length] = new Array('blogger_comments', 'egold comments', 'http://categories.blogspot.com/2006/03/egold-comments.html');
x[x.length] = new Array('HTML', 'Cross page data transfer', 'http://categories.blogspot.com/2006/03/cross-page-data-transfer.html');
x[x.length] = new Array('blogger_comments', 'How to set up a google group for your blog', 'http://categories.blogspot.com/2006/03/how-to-set-up-google-group-for-your.html');
x[x.length] = new Array('blogvertising', 'How to add banner code to your post', 'http://categories.blogspot.com/2006/03/how-to-add-banner-code-to-your-post.html');
x[x.length] = new Array('blogvertising', 'New ideas', 'http://categories.blogspot.com/2006/03/new-ideas.html');
x[x.length] = new Array('Hardware', 'miss replaced my p4p800 e de luxe with a p4p800x in order to not-fix it', 'http://categories.blogspot.com/2006/03/miss-replaced-my-p4p800-e-de-luxe-with.html');
x[x.length] = new Array('blogvertising', 'mouseover banneradvertising', 'http://categories.blogspot.com/2006/02/mouseover-banneradvertising.html');
x[x.length] = new Array('blogger_comments', 'It\'s 0 comment<b>S</b> 1 comment and 2 comment<b>S</b>', 'http://categories.blogspot.com/2006/02/its-0-comments-1-comment-and-2.html');
x[x.length] = new Array('Blogger_graphics', 'Image preloader', 'http://categories.blogspot.com/2006/02/image-preloader.html');
x[x.length] = new Array('blogvertising', 'Spam blogs don\'t work?', 'http://categories.blogspot.com/2006/02/spam-blogs-dont-work.html');
x[x.length] = new Array('Blogger_graphics', 'Images in blogspot comments', 'http://categories.blogspot.com/2006/02/images-in-blogspot-comments.html');
x[x.length] = new Array('blogger_scripts', 'Yahoo! 360° <b>Blog this</b> for blogger blogs', 'http://categories.blogspot.com/2006/02/yahoo-360-blog-this-for-blogger-blogs.html');
x[x.length] = new Array('google', 'Blogger Forum - Blogging help, tips, Blogger support, and blog forum', 'http://categories.blogspot.com/2006/02/blogger-forum-blogging-help-tips.html');
x[x.length] = new Array('google', 'HTML Basics - Google Video', 'http://categories.blogspot.com/2006/02/html-basics-google-video.html');
x[x.length] = new Array('Gmail', 'Import yahoo contacts into Gmail', 'http://categories.blogspot.com/2006/02/import-yahoo-contacts-into-gmail.html');
x[x.length] = new Array('Google', 'Breaking the blog', 'http://categories.blogspot.com/2006/01/breaking-blog.html');
x[x.length] = new Array('blogger_comments', 'Blogsearch rss better as <b>Google</b>?', 'http://categories.blogspot.com/2006/01/blogsearch-rss-better-as-google.html');
x[x.length] = new Array('Gmail', 'Just stop bookmarking - get those Google alerts', 'http://categories.blogspot.com/2006/01/just-stop-bookmarking-get-those-google.html');
x[x.length] = new Array('blogger_categories', 'Categories for Blogger - The winning solution [blogger hacks]', 'http://categories.blogspot.com/2006/01/categories-for-blogger-winning.html');
x[x.length] = new Array('Feedburner', 'FeedBlitz email subscription', 'http://categories.blogspot.com/2006/01/feedblitz-email-subscription.html');
x[x.length] = new Array('Google', 'Talking the template', 'http://categories.blogspot.com/2006/01/talking-template.html');
x[x.length] = new Array('blogger_categories', 'how does each post know what category it is', 'http://categories.blogspot.com/2006/01/how-does-each-post-know-what-category.html');
x[x.length] = new Array('the_categories_template', 'Wishes, Bugs \& feature requests', 'http://categories.blogspot.com/2006/01/wishes-bugs-feature-requests.html');
x[x.length] = new Array('blogger_scripts', 'Selective next post link', 'http://categories.blogspot.com/2006/01/selective-next-post-link.html');
x[x.length] = new Array('blogger_scripts', '11 posts per post page', 'http://categories.blogspot.com/2006/01/11-posts-per-post-page.html');
x[x.length] = new Array('artificial_intelligence', 'Living machines', 'http://categories.blogspot.com/2006/01/living-machines.html');
x[x.length] = new Array('Hardware', 'DHL over DSL', 'http://categories.blogspot.com/2006/01/dhl-over-dsl.html');
x[x.length] = new Array('the_categories_template', 'Categories', 'http://categories.blogspot.com/2005/12/categories.html');
x[x.length] = new Array('blogger_scripts', 'The ultimate Blogger secret', 'http://categories.blogspot.com/2005/12/ultimate-blogger-secret.html');
x[x.length] = new Array('blogger_comments', 'I blog, you comment, I reply \& you say nothing!! AHHHH!!!', 'http://categories.blogspot.com/2005/12/i-blog-you-comment-i-reply-you-say.html');
x[x.length] = new Array('the_categories_template', 'A new "read more" link', 'http://categories.blogspot.com/2005/12/new-link.html');
x[x.length] = new Array('blogdesign', 'Changing the categories - "this document is best viewed printed on paper far away from electrical devices.', 'http://categories.blogspot.com/2005/12/changing-categories-this-document-is.html');
x[x.length] = new Array('the_categories_template', 'Cut down the javascript', 'http://categories.blogspot.com/2005/12/cut-down-javascript.html');
x[x.length] = new Array('Google', 'Singapore Web Hosting Blog - Google Analytics and Google SEO', 'http://categories.blogspot.com/2005/12/singapore-web-hosting-blog-google.html');
x[x.length] = new Array('the_categories_template', 'a different CSS for each post', 'http://categories.blogspot.com/2005/12/different-css-for-each-post.html');
x[x.length] = new Array('blogger_scripts', 'Notify Blogger about objectionable content. What does this mean? Blogger · Get your own blog · Flag Blog · Next blog · BlogThis!', 'http://categories.blogspot.com/2005/12/notify-blogger-about-objectionable.html');
x[x.length] = new Array('blogvertising', 'Search Engine Optimization Page Factors: Optimizing Meta Tags | LevelTen KnowledgeBase', 'http://categories.blogspot.com/2005/12/search-engine-optimization-page.html');
x[x.length] = new Array('the_categories_template', 'Warp speed browsing by subject', 'http://categories.blogspot.com/2005/12/warp-speed-browsing-by-subject.html');
x[x.length] = new Array('blogvertising', 'Finding readers', 'http://categories.blogspot.com/2005/12/finding-readers.html');
x[x.length] = new Array('blogger_scripts', 'blogspot NEXT post links [move to older post]', 'http://categories.blogspot.com/2005/12/blogspot-next-post-links-move-to-older.html');
x[x.length] = new Array('the_categories_template', 'The complex tempate V2', 'http://categories.blogspot.com/2005/12/complex-tempate-v2.html');
x[x.length] = new Array('the_categories_template', 'machine search vs human interface: Adding graphics to categories', 'http://categories.blogspot.com/2005/12/machine-search-vs-human-interface.html');
x[x.length] = new Array('blogvertising', 'HTMLDOC PDF-o-matic - Easy Software Products', 'http://categories.blogspot.com/2005/12/htmldoc-pdf-o-matic-easy-software.html');
x[x.length] = new Array('Google', 'Google hardware, it\'s coming slowly...', 'http://categories.blogspot.com/2005/12/google-hardware-its-coming-slowly.html');
x[x.length] = new Array('Gmail', 'Gmail for nerds+', 'http://categories.blogspot.com/2005/12/gmail-for-nerds.html');
x[x.length] = new Array('Blogger_graphics', 'Adding graphics to categories', 'http://categories.blogspot.com/2005/12/adding-graphics-to-categories.html');
x[x.length] = new Array('Hardware', 'What does the future of hardware have to offer?', 'http://categories.blogspot.com/2005/12/what-does-future-of-hardware-have-to.html');
x[x.length] = new Array('Google', 'Google rss, the:\"why it is crap\" [XML]', 'http://categories.blogspot.com/2005/12/google-rss-thewhy-it-is-crap-xml.html');
x[x.length] = new Array('blogger_comments', 'jsierra.net: Comment Notification Added', 'http://categories.blogspot.com/2005/12/jsierranet-comment-notification-added.html');
x[x.length] = new Array('Feedburner', 'Feedburner RSS toys, rss to email, atom to rss, clean up, fix, track or even publish rss on another site.', 'http://categories.blogspot.com/2005/12/feedburner-rss-toys-rss-to-email-atom.html');
x[x.length] = new Array('Opera', 'Why I prefer the Opera webbrowser over the current Firefox', 'http://categories.blogspot.com/2005/12/why-i-prefer-opera-webbrowser-over.html');
x[x.length] = new Array('blogger_scripts', 'how to make expandable post zones', 'http://categories.blogspot.com/2005/12/how-to-make-expandable-post-zones.html');
x[x.length] = new Array('the_categories_template', 'Making all text the same size', 'http://categories.blogspot.com/2005/12/making-all-text-same-size.html');
x[x.length] = new Array('blogvertising', 'Freelance your blog skills', 'http://categories.blogspot.com/2005/12/freelance-your-blog-skills.html');
x[x.length] = new Array('Google', 'The mind that is google - man, to be dominated', 'http://categories.blogspot.com/2005/12/mind-that-is-google-man-to-be.html');
x[x.length] = new Array('the_categories_template', 'instructions for the tagged template installation', 'http://categories.blogspot.com/2005/12/instructions-for-tagged-template.html');
x[x.length] = new Array('the_categories_template', 'Template tags for all', 'http://categories.blogspot.com/2005/12/template-tags-for-all.html');
x[x.length] = new Array('blogdesign', 'The intelect of a blog platform - "how smart can it store?"', 'http://categories.blogspot.com/2005/12/intelect-of-blog-platform-how-smart.html');
x[x.length] = new Array('user_interface', 'Is MSN search inteligent enough to filter out good looking pages true valid html?', 'http://categories.blogspot.com/2005/12/is-msn-search-inteligent-enough-to.html');
x[x.length] = new Array('blogdesign', 'Will our global artificial intelligence be able to understand documents in the same way we do?', 'http://categories.blogspot.com/2005/12/will-our-global-artificial.html');
var b = x.length
for (var y=0;y != b; y++)
{
var a = '\'' + x[y][0] + '\''
if (menu.indexOf(a) <= 0 )
{
menu=menu+'<a href=\"#\" class=\"category\" onclick=\"togglecomments(\''+x[y][0]+'\')\;ret'+'urn false;\" >'+x[y][0]+'</a><div class=\"commenthidden\" id=\"'+x[y][0]+'\">'
for (var z=0; z != b; z++)
{
if (x[y][0]==x[z][0])
{
var a = '\"' + x[z][2] + '\"'
if (menu.indexOf(a) == -1 )
{
menu = menu + '<a href=\"' + x[z][2] + '\" class=\"menuitem\">' + x[z][1] + '</a><br>'
}
}
}
menu = menu + '</div>'
} }
document.getElementById("menuos").innerHTML=menu
<Blogger>
rel = "<i>related posts:</i><br>"
for (var z=0; z != b; z++)
{
if (x[z][0]=='<$BlogItemURL$>')
{
var a = x[z][2]
if ((rel.indexOf(a) == -1 ) && ('<$BlogItemPermalinkURL$>' != a))
{
rel = rel + '<a href=\"' + x[z][2] + '\" class=\"menuitem\">' + x[z][1] + '</a><br>'
}
}
}
document.getElementById("rel<$BlogItemNumber$>").innerHTML = rel
</Blogger>
a = location.search
b = a.slice(1);
c = b;
if (c.length > 0) {
togglecomments(c);
}
Now we need to place the menus This div goes under your postings inside the blogger tags, it prints out the related posts.
<div id="rel<$BlogItemNumber$>"></div><br>
Add this html where you want your categories menu to appear.
<b>categories</b><br>
<div id="menuos"></div>
I bet your readers wil be as happy as you are. :0-)
notes:
If one of your archive pages doesn't display the menu you have probably used a quote " in a post title. If that's the case, edit the output of that page and put a backslash in front of the quote(s) like so \" Don't go change the post title as that will change the url of the post.
I've have already made 2 new versions: one includes the number of posts and dropdown menus, the second version is currently on the mainpage of this blog. Again it's based on the same concept of using the link field, upgrading should be easy
To install it you type a category for your posts into the link field(?)
Enable the "link Field" for your blog (?)
It's an extra box for typing an url with a post. It can be found under "blog settings" > "Formating" It's named "Show Link Field". Set it to "yes" and republish.
We will use it to label the post. Simply add a label by typing it into the box. (?) When you edit a post the link field should be right under the title field.How to make expandable post zones#
To nest parts of a post, like here So that that clicking a link makes the text appear in-line. You need 3 bits of code: This bit of javascript >>
<script type="text/Javascript">
function togglecomments (postid) {
var whichpost = document.getElementById(postid);
if (whichpost.className=="commentshown") { whichpost.className="commenthidden"; } else { whichpost.className="commentshown"; }
} </script>
and this ccs>>
.commenthidden {display:none} .commentshown {display:inline}
need to be in the head of the template. The ccs can go just below the the <style type="text/css"> the javascript can go just above it. Then add this bit of html >>
<a aiotitle="click to expand" href="javascript:togglecomments('NAMEITHERE')">expand</a>
<div class="commenthidden" id="NAMEITHERE"></div>
to the blog post. Give it an uniqe name where it says NAMEITHERE and change "expand" to what ever you like. Type the hidden text inside the div
(thats before the </div>)
Now set it up as the post template (under blog settings > publishing) that way it always shows up if you make a new post from the dashboard. Can use as many as you like in one post or even.. put them inside eachotherThen there is the main script>
<script type="text/javascript">
menu=""
submenu=""
var y
var z
var x = new Array();
<Blogger><BlogItemTitle>x[x.length] = new Array("<$BlogItemURL$>", "<MainOrArchivePage><$BlogItemTitle$></MainOrArchivePage>", "<$BlogItemPermalinkUrl$>");
</BlogItemTitle></Blogger>
var b = x.length
for (var y=0;y != b; y++)
{
var a = '\'' + x[y][0] + '\''
if (menu.indexOf(a) <= 0 )
{
menu=menu+'<a href=\"#\" class=\"category\" onclick=\"togglecomments(\''+x[y][0]+'\')\;ret'+'urn false;\" >'+x[y][0]+'</a><div class=\"commenthidden\" id=\"'+x[y][0]+'\">'
for (var z=0; z != b; z++)
{
if (x[y][0]==x[z][0])
{
var a = '\"' + x[z][2] + '\"'
if (menu.indexOf(a) == -1 )
{
menu = menu + '<a href=\"' + x[z][2] + '\" class=\"menuitem\">' + x[z][1] + '</a><br>'
}
}
}
menu = menu + '</div>'
} }
document.getElementById("menuos").innerHTML=menu
<Blogger>
rel = "<i>related posts:</i><br>"
for (var z=0; z != b; z++)
{
if (x[z][0]=='<$BlogItemURL$>')
{
var a = x[z][2]
if ((rel.indexOf(a) == -1 ) && ('<$BlogItemPermalinkURL$>' != a))
{
rel = rel + '<a href=\"' + x[z][2] + '\" class=\"menuitem\">' + x[z][1] + '</a><br>'
}
}
}
document.getElementById("rel<$BlogItemNumber$>").innerHTML = rel
</Blogger>
a = location.search
b = a.slice(1);
c = b;
if (c.length > 0) {
togglecomments(c);
}
</script>
Add it to the end of your template above the </body> tag, then republish. Now open a text editor and visit each archive page, right click > view source find the script and copy it's output into one text document. The oldest archive goes at the end, the newest at the top. The script output is easy to spot, this is mine for example>
x[x.length] = new Array('talk_scripts', 'design research and development', 'http://categories.blogspot.com/2006/05/design-research-and-development.html');
x[x.length] = new Array('blogger_comments', 'google video in blogspot comments', 'http://categories.blogspot.com/2006/05/google-video-in-blogspot-comments.html');
x[x.length] = new Array('google', 'adsense beginner video', 'http://categories.blogspot.com/2006/05/adsense-beginner-video.html');
x[x.length] = new Array('google', '7dollarsmagic adsense alternative', 'http://categories.blogspot.com/2006/05/7dollarsmagic-adsense-alternative.html');
x[x.length] = new Array('blogvertising', 'One for the bookmark soicopaths', 'http://categories.blogspot.com/2006/05/one-for-bookmark-soicopaths.html');
x[x.length] = new Array('examples', 'From Beyrouth to Teheran', 'http://categories.blogspot.com/2006/04/from-beyrouth-to-teheran.html');
x[x.length] = new Array('talk_scripts', 'Recreational re-creation', 'http://categories.blogspot.com/2006/04/recreational-re-creation.html');
x[x.length] = new Array('google', 'Assimilate!', 'http://categories.blogspot.com/2006/04/assimilate.html');
x[x.length] = new Array('talk_scripts', 'Uber - tag - cloudish - total - assimialtion', 'http://categories.blogspot.com/2006/04/uber-tag-cloudish-total-assimialtion.html');
x[x.length] = new Array('talk_scripts', 'technorati compost', 'http://categories.blogspot.com/2006/04/technorati-compost.html');
x[x.length] = new Array('talk_scripts', 'The author\'s gone mad, long live the author', 'http://categories.blogspot.com/2006/04/authors-gone-mad-long-live-author.html');
x[x.length] = new Array('user_interface', 'More random outbound linkage?', 'http://categories.blogspot.com/2006/04/more-random-outbound-linkage.html');
x[x.length] = new Array('blogdesign', 'New lay out', 'http://categories.blogspot.com/2006/04/new-lay-out.html');
x[x.length] = new Array('blogvertising', 'labelr', 'http://categories.blogspot.com/2006/04/labelr.html');
x[x.length] = new Array('blogger_categories', 'Easy categories for the blogger blog', 'http://categories.blogspot.com/2006/04/easy-categories-for-blogger-blog.html');
x[x.length] = new Array('blogger_comments', 'blogger comment box part2', 'http://categories.blogspot.com/2006/04/blogger-comment-box-part2.html');
x[x.length] = new Array('examples', 'alex dynamo', 'http://categories.blogspot.com/2006/04/alex-dynamo.html');
x[x.length] = new Array('blogger_scripts', 'Adsense between posts', 'http://categories.blogspot.com/2006/04/adsense-between-posts.html');
x[x.length] = new Array('examples', 'Categories at Sendungsbewusstsein', 'http://categories.blogspot.com/2006/04/categories-at-sendungsbewusstsein.html');
x[x.length] = new Array('blogger_comments', 'Blogger reply box', 'http://categories.blogspot.com/2006/04/blogger-reply-box.html');
x[x.length] = new Array('blogvertising', 'how to configure comments', 'http://categories.blogspot.com/2006/04/how-to-configure-comments.html');
x[x.length] = new Array('blogger_scripts', 'less previous posts', 'http://categories.blogspot.com/2006/04/less-previous-posts.html');
x[x.length] = new Array('tools', 'Feed2JS', 'http://categories.blogspot.com/2006/04/feed2js.html');
x[x.length] = new Array('blogger_scripts', 'Blogger admin menu', 'http://categories.blogspot.com/2006/04/blogger-admin-menu.html');
x[x.length] = new Array('blogger_scripts', 'MainOrItemPage \& ArchiveOrItemPage', 'http://categories.blogspot.com/2006/03/mainoritempage-archiveoritempage.html');
x[x.length] = new Array('blogger_comments', 'Comments and adsense', 'http://categories.blogspot.com/2006/03/comments-and-adsense.html');
x[x.length] = new Array('blogger_comments', 'egold comments', 'http://categories.blogspot.com/2006/03/egold-comments.html');
x[x.length] = new Array('HTML', 'Cross page data transfer', 'http://categories.blogspot.com/2006/03/cross-page-data-transfer.html');
x[x.length] = new Array('blogger_comments', 'How to set up a google group for your blog', 'http://categories.blogspot.com/2006/03/how-to-set-up-google-group-for-your.html');
x[x.length] = new Array('blogvertising', 'How to add banner code to your post', 'http://categories.blogspot.com/2006/03/how-to-add-banner-code-to-your-post.html');
x[x.length] = new Array('blogvertising', 'New ideas', 'http://categories.blogspot.com/2006/03/new-ideas.html');
x[x.length] = new Array('Hardware', 'miss replaced my p4p800 e de luxe with a p4p800x in order to not-fix it', 'http://categories.blogspot.com/2006/03/miss-replaced-my-p4p800-e-de-luxe-with.html');
x[x.length] = new Array('blogvertising', 'mouseover banneradvertising', 'http://categories.blogspot.com/2006/02/mouseover-banneradvertising.html');
x[x.length] = new Array('blogger_comments', 'It\'s 0 comment<b>S</b> 1 comment and 2 comment<b>S</b>', 'http://categories.blogspot.com/2006/02/its-0-comments-1-comment-and-2.html');
x[x.length] = new Array('Blogger_graphics', 'Image preloader', 'http://categories.blogspot.com/2006/02/image-preloader.html');
x[x.length] = new Array('blogvertising', 'Spam blogs don\'t work?', 'http://categories.blogspot.com/2006/02/spam-blogs-dont-work.html');
x[x.length] = new Array('Blogger_graphics', 'Images in blogspot comments', 'http://categories.blogspot.com/2006/02/images-in-blogspot-comments.html');
x[x.length] = new Array('blogger_scripts', 'Yahoo! 360° <b>Blog this</b> for blogger blogs', 'http://categories.blogspot.com/2006/02/yahoo-360-blog-this-for-blogger-blogs.html');
x[x.length] = new Array('google', 'Blogger Forum - Blogging help, tips, Blogger support, and blog forum', 'http://categories.blogspot.com/2006/02/blogger-forum-blogging-help-tips.html');
x[x.length] = new Array('google', 'HTML Basics - Google Video', 'http://categories.blogspot.com/2006/02/html-basics-google-video.html');
x[x.length] = new Array('Gmail', 'Import yahoo contacts into Gmail', 'http://categories.blogspot.com/2006/02/import-yahoo-contacts-into-gmail.html');
x[x.length] = new Array('Google', 'Breaking the blog', 'http://categories.blogspot.com/2006/01/breaking-blog.html');
x[x.length] = new Array('blogger_comments', 'Blogsearch rss better as <b>Google</b>?', 'http://categories.blogspot.com/2006/01/blogsearch-rss-better-as-google.html');
x[x.length] = new Array('Gmail', 'Just stop bookmarking - get those Google alerts', 'http://categories.blogspot.com/2006/01/just-stop-bookmarking-get-those-google.html');
x[x.length] = new Array('blogger_categories', 'Categories for Blogger - The winning solution [blogger hacks]', 'http://categories.blogspot.com/2006/01/categories-for-blogger-winning.html');
x[x.length] = new Array('Feedburner', 'FeedBlitz email subscription', 'http://categories.blogspot.com/2006/01/feedblitz-email-subscription.html');
x[x.length] = new Array('Google', 'Talking the template', 'http://categories.blogspot.com/2006/01/talking-template.html');
x[x.length] = new Array('blogger_categories', 'how does each post know what category it is', 'http://categories.blogspot.com/2006/01/how-does-each-post-know-what-category.html');
x[x.length] = new Array('the_categories_template', 'Wishes, Bugs \& feature requests', 'http://categories.blogspot.com/2006/01/wishes-bugs-feature-requests.html');
x[x.length] = new Array('blogger_scripts', 'Selective next post link', 'http://categories.blogspot.com/2006/01/selective-next-post-link.html');
x[x.length] = new Array('blogger_scripts', '11 posts per post page', 'http://categories.blogspot.com/2006/01/11-posts-per-post-page.html');
x[x.length] = new Array('artificial_intelligence', 'Living machines', 'http://categories.blogspot.com/2006/01/living-machines.html');
x[x.length] = new Array('Hardware', 'DHL over DSL', 'http://categories.blogspot.com/2006/01/dhl-over-dsl.html');
x[x.length] = new Array('the_categories_template', 'Categories', 'http://categories.blogspot.com/2005/12/categories.html');
x[x.length] = new Array('blogger_scripts', 'The ultimate Blogger secret', 'http://categories.blogspot.com/2005/12/ultimate-blogger-secret.html');
x[x.length] = new Array('blogger_comments', 'I blog, you comment, I reply \& you say nothing!! AHHHH!!!', 'http://categories.blogspot.com/2005/12/i-blog-you-comment-i-reply-you-say.html');
x[x.length] = new Array('the_categories_template', 'A new "read more" link', 'http://categories.blogspot.com/2005/12/new-link.html');
x[x.length] = new Array('blogdesign', 'Changing the categories - "this document is best viewed printed on paper far away from electrical devices.', 'http://categories.blogspot.com/2005/12/changing-categories-this-document-is.html');
x[x.length] = new Array('the_categories_template', 'Cut down the javascript', 'http://categories.blogspot.com/2005/12/cut-down-javascript.html');
x[x.length] = new Array('Google', 'Singapore Web Hosting Blog - Google Analytics and Google SEO', 'http://categories.blogspot.com/2005/12/singapore-web-hosting-blog-google.html');
x[x.length] = new Array('the_categories_template', 'a different CSS for each post', 'http://categories.blogspot.com/2005/12/different-css-for-each-post.html');
x[x.length] = new Array('blogger_scripts', 'Notify Blogger about objectionable content. What does this mean? Blogger · Get your own blog · Flag Blog · Next blog · BlogThis!', 'http://categories.blogspot.com/2005/12/notify-blogger-about-objectionable.html');
x[x.length] = new Array('blogvertising', 'Search Engine Optimization Page Factors: Optimizing Meta Tags | LevelTen KnowledgeBase', 'http://categories.blogspot.com/2005/12/search-engine-optimization-page.html');
x[x.length] = new Array('the_categories_template', 'Warp speed browsing by subject', 'http://categories.blogspot.com/2005/12/warp-speed-browsing-by-subject.html');
x[x.length] = new Array('blogvertising', 'Finding readers', 'http://categories.blogspot.com/2005/12/finding-readers.html');
x[x.length] = new Array('blogger_scripts', 'blogspot NEXT post links [move to older post]', 'http://categories.blogspot.com/2005/12/blogspot-next-post-links-move-to-older.html');
x[x.length] = new Array('the_categories_template', 'The complex tempate V2', 'http://categories.blogspot.com/2005/12/complex-tempate-v2.html');
x[x.length] = new Array('the_categories_template', 'machine search vs human interface: Adding graphics to categories', 'http://categories.blogspot.com/2005/12/machine-search-vs-human-interface.html');
x[x.length] = new Array('blogvertising', 'HTMLDOC PDF-o-matic - Easy Software Products', 'http://categories.blogspot.com/2005/12/htmldoc-pdf-o-matic-easy-software.html');
x[x.length] = new Array('Google', 'Google hardware, it\'s coming slowly...', 'http://categories.blogspot.com/2005/12/google-hardware-its-coming-slowly.html');
x[x.length] = new Array('Gmail', 'Gmail for nerds+', 'http://categories.blogspot.com/2005/12/gmail-for-nerds.html');
x[x.length] = new Array('Blogger_graphics', 'Adding graphics to categories', 'http://categories.blogspot.com/2005/12/adding-graphics-to-categories.html');
x[x.length] = new Array('Hardware', 'What does the future of hardware have to offer?', 'http://categories.blogspot.com/2005/12/what-does-future-of-hardware-have-to.html');
x[x.length] = new Array('Google', 'Google rss, the:\"why it is crap\" [XML]', 'http://categories.blogspot.com/2005/12/google-rss-thewhy-it-is-crap-xml.html');
x[x.length] = new Array('blogger_comments', 'jsierra.net: Comment Notification Added', 'http://categories.blogspot.com/2005/12/jsierranet-comment-notification-added.html');
x[x.length] = new Array('Feedburner', 'Feedburner RSS toys, rss to email, atom to rss, clean up, fix, track or even publish rss on another site.', 'http://categories.blogspot.com/2005/12/feedburner-rss-toys-rss-to-email-atom.html');
x[x.length] = new Array('Opera', 'Why I prefer the Opera webbrowser over the current Firefox', 'http://categories.blogspot.com/2005/12/why-i-prefer-opera-webbrowser-over.html');
x[x.length] = new Array('blogger_scripts', 'how to make expandable post zones', 'http://categories.blogspot.com/2005/12/how-to-make-expandable-post-zones.html');
x[x.length] = new Array('the_categories_template', 'Making all text the same size', 'http://categories.blogspot.com/2005/12/making-all-text-same-size.html');
x[x.length] = new Array('blogvertising', 'Freelance your blog skills', 'http://categories.blogspot.com/2005/12/freelance-your-blog-skills.html');
x[x.length] = new Array('Google', 'The mind that is google - man, to be dominated', 'http://categories.blogspot.com/2005/12/mind-that-is-google-man-to-be.html');
x[x.length] = new Array('the_categories_template', 'instructions for the tagged template installation', 'http://categories.blogspot.com/2005/12/instructions-for-tagged-template.html');
x[x.length] = new Array('the_categories_template', 'Template tags for all', 'http://categories.blogspot.com/2005/12/template-tags-for-all.html');
x[x.length] = new Array('blogdesign', 'The intelect of a blog platform - "how smart can it store?"', 'http://categories.blogspot.com/2005/12/intelect-of-blog-platform-how-smart.html');
x[x.length] = new Array('user_interface', 'Is MSN search inteligent enough to filter out good looking pages true valid html?', 'http://categories.blogspot.com/2005/12/is-msn-search-inteligent-enough-to.html');
x[x.length] = new Array('blogdesign', 'Will our global artificial intelligence be able to understand documents in the same way we do?', 'http://categories.blogspot.com/2005/12/will-our-global-artificial.html');
Now we go back to the blogger template and insert everything into the original script. This would make it look like this>
<script type="text/javascript">
menu=""
submenu=""
var y
var z
var x = new Array();
<Blogger><BlogItemTitle>x[x.length] = new Array("<$BlogItemURL$>", "<MainOrArchivePage><$BlogItemTitle$></MainOrArchivePage>", "<$BlogItemPermalinkUrl$>");
</BlogItemTitle></Blogger>
x[x.length] = new Array('talk_scripts', 'design research and development', 'http://categories.blogspot.com/2006/05/design-research-and-development.html');
x[x.length] = new Array('blogger_comments', 'google video in blogspot comments', 'http://categories.blogspot.com/2006/05/google-video-in-blogspot-comments.html');
x[x.length] = new Array('google', 'adsense beginner video', 'http://categories.blogspot.com/2006/05/adsense-beginner-video.html');
x[x.length] = new Array('google', '7dollarsmagic adsense alternative', 'http://categories.blogspot.com/2006/05/7dollarsmagic-adsense-alternative.html');
x[x.length] = new Array('blogvertising', 'One for the bookmark soicopaths', 'http://categories.blogspot.com/2006/05/one-for-bookmark-soicopaths.html');
x[x.length] = new Array('examples', 'From Beyrouth to Teheran', 'http://categories.blogspot.com/2006/04/from-beyrouth-to-teheran.html');
x[x.length] = new Array('talk_scripts', 'Recreational re-creation', 'http://categories.blogspot.com/2006/04/recreational-re-creation.html');
x[x.length] = new Array('google', 'Assimilate!', 'http://categories.blogspot.com/2006/04/assimilate.html');
x[x.length] = new Array('talk_scripts', 'Uber - tag - cloudish - total - assimialtion', 'http://categories.blogspot.com/2006/04/uber-tag-cloudish-total-assimialtion.html');
x[x.length] = new Array('talk_scripts', 'technorati compost', 'http://categories.blogspot.com/2006/04/technorati-compost.html');
x[x.length] = new Array('talk_scripts', 'The author\'s gone mad, long live the author', 'http://categories.blogspot.com/2006/04/authors-gone-mad-long-live-author.html');
x[x.length] = new Array('user_interface', 'More random outbound linkage?', 'http://categories.blogspot.com/2006/04/more-random-outbound-linkage.html');
x[x.length] = new Array('blogdesign', 'New lay out', 'http://categories.blogspot.com/2006/04/new-lay-out.html');
x[x.length] = new Array('blogvertising', 'labelr', 'http://categories.blogspot.com/2006/04/labelr.html');
x[x.length] = new Array('blogger_categories', 'Easy categories for the blogger blog', 'http://categories.blogspot.com/2006/04/easy-categories-for-blogger-blog.html');
x[x.length] = new Array('blogger_comments', 'blogger comment box part2', 'http://categories.blogspot.com/2006/04/blogger-comment-box-part2.html');
x[x.length] = new Array('examples', 'alex dynamo', 'http://categories.blogspot.com/2006/04/alex-dynamo.html');
x[x.length] = new Array('blogger_scripts', 'Adsense between posts', 'http://categories.blogspot.com/2006/04/adsense-between-posts.html');
x[x.length] = new Array('examples', 'Categories at Sendungsbewusstsein', 'http://categories.blogspot.com/2006/04/categories-at-sendungsbewusstsein.html');
x[x.length] = new Array('blogger_comments', 'Blogger reply box', 'http://categories.blogspot.com/2006/04/blogger-reply-box.html');
x[x.length] = new Array('blogvertising', 'how to configure comments', 'http://categories.blogspot.com/2006/04/how-to-configure-comments.html');
x[x.length] = new Array('blogger_scripts', 'less previous posts', 'http://categories.blogspot.com/2006/04/less-previous-posts.html');
x[x.length] = new Array('tools', 'Feed2JS', 'http://categories.blogspot.com/2006/04/feed2js.html');
x[x.length] = new Array('blogger_scripts', 'Blogger admin menu', 'http://categories.blogspot.com/2006/04/blogger-admin-menu.html');
x[x.length] = new Array('blogger_scripts', 'MainOrItemPage \& ArchiveOrItemPage', 'http://categories.blogspot.com/2006/03/mainoritempage-archiveoritempage.html');
x[x.length] = new Array('blogger_comments', 'Comments and adsense', 'http://categories.blogspot.com/2006/03/comments-and-adsense.html');
x[x.length] = new Array('blogger_comments', 'egold comments', 'http://categories.blogspot.com/2006/03/egold-comments.html');
x[x.length] = new Array('HTML', 'Cross page data transfer', 'http://categories.blogspot.com/2006/03/cross-page-data-transfer.html');
x[x.length] = new Array('blogger_comments', 'How to set up a google group for your blog', 'http://categories.blogspot.com/2006/03/how-to-set-up-google-group-for-your.html');
x[x.length] = new Array('blogvertising', 'How to add banner code to your post', 'http://categories.blogspot.com/2006/03/how-to-add-banner-code-to-your-post.html');
x[x.length] = new Array('blogvertising', 'New ideas', 'http://categories.blogspot.com/2006/03/new-ideas.html');
x[x.length] = new Array('Hardware', 'miss replaced my p4p800 e de luxe with a p4p800x in order to not-fix it', 'http://categories.blogspot.com/2006/03/miss-replaced-my-p4p800-e-de-luxe-with.html');
x[x.length] = new Array('blogvertising', 'mouseover banneradvertising', 'http://categories.blogspot.com/2006/02/mouseover-banneradvertising.html');
x[x.length] = new Array('blogger_comments', 'It\'s 0 comment<b>S</b> 1 comment and 2 comment<b>S</b>', 'http://categories.blogspot.com/2006/02/its-0-comments-1-comment-and-2.html');
x[x.length] = new Array('Blogger_graphics', 'Image preloader', 'http://categories.blogspot.com/2006/02/image-preloader.html');
x[x.length] = new Array('blogvertising', 'Spam blogs don\'t work?', 'http://categories.blogspot.com/2006/02/spam-blogs-dont-work.html');
x[x.length] = new Array('Blogger_graphics', 'Images in blogspot comments', 'http://categories.blogspot.com/2006/02/images-in-blogspot-comments.html');
x[x.length] = new Array('blogger_scripts', 'Yahoo! 360° <b>Blog this</b> for blogger blogs', 'http://categories.blogspot.com/2006/02/yahoo-360-blog-this-for-blogger-blogs.html');
x[x.length] = new Array('google', 'Blogger Forum - Blogging help, tips, Blogger support, and blog forum', 'http://categories.blogspot.com/2006/02/blogger-forum-blogging-help-tips.html');
x[x.length] = new Array('google', 'HTML Basics - Google Video', 'http://categories.blogspot.com/2006/02/html-basics-google-video.html');
x[x.length] = new Array('Gmail', 'Import yahoo contacts into Gmail', 'http://categories.blogspot.com/2006/02/import-yahoo-contacts-into-gmail.html');
x[x.length] = new Array('Google', 'Breaking the blog', 'http://categories.blogspot.com/2006/01/breaking-blog.html');
x[x.length] = new Array('blogger_comments', 'Blogsearch rss better as <b>Google</b>?', 'http://categories.blogspot.com/2006/01/blogsearch-rss-better-as-google.html');
x[x.length] = new Array('Gmail', 'Just stop bookmarking - get those Google alerts', 'http://categories.blogspot.com/2006/01/just-stop-bookmarking-get-those-google.html');
x[x.length] = new Array('blogger_categories', 'Categories for Blogger - The winning solution [blogger hacks]', 'http://categories.blogspot.com/2006/01/categories-for-blogger-winning.html');
x[x.length] = new Array('Feedburner', 'FeedBlitz email subscription', 'http://categories.blogspot.com/2006/01/feedblitz-email-subscription.html');
x[x.length] = new Array('Google', 'Talking the template', 'http://categories.blogspot.com/2006/01/talking-template.html');
x[x.length] = new Array('blogger_categories', 'how does each post know what category it is', 'http://categories.blogspot.com/2006/01/how-does-each-post-know-what-category.html');
x[x.length] = new Array('the_categories_template', 'Wishes, Bugs \& feature requests', 'http://categories.blogspot.com/2006/01/wishes-bugs-feature-requests.html');
x[x.length] = new Array('blogger_scripts', 'Selective next post link', 'http://categories.blogspot.com/2006/01/selective-next-post-link.html');
x[x.length] = new Array('blogger_scripts', '11 posts per post page', 'http://categories.blogspot.com/2006/01/11-posts-per-post-page.html');
x[x.length] = new Array('artificial_intelligence', 'Living machines', 'http://categories.blogspot.com/2006/01/living-machines.html');
x[x.length] = new Array('Hardware', 'DHL over DSL', 'http://categories.blogspot.com/2006/01/dhl-over-dsl.html');
x[x.length] = new Array('the_categories_template', 'Categories', 'http://categories.blogspot.com/2005/12/categories.html');
x[x.length] = new Array('blogger_scripts', 'The ultimate Blogger secret', 'http://categories.blogspot.com/2005/12/ultimate-blogger-secret.html');
x[x.length] = new Array('blogger_comments', 'I blog, you comment, I reply \& you say nothing!! AHHHH!!!', 'http://categories.blogspot.com/2005/12/i-blog-you-comment-i-reply-you-say.html');
x[x.length] = new Array('the_categories_template', 'A new "read more" link', 'http://categories.blogspot.com/2005/12/new-link.html');
x[x.length] = new Array('blogdesign', 'Changing the categories - "this document is best viewed printed on paper far away from electrical devices.', 'http://categories.blogspot.com/2005/12/changing-categories-this-document-is.html');
x[x.length] = new Array('the_categories_template', 'Cut down the javascript', 'http://categories.blogspot.com/2005/12/cut-down-javascript.html');
x[x.length] = new Array('Google', 'Singapore Web Hosting Blog - Google Analytics and Google SEO', 'http://categories.blogspot.com/2005/12/singapore-web-hosting-blog-google.html');
x[x.length] = new Array('the_categories_template', 'a different CSS for each post', 'http://categories.blogspot.com/2005/12/different-css-for-each-post.html');
x[x.length] = new Array('blogger_scripts', 'Notify Blogger about objectionable content. What does this mean? Blogger · Get your own blog · Flag Blog · Next blog · BlogThis!', 'http://categories.blogspot.com/2005/12/notify-blogger-about-objectionable.html');
x[x.length] = new Array('blogvertising', 'Search Engine Optimization Page Factors: Optimizing Meta Tags | LevelTen KnowledgeBase', 'http://categories.blogspot.com/2005/12/search-engine-optimization-page.html');
x[x.length] = new Array('the_categories_template', 'Warp speed browsing by subject', 'http://categories.blogspot.com/2005/12/warp-speed-browsing-by-subject.html');
x[x.length] = new Array('blogvertising', 'Finding readers', 'http://categories.blogspot.com/2005/12/finding-readers.html');
x[x.length] = new Array('blogger_scripts', 'blogspot NEXT post links [move to older post]', 'http://categories.blogspot.com/2005/12/blogspot-next-post-links-move-to-older.html');
x[x.length] = new Array('the_categories_template', 'The complex tempate V2', 'http://categories.blogspot.com/2005/12/complex-tempate-v2.html');
x[x.length] = new Array('the_categories_template', 'machine search vs human interface: Adding graphics to categories', 'http://categories.blogspot.com/2005/12/machine-search-vs-human-interface.html');
x[x.length] = new Array('blogvertising', 'HTMLDOC PDF-o-matic - Easy Software Products', 'http://categories.blogspot.com/2005/12/htmldoc-pdf-o-matic-easy-software.html');
x[x.length] = new Array('Google', 'Google hardware, it\'s coming slowly...', 'http://categories.blogspot.com/2005/12/google-hardware-its-coming-slowly.html');
x[x.length] = new Array('Gmail', 'Gmail for nerds+', 'http://categories.blogspot.com/2005/12/gmail-for-nerds.html');
x[x.length] = new Array('Blogger_graphics', 'Adding graphics to categories', 'http://categories.blogspot.com/2005/12/adding-graphics-to-categories.html');
x[x.length] = new Array('Hardware', 'What does the future of hardware have to offer?', 'http://categories.blogspot.com/2005/12/what-does-future-of-hardware-have-to.html');
x[x.length] = new Array('Google', 'Google rss, the:\"why it is crap\" [XML]', 'http://categories.blogspot.com/2005/12/google-rss-thewhy-it-is-crap-xml.html');
x[x.length] = new Array('blogger_comments', 'jsierra.net: Comment Notification Added', 'http://categories.blogspot.com/2005/12/jsierranet-comment-notification-added.html');
x[x.length] = new Array('Feedburner', 'Feedburner RSS toys, rss to email, atom to rss, clean up, fix, track or even publish rss on another site.', 'http://categories.blogspot.com/2005/12/feedburner-rss-toys-rss-to-email-atom.html');
x[x.length] = new Array('Opera', 'Why I prefer the Opera webbrowser over the current Firefox', 'http://categories.blogspot.com/2005/12/why-i-prefer-opera-webbrowser-over.html');
x[x.length] = new Array('blogger_scripts', 'how to make expandable post zones', 'http://categories.blogspot.com/2005/12/how-to-make-expandable-post-zones.html');
x[x.length] = new Array('the_categories_template', 'Making all text the same size', 'http://categories.blogspot.com/2005/12/making-all-text-same-size.html');
x[x.length] = new Array('blogvertising', 'Freelance your blog skills', 'http://categories.blogspot.com/2005/12/freelance-your-blog-skills.html');
x[x.length] = new Array('Google', 'The mind that is google - man, to be dominated', 'http://categories.blogspot.com/2005/12/mind-that-is-google-man-to-be.html');
x[x.length] = new Array('the_categories_template', 'instructions for the tagged template installation', 'http://categories.blogspot.com/2005/12/instructions-for-tagged-template.html');
x[x.length] = new Array('the_categories_template', 'Template tags for all', 'http://categories.blogspot.com/2005/12/template-tags-for-all.html');
x[x.length] = new Array('blogdesign', 'The intelect of a blog platform - "how smart can it store?"', 'http://categories.blogspot.com/2005/12/intelect-of-blog-platform-how-smart.html');
x[x.length] = new Array('user_interface', 'Is MSN search inteligent enough to filter out good looking pages true valid html?', 'http://categories.blogspot.com/2005/12/is-msn-search-inteligent-enough-to.html');
x[x.length] = new Array('blogdesign', 'Will our global artificial intelligence be able to understand documents in the same way we do?', 'http://categories.blogspot.com/2005/12/will-our-global-artificial.html');
var b = x.length
for (var y=0;y != b; y++)
{
var a = '\'' + x[y][0] + '\''
if (menu.indexOf(a) <= 0 )
{
menu=menu+'<a href=\"#\" class=\"category\" onclick=\"togglecomments(\''+x[y][0]+'\')\;ret'+'urn false;\" >'+x[y][0]+'</a><div class=\"commenthidden\" id=\"'+x[y][0]+'\">'
for (var z=0; z != b; z++)
{
if (x[y][0]==x[z][0])
{
var a = '\"' + x[z][2] + '\"'
if (menu.indexOf(a) == -1 )
{
menu = menu + '<a href=\"' + x[z][2] + '\" class=\"menuitem\">' + x[z][1] + '</a><br>'
}
}
}
menu = menu + '</div>'
} }
document.getElementById("menuos").innerHTML=menu
<Blogger>
rel = "<i>related posts:</i><br>"
for (var z=0; z != b; z++)
{
if (x[z][0]=='<$BlogItemURL$>')
{
var a = x[z][2]
if ((rel.indexOf(a) == -1 ) && ('<$BlogItemPermalinkURL$>' != a))
{
rel = rel + '<a href=\"' + x[z][2] + '\" class=\"menuitem\">' + x[z][1] + '</a><br>'
}
}
}
document.getElementById("rel<$BlogItemNumber$>").innerHTML = rel
</Blogger>
a = location.search
b = a.slice(1);
c = b;
if (c.length > 0) {
togglecomments(c);
}
Now we need to place the menus This div goes under your postings inside the blogger tags, it prints out the related posts.
<div id="rel<$BlogItemNumber$>"></div><br>
Add this html where you want your categories menu to appear.
<b>categories</b><br>
<div id="menuos"></div>
I bet your readers wil be as happy as you are. :0-)
notes:
If one of your archive pages doesn't display the menu you have probably used a quote " in a post title. If that's the case, edit the output of that page and put a backslash in front of the quote(s) like so \" Don't go change the post title as that will change the url of the post.
I've have already made 2 new versions: one includes the number of posts and dropdown menus, the second version is currently on the mainpage of this blog. Again it's based on the same concept of using the link field, upgrading should be easy

Blogspot admin live-bookmark [rss]
Replace the parts in red:
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Admin Categories</title>
<link>http://www.blogger.com/</link>
<description>a live bookmark nav menu by gaby de wilde</description>
<language>en-us</language>
<pubDate>Mon, 01 Jan 2006 04:00:00 GMT</pubDate>
<lastBuildDate>Mon, 01 Jan 2006 04:00:00 GMT</lastBuildDate>
<docs></docs>
<generator>by hand</generator>
<managingEditor>gdewilde@gmail.com</managingEditor>
<webMaster>gdewilde@gmail.com</webMaster>
<item>
<title>posting - Create</title>
<link>http://www.blogger.com/post-create.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>1</guid>
</item>
<item>
<title>posting - Edit posts </title>
<link>http://www.blogger.com/posts.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>2</guid>
</item>
<item>
<title>posting - Moderate comments</title>
<link>http://www.blogger.com/moderate-comment.g?blogID=19723373</link>
<description> </description>
<pubDate></pubDate>
<guid>3</guid>
</item>
<item>
<title>posting - Status </title>
<link>http://www.blogger.com/publish.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>4</guid>
</item>
<item>
<title> </title>
<link>http://categories.blogspot.com/</link>
<description></description>
<pubDate></pubDate>
<guid>5</guid>
</item>
<item>
<title>settings - basic</title>
<link>http://www.blogger.com/blog-options-basic.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>6</guid>
</item>
<item>
<title>settings - Publishing</title>
<link>http://www.blogger.com/blog-publishing.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>7</guid>
</item>
<item>
<title>settings - Formatting</title>
<link>http://www.blogger.com/blog-formatting.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>8</guid>
</item>
<item>
<title>settings - Comments</title>
<link>http://www.blogger.com/blog-comments.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>9</guid>
</item>
<item>
<title>settings - Archiving</title>
<link>http://www.blogger.com/blog-options-archiving.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>10</guid>
</item>
<item>
<title>settings - Site Feed</title>
<link>http://www.blogger.com/blog-feed.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>11</guid>
</item>
<item>
<title>settings - Email</title>
<link>http://www.blogger.com/blog-options-email.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>12</guid>
</item>
<item>
<title>settings - Members</title>
<link>http://www.blogger.com/blog-members.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>13</guid>
</item>
<item>
<title> </title>
<link>http://categories.blogspot.com/</link>
<description></description>
<pubDate></pubDate>
<guid>14</guid>
</item>
<item>
<title>template - Edit current</title>
<link>http://www.blogger.com/template-edit.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>15</guid>
</item>
<item>
<title>template - AdSense</title>
<link>http://www.blogger.com/adsense-edit.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>16</guid>
</item>
<item>
<title>template - Pick new</title>
<link>http://www.blogger.com/template-choose.g?blogID=19723373</link>
<description></description>
<pubDate></pubDate>
<guid>17</guid>
</item>
<item>
<title> </title>
<link>http://categories.blogspot.com/</link>
<description></description>
<pubDate></pubDate>
<guid>18</guid>
</item>
<item>
<title>view blog</title>
<link>http://categories.blogspot.com/</link>
<description></description>
<pubDate></pubDate>
<guid>19</guid>
</item>
</channel>
</rss>
Then save it and upload it to your favorite free web host OR drag-n-drop the xml file into the firefox window.
It makes posting and editing the blog much easier.