I just rocked the Casbah and released my new subtext skin live. I'm going to update PeaceLoveCode tomorrow I think in an all out coding fest and make it XML data source driven. Maybe record the entire process of coding it too while I'm at it. Hopefully my mom won't request me to do any tasks but I think that is doubtful.
As for the skin, I think there is still 2 more small CSS tweaks I want to do. Make the blockquote element have some snazziness and I'm not 100% happy with the shading yet too.
Source for this can be found at PeaceLoveCode. To add in the skin if you want to, you'll need to go into your Admin folder in your subtext instance this in your Skins.config folder.
<SkinTemplate Name="Better Than Everyone" TemplateFolder="BetterThanEveryone">
<Styles>
<Style href="Styles/print.css" media="print" />
<Style href="Styles/Main.css" media="screen" />
</Styles>
<Scripts>
<Script Src="scripts/rounded_corners_lite.inc.js" />
<Script Src="scripts/jsWorker.js" />
</Scripts>
</SkinTemplate>
Cool things about the skin is the top background image. I added in some caching / smart directory searching for images. Here is the source I added into the header.ascx file in the skin, by downloading it, you can see what I did too. One interesting thing I didn't know was I had to do this for the source to run, I thought I could do a <% and it would have worked.
<script language="C#" runat="server"></script>
c# code
private const string cacheKey = "headerImageList";
private readonly Random r = new Random(DateTime.Now.Millisecond);
public string GetBackgroundImage(string filePath)
{
System.Collections.Specialized.StringCollection fileList;
if (Cache[cacheKey] == null)
{
fileList = new System.Collections.Specialized.StringCollection();
fileList.AddRange(System.IO.Directory.GetFiles(Server.MapPath(filePath), "*.jpg"));
fileList.AddRange(System.IO.Directory.GetFiles(Server.MapPath(filePath), "*.gif"));
fileList.AddRange(System.IO.Directory.GetFiles(Server.MapPath(filePath), "*.png"));
Cache.Add(cacheKey, fileList, null, DateTime.Now.AddHours(1),
TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Normal, null);
}
else
{
fileList = (System.Collections.Specialized.StringCollection)Cache["headerImageList"];
}
return filePath + (new System.IO.FileInfo(fileList[r.Next(0, fileList.Count)]).Name);
}
ETA for links on PLC is tomorrow afternoon CST.