Maybe the last big change for 6.x-2.x; after many discussions with themers over the past couple of weeks its become apparent we need to move towards lightweight standards compliant HTML and CSS.
This means removing design redundancy and doing something smarter than just dumping all those CSS classes into the templates.
I took a very close look at the Mothership theme and decided it has the smartest approach to this and so I pinched it (thanks Morten, I'll buy you another beer next time eh?). What it does is allow you to configure which classes you want in theme settings - this is now in the 6.x-2.x version of the theme.
Most of the inner divs have been removed and just an all round cleaning up of the HTML, making it more semantically rich and much lighter in the process.
Comments
Comment #1
Macronomicus commentedOh snap .. I just ported two themes to the new dev yesterday! Dohh! Shouldnt be too hard to jump to the new one .. looks quite nice!
Comment #2
gumdrop commentedThis is great, I'd like to see more examples using this dev. release.
Thanks.
Comment #3
Macronomicus commentedWell we should be launching the next beta of our Real Estate site here soon .. been working on an MLS integration for the last couple weeks ... the MLS RETS is a PITA! lol .. anyhow that sites new theme is using the beta which I am currently tweaking .. though ive disabled a few bits like the layout stuff since I had to alter the page tpl quite a bit to account for our layout structure, I may bring it back in when I figure how to leverage it with our layout.
Let me say how much I love the adaptivetheme, its perfect for launching into a theme quick and the structure of things is nothing less than superb!
Excellent work!
Comment #4
gumdrop commentedYes, I've been looking at if very closely....and wrapping my head around it. Trying it out on a few sites. Very excited at the prospects.
It would be just nice to see more examples of it's usage.
Comment #5
Jeff Burnz commentedHi gumdrop, well I've been thinking about a gallery of sites but up till now we have been pretty quiet about our client base and who we are building themes for, I think around Jan next year we will do this and put our work out there for all to see - at the moment we are just too busy to even think about it (even my blogging is at an all time low).
Comment #6
gumdrop commentedNot interested really in your client base...interested in "working" examples or themes...here at drupal.org especially. For instance genesis provides some examples....but maybe it's been around longer.
Comment #7
duntuk commented@gumdrop. This is more of a startup theme (not something that already has a specific look to it... you can make this look like whatever you can imagine).
For what it's worth, this theme uses some of the best css semantic markup I have seen in drupal themes. The body classes/ids are also there according to the page title (which many themes now use, however, in my opinion, should pretty much be standard in any theme so you can (if you want) customize each page individually if needed just by css alone...
It also does a good job on removing redundant or excessive markup (unnecessary divs within divs, and or too many classes), and just makes the end result way cleaner. This is probably ongoing/continuous tweaking, as there is a lot of activity with the dev version.
With that said... i do however have a few things i don't like...
e.g.
- the hard coded advertisement for adaptivethemes.com in footer (after each update that has to be manually removed)
- the (in my opinion) excessive sub-folder structure (each template is in it's own folder)... i'd prefer something more cleaner... the file naming structure is good enough.... e.g. it's setup as follows: 'template/node/node.tpl.php' , 'template/page/page.tpl.php' ... i rather see something like template/node.tpl.php , template/page.tpl.php ... eliminating all the redundant sub directories... same thing with css and the rest... 99.999% of users the extra directories will not make understanding the structure any easier...
and the other thing i don't like (performance wise) is splitting up the css files for each category (layout.css, custom.css, pages.css etc) ... it's much easier to just scan a single file rather than have to look through multiple... PLUS performance speaking each seperate file you use is an extra web server query you're running...
after all this is why image sprites were invented, so instead of calling on multiple images, you just call a single one... it speeds things up mainly for heavily traffic sites....
of course there is css caching/optimizing that you can do, but again, you have to ask yourself, WHY? is this *really* helping out anyone? I know it's been hammered down a few years ago as the proper structure, but performance speaking (and user understandability) speaking, it's not really necessary. It's sort of like the comparison of having to view a slideshow or having everything on one page....
So as long as you're using proper semantic markup (which this theme is) there really is very little reason to split up everything... i.e. if you name your ids/classes right, and put them in a logical order, then you shouldn't need to take extra steps to hammer down "page.tpl.php belongs under "/page/" ... or have a bunch of different css files for each possible layout category....
anyhow...
very good theme...
Comment #8
Jeff Burnz commented@duntuk
Good points all of them, I too have been seriously rethinking the directory structure, which is mainly a legacy thing. In the newer 6.x-2.x series its totally unnecessary and one simple /templates directory would suffice. I think I'll do this actually, I see no reason not to.
I have to admit that part of the reason for many CSS files is so I can remember where all this stuff is, I can get it down to 2 stylesheets without any issues (1 for the base theme and 1 for the subtheme), again this is high on the agenda and is actually something we do during the development of our clients themes (combine them) since some sites cannot use CSS aggregation (private download issues).
I very much appreciate your recognition of the semantic markup and class naming - I spent an unholy amount of time working on this to get it "right" which is actually very hard.
Cheers, and thanks for the excellent feedback.
Oh yeah, and ps, I do keep meaning to remove the attribution, I dont know why I have that in a starter theme... silly really.
Comment #9
duntuk commentedI'm very glad to see you're taking those step to making one of the best themes even better.
I just finished messing around with Basic and AdaptiveTheme, on a new site I'm starting--mainly because I prefer the simple structure of Basic (which is a huge contrast to the normal zen theme). I'm working on some sort of mash-up of the two (use your css, page.tpl.php, and node.tpl.php and combine it with Basic's template.php) but now that I see you're taking this more simplified approach, I'll keep a close watch on yours.
(Besides, i don't like the way zen structures it's header/nav placing it on the bottom below content... this is suppose to help SEO, but goes against proper semantic layout... Regardless, i think this may have made a slight difference a couple of years ago, but search algorithms are evolving so radically that i don't believe it makes any difference SEO speaking, and just leaves you with an improper semantic markup--abandoning people who rely on screen readers)
I like where AT is headed. I also like your other theme Genesis, since it's philosophy is more of what my preferences are: i don't really need to use the admin interface to control the site layout... To clarify, this entire viewpoint is fairly from a performance perspective-- i.e. I'd rather have performance over Admin UI functionality. I'd be interested to see what the differences between the AT and Genesis would be webserver resource wise. (small sites this may not matter, but high traffic is what I'm looking towards)
BTW, speaking of semantic markup, this html5 article mentions this script: http://remysharp.com/2009/01/07/html5-enabling-script/ which is suppose to get html5 tags working in IE.. of course this would break if javascript was turned off, but interesting nonetheless...
Comment #10
Jeff Burnz commented