I’ve recently read people complaining that the stylesheets on my WordPress CSS Styles page only work on WordPress 1.0.2, not on WordPress 1.2. They were upset that there was no notice on the page for which version of WP the styles worked with. This seems like a reasonable complaint except for one thing: as far as I can tell, the structure of index.php in WP 1.0.2 is identical to the structure of index.php in WP 1.2.
Since the structure of index.php is the same in both versions, the styles work the same on WP 1.2 as they did on 1.0.2.
Don’t take my word for it, download the versions yourself and check it out. If I missed a structural change, I’d be very glad to know about it.
The reason that I require all of the CSS files in the contest (and those that have been contributed before and since the contest) to use the default index.php as a template is very simple: my stated goal was to make a number of different styles available so that people can just drop them into a stock WP install and change the way it looks.
I didn’t create the structure of index.php, nor do I have any great attachment to it (Matt can attest to several discussions we’ve had over markup, etc.), but that isn’t the point. The default index.php is the default index.php. It is what people have to start with when they install WP.
Making the styles compatible with the default index.php isn’t meant to discourage people from changing their index.php. It is to make it a little easier for people to change the style of their blog, just by swapping the CSS. Not everyone is comfortable editing the index.php file.
For example, I created the Dots style to give people a 3-column option that would work with the default index.php. The default index.php has 2 column markup, but using some absolute positioning in the CSS, it creates a 3-column look. What the Dots style doesn’t give you is an index.php where you can easily add your own content into any of the 3 columns, because the markup for the 3 columns doesn’t exist. If you want to have a flexible 3-column layout, create an index.php with the appropriate 3-column markup, then create your own matching CSS. Using the Dots style isn’t the right way to do a 3-column layout, it is merely an option.
The styles have been contributed by a variety of different people, all with varying levels of CSS expertise. Sure, some use CSS techniques that result in little problems here and there, and many could be (and have been) improved. They are provided
If a style doesn’t work the way you want it to, don’t use it. If you think it has a problem, contact the person who submitted it and often times they will do their best to fix it and send me a new one. Remember that you are free to make whatever changes you want to WordPress and to the styles (within the GPL). Anyone can help make them better; if you think a style has a problem, fix it and send me the improved version.
I checked the index.php file in the current 1.3 nightly build and did find a very minor structural change. In 1.3, the post to post navigation links are included in the default template. I think this is a good thing to have in the template, but it does add a new element. This doesn’t necessarily break anything in the styles (the links just won’t get a targeted style), but it makes sense to add a note on the page when 1.3 is released.
My Plugged-In download includes a few styles with the style-switcher plugin activated. All you need to do to add more style options is download them from the Styles page and drop them into the ‘wp-style’ directory. This is exactly what some people are looking for, and I’m happy to provide it.