I have often expressed my wish to re-do the PHP website as valid XHTML/CSS (without breaking older browsers either!). I have been doing this stuff generally for about 9 months now and have 10 million hacks up my sleeves to make IE6 accept standards compliant code.
I was going to do an extensive example of using XHTML/CSS and then reveal it in the hopes that I would be allowed to create a CVS branch and finish the XHTML/CSS version with the aid of the community...
As you have already gone some way into doing the XHTML (valid transitional! now lets try strict! :) pretty much valid CSS (just a few warning that can easily be gotten rid of by adding: "background-color: transparent;" to each of the selectors with warnings) and Rasmus has expressed his wish to move in this direction, I would like to openly offer my help to do exactly this. I have yet to take a look at the PHP website source (I understand its quite attrocious) but any help I can give I will do so :)
Hi Davey!
I have updated
http://goba.hu/phpnet/ to be strict XHTML 1.0 compliant and fully valid CSS (without warnings) on W3C validators. It still looks the same of course and before (plus I have added the container table and the content div to add some padding in the content area).
The practical question now is how we can go on with this development. I have continually made the existing pages closer to XHTML Strict compliance, but manual pages are a different matter. They will only get XHTML compliant with the upcoming livedocs (which will be used hopefully by the end of this year on the site exclusively).
Till then we can open a different branch in phpweb, but there are practically only three things that are different on standard compliant pages: the header, the footer (which also print out the three column layout) and the style sheet (which need to be replaced to start from scratch and to avoid dealing with incompatible styles). Most of the other things need no modification in the new branch. So it would be sufficient to just add two new functions (header, footer) to the layout.inc file, which will invoke a different CSS file, and start to make the pages one-by-one to be compatible with the new strict compliance requirement and to use the new functions. That is if we start from the least important pages won't add too much problems (reports that the site is not layed out as expected), while give us the most used place to test, the php website.
My layout experiment is already ready for pages like the usage, thanks and some other less used ones, where we can experiment with the new solutions without problems.
This may seem a bit messy workflow for this transition, but as most of the page content is already XHTML strict compliant, I don't see a need to open a new branch.
Opinions?
Goba