and you know geeking out heavily is a good sign, right?
so i did the skins, & yes, the beach is back.
in the process, i rediscovered how much it annoys me to have all the cgi pages unskinned -- the trackback popups, the comment preview & error templates, & the search pages. out of sight, sure, but not out of mind. not out of mine, at least.
so i searched, and i searched. none of the usual suspects had anything on this, but with all the dynamic template object plugin fanciness going on out there these days, well ... it's both quaint & archaic that i've gone & solved my old skinned cgi page problem now, isn't it?
i don't know why i didn't think of this long, long ago - the skin is a cookie, yes? cookies work in cgi pages, with javascript they do, yeppers. so it was as not-so-easy as grabbing the cookie-getter script off the comments popup page, telling it to go find the skin cookie, & then writing ugly annoying document.write(' ... ') statements (badly - this is something i do badly) wherever something needed skinning.
i've included an example, just for the heck of it.
<script type="text/javascript" language="javascript">
<!--
var HOST = 'http://dotlizard.com';
// Copyright (c) 1996-1997 Athenia Associates.
// http://www.webreference.com/js/
// License is granted if and only if this entire
// copyright notice is included. By Tomer Shiran.
function setCookie (name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
document.cookie = curCookie;
}
function getCookie (name) {
var prefix = name + '=';
var c = document.cookie;
var nullstring = '';
var cookieStartIndex = c.indexOf(prefix);
if (cookieStartIndex == -1)
return nullstring;
var cookieEndIndex = c.indexOf(";", cookieStartIndex + prefix.length);
if (cookieEndIndex == -1)
cookieEndIndex = c.length;
return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}
function fixDate (date) {
var base = new Date(0);
var skew = base.getTime();
if (skew > 0)
date.setTime(date.getTime() - skew);
}
var theskin = getCookie("skin");
document.write('<link rel=\"stylesheet\" href=\"http://dotlizard.com/skins/');
document.write(theskin);
document.write('/style.css\" type=\"text/css\">');
-->
</script>
</head>
<body leftmargin="0" topmargin="0" marginheight="0" marginwidth="0">
<div id="banner"><img src="http://dotlizard.com/skins/1/spacer.gif" WIDTH="2" HEIGHT="186" BORDER="0" ALT="spacer, the final frontier"></div>
<div id="lizard"><a href="http://dotlizard.com">
<script type="text/javascript" language="javascript">
document.write('<img src=\"http://dotlizard.com/skins/');
document.write(theskin);
document.write('/sitename.gif\" WIDTH=\"278\" HEIGHT=\"40\" BORDER=\"0\" ALT=\"dot lizard dot com\">');
</script>






Crirspy's comin' home???
How cool is that? Yeah!
now. could you. if you don't mind. place a link somewhere to this?
very cool liz! now i just have to figure out how to link a different skin to each catagory... i think duncan may have done it. must go pick his brain. mmm. pickled brain. don't mind me. i think it's the full moon. ;o)
I know that ScriptyGoddess published a way to skin the TB box, if you were using MySQL but that's as close as I've seen. I know they're taking submissions for things over there, maybe you should submit this?
Ooooo.... Something cool to play with!
Thanks, liz! ...and here I thought I was all caught up.
Way cool...
I leave you grown ups to tackle the whole "skinning" issue. Way too much for my tatse. Looks good though.
my trackback popups friggin' rock, too.
& i am also going to bring back version bee, i'll have a full version history except for that first one which -- yawn, y'know? i don't even use it on the site i originally stole it from (this one, which i just made look half-decent)