<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:admin="http://webns.net/mvcb/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:content="http://purl.org/rss/1.0/modules/content/">

<channel>
    
<title>Blog</title>
<link>http://rockatee.com/blog</link>
<description></description>
<dc:language>en</dc:language>
<dc:creator>info@rockatee.com</dc:creator>
<dc:rights>Copyright 2011</dc:rights>
<dc:date>2011-10-19T00:39:+00:00</dc:date>
<admin:generatorAgent rdf:resource="http://expressionengine.com/" />
    

<item>
<title>pumpkinSmasher Premium WordPress Theme</title>
<link>http://rockatee.com/blog/pumpkinsmasher-premium-wordpress-theme1</link>
<guid>http://rockatee.com/blog/pumpkinsmasher-premium-wordpress-theme1</guid>
<description>
<![CDATA[
<p>This WordPress theme's purpose is to get you into Halloween mood. Apart from Halloween, the theme works like every other blog or personal site. 
Everything else is explained in detail in the readme.pdf. See the demo to view the Theme's "as is" setup: <a href="http://dev.rockatee.com/sm">http://dev.rockatee.com/sm</a></p>
<p>Should you have any issues with the theme, need assistance in setting it up or have feedback, please email me via the<a href="http://rockatee.com/contact/"> contact form</a>.</p>
<img src="http://rockatee.com/images/uploads/content-files/pumpkinSmasher800.jpg"  alt="pumpkinSmasher Premium WordPress Theme" width="800" height="1609">
<h3>Features</h3>
<ul>
<li>Custom Post-Types</li>
<li>Static Global Fields</li>
<li>Featured post</li>
<li>Custom write panels</li>
<li>About page</li>
<li>Contact page</li>
<li>Archives page</li>
<li>Gallery page</li>
<li>Category Archives</li>
<li>Highlighted Author Comments</li>
<li>Breadcrumbs</li>
<li>Pagination</li>
<li>Recent Posts</li>
<li>Photography section on Homepage</li>
<li>Tweet This icon</li>
<li>Twitter posts</li>
<li>Excerpts</li>
<li>Fluid layout design</li>
<li>Breadcrumbs</li>
<li>Thumbnails enabled</li>
<li>Custom Widgets</li>
<li>Custom functions</li>
<li>WordPress 3.2.1</li>
<li>jQuery Fancybox</li>
<li>Custom Illustrations</li>
<li>Custom icons & buttons</li>
<li>Modern Webfonts</li>
<li>HTML4.01</li>
<li>CSS3</li>
<li>Fluid Layout</li>
<li>Supports all modern browser versions + IE from version 8 and upward.</li>
<li>3 months free support</li>
</ul>

<p>Categories: <a href="http://rockatee.com/blog/category/design/">Design</a> <a href="http://rockatee.com/blog/category/development/">Development</a> </p>
<p>Tags: </p>
<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/pumpkinsmasher-premium-wordpress-theme1"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/pumpkinsmasher-premium-wordpress-theme1" height="61" width="51" /></a></p>
]]>
</description>
<dc:date>2011-10-19T00:39+00:00</dc:date>
</item>

<item>
<title>New Theme for Smashing Magazine</title>
<link>http://rockatee.com/blog/spectacular-new-theme-for-smashing-magazine</link>
<guid>http://rockatee.com/blog/spectacular-new-theme-for-smashing-magazine</guid>
<description>
<![CDATA[
<p>This theme was conceptualized and designed for <a href="http://smashingmagazine.com">Smashing Magazine</a>. It's a free WordPress theme and comes with a couple of goodies, such as two variants (HTML and HTML5), CSS2.1 and CSS3, all designed with progressive enhancement in mind, meaning, Internet Explorer users will get a nice layout as well, albeit with a fewer enhancements. The design is usable, friendly, warm, and aimed at users who're looking for a sleek, warm, and inviting blogging theme that is easily set up and configured without hassle. To make things easier, I've included a readme file that explains every single step to bringing the theme to life.</p>
<img src="http://rockatee.com/images/uploads/content-files/spectacularLarge1.jpg"  alt="" width="450" height="683" alt="">
<p>The theme currently has English and German enabled. Due to a very generous person, the theme will have a French version included with the theme's next release which isn't too far away now. There are some minor bug fixes, typographic and contrast enhancements, and some fine-tuning here and there that will benefit the theme, and, more importantly, you! <img src="http://dev.rockatee.com/images/smileys/smile.gif" width="19" height="19" alt="smile" style="border:0;" /></p>
<p>So, stay tuned and thanks to everyone who's using the theme. If you like me to take a look, hit me up via email.</p>
<p>You can download the theme from <a href="http://www.smashingmagazine.com/2011/01/10/free-html-4-01-html5-wordpress-theme-spectacular/" title="Get the Spectacular WordPress Theme">Smashing Magazine</a></p>

<p>Categories: <a href="http://rockatee.com/blog/category/development/">Development</a> <a href="http://rockatee.com/blog/category/freebies/">Freebies</a> </p>
<p>Tags: <a href="http://rockatee.com/tags/tag/freebie/">freebie</a>, <a href="http://rockatee.com/tags/tag/smashing+magazine/">smashing magazine</a>, <a href="http://rockatee.com/tags/tag/themes/">themes</a>, <a href="http://rockatee.com/tags/tag/wordpress/">wordpress</a></p>
<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/spectacular-new-theme-for-smashing-magazine"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/spectacular-new-theme-for-smashing-magazine" height="61" width="51" /></a></p>
]]>
</description>
<dc:date>2011-02-02T03:07+00:00</dc:date>
</item>

<item>
<title>Bauhaus Clock Wallpaper</title>
<link>http://rockatee.com/blog/bauhaus-clock-wallpaper</link>
<guid>http://rockatee.com/blog/bauhaus-clock-wallpaper</guid>
<description>
<![CDATA[
<h2>Modern Bauhaus Clock Wallpaper</h2>

<p>Everyone who&#39;s studied Bauhaus in adequate depth will immediately see where my clock, heavily inspired by Max Bill&#39;s clock (shape), breaks the pure Bauhaus spirit. The clock clearly has too much belly fat, or non-functional  space, if you prefer. Then again, I&#39;ve never been a strict follower of, well, anything.</p>
<p>While my breaking of one of the fundamental principles that distinguishes <em>Bauhausian</em> modernism from pretty much every other modernism inspired artistic direction dating back to the early  20th Century, isn&#39;t far from being a crime, I herewith present you with the most useless, pointless, futile, drivel-inducing clock known to... this blog.</p>
<p>Download, schmownload, and do whatever suits your fancy. <br>To make it as convenient as possible, I&#39;ve sized them to be 2560x1600 pixels. That should cover most screen resolutions. The wallpaper comes in 7 colour variations and they&#39;re all dull. <em>Dullisciously</em> dull, if I may say so myself. Matter it does not. Aaaand... because I don&#39;t want to indulge any longer in my slightly manic verbal diarrhoe, clearly evident all over this post, I must cease instanter to leave you be and get back to my client work.</p>

<h3>Download:</h3>

<p><a href="http://rockatee.com/files/rockatee.bauhaus.clock.wallpaper.zip" title="Download Rockatee's Bauhaus Clock"><img src="http://rockatee.com/images/uploads/content-files/bauhaus.clock_.wallpaper_.jpg"  alt="Bauhaus Clock" width="400" height="300"></a></p>

<p>Download .zip file (9.37MB): <a href="http://rockatee.com/files/rockatee.bauhaus.clock.wallpaper.zip"  title="Download Rockatee's Bauhaus Clock">Bauhaus Clock Wallpapers</a></p>

<p>Categories: <a href="http://rockatee.com/blog/category/design/">Design</a> <a href="http://rockatee.com/blog/category/downloads/">Downloads</a> </p>
<p>Tags: <a href="http://rockatee.com/tags/tag/bauhaus/">bauhaus</a>, <a href="http://rockatee.com/tags/tag/download/">download</a>, <a href="http://rockatee.com/tags/tag/wallpaper/">wallpaper</a></p>
<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/bauhaus-clock-wallpaper"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/bauhaus-clock-wallpaper" height="61" width="51" /></a></p>
]]>
</description>
<dc:date>2010-09-07T17:05+00:00</dc:date>
</item>

<item>
<title>Removing wp_list_pages&amp;apos; class from list items via WordPress Filters</title>
<link>http://rockatee.com/blog/removing-wp-list-pages-class-from-list-items-via-wordpress-filters</link>
<guid>http://rockatee.com/blog/removing-wp-list-pages-class-from-list-items-via-wordpress-filters</guid>
<description>
<![CDATA[
<p>I&apos;m certainly not a PHP  programmer. Heck, I&apos;m not a programmer at all, unless you count HTML, CSS, and a little Javascript as programming languages, which they are factually not. I am currently coding a design into HTML5 and CSS3 and am integrating it into <a href="http://wordpress.org" title="visit WordPress">WordPress</a>. As I'm being quite persnickety regarding the structure and HTML/CSS of a design, I&apos;m quite unnerved by the rather generous addition of classes, ids and HTML elements/attributes that have been coded knee-deep into WordPress&apos;core. Why, oh why can&apos;t WordPress let me, a humble but markup-aware user,  decide how I create my markup? And why is it required for designers/front-end web developers to dig deep into PHP functions just to be able to get rid of all that extra dispensable markup? No, fun it is not.</p>

<p>But all that whining and complaining aside, WordPress is a good tool. Why be humble...WordPress is an excellent tool! That's why I'm creating another theme that&apos;ll soon be distributed all over the net.</p>

<p>It&apos;s a theme in which I make use of the <code>wp_list_pages</code> function. If you&apos;ve used WordPress for a while, you'll know that this function outputs quite a few extra classes by the name of <code>page-item</code>. Well, I don&apos;t need them and don&apos;t want them in the code. To remove them, I&apos;ve taken all my PHP know-how, ahem, cough... and timbered together a small function, more precisely, a WordPress filter which has the sole purpose of stripping the class attribute and its associated content. 

The ingredients with which the <code>page-item</code> class and the HTML class attribute get removed from the markup is as follows:
    <pre><ol class="code">  <li>function remove_page_class($wp_list_pages) {</li><li>$pattern = '/\&lt;li class="page_item[^&gt;]*&gt;/';</li><li>$replace_with = '&lt;li&gt;'</li><li>return preg_replace($pattern, $replace_with, $wp_list_pages);</li><li>}</li><li>add_filter('wp_list_pages', 'remove_page_class');</li>
</ol> </pre>
This little snippet of code reads (line by line):
<ol>
  <li>1. Create function <code>remove_page_class</code></li>

  <li>2. Define a variable <code>$pattern</code> and assign it a regex pattern that selects the <code>li</code> attribute <code>class</code> and its values</li>

  <li>Define a variable with the code that you want to replace the above with</li>

  <li>3. I use <code>preg_replace</code>, a function that searches and replaces a regular expression. In this case, I'd like to modify the output of <code>$wp_list_pages</code>, thus my <code>preg_replace</code> searches in <code>$wp_list_pages</code> for the markup that matches the value I specified in my <code>$pattern</code> variable and replaces it with the value of my <code>$replace_with</code> variable
</ol>

<p>And that&apos;s pretty much it. If a PHP guru or&mdash; PHP Ninja, as an expert is referred to these days&mdash; and find there&apos;s a better, leaner method, do shout away. I&apos;ve just started learning PHP and am grateful for all sorts of input.</p> 

<p>Categories: <a href="http://rockatee.com/blog/category/development/">Development</a> </p>
<p>Tags: <a href="http://rockatee.com/tags/tag/php/">php</a>, <a href="http://rockatee.com/tags/tag/theme/">theme</a>, <a href="http://rockatee.com/tags/tag/wordpress/">wordpress</a></p>
<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/removing-wp-list-pages-class-from-list-items-via-wordpress-filters"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/removing-wp-list-pages-class-from-list-items-via-wordpress-filters" height="61" width="51" /></a></p>
]]>
</description>
<dc:date>2010-08-23T12:08+00:00</dc:date>
</item>

<item>
<title>Rockatee has had a facelift: Responsive Design &amp;amp; 100% fluid layout. Pixels Adieu!</title>
<link>http://rockatee.com/blog/rockatee-redisign-facelift-responsive-design-amp-100-fluid-layout</link>
<guid>http://rockatee.com/blog/rockatee-redisign-facelift-responsive-design-amp-100-fluid-layout</guid>
<description>
<![CDATA[
<p>With so many different devices and platforms coming out in all sizes and shapes, I've decided to ditch pixels for layout entirely and have gone for a 100% fluid layout grid that is calculated with percentages only.</p>
<p>The grid is about 92% done, there are still some minor inconsistencies I need to iron out. I realise there are <a href="http://www.google.com/search?q=fluid+css+grids">ready-made CSS grids </a>out there, and I could have just slammed one of them on here. But ready-made CSS grids are like fast-food. You consume them because they're fast, easy, and convenient. And you haven't a clue what's what underneath. You just trust it does everything the way it is propagated. That's one reason I don't really like fast-food. Not that it's bad, but I prefer to cook my own meals if I can. And I prefer to code my own grids, even if it makes the whole process a bit slower. It just feels better. :D</p>

<p>Anyhow, I'm using the latest version of <a href="http://expressionengine.com/">ExpressionEngine</a>, EE2, and I'm having a blast! I found the admin interface to be slightly confusing at first &mdash; still find it a bit counter-intuitive in bits and pieces &mdash; but on the whole, it's refreshing to work with it. The Admin doesn't come off quite as well in Opera 10.60, my favourite browser, as it does in other browsers, but it's good enough for me.</p>

<p>That's all I have to write for now. I'm still working on getting the minor quirks and bugs ironed out, and complete my grid. Should you find any bugs or have critique, want to shout me down, please don't hesitate! <img src="http://dev.rockatee.com/images/smileys/smile.gif" width="19" height="19" alt="smile" style="border:0;" /></p>

<p>Categories: <a href="http://rockatee.com/blog/category/update/">Update</a> </p>
<p>Tags: <a href="http://rockatee.com/tags/tag/redesign/">redesign</a></p>
<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/rockatee-redisign-facelift-responsive-design-amp-100-fluid-layout"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/rockatee-redisign-facelift-responsive-design-amp-100-fluid-layout" height="61" width="51" /></a></p>
]]>
</description>
<dc:date>2010-08-02T17:41+00:00</dc:date>
</item>

<item>
<title>Getting Real (Book Review)</title>
<link>http://rockatee.com/blog/getting-real-book-review</link>
<guid>http://rockatee.com/blog/getting-real-book-review</guid>
<description>
<![CDATA[
<p><a href="http://37signals.com/" title="37signals">37signals</a> is one of those companies that have burned themselves into ones memory. Well, they have in mine whenever I think about effective businesses. They are what &mdash; I’m sure not just a few &mdash; software companies, entrepreneurs, and designers want to become: A household brand.</p>

<p>Everything they touch seems to turn into gold, every web application they produce an instant success. Not just for this it stands to reason that they would write about and share with the rest of the world what made them so effective and, eventually, so successful.</p>

<p>What I particularly like about this book is that it’s bold. It’s bold, brisk and highly opinionated. And that’s a good thing in my book (no pun) because you sense the amount of passion and dedication Jason Fried, founder of 37signals, with every drop of ink this book has consumed.</p>

<p>What we get to learn about is their philosophy, their idea of what makes good work great, and the particular frame of mind it takes to do what they have done and continue to do.</p>

<p>What we don’t get to learn are in-depth explanations and thorough examinations on how to implement the ideas and methodologies the fine folk at <a href="http://37signals.com/" visit="37signals">37signals</a> applied to their way of working.</p>

<p>What to do when the conditions, such as deadlines, firm-specific work ethics, a boss, or any and all factors that need to be accounted for and that you have zero control over, overwhelmingly limit and restrict us in our day-to-day work and design process?</p>

<p>If you’re one of a hundred, have no veto and generally little influence over how you work, then you might as well leave this book on the shelves. Likewise, should you expect to be exposed to an in-depth view on interaction design or given technical instructions and guidance on how to apply the propagated methodologies within long established companies with little incentive to change how they work, then you’re out of luck.</p>

<p>However, should you be a small(ish) company, your team comprising no more than a handful of people, have good control over how things get done, can motivate and enthuse your team members to follow a certain dogma, then this book is more than apt and fitting.</p>

<p>In short; <a href="http://gettingreal.37signals.com/" title="Getting Real, the Book"><i>Getting Real</i></a> is a 170 pages long comprehensive mantra on how to get things done.</p>

<p><a href="http://twitter.com/jasonfried" title="visit Jason Fried's Twitter">Fried</a> suggests that we focus on the big idea, that we build from macro to micro, having the big picture and working ourselves down and getting to the nitty gritty details at a much, much later time in the process.</p>

<p>While we’re at it, should you be one of those hopeless perfectionists... [I aggressively wave my arms in the air, nodding vehemently, and that’s a nose-bleeding heavy nod!] you might as well leave that unwanted characteristica at the door before going any further.</p>

<p>So how does ignoring perfectionism and other astronomic ideals set free the means and devices needed to aid us in our journey to becoming more efficient, more successful business people?</p>

<p>Short answer: By <em>getting real</em> (har, har), by not setting goals and expectations we can’t meet, because they’re either impractical or simply unrealistic.</p>

<p>Well, that’s the short answer. The slightly longer answer goes as follows:</p>

<h2>Keeping it Small</h2>

<p>The book gives us plenty examples that demonstrate the advantages of keeping things small. A small team can better manage tasks because there are less people to communicate with, less instances or pre-production cycles to overcome. Being small allows you to react to your site visitors, the people who use your product, faster. Being small makes you agile and permits changes, and bug fixes to be done instantly. Being small reduces the distance between yourself and your customers, service and support can be more personal. Many more advantages are explained in the book, so the ones depicted here are a select few.</p>

<h2>Focusing on the Essentials and Learning to Say No</h2>

<p>Focusing on the big idea does not imply that your product or service must be filled with more features than you can eat. It does not mean that you have to offer everything. It does not mean that you have to outperform your competition, be it in features or in price. <a href="http://twitter.com/jasonfried" title="visit Jason Fried's Twitter">Fried</a> suggests that you outperform your competition by underperforming. While that thought might sound strange at first, the book offers sound reasoning why that makes perfect sense and additionally presents us with opinions of some popular voices in our industry.</p>

<p>He even goes as far as recommending that you upload your unfinished product or service. Why? Because you’ll never have it complete &mdash; that goes back to the perfectionism thing I touched on earlier &mdash; a design, a product, a service, everything is a process, a process of iteration. So why not get it out there, even if it still has a bug or two, needs some code optimization, and no more than barely the essentials?</p>

<p>What you get in return is the most precious thing any of us should value at this very early stage of production - namely the feedback of your customers. The sooner you get your product or service out to the people, the quicker you understand what works and what doesn’t. Those are first-hand reactions to your product. And since those are the people who’ll later be paying for your offerings, it makes good business sense to optimize it to reflect what your site visitors have communicated.</p>


<p>And finally, one more significant aspect of <a href="http://37signals.com" title="visit 37signals">37signals’</a> philosophy is that of negation. Saying no, and saying it often, allows your products to stay focused on what is essential, and do what it is supposed do well. By saying no to every feature you think of at the start of a project, you can quickly learn what you really need by simply leaving out everything else. In other words, the book strongly suggests that the competition isn’t mimicked, that we don’t fill our application with everything that we think we need just because someone else has it. We are encouraged to keep things simple, build on the essentials and add features responsibly and only if these really extend the effectiveness of using said product.</p>

<p>To summarise: Less in every shape or form is neither a deficit nor a hindrance to success. Having a small and smart product or service, one that was borne out of ones own needs and was later formed into a product based on what our customers have said, makes for a powerful, user-centric solution. Being small does not hurt either. It can facilitate more agility, allow us to communicate with our customers closely, react to their feedback quickly and submit our iteration fast and conveniently.</p>


<p>Categories: <a href="http://rockatee.com/blog/category/books/">Books</a> </p>
<p>Tags: <a href="http://rockatee.com/tags/tag/books/">books</a>, <a href="http://rockatee.com/tags/tag/reviews/">reviews</a></p>
<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/getting-real-book-review"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/getting-real-book-review" height="61" width="51" /></a></p>
]]>
</description>
<dc:date>2010-07-17T07:52+00:00</dc:date>
</item>

<item>
<title>Conditionals: Manipulate a Class or ID Attribute of Elements in Channel Entries</title>
<link>http://rockatee.com/blog/change-any-class-or-id-attribute-of-a-html-element-within-your-weblog-entry</link>
<guid>http://rockatee.com/blog/change-any-class-or-id-attribute-of-a-html-element-within-your-weblog-entry</guid>
<description>
<![CDATA[
<p>There are plenty of reasons why we sometimes need to have the first or last element in a row to have a different Class than its siblings. If, for example, I wanted to create an unordered list of which the last list item was to contain a different CSS rule than any of the other list items, I'd simply create a <em>class</em> for it within my CSS stylesheet and reference that via the class attribute inside my HTML element:</p>

<ol class="code">
	<li><code>&lt;ul id="nav"&gt;</code></li>
	    <li><code>&lt;li&gt;&lt;a href="homepage.html"&gt;Home&lt;/a&gt;&lt;/li&gt;</code></li>
	    <li><code>&lt;li&gt;&lt;a href="about.html"&gt;About&lt;/a&gt;&lt;/li&gt;</code></li>
	    <li><code>&lt;li <strong>class="last"</strong>&gt; &lt;a href="contact.html"&gt;Contact&lt;/a&gt;&lt;/li&gt;</code></li>
	<li><code>&lt;/ul&gt;</code></li>
</ol>

<p>I might also want to change the last class attribute for the third weblog entry because I've decided that I want my last column to not have any margins.</p>
<p>There are plenty of ways to go about altering the first, last, or odd item, but I've chosen to use one of the very simple means, namely using ExpressionEngine's built-in <a href="http://expressionengine.com/docs/templates/globals/conditionals.html" title="conditional global variables">conditional global variables</a>.</p>

<p>So, to be clear: What I want is to have three columns in a row. All three columns have the same class, in this case the class is <code>column</code>. I want the third column to have the additional CSS class <code>last-item</code> because I'd like to change the value of this item's margin. Yes, we could use CSS' ":last-child" or "nth-child" property, but that's for another day. Today, I'd just like to show you how you can manipulate small chunks of code - or large chunks for that matter - by simply using EE's conditionals and variables. You can apply this logic to pretty much any piece of code you'd like to modify.</p>

<p>Raw HTML code without ExpressionEngine tags:</p>

<ol class="code">
	<li><code>&lt;div class="column"&gt;</code></li>
	<li><code>&lt;h2&gt;My title&lt;/h2&gt;</code></li>
	<li><code>&lt;p&gt;My excerpt&lt;/p&gt;</code></li>
	<li><code>&lt;/div&gt;</code></li>
</ol>

<p>But we want to take advantage of EE's tags and create dynamic content, so our code will now look like this:

<ol class="code">
	<li><code>&#123;exp:weblog:entries weblog="blog" limit="3"&#125;</code></li>
	<li><code>&lt;div class="column"&gt;</code></li>
	<li><code>&lt;h2&gt;{title}&lt;/h2&gt;</code></li>
	<li><code>&lt;p&gt;{excerpt}&lt;/p&gt;</code></li>
	<li><code>&lt;/div&gt;</code></li>
	<li><code>&#123;/exp:weblog:entries&#125;</code></li>
</ol>

<p>The third entry needs a second class appended to the HTML. I'm giving it a class name of "last-item".</p>

<ol class="code">
	<li><code>&#123;exp:weblog:entries weblog="blog" limit="3"&#125;</code></li>
	<li><code>&lt;div class="column {_if count == 3}last-item{/_if}"&gt;</code></li>
	<li><code>&lt;h2&gt;{title}&lt;/h2&gt;</code></li>
	<li><code>&lt;p&gt;{excerpt}&lt;/p&gt;</code></li>
	<li><code>&lt;/div&gt;</code></li>
	<li><code>&#123;/exp:weblog:entries&#125;</code></li>
</ol>
<p>(remove the underscore before the opening and closing <strong>if</strong>)</p>
<p>What's changed? If you look at the class attribute of the div, you'll see that I've added a conditional global variable, namely the <strong>if</strong> conditional. In addition to that I've applied the single variable <code>{count}</code>. In plain English it reads as follows: "If the item is equal to 3 (the third item), then append the CSS class <code>last-item</code> to the HTML element."

<p>And that's it. There are plenty of <a href="http://expressionengine.com/docs/templates/globals/conditionals.html" title="conditional global variables">conditional global variables</a> and <a href="http://expressionengine.com/docs/modules/weblog/variables.html" title="single variables">single variables</a> that allow for tons of flexibility without resorting to add-ons.</p>

<p>In closing it should be noted that this technique works for EE2 as well. Replace <code>weblog</code> with <code>channel</code> and you're good to go.</p>


<p>Categories: <a href="http://rockatee.com/blog/category/development/">Development</a> </p>
<p>Tags: <a href="http://rockatee.com/tags/tag/expressionengine/">expressionengine</a>, <a href="http://rockatee.com/tags/tag/tutorials/">tutorials</a></p>
<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/change-any-class-or-id-attribute-of-a-html-element-within-your-weblog-entry"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/change-any-class-or-id-attribute-of-a-html-element-within-your-weblog-entry" height="61" width="51" /></a></p>
]]>
</description>
<dc:date>2010-07-01T04:02+00:00</dc:date>
</item>

<item>
<title>On Being Stale</title>
<link>http://rockatee.com/blog/on-being-stale</link>
<guid>http://rockatee.com/blog/on-being-stale</guid>
<description>
<![CDATA[
<p>Typing noise. Letters. Words... something's up...</p>

<p><strong>Yes, I'm alive!</strong></p>

<p>My last blog post has been a while. I'd have loved to be able to say that I was so busy that every effort of stealing a fraction of a minute to quickly write together a post were all but a luckless effort. Or that my clients dragged me into a dark, scary, empty room, shut the door, and condemned me to keep the silence forevermore!</p>

<p>Alas, none of that happened.</p>

<p>I neglected to write anything for no other reason than not finding a reason to write. I concentrated on working on my clients' projects, successfully neglecting and blissfully ignoring everything else.</p>

<p>I am, of course, still working on my clients' projects. However, a designer's life comprises more than working for others, day in, day out. While a priority, I've realised that I tire much quicker when a day's ritual is entirely void of diversion and there's no room left to train the mind and explore ideas that are not bound to a deadline.</p>

<p>And I have ideas. I have plenty ideas. Even some good ones. And now is the time to no longer be my own worst critique, and just put myself out there and write, no matter how futile, horrible, or good.</p>

<p>I've evolved. I've been gradually and consistently honing my skills. I've garnered insights to complex matters that have altered - and dare I say bettered - my view on designing for the web.</p>

<p>These are exciting times to be in the industry. The tasks of a web designer are getting more convoluted, intricated by the day. And, at the same time, the web is getting quite a bit more flexible. It's the electrifying beauty of the insanely fast-paced progression that's prompted me to hop back onto the blogosphere - not that I've ever been part of it - and write about all the things that inspire, astound, irritate, and energize me, and - if I'm lucky - you too.</p>


<p>Categories: <a href="http://rockatee.com/blog/category/update/">Update</a> </p>
<p>Tags: <a href="http://rockatee.com/tags/tag/updates/">updates</a></p>
<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/on-being-stale"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/on-being-stale" height="61" width="51" /></a></p>
]]>
</description>
<dc:date>2010-06-24T05:13+00:00</dc:date>
</item>

<item>
<title>Handcrafted CSS</title>
<link>http://rockatee.com/blog/handcrafted-css-book-review</link>
<guid>http://rockatee.com/blog/handcrafted-css-book-review</guid>
<description>
<![CDATA[
<p>It needs to be said;<i> Hancrafted CSS</i> is one of the most motivational and inspiring development books I've ever read. You want to roll up your sleeves and get down to business instantly. It’s beautifully written, engaging, concise, positive, and hopeful. When I have a day where I’m not so keen on the prospect of having to code all day for a client, I read a few pages of the book and... voila!</p>

<h2>Who’s the Author?</h2>

<p><a href="http://www.simplebits.com/" title="visit Simplebits">Dan Cederholm</a> is undoubtedly a renowned and recognized expert in our field and has an audaciously impressive resume, ranging from <a href="http://google.com" title="visit Google">Google</a> to <a href="http://www.mtv.com" title="visit MTV">MTV</a>. He's written two other books, both of which I've read and will review in the not so distant future.</p>

<p>To round off the fantastic reading experience, <a href="http://unstoppablerobotninja.com/" title="visit Unstoppablerobotninja">Ethan Marcotte</a>, another well-respected web designer and senior creative head of <a href="http://airbagindustries.com/" title="visit Airbag Industries">Airbag Industries</a>, treats us to a fine chapter on fluid layout design.</p>

<h2>What’s the Book About?</h2>

<p>As the title suggests, the book is about crafting design with CSS, however not so much with CSS2.1, the current standard, but rather with the über mighty CSS3.</p>

<p>Inevitably, that leads to the question why Cederholm has written a book about a version of a markup language that is neither a standard (yet) nor a language that finds wide support as of July 2010, most notably &mdash; and quite frustratingly &mdash; in Internet Explorer, the world’s most used browser and the designer’s greatest headache, well, the legacy versions anyway.</p>

<p>The answer is quite simple: The book explores design techniques that allow you to circumvent those particular strains that go along with creating designs that look identical in all browsers, from legacy to the newest versions. Cederholm proposes to stop designing with pixel-perfection in mind. While we’ve struggled with rounded corners, experimented with probably no less than twenty different rounded corner techniques, some with the aid of Javascript, some without, all these previous techniques had and have one thing in common; They either require plenty of extra markup, bloating up your beautiful code, need the assistance of a dynamic scripting language (Javascript), use too many images, exhausting your server with an insane amount of extra HTTP-Requests, or forfeit your design’s flexibility and thus make it a pain and a horror prospect, should your client ask for something as trivial as a colour change.</p>

<p>CSS3 offers a property that will make those concerns tremors of the past. That property, that very feature which obviates any and all potential panic attacks is called <code>border-radius</code>. While we still need to use vendor-specific browser prefixes,this is one of those CSS3 properties that can be used today and is supported in all modern browsers, minus all versions of Internet Explorer up to version 8.</p>

<p>So what if clients are not in accordance with the fact that IE doesn’t render the pages like the other browsers do? Cederholm makes the case by creating a fictional Coffee website, implementing a handful of modern CSS3 techniques that render beautifully in Opera, Safari/Chrome, and Firefox and degrade gracefully &mdash; the aesthetics of which are only marginally lost &mdash; in Internet Explorer as well as all other legacy browsers.</p>

<p>It is important to note that Cederholm merely suggests using these techniques, if the environment allows for it. Not every site is suitable for such an aggressively progressive, foward-thinking approach to coding. Sometimes we need to abide by the rules set forth by our clients, boss, our working environment, and most importantly, our target audience. The most advanced and smartest design in the world is worth nil, nada, niente, if the people who visit your site, who are the sole reason of your site’s existence, can’t use it, and use it well.</p>

<p>Cederholm introduces plenty more examples of modern coding techniques, comparing them to older, tried methods, weighs us in on considerations, such as making use of alpha-transparency by using CSS3’s RGBA property, how to make content sections modular, proposing the use of flexible-width layouts &mdash; or should I say fluid grids &mdash; a most inspiring chapter written by <a href="http://unstoppablerobotninja.com/" title="visit Unstoppablerobotninja">Ethan Marcotte</a>, as well as briefly touching on the subject of implementing non-standard fonts via the <code>@font-face</code> property.</p>

<h2>Conclusion</h2>

<p>I can say with great confidence that this is a book that should be in every designer’s bookshelf. There are books that go into much greater detail, but if you are in accordance with the Utilitarian approach to design depicted in this book,  want a well-rounded, wonderfully composed companion that makes you thirst for more in-depth information on any of the topics discussed, then I wholeheartedly recommend this book to you.</p>

<p>Categories: <a href="http://rockatee.com/blog/category/books/">Books</a> <a href="http://rockatee.com/blog/category/development/">Development</a> </p>
<p>Tags: <a href="http://rockatee.com/tags/tag/books/">books</a>, <a href="http://rockatee.com/tags/tag/css/">css</a>, <a href="http://rockatee.com/tags/tag/progressive+enhancement/">progressive enhancement</a>, <a href="http://rockatee.com/tags/tag/reviews/">reviews</a></p>
<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/handcrafted-css-book-review"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/handcrafted-css-book-review" height="61" width="51" /></a></p>
]]>
</description>
<dc:date>2010-06-20T06:51+00:00</dc:date>
</item>

<item>
<title>ExpressionEngine: Excluding the currently viewed entry from a recent entries list</title>
<link>http://rockatee.com/blog/expressionengine-excluding-currently-viewed-entry-from-recent-entries-list</link>
<guid>http://rockatee.com/blog/expressionengine-excluding-currently-viewed-entry-from-recent-entries-list</guid>
<description>
<![CDATA[
<p>Scenario: When viewing a single entry, you would like to display the most recent entries on the side, excluding the currently viewed entry.
By default, ExpressionEngine doesn't have a special function or parameter for it.
However, there's a very simple way to add this feature; by creating a <em>global variable</em> and using it as a <em>weblog</em> parameter value.</p>


<p>We start by creating a new <em>global variable</em> and assigning it to the template we use to render our single entries.</p>

<ol class="code">
    <li><code>{assign_variable:current_entry="{segment_3}"}</code></li>
</ol>
<p>What we've done: we have created a new <em>global variable</em> with the name of <em>current_entry</em> and assigned it the value of <em>{segment_3}</em>, the third segment of the URL.</p>
<p>An Example: <em>mysite.com/index.php/blog/single/<strong>my-entry-title</strong></em></p>
<p>In this example, the entry title is the third segment of the URL. <em>index.php</em> does not count as a segment. If you've never worked with ExpressionEngine's URL segments before, you can find <a href="http://expressionengine.com/docs/templates/globals/url_segments.html">all information on how to use them in the EE docs</a>.</p>  
<p>In our single entries template we insert our code somewhere at the top, e.g. below our other assigned global variables.</p>

<ol class="code">
    <li><code>{assign_variable:my_template_group="blog"}</code></li>
    <li><code>{assign_variable:my_weblog="blog"}"}</code></li>
    <li><strong><code>{assign_variable:current_entry="{segment_3}"}</code></strong></li>

</ol>

<p>Now we can apply the newly created <em>global variable</em> to use as a parameter value in our <em>weblog:entries</em> tag.</p>

<h4>The Logic</h4>

<p>We have stored the entry title in <em>{current_entry}</em> in order to use this <em>global variable</em> in our <em>weblog:entries</em> tag as a parameter value. Next, we'll tell our function to exclude the entry title from our recent entries in our single entries template.</p>

<ol class="code">
    <li><code>&lt;ul class="recent-entries"&gt;</code></li>
    <li><code>&#123;exp:weblog:entries weblog="{my_weblog&#125;" dynamic="off" <strong>url_title="not {current_entry}"</strong>}</code></li>

    <li><code>&lt;li&gt;&lt;a href="/blog/single/{url_title}" title="read more on {title}"&gt;{title}&lt;/a&gt;&lt;/li&gt;</code></li>
    <li><code>&#123;/exp:weblog:entries&#125;</code></li>
    <li><code>&lt;/ul&gt;</code></li>

</ol>

<p>It is important to have <em>dynamic="off"</em> in our <em>weblog: entries</em> tag.<br>In this example, we've added the <em>url_title</em> parameter and assigned it the value of <em>{current_entry}</em>. Additionally, we have prepended the value <em>"not"</em>, which translates to the following: if we view a single entry, do <strong>NOT</strong> include the current URL title.</p>

<p>That's it. We could also separate this piece of code from our template and then include it via embeds. However, I prefer to not use too many embeds to ensure that not too many queries are used that might effect speed/performance.</p>

<p>Categories: <a href="http://rockatee.com/blog/category/development/">Development</a> <a href="http://rockatee.com/blog/category/tutorials/">Tutorials</a> </p>
<p>Tags: <a href="http://rockatee.com/tags/tag/expressionengine/">expressionengine</a>, <a href="http://rockatee.com/tags/tag/tutorial/">tutorial</a></p>
<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/expressionengine-excluding-currently-viewed-entry-from-recent-entries-list"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/expressionengine-excluding-currently-viewed-entry-from-recent-entries-list" height="61" width="51" /></a></p>
]]>
</description>
<dc:date>2009-07-09T05:13+00:00</dc:date>
</item>

    
</channel>
</rss>