docwhat's avatardocwhat's blog

Site Redesign

I have redesigned my whole site. While a lot changes are visual, there are even more changes in the way the unseen back-end parts have changed.

Previously, I had a modified copy of the default WP 2.x theme (which is based on Kubric theme). It was reasonable markup, but I spent a lot of time modifying the classes and adding containers to hang my CSS off of. In addition, tracking the changes to the default theme was a pain.

As I read through CSS Mastery I realized that there were significantly better ways to do the markup that would allow even more powerful CSS.

About the same time I discovered the Sandbox Theme. This had a lot of the same kind of design ideas as CSS Mastery; the body element was given tags based on what page it is and everything had classes that help the CSS know where it is being applied.

I looked through some of the themes and borrowed ideas liberally. Most of the layout is from Will Wilkens’s Moo Point style sheets for Sandbox but I also looked through a lot of the Sandbox Content winners.

Even though Sandbox itself has excellent markup, there were still things that I wanted to customize and Sandbox doesn’t have any markup customization available to it. So I wrote a simple tool to do insert and replace and used that to make changes to Sandbox.

I also wrote a bunch of makefiles, in the style of ”Recursive Make Considered Harmful” and its implementation notes. You can view them in my Mercurial Repository.

Some of the advantages of the back-end build system I put together:

  • It builds everything into a build directory before installing it live.
  • The JavaScript is linted and compile checked before going live.
  • The CSS is linted and checked for some errors.
  • JavaScript and CSS are concatenated into one file each and compressed with YUI Compressor
  • The Sandbox files are tweaked to overcome issues that they won’t fix or things that that I just want different, personally. Such as my serving the content-type as XHTML for those browsers that handle it.
  • Any problems in the patching and changes will cause the build to fail, which prevents a class of brokenness from ever being made live.
  • When I’m debugging, files are not compressed and local YUI files are used instead of Yahoo Hosted versions.

The other reason I made these changes is I wanted my site to be ready for the changes coming up in Wordpress 2.3 due out tomorrow.

Of course, I like hacking around with my site too; I’m sure that was part of the motivation as well.


Edit on GitHub