[edited to add:
*This site, since this article was written, has been completely rewritten. I'm no longer responsible for anything you see there in the way that I normally am. I tried my best, but we're working with Drupal in a big way so most of the markup, etc. is simply out of my hands. So, I don't really feel any ownership at all for the UI layer. Let's call it an Alan Smithee project.]
Behold the glory of eforallexpo.com, the official site of the Entertainment for All Expo, a gaming/ gadget/ entertainment extravaganza of the most hyperbolic proportions.
Or something*
Anyway, when checking it out, keep in mind this is really a primordial launch of the site. Things there are going to be ramping up over the next several months so it will eventually be a lot more interesting.
What’s interesting to me, right now, is that I found an even better example of Drupal’s bloated HTML than what I showed yesterday. On the front page we’re presented with this awesomeness:
<div class="content related-content body">
<div class="view view-Blog-Listing-Home">
<div class="view-content view-content-Blog-Listing-Home">
<div class="item-list">
<ul>
<li>
<div class="view-item view-item-Blog-Listing-Home">
<div class="view-field view-data-node-changed">25/5/2007</div>
<div class="view-field view-data-node-title"><a href="/node/66">Mary Dolaher appears on Bonus Round</a></div>
</div>
</li>
<li>
<div class="view-item view-item-Blog-Listing-Home">
<div class="view-field view-data-node-changed">25/5/2007</div>
<div class="view-field view-data-node-title"><a href="/node/86">Podcast Episode 2 with Tommy Tallarico</a></div>
</div>
</li>
<li>
<div class="view-item view-item-Blog-Listing-Home">
<div class="view-field view-data-node-changed">25/5/2007</div>
<div class="view-field view-data-node-title"><a href="/node/83">Welcome to EforAllExpo.com</a></div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
All I need out of that is this**:
<ul>
<li>25/5/2007<a href="/node/66">Mary Dolaher appears on Bonus Round</a>
</li>
<li>25/5/2007<a href="/node/86">Podcast Episode 2 with Tommy Tallarico</a>
</li>
<li>25/5/2007<a href="/node/83">Welcome to EforAllExpo.com</a></li>
</ul>
Drupal’s code there is just insane. It would probably be cleaner to use tables and it’d definitely be easier to debug. With all those DIVs and generic, multiple class names attached to everything it’d be a train wreck trying to debug that stuff if you were using their classes and something was going wrong. I like code I can follow in my head without relying on post it notes, a team of interns, a dozen flow charts and a Venn diagram or two. That and I’m still as stingy as I can be with bandwidth and download times.
This is just one of those cases where things are out of my control and I have to live with it…
*I’ve been too damn busy building the thing to know what the heck it’s really all about
**It’s a very specific div with an innner structure I can predict so I could hook that UL with just the containing div id. The rule would be no more complicated than #home #messaging ul li a. Even if that weren’t the case I could still just attach an id to the UL and be done with it.