Releasing a new basetheme!
Thanks:
- Paul O’B from Sitepoint Forums for helping with researching for my holy grail of flexible Drupal CSS layouts.
- John Albin from the Zen theme, for being a leader in Drupal theming innovation, and particularly for the awesome body/node/block/node classes code and the block edit/configure links.
- Stephanie and Chris from TopNotchThemes for thinking up some awesome theme settings
- Al Steffen from Studio theme, for pushing the limits at turning a Drupal theme into a nice organized collection of files.
- Jacine Rodriguez from Sky theme, for laying the groundwork for Typographical theme settings, and more cool code.
- All the rest of the Drupal community for working together on a free software project!
Features:
- Color module integration (CSS only)
- Live-preview mode for tuning colors. Any action by the color picker is immediately visible on the layout
- Complete layout control! Supports flexible width, fixed width, percentage based columns and blocks, and it all works in internet explorer too!
- Layout automatically adapts to no-sidebar one sidebar or 2 sidebar pages (retaining the set sidebar width and resizing the content column)
- CSS file caching for enforcement of the theme settings.
- Dynamic regions (horizontally) scale any number of blocks to fit next to each other
- Full typography control with Cufon engine for selecting/adding custom fonts
- Comes with 18 free fonts!
- Animated dropdown menus with jQuery Superfish integration
- Dropdown menu is configurable through the theme settings form
- Various jQuery scripts to help make your website look sharp
- Nodetype specific theme settings for node links and taxonomy links (adapted from acquia_marina)
- Well organized and valid CSS 2 stylesheet, just approx. 1.000 lines.
- Accessible and semantic HTML code. (and Search Engine friendly, of course)
Download it on the Drupal.org project page: http://drupal.org/project/sooper_basetheme
Rationale:
This theme is the result of the work I've been doing, developing my drupal themes product line for sooperthemes.com, and it also includes many functions and classes that I have needed in the past 3 years, working as a freelance Drupal themer. I think the coolest part of the theme is the advancements I've made in recoloring themes, though this theme only uses the most basic parts of the color module, I've included some functions in the color/color-utility-functions.inc file that I currently use for my premium themes. It would be really cool if we could get a Color API in Drupal 7 to replace the color module, so that all the Color enthusiasts can collaborate to replace the old color.module.
The Cufon engine is also really cool, it's my first attempt to integrate Cufon with a Drupal theme. It was actually really easy, because you can just call upon Cufon with jQuery selectors. Cufon is a new competitor for sIFR, that uses VML and Canvas to replace browser text with embedded-font text.
The dynamic regions part is a simple solution to a complex problem, having a region that needs to have different CSS for every page that has a different number of blocks in this region. Basically it's just this:
// Widths of blocks in Dynamic regions $precount = substr_count($vars['preblocks'], 'class="block '); $postcount = substr_count($vars['postblocks'], 'class="block '); $vars['postcount'] = $postcount; $vars['precount'] = $precount; if ($precount > 0) { $prewidth = round(100/$precount,3); } if ($postcount > 0) { $postwidth = round(100/$postcount,3); } $vars['blockwidths'] = <<
But then when you check it out in Internet Explorer you will find your blocks collapsing and stacking on top of eachother, but there is a very cool fix for this, a virtual buffer:
div.sooperblocks { margin-right:-100px!important; /* Create an invisible space (buffer) to allow overflow without collapsing */ padding-right:100px!important; }
I will explain further in another blog post!