<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Trevor Davis</title>
	
	<link>http://trevordavis.net</link>
	<description>Doing That Web Standards Thing</description>
	<lastBuildDate>Tue, 03 Nov 2009 05:22:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain="trevordavis.net" port="80" path="/?rsscloud=notify" registerProcedure="" protocol="http-post" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/TrevorDavisFullBlog" type="application/rss+xml" /><feedburner:emailServiceId>TrevorDavisFullBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Creativity is Not Design (Design Test 2)</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/i5IiXONOBmk/</link>
		<comments>http://trevordavis.net/asides/creativity-is-not-design-design-test-2/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 05:22:54 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2179</guid>
		<description><![CDATA[Andy Rutledge has created a second design test to show that creativity does not necessarily mean you are an effective designer. The first test is excellent as well. I need to learn more about design principles&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Andy Rutledge has created a <a href="http://www.andyrutledge.com/creativity-is-not-design-test-2.php">second design test</a> to show that creativity does not necessarily mean you are an effective designer. The <a href="http://www.andyrutledge.com/design-test.php">first test</a> is excellent as well. I need to learn more about design principles&hellip;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=i5IiXONOBmk:1xH5tSxWJEw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=i5IiXONOBmk:1xH5tSxWJEw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=i5IiXONOBmk:1xH5tSxWJEw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=i5IiXONOBmk:1xH5tSxWJEw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=i5IiXONOBmk:1xH5tSxWJEw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=i5IiXONOBmk:1xH5tSxWJEw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=i5IiXONOBmk:1xH5tSxWJEw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/i5IiXONOBmk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/creativity-is-not-design-design-test-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/creativity-is-not-design-design-test-2/</feedburner:origLink></item>
		<item>
		<title>ExpressionEngine: Embed an Embed within Itself?</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/plpyCPf_PXA/</link>
		<comments>http://trevordavis.net/blog/tutorial/expressionengine-embed-an-embed-within-itself/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 17:00:25 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2143</guid>
		<description><![CDATA[At work this week, there was discussion on how to accomplish something in ExpressionEngine. We wanted to pull in entries that were in one category, but if there were no entries, then pull in from other categories and display that instead. We were kind of stumped as to how to do that.

I&#8217;m not sure if [...]]]></description>
			<content:encoded><![CDATA[<p>At work this week, there was discussion on how to accomplish something in ExpressionEngine. We wanted to pull in entries that were in one category, but if there were no entries, then pull in from other categories and display that instead. We were kind of stumped as to how to do that.</p>
<p><span id="more-2143"></span></p>
<p>I&rsquo;m not sure if we were missing some easy way to do that, but we couldn&rsquo;t think of a nice way to accomplish it.</p>
<h2>Let&rsquo;s Backup</h2>
<p>I guess it will be helpful to give you some more context. We had created a Channel (our term for Weblog) for <strong>events</strong>. You could categorize the events, and they would publish in different places.</p>
<p>In this instance, the homepage, we wanted to pull an event from one category, but if there were none, then just display an event from another category.</p>
<h2>The Initial Code</h2>
<p>This code was separated out in an embed so that we could use it in various places on the site:</p>
<pre><code>{assign_variable:channel_name="{embed:channel}"}
{assign_variable:category_id="{embed:category}"}

{exp:weblog:entries weblog="{channel_name}" category="{category_id}" show_future_entries="yes" show_expired="no" limit="1" disable=“category_fields|custom_fields|member_data|pagination|trackbacks”}

	&lt;h2>{title}&lt;/h2>
	{if events_feature_image}
		&lt;p class="rightSide">&lt;a href="{url_title_path="{embed:template_path}"}">&lt;img src="{events_feature_image}" alt="" />&lt;/a>&lt;/p>
	{/if}
	{if events_summary}
		{events_summary}
	{/if}

	&lt;p>&lt;a href="{url_title_path="{embed:template_path}"}" class="more">Read more &raquo;&lt;/a>&lt;/p>
{/exp:weblog:entries}</code></pre>
<p>The code doesn&rsquo;t really need to be explained; it&rsquo;s not the important part of this post. So on the homepage, we had code that looked like this to pull in the event:</p>
<pre><code>{embed="site/.events" channel="events" category="7" template_path="news-events/events"}</code></pre>
<p>Now, what we really wanted to be able to do was to modify the <strong>exp:weblog:entries</strong> code to pull from a different category if there were no results. Something like this:</p>
<pre><code>{exp:weblog:entries weblog="{channel_name}" category="{category_id}" show_future_entries="yes" show_expired="no" limit="1" disable=“category_fields|custom_fields|member_data|pagination|trackbacks”}
&hellip;
	{if no_results}
		Code  to pull from a different category
	{/if}
&hellip;
{/exp:weblog:entries}</code></pre>
<p>But the problem was, there really was no code that we could put in there that would pull from another category since you can&rsquo;t nest <strong>exp:weblog:entries</strong> tags. So that&rsquo;s when I remembered that you could stick an embed file in there that could have the <strong>exp:weblog:entries</strong> tag inside of it.</p>
<p>Then we realized that the code we wanted to write would be exactly like the code in the embed file we were already working with.</p>
<p>So we did a little investigation and found out that <a href="http://expressionengine.com/docs/templates/embedding_templates.html">according to the documentation (see notes section)</a>, you cannot embed an embed within itself.</p>
<p>That makes sense, because you could create an infinite loop. But what if we knew that it would not return an infinite loop?</p>
<h2>Modified Code</h2>
<p>So we determined that what we could do is not pass in the category on the embed statement, and that would pull back any events.</p>
<pre><code>{exp:weblog:entries weblog="{channel_name}" category="{category_id}" show_future_entries="yes" show_expired="no" limit="1" disable=“category_fields|custom_fields|member_data|pagination|trackbacks”}
&hellip;
	{if no_results}
		{embed="site/.events" channel="events" template_path="news-events/events"}
	{/if}
&hellip;
{/exp:weblog:entries}</code></pre>
<p>See how there is no category parameter this time? Here is the full modified code:</p>
<pre><code>{assign_variable:channel_name="{embed:channel}"}
{assign_variable:category_id="{embed:category}"}

{exp:weblog:entries weblog="{channel_name}" category="{category_id}" show_future_entries="yes" show_expired="no" limit="1" disable=“category_fields|custom_fields|member_data|pagination|trackbacks”}

	&lt;h2>{title}&lt;/h2>
	{if events_feature_image}
		&lt;p class="rightSide">&lt;a href="{url_title_path="{embed:template_path}"}">&lt;img src="{events_feature_image}" alt="" />&lt;/a>&lt;/p>
	{/if}
	{if events_summary}
		{events_summary}
	{/if}

	&lt;p>&lt;a href="{url_title_path="{embed:template_path}"}" class="more">Read more &raquo;&lt;/a>&lt;/p>

	<strong>{if no_results}
		{embed="site/.events" channel="events" template_path="news-events/events"}
	{/if}</strong>
{/exp:weblog:entries}</code></pre>
<p><strong>And that worked!</strong></p>
<h2>Houston, we still have a problem&hellip;</h2>
<p>But, we then realized that the same problem would occur if there were no future events in any categories. So, we still needed to go back and solve that problem by similarly passing the value for the <strong>show_expired</strong> parameter in the embed statement as well. I left that to my colleague, so I didn&rsquo;t test this code, but this is my guess of how to solve that problem:</p>
<pre><code>{assign_variable:channel_name="{embed:channel}"}
{assign_variable:category_id="{embed:category}"}
<strong>{assign_variable:show_expired="{embed:show_expired}"}</strong>

{exp:weblog:entries weblog="{channel_name}" category="{category_id}" show_future_entries="yes" <strong>show_expired="{show_expired}"</strong> limit="1" disable=“category_fields|custom_fields|member_data|pagination|trackbacks”}

	&lt;h2>{title}&lt;/h2>
	{if events_feature_image}
		&lt;p class="rightSide">&lt;a href="{url_title_path="{embed:template_path}"}">&lt;img src="{events_feature_image}" alt="" />&lt;/a>&lt;/p>
	{/if}
	{if events_summary}
		{events_summary}
	{/if}

	&lt;p>&lt;a href="{url_title_path="{embed:template_path}"}" class="more">Read more &raquo;&lt;/a>&lt;/p>

	{if no_results}
		{embed="site/.events" channel="events" <strong>show_expired="yes"</strong> template_path="news-events/events"}
	{/if}
{/exp:weblog:entries}</code></pre>
<h2>Conclusion</h2>
<p>Was there some really easy way to do this that we completely blanked on? It seemed a little <em>hacky</em>, but the solution worked.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=plpyCPf_PXA:w6KtzfLZ3lo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=plpyCPf_PXA:w6KtzfLZ3lo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=plpyCPf_PXA:w6KtzfLZ3lo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=plpyCPf_PXA:w6KtzfLZ3lo:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=plpyCPf_PXA:w6KtzfLZ3lo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=plpyCPf_PXA:w6KtzfLZ3lo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=plpyCPf_PXA:w6KtzfLZ3lo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/plpyCPf_PXA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/tutorial/expressionengine-embed-an-embed-within-itself/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/tutorial/expressionengine-embed-an-embed-within-itself/</feedburner:origLink></item>
		<item>
		<title>SEO FAQ</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/GJOelzXWWQE/</link>
		<comments>http://trevordavis.net/asides/seo-faq/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 04:07:49 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2149</guid>
		<description><![CDATA[Derek Powazek clarifies some points from his latest post. Again, great stuff here.
]]></description>
			<content:encoded><![CDATA[<p>Derek Powazek <a href="http://powazek.com/posts/2101">clarifies some points</a> from his latest post. Again, great stuff here.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=GJOelzXWWQE:NKiIbUNai8M:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=GJOelzXWWQE:NKiIbUNai8M:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=GJOelzXWWQE:NKiIbUNai8M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=GJOelzXWWQE:NKiIbUNai8M:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=GJOelzXWWQE:NKiIbUNai8M:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=GJOelzXWWQE:NKiIbUNai8M:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=GJOelzXWWQE:NKiIbUNai8M:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/GJOelzXWWQE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/seo-faq/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/seo-faq/</feedburner:origLink></item>
		<item>
		<title>Spammers, Evildoers, and Opportunists</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/CatCcN-DM9Y/</link>
		<comments>http://trevordavis.net/asides/spammers-evildoers-opportunists/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 16:30:24 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2140</guid>
		<description><![CDATA[Derek Powazek shares his opinion of SEO. I&#8217;m not going to lie; I agree with what he is saying.
]]></description>
			<content:encoded><![CDATA[<p>Derek Powazek <a href="http://powazek.com/posts/2090">shares his opinion of SEO</a>. I&rsquo;m not going to lie; I agree with what he is saying.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=CatCcN-DM9Y:nasEOhfqorI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=CatCcN-DM9Y:nasEOhfqorI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=CatCcN-DM9Y:nasEOhfqorI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=CatCcN-DM9Y:nasEOhfqorI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=CatCcN-DM9Y:nasEOhfqorI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=CatCcN-DM9Y:nasEOhfqorI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=CatCcN-DM9Y:nasEOhfqorI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/CatCcN-DM9Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/spammers-evildoers-opportunists/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/spammers-evildoers-opportunists/</feedburner:origLink></item>
		<item>
		<title>Dear Small Businesses: Some Advice</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/68xZXfbdcPQ/</link>
		<comments>http://trevordavis.net/asides/dear-small-businesses-some-advice/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 16:27:45 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2131</guid>
		<description><![CDATA[Jonathan Longnecker has posted a well written article expressing his love and frustrations of designing websites with small businesses. Some very nice points and advice here.
]]></description>
			<content:encoded><![CDATA[<p>Jonathan Longnecker has posted <a href="http://fortysevenmedia.com/blog/archives/dear_small_businesses_some_advice/">a well written article</a> expressing his love and frustrations of designing websites with small businesses. Some very nice points and advice here.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=68xZXfbdcPQ:FT77xeeGX9I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=68xZXfbdcPQ:FT77xeeGX9I:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=68xZXfbdcPQ:FT77xeeGX9I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=68xZXfbdcPQ:FT77xeeGX9I:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=68xZXfbdcPQ:FT77xeeGX9I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=68xZXfbdcPQ:FT77xeeGX9I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=68xZXfbdcPQ:FT77xeeGX9I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/68xZXfbdcPQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/dear-small-businesses-some-advice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/dear-small-businesses-some-advice/</feedburner:origLink></item>
		<item>
		<title>What Gives?</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/xVQIN6NF7Vw/</link>
		<comments>http://trevordavis.net/asides/what-gives/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 15:08:07 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2126</guid>
		<description><![CDATA[I like this: &#8220;We&#8217;re working at building the most important communications network in history. What we do today matters&#8221;. Good read, things need to change.
]]></description>
			<content:encoded><![CDATA[<p>I like <a href="http://boxofchocolates.ca/archives/2009/10/01/what-gives/">this</a>: &ldquo;We&rsquo;re working at building the most important communications network in history. What we do today matters&rdquo;. Good read, things need to change.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=xVQIN6NF7Vw:79Mhgw_TkZQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=xVQIN6NF7Vw:79Mhgw_TkZQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=xVQIN6NF7Vw:79Mhgw_TkZQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=xVQIN6NF7Vw:79Mhgw_TkZQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=xVQIN6NF7Vw:79Mhgw_TkZQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=xVQIN6NF7Vw:79Mhgw_TkZQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=xVQIN6NF7Vw:79Mhgw_TkZQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/xVQIN6NF7Vw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/what-gives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/what-gives/</feedburner:origLink></item>
		<item>
		<title>The State of the Web Design Profession</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/AneOdrrXRN0/</link>
		<comments>http://trevordavis.net/asides/state-web-design-profession/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 15:16:15 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2106</guid>
		<description><![CDATA[Noah Stokes has written a fantastic article on the State of the Web Design Profession. Well said.
]]></description>
			<content:encoded><![CDATA[<p>Noah Stokes has written a fantastic article on <a href="http://esbueno.noahstokes.com/post/190407732/the-state-of-the-web-design-profession">the State of the Web Design Profession</a>. Well said.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=AneOdrrXRN0:IN0b_goJ3AM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=AneOdrrXRN0:IN0b_goJ3AM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=AneOdrrXRN0:IN0b_goJ3AM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=AneOdrrXRN0:IN0b_goJ3AM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=AneOdrrXRN0:IN0b_goJ3AM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=AneOdrrXRN0:IN0b_goJ3AM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=AneOdrrXRN0:IN0b_goJ3AM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/AneOdrrXRN0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/state-web-design-profession/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/state-web-design-profession/</feedburner:origLink></item>
		<item>
		<title>Simple jQuery Text Resizer</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/Op8Wj-Q7EZI/</link>
		<comments>http://trevordavis.net/blog/tutorial/simple-jquery-text-resizer/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 02:25:43 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2072</guid>
		<description><![CDATA[I have done JavaScript text resizers a couple of different ways before, but I think I found my favorite way on a recent project. In previous projects, I have messed around with determining the current font size and adjusting it appropriately. But, in my opinion, simplifying things has made it a much better implementation.

If you [...]]]></description>
			<content:encoded><![CDATA[<p>I have done JavaScript text resizers a couple of different ways before, but I think I found my favorite way on a recent project. In previous projects, I have messed around with determining the current font size and adjusting it appropriately. But, in my opinion, simplifying things has made it a much better implementation.</p>
<p><span id="more-2072"></span></p>
<p>If you want to skip right to the <a href="http://trevordavis.net/play/jquery-text-resizer/">demo</a>, feel free.</p>
<p><a href="http://trevordavis.net/play/jquery-text-resizer/" class="more-link">View Demo</a></p>
<h2>Disclaimer</h2>
<p>Let me first say that I have started to size text in pixels and <a href="http://danielmall.com/archives/2007/04/20/soft_serve.php">soft serving</a> EMs to IE6. There are tons of different font sizing techniques you can use, but this is what is working for me. So use whatever technique you please, and adjust as needed.</p>
<p>Another thing: <strong>I hate text resizers</strong>. In my opinion, there is no reason to duplicate browser functionality. I feel the same about back and print links, but sometimes the functionality is requested, so I have to build it.</p>
<h2>Concept</h2>
<p>The idea is very simple: you click on the text size you want, and a class is added to the body to indicate which size the user has selected. Then, we take advantage of that body class when we are writing our CSS to size the different elements appropriately.</p>
<h2>Code</h2>
<p>Let&rsquo;s first start as we always should, by creating the markup:</p>
<pre><code>&lt;ul class="resizer">
	&lt;li class="small">&lt;a href="#">A&lt;/a>&lt;/li>
	&lt;li class="medium">&lt;a href="#">A&lt;/a>&lt;/li>
	&lt;li class="large">&lt;a href="#">A&lt;/a>&lt;/li>
&lt;/ul></code></pre>
<h3>jQuery</h3>
<p>The markup was simple enough, so let&rsquo;s get started on the jQuery. First, we want to execute our code when the document is loaded, and then add an event when one of the resizer links are clicked:</p>
<pre><code>$(document).ready(function() {
	$('.resizer a').click(function() {

	});
});</code></pre>
<p>Next, we want to get the class of the parent of the link that has been clicked, remove any of the resizer classes from the body, and add the new one:</p>
<pre><code>$(document).ready(function() {
	$('.resizer a').click(function() {
		var textSize = $(this).parent().attr('class');
		$('body').removeClass('small medium large').addClass(textSize);
	});
});</code></pre>
<p>We also don&rsquo;t want to regular action of the link to be followed, so we need to <strong>return false</strong>:</p>
<pre><code>$(document).ready(function() {
	$('.resizer a').click(function() {
		var textSize = $(this).parent().attr('class');
		$('body').removeClass('small medium large').addClass(textSize);
		return false;
	});
});</code></pre>
<p>I also think it is important to remember what text size a user has selected while browsing the site, so we will take advantage of the <a href="http://plugins.jquery.com/project/cookie">jQuery Cookie plugin</a> to help us with that. We will set a cookie that denotes which size the user has selected:</p>
<pre><code>$(document).ready(function() {
	$('.resizer a').click(function() {
		var textSize = $(this).parent().attr('class');
		$('body').removeClass('small medium large').addClass(textSize);
		$.cookie('TEXT_SIZE',textSize, { path: '/', expires: 10000 });
		return false;
	});
});</code></pre>
<p>Finally, we just need to add a check to the beginning of the script, so that if that cookie is set, we add that size as a class to the body:</p>
<pre><code>$(document).ready(function() {
	if($.cookie('TEXT_SIZE')) {
		$('body').addClass($.cookie('TEXT_SIZE'));
	}
	$('.resizer a').click(function() {
		var textSize = $(this).parent().attr('class');
		$('body').removeClass('small medium large').addClass(textSize);
		$.cookie('TEXT_SIZE',textSize, { path: '/', expires: 10000 });
		return false;
	});
});</code></pre>
<h3>CSS</h3>
<p> Now is where we get to the really powerful part of doing the text resizing like this: the CSS. We can start by simply stating our text size when it is in the small/default state:</p>
<pre><code>body { font: 12px/18px Arial, sans-serif; }</code></pre>
<p>Then, we just need to make a simple adjustment for the medium and large sizes:</p>
<pre><code>.medium { font-size: 16px; line-height: 22px; }
.large { font-size: 20px; line-height: 26px; }</code></pre>
<p>So you can just carry through this idea for the rest of the elements that have been assigned a font size:</p>
<pre><code>h1 { font-size: 30px; line-height: 36px; }
.medium h1 { font-size: 34px; line-height: 40px; }
.large h1 { font-size: 38px; line-height: 44px; }
h2 { font-size: 24px; line-height: 30px; }
.medium h2 { font-size: 28px; line-height: 34px; }
.large h2 { font-size: 32px; line-height: 38px; }
h3 { font-size: 18px; line-height: 24px; }
.medium h3 { font-size: 22px; line-height: 28px; }
.large h3 { font-size: 26px; line-height: 32px; }</code></pre>
<p><a href="http://trevordavis.net/play/jquery-text-resizer/" class="more-link">View Demo</a></p>
<p>The idea is very simple, and it really separates the presentation and behavioral layers. So what do you think? Do you have another technique that you like?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=Op8Wj-Q7EZI:6qDIZY5j4OY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=Op8Wj-Q7EZI:6qDIZY5j4OY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=Op8Wj-Q7EZI:6qDIZY5j4OY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=Op8Wj-Q7EZI:6qDIZY5j4OY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=Op8Wj-Q7EZI:6qDIZY5j4OY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=Op8Wj-Q7EZI:6qDIZY5j4OY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=Op8Wj-Q7EZI:6qDIZY5j4OY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/Op8Wj-Q7EZI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/tutorial/simple-jquery-text-resizer/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/tutorial/simple-jquery-text-resizer/</feedburner:origLink></item>
		<item>
		<title>Create a Newsletter with ExpressionEngine &amp; FieldFrame</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/P-dLYh7dmLg/</link>
		<comments>http://trevordavis.net/blog/tutorial/create-newsletter-expressionengine-fieldframe/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 04:36:36 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2049</guid>
		<description><![CDATA[I guess it is time to come back from my little hiatus to actually write a blog post. I recently moved, so I have been busy with getting settled and working on freelance projects as well. If you follow me on Twitter, you may have noticed that I have recently become obsessed with ExpressionEngine. I [...]]]></description>
			<content:encoded><![CDATA[<p>I guess it is time to come back from my little hiatus to actually write a blog post. I recently moved, so I have been busy with getting settled and working on freelance projects as well. If you <a href="http://twitter.com/davist11">follow me on Twitter</a>, you may have noticed that I have recently become obsessed with ExpressionEngine. I completed a <a href="http://trevordavis.net/work/ecfc/">project</a> at work using it, and I realized that I could have done something much more efficiently.</p>
<p><span id="more-2049"></span></p>
<p><a href="http://ee.trevordavis.net/newsletter/" class="more-link">View Demo</a></p>
<p>I had to create an &ldquo;online newsletter&rdquo; that had issues that were made up of multiple articles. I ended up creating two separate weblogs: one for each issue, and one for individual articles. In the issues weblog, there was a <a href="http://brandon-kelly.com/playa">Playa</a> custom field which could be used to pick the individual articles to be published in that issue. But, another one of Brandon Kelly&rsquo;s fabulous extensions, <a href="http://brandon-kelly.com/fieldframe">FieldFrame</a>, seems to be a much better choice for creating this functionality.</p>
<p>So, download, install, &amp; enable the <a href="http://brandon-kelly.com/fieldframe">FieldFrame Extension</a>, and let&rsquo;s be on our way.</p>
<h2>Creating the Custom Field Group</h2>
<p>First, let&rsquo;s create a field group named <strong>Newsletter</strong>. Now, we just need to create one custom field with the field name of <strong>newsletter_articles</strong>. Select <strong>FF Matrix</strong> as the field type.</p>
<p>We want to have two cells in the FF Matrix: <strong>articles_title</strong> &#038; <strong>articles_body</strong>. The cell types should be text and textarea, respectively. Then, adjust the sizes as you see fit.</p>
<p><img src="http://trevordavis.net/wp-content/uploads/2009/08/newsletter-ff.png" alt="FF Matrix Configuration" width="570" height="282" class="frame pullLeft" /></p>
<h2>Creating the Weblog</h2>
<p>Now that we have the custom field group setup, we need to create a new weblog called <strong>newsletter</strong> and make sure to assign our <strong>Newsletter field group</strong> to it. Now that the newsletter weblog is created, we can start adding newsletters.</p>
<p><img src="http://trevordavis.net/wp-content/uploads/2009/08/newletter-entry.png" alt="Newsletter Entry Form" width="570" height="304" class="frame pullLeft" /></p>
<p>First, fill in the main title field, and then add in one or more articles. Now, let&rsquo;s get onto coding the output template.</p>
<h2>Creating the Template</h2>
<p>Let&rsquo;s start by creating a new template group called <strong>newsletter</strong>. We have two different pages that we want to create: the page listing all of the newsletter entries, and the individual newsletter entry displaying all of the articles. But, we can do this with only one template.</p>
<p>So, open up the index template in the newsletter template group, and we will start by setting up the structure of the template:</p>
<pre><code>{assign_variable:weblog="newsletter"}
{embed="newsletter/.header" title="{if segment_2}
	{!--Display individual newsletter entry title here--}
{if:else}
	Newsletters
{/if}
"}

{if segment_2}
	{!--Display full individual newsletter entry with 1 or more articles--}
{if:else}
	{!--Display list of newsletters entered--}
{/if}

{embed="newsletter/.footer"}</code></pre>
<p>We start by creating a variable to store the name of our weblog. Then, I created a simple header and footer to store some of the HTML that frames the page. I am passing in the title value in an embed variable to the header and displaying that in the browser title.</p>
<p>If the segment_2 value is not null, we know that we are on an individual newsletter page, so we will display that title. If the segment_2 value is null, then we are on the main newsletter listing page, so we just display Newsletters.</p>
<p>We are using the same conditional again for the content on the page. We either show the individual newsletter entry with the articles, or we show the list of newsletter entered. So let&rsquo;s build out the code a little more. First, let&rsquo;s finish displaying the title:</p>
<pre><code>{embed="newsletter/.header" title="{if segment_2}
	{exp:weblog:entries weblog="{weblog}" limit="1" disable="categories|category_fields|custom_fields|member_data|pagination|trackbacks"}
		{title} : {entry_date format="%F %j, %Y"}
	{/exp:weblog:entries}
{if:else}
	Newsletters
{/if}
"}</code></pre>
<p>Pretty simple stuff here, just displaying the title and entry date of the newsletter entry. Next, let&rsquo;s tackle displaying the single newsletter entry view:</p>
<pre><code>{if segment_2}
	{exp:weblog:entries weblog="{weblog}" limit="1" disable="categories|category_fields|custom_fields|member_data|pagination|trackbacks"}
		&lt;h1>{title}: {entry_date format="%F %j, %Y"}&lt;/h1>

		{newsletter_articles}
			&lt;div class="entry">
				&lt;h2>{articles_title}&lt;/h2>
				{articles_body}
			&lt;/div>
		{/newsletter_articles}
	{/exp:weblog:entries}
	&lt;p>&lt;a href="{path="newsletter"}">&laquo; Back to Newsletters&lt;/a>&lt;/p></code></pre>
<p>The beginning should look pretty normal: just using the standard exp:weblog:entries tag to pull in the individual entry. We first display the title and entry date. Then, the next part is where we are taking advantage of the <a href="http://brandon-kelly.com/fieldframe/docs/ff-matrix">FieldFrame Matrix</a>. We are basically just looping through all of the <strong>newsletter_articles</strong> and displaying them in divs.</p>
<p>Finally, let&rsquo;s finish up by displaying the list of newsletter entries:</p>
<pre><code>{if:else}
	{exp:weblog:entries weblog="{weblog}" disable="categories|category_fields|custom_fields|member_data|pagination|trackbacks"}
		{if count == 1}
			&lt;ul>
		{/if}

			&lt;li>&lt;a href="{url_title_path="newsletter"}">{title}: {entry_date format="%F %j, %Y"}&lt;/a>&lt;/li>
		{if count == total_results}
			&lt;/ul>
		{/if}
	{/exp:weblog:entries}
{/if}</code></pre>
<p>Simple stuff again: just looping through all newsletter entries and displaying them in a list. The two conditional statements are so you don&rsquo;t end up with any empty unordered lists when there are no entries.</p>
<p><a href="http://ee.trevordavis.net/newsletter/" class="more-link">View Demo</a></p>
<p>I wish I would have realized this would have been a more efficient way to build a newsletter in EE for the project; but, this is why always learning is so important.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=P-dLYh7dmLg:YLvwcl3cAR0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=P-dLYh7dmLg:YLvwcl3cAR0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=P-dLYh7dmLg:YLvwcl3cAR0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=P-dLYh7dmLg:YLvwcl3cAR0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=P-dLYh7dmLg:YLvwcl3cAR0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=P-dLYh7dmLg:YLvwcl3cAR0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=P-dLYh7dmLg:YLvwcl3cAR0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/P-dLYh7dmLg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/tutorial/create-newsletter-expressionengine-fieldframe/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/tutorial/create-newsletter-expressionengine-fieldframe/</feedburner:origLink></item>
		<item>
		<title>Packt Book Giveaway Winners</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/jOnWdf5pmEA/</link>
		<comments>http://trevordavis.net/blog/news/packt-book-giveaway-winners/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 05:07:31 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2037</guid>
		<description><![CDATA[Thank you everyone for participating in the Packt Book Giveaway. It was interesting to see how many more people were interested in the jQuery book compared to the others. Now, on to the winners&#8230;



The Choosing an Open Source CMS book was won by Eric D. Greene with his comment on the blog article.


The WordPress 2.7 [...]]]></description>
			<content:encoded><![CDATA[<p>Thank you everyone for participating in the <a href="http://trevordavis.net/blog/news/packt-book-giveaway/">Packt Book Giveaway</a>. It was interesting to see how many more people were interested in the jQuery book compared to the others. Now, on to the winners&hellip;</p>
<p><span id="more-2037"></span></p>
<ul>
<li>
<p>The <strong>Choosing an Open Source CMS</strong> book was won by <a href="http://trevordavis.net/blog/news/packt-book-giveaway/#comment-3212">Eric D. Greene</a> with his comment on the blog article.</p>
</li>
<li>
<p>The <strong>WordPress 2.7 Complete</strong> book was won by <a href="http://twitter.com/mudd06/status/2823637564">Adrian Turner</a> with his Twitter entry.</p>
</li>
<li>
<p>The <strong>Learning jQuery 1.3</strong> book was won by <a href="http://trevordavis.net/blog/news/packt-book-giveaway/#comment-3222">CodeJoust Chattanooga Webdesign Development</a> for their comment on the blog article.</p>
</li>
</ul>
<p>The winners have been contacted, but if their are any problems, I will choose a new winner. Thanks everyone for the entries, and I hope to be able to do this again.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=jOnWdf5pmEA:2aIn_VeluRk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=jOnWdf5pmEA:2aIn_VeluRk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=jOnWdf5pmEA:2aIn_VeluRk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=jOnWdf5pmEA:2aIn_VeluRk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=jOnWdf5pmEA:2aIn_VeluRk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=jOnWdf5pmEA:2aIn_VeluRk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=jOnWdf5pmEA:2aIn_VeluRk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/jOnWdf5pmEA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/news/packt-book-giveaway-winners/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/news/packt-book-giveaway-winners/</feedburner:origLink></item>
		<item>
		<title>Web Design is a Journey</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/VwijPCg3XBQ/</link>
		<comments>http://trevordavis.net/asides/web-design-is-a-journey/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 14:56:12 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2029</guid>
		<description><![CDATA[I definitely don&#8217;t categorize myself as a designer because there is no way I can create such amazing work as this. It&#8217;s fantastic to see the very different directions that Mike went in before reaching the final design.
]]></description>
			<content:encoded><![CDATA[<p>I definitely don&rsquo;t categorize myself as a designer because there is no way I can create such <a href="http://carsonified.com/blog/design/web-design-is-a-journey/">amazing work as this</a>. It&rsquo;s fantastic to see the <strong>very</strong> different directions that Mike went in before reaching the final design.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=VwijPCg3XBQ:GCeKmHqPn_I:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=VwijPCg3XBQ:GCeKmHqPn_I:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=VwijPCg3XBQ:GCeKmHqPn_I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=VwijPCg3XBQ:GCeKmHqPn_I:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=VwijPCg3XBQ:GCeKmHqPn_I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=VwijPCg3XBQ:GCeKmHqPn_I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=VwijPCg3XBQ:GCeKmHqPn_I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/VwijPCg3XBQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/web-design-is-a-journey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/web-design-is-a-journey/</feedburner:origLink></item>
		<item>
		<title>Strangers at a cocktail party</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/5M54dX7Oakk/</link>
		<comments>http://trevordavis.net/asides/strangers-at-a-cocktail-party/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 21:55:09 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2026</guid>
		<description><![CDATA[I love this way of thinking. A successful environment is one where you are able to tell people when they&#8217;re full of crap.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.37signals.com/svn/posts/1808-strangers-at-a-cocktail-party">I love this way of thinking</a>. A successful environment is one where you are able to tell people when they&rsquo;re full of crap.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=5M54dX7Oakk:Sytn_JRavUc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=5M54dX7Oakk:Sytn_JRavUc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=5M54dX7Oakk:Sytn_JRavUc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=5M54dX7Oakk:Sytn_JRavUc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=5M54dX7Oakk:Sytn_JRavUc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=5M54dX7Oakk:Sytn_JRavUc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=5M54dX7Oakk:Sytn_JRavUc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/5M54dX7Oakk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/strangers-at-a-cocktail-party/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/strangers-at-a-cocktail-party/</feedburner:origLink></item>
		<item>
		<title>Packt Book Giveaway: jQuery, WordPress, &amp; Open Source CMS</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/a-LIQQg6Wqk/</link>
		<comments>http://trevordavis.net/blog/news/packt-book-giveaway/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 04:42:35 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=2003</guid>
		<description><![CDATA[I am pleased to announced that I have 3 Packt books to giveaway: Learning jQuery 1.3, WordPress 2.7 Complete, &#38; Choosing an Open Source CMS. Entering to win one of these books is very simple, and you can enter in two different ways.


But first, let me provide a little more detail about the books.
Learning jQuery [...]]]></description>
			<content:encoded><![CDATA[<p>I am pleased to announced that I have 3 <a href="http://www.packtpub.com/">Packt</a> books to giveaway: <a href="http://www.packtpub.com/learning-jquery-1.3/book/mid/130709nwu5nv">Learning jQuery 1.3</a>, <a href="http://www.packtpub.com/wordpress-2-7-complete-2nd-edition/book/mid/130709sh1anm">WordPress 2.7 Complete</a>, &amp; <a href="http://www.packtpub.com/choosing-an-open-source-cms-beginners-guide/book/mid/1307090ncy0g">Choosing an Open Source CMS</a>. Entering to win one of these books is very simple, and you can enter in two different ways.</p>
<p><span id="more-2003"></span></p>
<p><img src="http://trevordavis.net/wp-content/uploads/2009/07/packt-books.png" alt="" class="pullLeft" width="520" height="265" /></p>
<p>But first, let me provide a little more detail about the books.</p>
<h2>Learning jQuery 1.3</h2>
<p><a href="http://www.packtpub.com/learning-jquery-1.3/book/mid/130709nwu5nv"><img src="http://trevordavis.net/wp-content/uploads/2009/07/packt-jquery.jpg" alt="Learning jQuery 1.3" width="90" height="110" class="leftSide frame pullLeft" /></a>To build interesting, interactive sites, developers are turning to JavaScript libraries such as jQuery to automate common tasks and simplify complicated ones. Because many web developers have more experience with HTML and CSS than with JavaScript, the library&#8217;s design lends itself to a quick start for designers with little programming experience. Experienced programmers will also be aided by its conceptual consistency.</p>
<p>Revised and updated for version 1.3 of jQuery, this book teaches you the basics of jQuery for adding interactions and animations to your pages. Even if previous attempts at writing JavaScript have left you baffled, this book will guide you past the pitfalls associated with AJAX, events, effects, and advanced JavaScript language features.</p>
<p><a href="http://www.packtpub.com/learning-jquery-1.3/book/mid/130709nwu5nv" class="more-link">Full Book Detail</a></p>
<h2>WordPress 2.7 Complete</h2>
<p><a href="http://www.packtpub.com/wordpress-2-7-complete-2nd-edition/book/mid/130709sh1anm"><img src="http://trevordavis.net/wp-content/uploads/2009/07/packt-wordpress.jpg" alt="WordPress 2.7 Complete" width="90" height="110" class="leftSide frame pullLeft" /></a>Using WordPress you can easily create dynamic blogs and web sites with great content and many outstanding features. It is an ideal tool for developing blogs and although it is chiefly used for blogging, it can also be used as a complete CMS with very little effort. You can customize the features, incorporate your own design, and even write your own plug-ins with ease. Its versatility and ease of use have attracted a large, enthusiastic, and helpful community of users. While it is easy to get started with WordPress, its full power is not obvious.</p>
<p>If you want to create a powerful, fully-featured blog or non-blog web site in no time, this book is for you. It will give you a rapid and straightforward introduction to the rich and powerful features of WordPress and get you up and running with a state-of-the-art blog as quickly and painlessly as possible. It will help you learn everything WordPress has to offer, from the ground up, so you can build your complete web site. You will see many of WordPress&#8217;s hidden powers that will help you build a fully functioning web site.</p>
<p><a href="http://www.packtpub.com/wordpress-2-7-complete-2nd-edition/book/mid/130709sh1anm" class="more-link">Full Book Detail</a></p>
<h2>Choosing an Open Source CMS</h2>
<p><a href="http://www.packtpub.com/choosing-an-open-source-cms-beginners-guide/book/mid/1307090ncy0g"><img src="http://trevordavis.net/wp-content/uploads/2009/07/packt-cms.jpg" alt="Choosing an Open Source CMS" width="90" height="110" class="leftSide frame pullLeft" /></a>There are many powerful open source CMSs available to take the pain away from managing a web site. These systems are feature rich, often easy to use, and free. Unfortunately, there are so many choices it&#8217;s tough to be sure you&#8217;re choosing the right one. How can you be sure that you are selecting and working with the right tool?</p>
<p>This book will guide you through choosing the right CMS for your needs. You can be confident in your choice of CMS for the needs of your project. It will also help you make a start using the CMS, and give you a feel for what it&#8217;s like to use it – even before you install it yourself.</p>
<p>Are you bewildered by the many open source CMSs available online? Open source CMSs are the best way to create and manage sophisticated web sites. You can create a site that precisely meets your business goals, and keep the site up to date easily because these systems give you full control over every aspect of your site. Because open source CMSs are free to download, you have a huge amount of choice between the various systems.</p>
<p><a href="http://www.packtpub.com/choosing-an-open-source-cms-beginners-guide/book/mid/1307090ncy0g" class="more-link">Full Book Detail</a></p>
<h2>How to Enter</h2>
<p>There are two different ways to enter:</p>
<ol>
<li>Post a comment on this blog post with the book of your choice: <strong>jQuery</strong>, <strong>WordPress</strong>, or <strong>CMS</strong>. Make sure you provide a valid email address so that I can get in touch with you if you win.</li>
<li>Tweet about it. Here is what you need to tweet:
<p><a href="http://bit.ly/5J7Gj">http://bit.ly/5J7Gj</a> Free Packt Book Giveaway from <a href="http://twitter.com/davist11">@davist11</a> I want the <strong>(BOOK NAME HERE)</strong> book.</p>
<p>Then just replace <strong>BOOK NAME HERE</strong> with the book of your choice: <strong>jQuery</strong>, <strong>WordPress</strong>, or <strong>CMS</strong>.</li>
</ol>
<h2>Contest Details</h2>
<p>You can enter once by submitting a comment on this post and <strong>as many times as you want on Twitter</strong>. The contest will end Friday, July 24th at 6 PM ET. Once over, I will randomly choose the winners and notify them to get their addresses.</p>
<p>That&rsquo;s it, now get going and enter already. <strong>Big thanks to <a href="http://www.packtpub.com">Packt Publishing</a> for sponsoring the giveaway!</strong></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=a-LIQQg6Wqk:EbkYLqJni9w:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=a-LIQQg6Wqk:EbkYLqJni9w:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=a-LIQQg6Wqk:EbkYLqJni9w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=a-LIQQg6Wqk:EbkYLqJni9w:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=a-LIQQg6Wqk:EbkYLqJni9w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=a-LIQQg6Wqk:EbkYLqJni9w:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=a-LIQQg6Wqk:EbkYLqJni9w:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/a-LIQQg6Wqk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/news/packt-book-giveaway/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/news/packt-book-giveaway/</feedburner:origLink></item>
		<item>
		<title>Misunderstanding markup</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/mj49P64Yu-k/</link>
		<comments>http://trevordavis.net/asides/misunderstanding-markup/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 21:11:58 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1998</guid>
		<description><![CDATA[Everyone is freaking out about the XHTML 2 Working Group disbanding at the end of the year. Relax people! Jeremy Keith helps to explain why nobody should worry.
]]></description>
			<content:encoded><![CDATA[<p>Everyone is freaking out about the XHTML 2 Working Group disbanding at the end of the year. Relax people! Jeremy Keith <a href="http://adactio.com/journal/1595/">helps to explain why nobody should worry</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=mj49P64Yu-k:nkhOADgTei4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=mj49P64Yu-k:nkhOADgTei4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=mj49P64Yu-k:nkhOADgTei4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=mj49P64Yu-k:nkhOADgTei4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=mj49P64Yu-k:nkhOADgTei4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=mj49P64Yu-k:nkhOADgTei4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=mj49P64Yu-k:nkhOADgTei4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/mj49P64Yu-k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/misunderstanding-markup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/misunderstanding-markup/</feedburner:origLink></item>
		<item>
		<title>Enough with the IE6 Whining</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/I4mlkyxxa6w/</link>
		<comments>http://trevordavis.net/blog/web/enough-with-the-ie6-whining/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 04:25:04 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1979</guid>
		<description><![CDATA[Seriously, I can&#8217;t go a day without reading about someone complaining about IE6. Yes, we all know it&#8217;s support is terrible. Yes, we know that Microsoft sat around and did nothing for 5 years. But look, they have stepped their game up, they have released 2 browser versions in 3 years. Yes, they are not [...]]]></description>
			<content:encoded><![CDATA[<p>Seriously, I can&rsquo;t go a day without reading about someone complaining about IE6. Yes, we all know it&rsquo;s support is terrible. Yes, we know that Microsoft sat around and did nothing for 5 years. But look, they have stepped their game up, they have released 2 browser versions in 3 years. Yes, they are not up to par with more standards compliant browsers, but they are a major improvement over IE6.</p>
<p><span id="more-1979"></span></p>
<p>So I ask you: <strong>what is Microsoft supposed to do</strong>?</p>
<p>It isn&rsquo;t their fault that users won&rsquo;t upgrade their browser.</p>
<h2>Suck It Up</h2>
<p>If you call yourself a web developer, you should be able to make things presentable in IE6. If you can&rsquo;t, then you probably shouldn&rsquo;t call yourself one. So suck it up and deal with it. <strong>Doesn&rsquo;t the challenge make our jobs more interesting?</strong></p>
<p>I&rsquo;m not saying that your site has to look exactly the same in all browsers. <a href="http://dowebsitesneedtolookexactlythesameineverybrowser.com/">We already know the answer to that question</a>. Just make it presentable. Make sure a user can access all content on the site. Remember, it&rsquo;s <strong>still</strong> all about the content.</p>
<h3>Better Yet</h3>
<p>Take a look at the traffic to the site and determine to what degree you even need to support it. If IE6 visitors only compromise a very small percentage, maybe consider using <a href="http://forabeautifulweb.com/blog/about/universal_internet_explorer_6_css/">Andy Clarke&rsquo;s Universal Internet Explorer 6 CSS</a>. That will put the content front and center in IE6, and you won&rsquo;t even have to worry about it.</p>
<p>Just please, stop complaining.</p>
<p><strong>&lt;/rant></strong></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=I4mlkyxxa6w:KV-piCi_QV8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=I4mlkyxxa6w:KV-piCi_QV8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=I4mlkyxxa6w:KV-piCi_QV8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=I4mlkyxxa6w:KV-piCi_QV8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=I4mlkyxxa6w:KV-piCi_QV8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=I4mlkyxxa6w:KV-piCi_QV8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=I4mlkyxxa6w:KV-piCi_QV8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/I4mlkyxxa6w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/web/enough-with-the-ie6-whining/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/web/enough-with-the-ie6-whining/</feedburner:origLink></item>
		<item>
		<title>Walls Come Tumbling Down</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/qt0hTv-Ox4U/</link>
		<comments>http://trevordavis.net/asides/walls-come-tumbling-down/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 15:00:59 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1981</guid>
		<description><![CDATA[Andy Clarke has posted the slides and transcript from his presentation at @media2009. It&#8217;s a long one, so I scanned it, but it looked like a fantastic presentation.
]]></description>
			<content:encoded><![CDATA[<p>Andy Clarke has posted the <a href="http://forabeautifulweb.com/blog/about/walls_come_tumbling_down_presentation_slides_and_transcript/">slides and transcript</a> from his presentation at @media2009. It&rsquo;s a long one, so I scanned it, but it looked like a fantastic presentation.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=qt0hTv-Ox4U:gyRqTqajRGc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=qt0hTv-Ox4U:gyRqTqajRGc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=qt0hTv-Ox4U:gyRqTqajRGc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=qt0hTv-Ox4U:gyRqTqajRGc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=qt0hTv-Ox4U:gyRqTqajRGc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=qt0hTv-Ox4U:gyRqTqajRGc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=qt0hTv-Ox4U:gyRqTqajRGc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/qt0hTv-Ox4U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/walls-come-tumbling-down/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/walls-come-tumbling-down/</feedburner:origLink></item>
		<item>
		<title>jQuery Inline Form Labels</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/cMBkef2oLeo/</link>
		<comments>http://trevordavis.net/blog/tutorial/jquery-inline-form-labels/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 05:25:27 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1938</guid>
		<description><![CDATA[I&#8217;ve been seeing the trend of applying inline labels on form elements more and more these days. So I definitely needed to come up with a solid solution that would help me easily apply this effect.

Maybe I need to explain a little better what I am referring to. Instead of using a label that is [...]]]></description>
			<content:encoded><![CDATA[<p>I&rsquo;ve been seeing the trend of applying inline labels on form elements more and more these days. So I definitely needed to come up with a solid solution that would help me easily apply this effect.</p>
<p><span id="more-1938"></span></p>
<p><a href="http://trevordavis.net/play/jquery-inline-form-labels/"><img src="http://trevordavis.net/wp-content/uploads/2009/06/jquery-inline-labels.png" alt="jQuery Inline Form Labels" width="280" height="169" class="leftSide pullLeft" /></a>Maybe I need to explain a little better what I am referring to. Instead of using a label that is next to or above the input element, the label is actually within the input. Then, when the input is focused, the label goes away and you can enter your value into it. Finally, when the input is no longer focused, if there is no value entered, the inline label is then added back in.</p>
<p><a href="http://trevordavis.net/play/jquery-inline-form-labels/" class="more-link">See Demo</a></p>
<h2>My Solution</h2>
<p>The title attribute.</p>
<p>It&rsquo;s so simple, but perfect. A great benefit of using the title attribute, is that when you hover over the input, you get a little tooltip displaying the inline label. So all I need to do is add a title attribute with the text that we want to have show up as the inline label. Then, we just use a little jQuery to make it all happen.</p>
<h3>The jQuery</h3>
<p>First, we want to select each input that has a title attribute, once the document is loaded:</p>
<pre><code>$(document).ready(function() {
	$('input[title]').each(function() {
	&hellip;
	});
});</code></pre>
<p>Next, if the value of the input element is empty, we want to take the title attribute and add it as the value of the input.</p>
<pre><code>$(document).ready(function() {
	$('input[title]').each(function() {
		<strong>if($(this).val() === '') {
			$(this).val($(this).attr('title'));
		}</strong>
	});
});</code></pre>
<p>After that, we want to setup a function that will fire once the input is focused. When it is focused, if the value is equal to the title attribute, we want to set the value to nothing and add a class of focused:</p>
<pre><code>$(document).ready(function() {
	$('input[title]').each(function() {
		if($(this).val() === '') {
			$(this).val($(this).attr('title'));
		}

		<strong>$(this).focus(function() {
			if($(this).val() === $(this).attr('title')) {
				$(this).val('').addClass('focused');
			}
		});</strong>
	});
});</code></pre>
<p>The reason why we add the class of focused is so that we can change the text color, border or anything to make it noticeable that the input is being focused. You can see this effect in the <a href="http://trevordavis.net/play/jquery-inline-form-labels/">demo</a>.</p>
<p>Finally, we want to add a function that will fire when the input loses focus. When it does, if the input value is empty, we want to set the value back to the title attribute and remove the class of focused:</p>
<pre><code>$(document).ready(function() {
	$('input[title]').each(function() {
		if($(this).val() === '') {
			$(this).val($(this).attr('title'));
		}

		$(this).focus(function() {
			if($(this).val() === $(this).attr('title')) {
				$(this).val('').addClass('focused');
			}
		});

		<strong>$(this).blur(function() {
			if($(this).val() === '') {
				$(this).val($(this).attr('title')).removeClass('focused');
			}
		});</strong>
	});
});</code></pre>
<p><a href="http://trevordavis.net/play/jquery-inline-form-labels/" class="more-link">See Demo</a></p>
<p>And that&rsquo;s it. It&rsquo;s just a little bit of code, but it can go a long way. So take it and build on it.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=cMBkef2oLeo:2EGlsANg9Sw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=cMBkef2oLeo:2EGlsANg9Sw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=cMBkef2oLeo:2EGlsANg9Sw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=cMBkef2oLeo:2EGlsANg9Sw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=cMBkef2oLeo:2EGlsANg9Sw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=cMBkef2oLeo:2EGlsANg9Sw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=cMBkef2oLeo:2EGlsANg9Sw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/cMBkef2oLeo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/tutorial/jquery-inline-form-labels/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/tutorial/jquery-inline-form-labels/</feedburner:origLink></item>
		<item>
		<title>Dog and Pony Show Design</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/-fycVfTaLIk/</link>
		<comments>http://trevordavis.net/asides/dog-and-pony-show-design/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 15:07:52 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1940</guid>
		<description><![CDATA[Andy Rutledge continues to blow my mind with his fantastic articles. &#8220;Multiple design options are what you visit in your design process on your way toward a solution. What you present to your client must be the most effective result of your exhaustive efforts. Nothing less.&#8221;
]]></description>
			<content:encoded><![CDATA[<p>Andy Rutledge continues to blow my mind with his <a href="http://www.andyrutledge.com/dog-and-pony-show-design.php">fantastic articles</a>. &ldquo;Multiple design options are what you visit in your design process on your way toward a solution. What you present to your client must be the most effective result of your exhaustive efforts. Nothing less.&rdquo;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=-fycVfTaLIk:pvvuf6xEA-E:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=-fycVfTaLIk:pvvuf6xEA-E:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=-fycVfTaLIk:pvvuf6xEA-E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=-fycVfTaLIk:pvvuf6xEA-E:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=-fycVfTaLIk:pvvuf6xEA-E:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=-fycVfTaLIk:pvvuf6xEA-E:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=-fycVfTaLIk:pvvuf6xEA-E:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/-fycVfTaLIk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/dog-and-pony-show-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/dog-and-pony-show-design/</feedburner:origLink></item>
		<item>
		<title>Remember, You are the Expert</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/UDwyOs-WKl0/</link>
		<comments>http://trevordavis.net/blog/thoughts/remember-you-are-the-expert/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 05:18:16 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1914</guid>
		<description><![CDATA[I&#8217;ve been realizing lately that there is a big problem in the web design/development field: we aren&#8217;t thought of as experts. Ok maybe that&#8217;s not completely true, but I&#8217;ve seen a lot of clients &#8220;guiding&#8221; the process. But actually, maybe this is our own fault, so how can we fix it?

Be the Expert
We have to [...]]]></description>
			<content:encoded><![CDATA[<p>I&rsquo;ve been realizing lately that there is a big problem in the web design/development field: we aren&rsquo;t thought of as experts. Ok maybe that&rsquo;s not completely true, but I&rsquo;ve seen a lot of clients &ldquo;guiding&rdquo; the process. But actually, maybe this is our own fault, so how can we fix it?</p>
<p><span id="more-1914"></span></p>
<h2>Be the Expert</h2>
<p>We have to remember that we are the web experts in this relationship. We need to show confidence when talking with clients. Talk authoritatively about the details of the project and show them that we know what we are talking about. Just like we wouldn&rsquo;t go tell an architect how to design a house, our clients need to trust us to build their website.</p>
<h2>Stick to Your Guns</h2>
<p>So let&rsquo;s say a client suggests something that you know would work better if you did it a different way; don&rsquo;t just say yes to the client, make your suggestion and build a case for it. Reference other examples. Site statistics. Fight for the best solution. Remember, <strong>you</strong> are the expert.</p>
<h2>Read, Browse, and Read Some More</h2>
<p>The web is full of great articles, bad examples of web sites, good examples of web sites, and much more. So by just spending time browsing the web, you can amass a huge amount of knowledge about what works and what doesn&rsquo;t. This will provide you with loads of ammunition to use when clients need your guidance.</p>
<h2>It&rsquo;s Hard</h2>
<p>I struggle with it all the time. It&rsquo;s hard to say no to a client when they are the ones paying you. But the best thing to do is to make your suggestions, back it up with statistics &amp; examples, and hope that the client trusts your judgment.</p>
<p>Remember, <strong>you</strong> are the expert.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=UDwyOs-WKl0:Dhj06FTo_vE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=UDwyOs-WKl0:Dhj06FTo_vE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=UDwyOs-WKl0:Dhj06FTo_vE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=UDwyOs-WKl0:Dhj06FTo_vE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=UDwyOs-WKl0:Dhj06FTo_vE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=UDwyOs-WKl0:Dhj06FTo_vE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=UDwyOs-WKl0:Dhj06FTo_vE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/UDwyOs-WKl0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/thoughts/remember-you-are-the-expert/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/thoughts/remember-you-are-the-expert/</feedburner:origLink></item>
		<item>
		<title>Of Brands and Commodities</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/FRIaqIHW1P4/</link>
		<comments>http://trevordavis.net/asides/of-brands-and-commodities/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 17:10:04 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1916</guid>
		<description><![CDATA[Genius: &#8220;Turning down money to make money; sounds like a dodgy strategy, but it&#8217;s more powerful than you might think. And it&#8217;s required if you want to build a brand.&#8221;
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.andyrutledge.com/of-brands-and-commodities.php">Genius</a>: &ldquo;Turning down money to make money; sounds like a dodgy strategy, but it&rsquo;s more powerful than you might think. And it&rsquo;s required if you want to build a brand.&rdquo;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=FRIaqIHW1P4:GfgLtDujLBQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=FRIaqIHW1P4:GfgLtDujLBQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=FRIaqIHW1P4:GfgLtDujLBQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=FRIaqIHW1P4:GfgLtDujLBQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=FRIaqIHW1P4:GfgLtDujLBQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=FRIaqIHW1P4:GfgLtDujLBQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=FRIaqIHW1P4:GfgLtDujLBQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/FRIaqIHW1P4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/of-brands-and-commodities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/of-brands-and-commodities/</feedburner:origLink></item>
		<item>
		<title>10 Cost Effective Web Development Techniques</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/HX09to55RSY/</link>
		<comments>http://trevordavis.net/asides/10-cost-effective-web-development-techniques/#comments</comments>
		<pubDate>Fri, 22 May 2009 18:27:35 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1912</guid>
		<description><![CDATA[Excellent, excellent, excellent presentation from Drew McLellan. Wish I could have seen it in person.
]]></description>
			<content:encoded><![CDATA[<p>Excellent, excellent, excellent <a href="http://allinthehead.com/retro/340/10-cost-effective-web-development-techniques">presentation from Drew McLellan</a>. Wish I could have seen it in person.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=HX09to55RSY:XhQApeTRnO4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=HX09to55RSY:XhQApeTRnO4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=HX09to55RSY:XhQApeTRnO4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=HX09to55RSY:XhQApeTRnO4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=HX09to55RSY:XhQApeTRnO4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=HX09to55RSY:XhQApeTRnO4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=HX09to55RSY:XhQApeTRnO4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/HX09to55RSY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/10-cost-effective-web-development-techniques/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/10-cost-effective-web-development-techniques/</feedburner:origLink></item>
		<item>
		<title>Creating a Google Map with ExpressionEngine</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/PlO15dMg7d4/</link>
		<comments>http://trevordavis.net/asides/creating-a-google-map-with-expressionengine/#comments</comments>
		<pubDate>Wed, 13 May 2009 13:24:36 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1908</guid>
		<description><![CDATA[Since I have a newfound love of ExpressionEngine, I wrote my most recent article for NETTUTS about creating a Google Map with it.
]]></description>
			<content:encoded><![CDATA[<p>Since I have a newfound love of ExpressionEngine, I wrote my most recent article for NETTUTS about <a href="http://net.tutsplus.com/tutorials/other/creating-a-google-map-with-expressionengine/">creating a Google Map</a> with it.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=PlO15dMg7d4:cJr94lF_TWw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=PlO15dMg7d4:cJr94lF_TWw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=PlO15dMg7d4:cJr94lF_TWw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=PlO15dMg7d4:cJr94lF_TWw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=PlO15dMg7d4:cJr94lF_TWw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=PlO15dMg7d4:cJr94lF_TWw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=PlO15dMg7d4:cJr94lF_TWw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/PlO15dMg7d4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/creating-a-google-map-with-expressionengine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/creating-a-google-map-with-expressionengine/</feedburner:origLink></item>
		<item>
		<title>User Experience Beyond the Web</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/Z8Lo8z5VFBU/</link>
		<comments>http://trevordavis.net/blog/web/user-experience-beyond-the-web/#comments</comments>
		<pubDate>Tue, 12 May 2009 04:10:24 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1865</guid>
		<description><![CDATA[I had the &#8220;pleasure&#8221; of having jury duty last week. This was the first time I had ever been called for it before, and I must say that the experience definitely left a lot to be desired. It is definitely clear that all of the time spent on user experience on the web ends up [...]]]></description>
			<content:encoded><![CDATA[<p>I had the &ldquo;pleasure&rdquo; of having jury duty last week. This was the first time I had ever been called for it before, and I must say that the experience definitely left a lot to be desired. It is definitely clear that all of the time spent on user experience on the web ends up providing a better experience for the end user. But my question now is: <strong>why isn&rsquo;t that kind of effort put in outside of the web?</strong></p>
<p><span id="more-1865"></span></p>
<p>There was basically no part of my jury duty experience that was pleasurable. Let me walk you through how my day went.</p>
<h2>Getting Up Early</h2>
<p>First off, I had to get up super early in order to get there on time. If I am just going to be waiting around most of the day, <strong>why do I have to be there at 8:15am?</strong></p>
<h2>Parking</h2>
<p>So I pulled into the parking lot that they told me to park in, and started to walk to the court house. But wait, I had no clue where to go. There were <strong>no</strong> signs at all. Luckily I guessed right, or I would have been late.</p>
<h2>Security</h2>
<p>Since I was going into a court house, I totally expected to have to go through security. I was told that jury duty would probably end up being a lot of waiting around, and I saw that they had wireless internet access there, so I figured I would bring my laptop and get some work done.</p>
<p>First, I had to check my cellphone since it had a camera on it. I&rsquo;m not really sure what I would want to take pictures with, but whatever, I checked it. I did feel a little lost without my phone though.</p>
<p>Next, I had to go through the metal detectors and put my bag on the x-ray machine. The security officer asked me to take out my laptop and turn it on. I was confused as to why I would need to turn it on, but I hit the button and waited for it to power up. Then, he sees that my laptop has a built-in camera, and tells me that I can&rsquo;t bring it in.</p>
<p>I looked at him befuddled because I couldn&rsquo;t imagine sitting with my laptop facing out in the courtroom, taking pictures, and not having someone say something to me. The security officer tells me that I have to take it back to my car. So, I had to walk the quarter of a mile back to my car, put the laptop in there, then walk back and go through security.</p>
<p><strong>Seems a little ridiculous, right?</strong> I must give them credit for actually having wireless internet, but not being able to bring in my laptop really pissed me off.</p>
<h2>The Waiting Room</h2>
<p>Once I got through security and checked in, I was directed to a big room with a bunch of tables and chairs where we would wait for the next hour or so. Of course, the chairs were jammed in together, and there were not enough seats in the room for everyone.</p>
<p>We watched a 15 minute training video, and then the courthouse employees tried to get us to donate money to the court system. Yeah, after you put me in a bad mood because I couldn&rsquo;t bring in my laptop, I&rsquo;m sure I&rsquo;ll jump at the opportunity to give you money.</p>
<p>What a great start to the morning.</p>
<h2>The Next Waiting Room</h2>
<p>Finally, my group got called to the courtroom, and we stood around and waited for about two hours until we finally got called into the court room to go through the jury selection process.</p>
<p>So again, more waiting, that&rsquo;s basically what I did all day.</p>
<h2>Does anyone think about the experience?</h2>
<p>Here we are in a situation where we are supposed to be impartial and have no biases, and I was in a piss poor mood. Why don&rsquo;t they make these kind of situations as painless as possible? Why isn&rsquo;t there someone making sure that the experience of having jury duty is not awful?</p>
<p>Just like we devote time thinking about users&rsquo; experiences on the websites we are creating; organizations need to consider what those experiences outside of the web are like.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=Z8Lo8z5VFBU:4JDH_PcmI_o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=Z8Lo8z5VFBU:4JDH_PcmI_o:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=Z8Lo8z5VFBU:4JDH_PcmI_o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=Z8Lo8z5VFBU:4JDH_PcmI_o:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=Z8Lo8z5VFBU:4JDH_PcmI_o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=Z8Lo8z5VFBU:4JDH_PcmI_o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=Z8Lo8z5VFBU:4JDH_PcmI_o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/Z8Lo8z5VFBU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/web/user-experience-beyond-the-web/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/web/user-experience-beyond-the-web/</feedburner:origLink></item>
		<item>
		<title>Designer, Owner, Manager – 1: Hiring the Right People</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/zBTOxxTtJkA/</link>
		<comments>http://trevordavis.net/asides/designer-owner-manager-1-hiring-the-right-people/#comments</comments>
		<pubDate>Wed, 06 May 2009 02:12:22 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1858</guid>
		<description><![CDATA[Andy Rutledge&#8217;s latest article seems like it will come in handy when I eventually start my own business. Some great tips here; especially numbers 6 &#38; 8.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.andyrutledge.com/hiring-the-right-people.php">Andy Rutledge&rsquo;s latest article</a> seems like it will come in handy when I eventually start my own business. Some great tips here; especially numbers 6 &amp; 8.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=zBTOxxTtJkA:WnTwLM6siRc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=zBTOxxTtJkA:WnTwLM6siRc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=zBTOxxTtJkA:WnTwLM6siRc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=zBTOxxTtJkA:WnTwLM6siRc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=zBTOxxTtJkA:WnTwLM6siRc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=zBTOxxTtJkA:WnTwLM6siRc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=zBTOxxTtJkA:WnTwLM6siRc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/zBTOxxTtJkA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/designer-owner-manager-1-hiring-the-right-people/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/designer-owner-manager-1-hiring-the-right-people/</feedburner:origLink></item>
		<item>
		<title>Let your links look like links</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/-0hjdC7DoGU/</link>
		<comments>http://trevordavis.net/asides/let-your-links-look-like-links/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 05:46:05 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1851</guid>
		<description><![CDATA[Roger Johansson discusses one of my big pet peeves: links need to look like links. Links are the most important part of the web. Make them stand out.
]]></description>
			<content:encoded><![CDATA[<p>Roger Johansson discusses one of my big pet peeves: <a href="http://www.456bereastreet.com/archive/200904/let_your_links_look_like_links/">links need to look like links</a>. Links are the most important part of the web. Make them stand out.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=-0hjdC7DoGU:_SifKUZiA3Q:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=-0hjdC7DoGU:_SifKUZiA3Q:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=-0hjdC7DoGU:_SifKUZiA3Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=-0hjdC7DoGU:_SifKUZiA3Q:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=-0hjdC7DoGU:_SifKUZiA3Q:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=-0hjdC7DoGU:_SifKUZiA3Q:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=-0hjdC7DoGU:_SifKUZiA3Q:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/-0hjdC7DoGU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/let-your-links-look-like-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/let-your-links-look-like-links/</feedburner:origLink></item>
		<item>
		<title>Review: Building Websites with ExpressionEngine 1.6</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/aYyjQxj9wbI/</link>
		<comments>http://trevordavis.net/blog/web/review-building-websites-with-expression-engine/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 13:00:26 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1756</guid>
		<description><![CDATA[I was lucky enough to be contacted by Packt Publishing to review the book Building Websites with ExpressionEngine 1.6 by Leonard Murphy. I have recently become very infatuated with ExpressionEngine, and I have devoted a lot of time to learning how to use it. This book was a great opportunity to see where my skill [...]]]></description>
			<content:encoded><![CDATA[<p>I was lucky enough to be contacted by <a href="http://www.packtpub.com/">Packt Publishing</a> to review the book <a href="http://www.packtpub.com/building-websites-with-expressionengine-1.6/book/mid/200409srne2o">Building Websites with ExpressionEngine 1.6</a> by Leonard Murphy. I have recently become very infatuated with <a href="http://expressionengine.com/">ExpressionEngine</a>, and I have devoted a lot of time to learning how to use it. This book was a great opportunity to see where my skill set was at.</p>
<span id="more-1756"></span>
<a href="http://www.packtpub.com/building-websites-with-expressionengine-1.6/book/mid/200409srne2o"><img src="http://trevordavis.net/wp-content/uploads/2009/04/building-site-ee.jpg" alt="Building Websites with ExpressionEngine 1.6" class="rightSide frame" height="259" width="210" /></a>
<h2>Who is it for?</h2>
<p>This book is definitely aimed toward beginning users of <abbr title="ExpressionEngine">EE</abbr> who have some knowledge of HTML. There is no knowledge of EE needed in order to read this book. So basically anyone who wants to learn how to use EE would benefit from reading this. While I have had some experience with EE, I found many parts of this book that were more of a review for me.</p>

<h2>What I liked</h2>
<p>I really liked that Leonard uses a lot of screenshots and code snippets to help walk through how he is doing something. They definitely would have helped me to comprehend some of the EE concepts that I did not understand until devoting a lot of time online doing research.</p>

<p>This book does a great job of covering a variety of topics, from installing EE and creating a calendar to using other modules and plugins. Even though I have prior experience with EE and this book is geared toward beginners, I did learn a few things about EE from reading this book.</p>

<h2>What I could do without</h2>
<p>There seemed to be a large chunk of the book devoted to applying CSS to the examples to make them presentable. I don&rsquo;t think there is any need to go through and explain the CSS; people are buying the book for information about EE.</p>

<p>I also wish that the example site that is used in the book were a bit more realistic. I really learned a lot from Mike Boyink&rsquo;s <a href="http://www.train-ee.com/courseware/free-tutorials/category/building-a-church-site/">Building a Church Site</a> and <a href="http://www.train-ee.com/courseware/free-tutorials/category/building-a-small-business-site/">Building a Small Business Site</a> tutorials because the content and functionality of the sites were <strong>real</strong>.</p>

<h2>Conclusion</h2>
<p>This book is really the only EE book out there. So if you are one of those people who has trouble learning from online tutorials and needs a book, this is definitely a solid choice to get started with EE. You can get a preview of it by <a href="http://trevordavis.net/wp-content/uploads/2009/04/expressionengine-sample-chapter-3-start-posting.pdf">downloading a sample chapter</a>.</p>

<h3>Update</h3>
<p>I actually wasn&rsquo;t aware of this, but Mike Boyink also has his <a href="http://www.train-ee.com/courseware/books/">tutorials available as books</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=aYyjQxj9wbI:nsw2O4XZjh8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=aYyjQxj9wbI:nsw2O4XZjh8:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=aYyjQxj9wbI:nsw2O4XZjh8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=aYyjQxj9wbI:nsw2O4XZjh8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=aYyjQxj9wbI:nsw2O4XZjh8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=aYyjQxj9wbI:nsw2O4XZjh8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=aYyjQxj9wbI:nsw2O4XZjh8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/aYyjQxj9wbI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/web/review-building-websites-with-expression-engine/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/web/review-building-websites-with-expression-engine/</feedburner:origLink></item>
		<item>
		<title>Dear Designer, You Suck</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/n6pV5MeqSLc/</link>
		<comments>http://trevordavis.net/asides/dear-designer-you-suck/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 03:02:32 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1795</guid>
		<description><![CDATA[As usual, another well thought out post from Khoi Vinh. I agree completely: I thrive on criticism. Even though I&#8217;m not a designer, I&#8217;m always looking to improve by hearing the thoughts of others.
]]></description>
			<content:encoded><![CDATA[<p>As usual, <a href="http://www.subtraction.com/2009/04/09/dear-designer-you-suck">another well thought out post</a> from Khoi Vinh. I agree completely: I thrive on criticism. Even though I&rsquo;m not a designer, I&rsquo;m always looking to improve by hearing the thoughts of others.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=n6pV5MeqSLc:pcWnqDSl9vQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=n6pV5MeqSLc:pcWnqDSl9vQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=n6pV5MeqSLc:pcWnqDSl9vQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=n6pV5MeqSLc:pcWnqDSl9vQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=n6pV5MeqSLc:pcWnqDSl9vQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=n6pV5MeqSLc:pcWnqDSl9vQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=n6pV5MeqSLc:pcWnqDSl9vQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/n6pV5MeqSLc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/dear-designer-you-suck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/dear-designer-you-suck/</feedburner:origLink></item>
		<item>
		<title>CSS Naked Day 2009</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/low6Tv2YQX0/</link>
		<comments>http://trevordavis.net/blog/news/css-naked-day-2009/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 12:48:29 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1790</guid>
		<description><![CDATA[Yep, today, April 9, 2009, is the annual CSS Naked Day. Some people may think it is a huge risk to completely strip the design from my site for a day, but I think otherwise.

If anything, it gives visitors a chance to see my ability to code with web standards. I take the time and [...]]]></description>
			<content:encoded><![CDATA[<p>Yep, today, April 9, 2009, is <a href="http://naked.dustindiaz.com/">the annual CSS Naked Day</a>. Some people may think it is a huge risk to completely strip the design from my site for a day, but I think otherwise.</p>
<p><span id="more-1790"></span></p>
<p>If anything, it gives visitors a chance to see my ability to code with web standards. I take the time and effort to write well structured XHTML, so it is still readable without any style applied.</p>
<p>I am striping my design with the <a href="http://wordpress.org/extend/plugins/css-naked-day-noscript/">CSS Naked Day WordPress Plugin</a>. I encourage everyone else to <strong>strip down and show off your <code>body</code></strong>.</p>
<p>Is anyone else going naked today?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=low6Tv2YQX0:6KXteMr4ZTA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=low6Tv2YQX0:6KXteMr4ZTA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=low6Tv2YQX0:6KXteMr4ZTA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=low6Tv2YQX0:6KXteMr4ZTA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=low6Tv2YQX0:6KXteMr4ZTA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=low6Tv2YQX0:6KXteMr4ZTA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=low6Tv2YQX0:6KXteMr4ZTA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/low6Tv2YQX0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/news/css-naked-day-2009/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/news/css-naked-day-2009/</feedburner:origLink></item>
		<item>
		<title>Creating a jQuery Word Counter</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/1jsEGFNhv18/</link>
		<comments>http://trevordavis.net/asides/creating-a-jquery-word-counter/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 21:24:05 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1787</guid>
		<description><![CDATA[I had to code a form at work that required word limitations on each textarea. The article describing how I created a jQuery word counter was published on the ThemeForest blog.
]]></description>
			<content:encoded><![CDATA[<p>I had to code a form at work that required word limitations on each textarea. The article describing <a href="http://blog.themeforest.net/tutorials/creating-a-jquery-word-counter/">how I created a jQuery word counter</a> was published on the ThemeForest blog.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=1jsEGFNhv18:h3RkYh1jqpM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=1jsEGFNhv18:h3RkYh1jqpM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=1jsEGFNhv18:h3RkYh1jqpM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=1jsEGFNhv18:h3RkYh1jqpM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=1jsEGFNhv18:h3RkYh1jqpM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=1jsEGFNhv18:h3RkYh1jqpM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=1jsEGFNhv18:h3RkYh1jqpM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/1jsEGFNhv18" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/creating-a-jquery-word-counter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/creating-a-jquery-word-counter/</feedburner:origLink></item>
		<item>
		<title>Presentation to Damscus High School Students</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/f9htkBdTciQ/</link>
		<comments>http://trevordavis.net/blog/presentations/presentation-to-damscus-high-school-students/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 03:17:51 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Presentations]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1758</guid>
		<description><![CDATA[I have been noticeably absent from my blog recently, but for good reason. I was honored when Jeff Brown, a teacher at Damascus High School, asked if I wanted to speak to the students in his advanced web class. I have always been interested in speaking about web development, so this seemed like a great [...]]]></description>
			<content:encoded><![CDATA[<p>I have been noticeably absent from my blog recently, but for good reason. I was honored when <a href="http://teachmetheweb.org/">Jeff Brown</a>, a teacher at Damascus High School, asked if I wanted to speak to the students in his advanced web class. I have always been interested in speaking about web development, so this seemed like a great first opportunity.</p>
<p><span id="more-1758"></span></p>
<p>So basically, Mr. Brown has people in the industry come in and speak to his students every Friday. After looking at the <a href="http://teachmetheweb.org/index.php/tmtw/blog-article/spring_2009_guest_speaker_line_up/">list of other speakers</a>, I sure was nervous. I mean; I go to conferences to see some of these guys speak.</p>
<p>Mr. Brown has a great program going, and I was glad to be a part of it. He is one of the few teachers that actually teach about web standards and is a member of the <a href="http://www.webstandards.org/action/edutf">WaSP Education Task Force</a>. He also gave a presentation at <a href="http://refresh-dc.org/">RefreshDC</a> about web education the night before my presentation, that I unfortunately missed.</p>
<h2>My Presentation</h2>
<p>I decided to focus my presentation on my path through web development, some tips to become successful as a front-end developer, and then how to maintain that success.</p>
<p>I was pretty nervous, and I felt like I raced at times, but I think it turned out well. Mr. Brown has posted the <a href="http://teachmetheweb.org/index.php/tmtw/blog-article/guest_speaker_reactions_trevor_davis/">audio from the presentation</a> on his site.</p>
<div id="presentation" class="leftSide">
	<a href="http://www.slideshare.net/davist11/become-a-productive-frontend-developer-continue-to-be-one?type=powerpoint">View Presentation: Become a Productive Front-End Developer &amp; Continue to be one</a><br />
<script type="text/javascript">
$(document).ready(function(){
    $('#presentation').flash(
        { 
          src: 'http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=fed-090327210216-phpapp01&amp;rel=0&amp;stripped_title=become-a-productive-frontend-developer-continue-to-be-one',
          width: 425,
          height: 277
        });
});
</script>
</div>
<p class="clearing">I would love to hear any feedback on the presentation, so let me know what you all think.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=f9htkBdTciQ:yZUMAJnJH1U:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=f9htkBdTciQ:yZUMAJnJH1U:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=f9htkBdTciQ:yZUMAJnJH1U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=f9htkBdTciQ:yZUMAJnJH1U:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=f9htkBdTciQ:yZUMAJnJH1U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=f9htkBdTciQ:yZUMAJnJH1U:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=f9htkBdTciQ:yZUMAJnJH1U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/f9htkBdTciQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/presentations/presentation-to-damscus-high-school-students/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/presentations/presentation-to-damscus-high-school-students/</feedburner:origLink></item>
		<item>
		<title>Browser Compatibility Master Tables</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/6vXhymBGpnc/</link>
		<comments>http://trevordavis.net/asides/browser-compatibility-master-tables/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 01:40:05 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1764</guid>
		<description><![CDATA[PPK has updated his browser compatibility tables to include more CSS3 testing, new browsers, and more. This is a great resource to determine which browsers support what.
]]></description>
			<content:encoded><![CDATA[<p>PPK has updated his <a href="http://www.quirksmode.org/compatibility.html">browser compatibility tables</a> to include more CSS3 testing, new browsers, and more. This is a great resource to determine which browsers support what.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=6vXhymBGpnc:wYk6ChfvkzU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=6vXhymBGpnc:wYk6ChfvkzU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=6vXhymBGpnc:wYk6ChfvkzU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=6vXhymBGpnc:wYk6ChfvkzU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=6vXhymBGpnc:wYk6ChfvkzU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=6vXhymBGpnc:wYk6ChfvkzU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=6vXhymBGpnc:wYk6ChfvkzU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/6vXhymBGpnc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/browser-compatibility-master-tables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/browser-compatibility-master-tables/</feedburner:origLink></item>
		<item>
		<title>The 13 Most Essential Plugins for WordPress</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/M7LG97GqBwY/</link>
		<comments>http://trevordavis.net/asides/the-13-most-essential-plugins-for-wordpress/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 15:26:16 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1750</guid>
		<description><![CDATA[I feel like right after I install WordPress; I immediately install the same set of plugins. I figured this would be a good topic for a post, so I chose that for my most recent article at NETTUTS.
]]></description>
			<content:encoded><![CDATA[<p>I feel like right after I install WordPress; I immediately install the same set of plugins. I figured this would be a good topic for a post, so I chose that for my <a href="http://net.tutsplus.com/articles/web-roundups/the-13-most-essential-plugins-for-wordpress/">most recent article at NETTUTS</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=M7LG97GqBwY:0qL3QFt60wQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=M7LG97GqBwY:0qL3QFt60wQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=M7LG97GqBwY:0qL3QFt60wQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=M7LG97GqBwY:0qL3QFt60wQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=M7LG97GqBwY:0qL3QFt60wQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=M7LG97GqBwY:0qL3QFt60wQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=M7LG97GqBwY:0qL3QFt60wQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/M7LG97GqBwY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/the-13-most-essential-plugins-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/the-13-most-essential-plugins-for-wordpress/</feedburner:origLink></item>
		<item>
		<title>Dynamically Set a Body Id in PHP</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/fEGgCbtlMDw/</link>
		<comments>http://trevordavis.net/blog/tutorial/dynamically-set-a-body-id/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 05:38:26 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1736</guid>
		<description><![CDATA[I have already written a couple of articles about body ids: 
Set a Body Id Using PHP and Setting Body Ids in Expression Engine, but in a recent project, I was looking for a more dynamic way to do it in PHP and WordPress.

I don&#8217;t think it&#8217;s necessary to discuss the benefits of body ids [...]]]></description>
			<content:encoded><![CDATA[<p>I have already written a couple of articles about body ids: <a href="http://trevordavis.net/blog/tutorial/set-a-body-id/"><br />
Set a Body Id Using PHP</a> and <a href="http://trevordavis.net/blog/tutorial/setting-body-ids-in-expression-engine/">Setting Body Ids in Expression Engine</a>, but in a recent project, I was looking for a more dynamic way to do it in PHP and WordPress.</p>
<p><span id="more-1736"></span></p>
<p>I don&rsquo;t think it&rsquo;s necessary to discuss the benefits of body ids because I have already discussed them in the other posts. So if you still aren&rsquo;t using body ids/classes, go read the articles, and start using them.</p>
<h2>The Plan</h2>
<p>This seems so straightforward that I&rsquo;m not sure why I didn&rsquo;t start with this method. So basically, I look at the URI, and if it is equal to <strong>/</strong> then I give it a <strong>body id of home</strong>. Otherwise, I grab the <strong>first &ldquo;folder&rdquo; and set that as the body id</strong>.</p>
<h3>Example</h3>
<p>Let&rsquo;s say that the URI is: <strong>/about/team/leadership/</strong>. The body id would be <strong>about</strong>. Ok, the seems easy, let&rsquo;s get to the code.</p>
<h2>The Code</h2>
<p>Here is our setBodyId function:</p>
<pre><code>function setBodyId() {
	$path = $_SERVER['REQUEST_URI'];

	if($path === '/') {
		$bodyId = 'home';
	} else {
		$bodyId = substr($path, 1, (strpos($path,'/',1)-1));
	}

	return $bodyId;
}</code></pre>
<p class="note"><em>If you are using this in WordPress, put this function in your theme function.php file.</em></p>
<p>Then, you want to call the function and assign it to a variable:</p>
<pre><code>$bodyId = setBodyId();</code></pre>
<p>Finally, if the $bodyId variable is not empty, add the id attribute on the body tag:</p>
<pre><code>&lt;body&lt;?php if(!empty($bodyId)) echo ' id="'.$bodyId.'"';?>></code></pre>
<h2>Conclusion</h2>
<p>It&rsquo;s so simple, yet powerful. This could also easily be recoded in other programming languages. What do you think? Any ideas for improvement?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=fEGgCbtlMDw:-gTXf6ZS5FY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=fEGgCbtlMDw:-gTXf6ZS5FY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=fEGgCbtlMDw:-gTXf6ZS5FY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=fEGgCbtlMDw:-gTXf6ZS5FY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=fEGgCbtlMDw:-gTXf6ZS5FY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=fEGgCbtlMDw:-gTXf6ZS5FY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=fEGgCbtlMDw:-gTXf6ZS5FY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/fEGgCbtlMDw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/tutorial/dynamically-set-a-body-id/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/tutorial/dynamically-set-a-body-id/</feedburner:origLink></item>
		<item>
		<title>We Refuse</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/EMPJN1RdcmU/</link>
		<comments>http://trevordavis.net/asides/we-refuse/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 16:07:05 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1731</guid>
		<description><![CDATA[You know what, I refuse too. Just because someone tells you that you shouldn&#8217;t do something, that doesn&#8217;t mean you have to listen. Would you have gotten to where you are today by only listening to other people?
]]></description>
			<content:encoded><![CDATA[<p>You know what, <a href="http://unitinteractive.com/blog/2009/03/07/we-refuse/">I refuse too</a>. Just because someone tells you that you shouldn&rsquo;t do something, that doesn&rsquo;t mean you have to listen. Would you have gotten to where you are today by only listening to other people?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=EMPJN1RdcmU:djvPHP81nMU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=EMPJN1RdcmU:djvPHP81nMU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=EMPJN1RdcmU:djvPHP81nMU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=EMPJN1RdcmU:djvPHP81nMU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=EMPJN1RdcmU:djvPHP81nMU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=EMPJN1RdcmU:djvPHP81nMU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=EMPJN1RdcmU:djvPHP81nMU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/EMPJN1RdcmU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/we-refuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/we-refuse/</feedburner:origLink></item>
		<item>
		<title>There’s always time to launch your dream</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/cxh-MVqCeiw/</link>
		<comments>http://trevordavis.net/asides/theres-always-time-to-launch-your-dream/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 13:31:18 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1726</guid>
		<description><![CDATA[I agree completely, stop with the excuses. I don&#8217;t think I tried that hard in school either. Definitely the quote of the article: &#8220;Never let your schooling interfere with your education&#8221;.
]]></description>
			<content:encoded><![CDATA[<p>I agree completely, <a href="http://www.37signals.com/svn/posts/1619-theres-always-time-to-launch-your-dream">stop with the excuses</a>. I don&rsquo;t think I tried that hard in school either. Definitely the quote of the article: &ldquo;Never let your schooling interfere with your education&rdquo;.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=cxh-MVqCeiw:PQlrzXsGV1w:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=cxh-MVqCeiw:PQlrzXsGV1w:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=cxh-MVqCeiw:PQlrzXsGV1w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=cxh-MVqCeiw:PQlrzXsGV1w:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=cxh-MVqCeiw:PQlrzXsGV1w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=cxh-MVqCeiw:PQlrzXsGV1w:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=cxh-MVqCeiw:PQlrzXsGV1w:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/cxh-MVqCeiw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/theres-always-time-to-launch-your-dream/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/theres-always-time-to-launch-your-dream/</feedburner:origLink></item>
		<item>
		<title>WordPress &amp; jQuery Contact Form without a Plugin</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/bAFEk7GBzpA/</link>
		<comments>http://trevordavis.net/blog/tutorial/wordpress-jquery-contact-form-without-a-plugin/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 06:07:39 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1647</guid>
		<description><![CDATA[There are lots of WordPress plugins for contact forms, but wouldn&#8217;t it be nice to have more control over the markup? In this tutorial, I am going to show how to use a custom page template to create a contact form in WordPress without a plugin.

Some people may want to skip the post and get [...]]]></description>
			<content:encoded><![CDATA[<p>There are <a href="http://wordpress.org/extend/plugins/search.php?q=contact">lots of WordPress plugins for contact forms</a>, but wouldn&rsquo;t it be nice to have more control over the markup? In this tutorial, I am going to show how to use a custom page template to create a contact form in WordPress without a plugin.</p>
<p><span id="more-1647"></span></p>
<p>Some people may want to skip the post and get to the demo and source files:</p>
<p class="clearfix last"><a href="http://trevordavis.net/contact-form/" class="leftSide more-link">View Demo</a> <a href="http://trevordavis.net/wp-content/uploads/2009/02/contact-form.zip" class="leftSide more-link">Download Source Files</a></p>
<h2>So, why not use a plugin?</h2>
<p>Well, I think that a contact form is so simple that a WordPress plugin that doesn&rsquo;t provide exactly what I want is pretty lame. Plus, I don&rsquo;t need all those fancy interfaces for building the form; I just need the code.</p>
<h2>The Plan</h2>
<p>Our plan is to create a custom <a href="http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates">WordPress Page Template</a>, then create a page that uses that template. Finally, we will add in a little <strong>jQuery</strong> to improve the form. Let&rsquo;s write a little pseudo code to help determine how our page template will be structured.</p>
<h3>Pseudo Code</h3>
<pre><code>If form was submitted validate it
	If the form was submitted successfully
		Send email(s)
	Else
		Set variables to show errors

If the form was submitted successfully
	Show thank you message
Else
	Show form (with errors if there are any)</code></pre>
<h3>Creating the WordPress Page Template</h3>
<p>Alright, so first, we are going to start with some basic stuff: define the template name, include the header/sidebar/footer, and setup the basic structure of our pseudo code.</p>
<pre><code>&lt;?php
/*
Template Name: Contact Form
*/
?>

&lt;?php
//If the form is submitted
if(isset($_POST['submitted'])) {
	//If there is no error, send the email
	if(!isset($hasError)) {

	}
} ?>

&lt;?php get_header(); ?>

&lt;?php
//If the email was sent, show a thank you message
//Otherwise show form
if(isset($emailSent) &#038;&#038; $emailSent == true) {
?>

&lt;?php } else { ?>

&lt;?php } ?>

&lt;?php get_sidebar(); ?>

&lt;?php get_footer(); ?></code></pre>
<h3>The Form</h3>
<p>Next, let&rsquo;s code the actual form. I also want to provide the ability for the user to enter some text to go above the form, so we are going to use the regular loop:</p>
<pre><code>&lt;?php if(isset($emailSent) &#038;&#038; $emailSent == true) { ?>

	&lt;div class="thanks">
		&lt;h1>Thanks, &lt;?=$name;?>&lt;/h1>
		&lt;p>Your email was successfully sent. I will be in touch soon.&lt;/p>
	&lt;/div>

&lt;?php } else { ?>

	&lt;?php if (have_posts()) : ?>

		&lt;?php while (have_posts()) : the_post(); ?>
			&lt;h1>&lt;?php the_title(); ?>&lt;/h1>
			&lt;?php the_content(); ?>

			&lt;?php if(isset($hasError) || isset($captchaError)) { ?>
				&lt;p class="error">
					There was an error submitting the form.
				&lt;p>
			&lt;?php } ?>

			&lt;form action="&lt;?php the_permalink(); ?>" id="contactForm" method="post">

			&lt;/form>

		&lt;?php endwhile; ?>
	&lt;?php endif; ?>
&lt; } ?></code></pre>
<p>If the <strong>emailSent</strong> variable is set to true, we display the thank you message. Otherwise, we show the form. So we are outputting the title of the page, and any content that was entered. Then, we are checking to see if there was an error. Finally, we display the form:</p>
<pre><code>&lt;ol class="forms">
	&lt;li>
		&lt;label for="contactName">Name&lt;/label>
		&lt;input type="text" name="contactName" id="contactName" value="
		&lt;?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>"
		 class="requiredField" />
		&lt;?php if($nameError != '') { ?>
			&lt;span class="error">&lt;?=$nameError;?>&lt;/span>
		&lt;?php } ?>
	&lt;/li>

	&lt;li>
		&lt;label for="email">Email&lt;/label>
		&lt;input type="text" name="email" id="email" value="
		&lt;?php if(isset($_POST['email']))  echo $_POST['email'];?>"
		class="requiredField email" />
		&lt;?php if($emailError != '') { ?>
			&lt;span class="error">&lt;?=$emailError;?>&lt;/span>
		&lt;?php } ?>
	&lt;/li>

	&lt;li class="textarea">
		&lt;label for="commentsText">Comments&lt;/label>
		&lt;textarea name="comments" id="commentsText" rows="20" cols="30" class="requiredField">
		&lt;?php if(isset($_POST['comments'])) {
			if(function_exists('stripslashes')) {
				echo stripslashes($_POST['comments']);
			} else {
				echo $_POST['comments'];
			}
		 } ?>&lt;/textarea>
		&lt;?php if($commentError != '') { ?>
			&lt;span class="error">&lt;?=$commentError;?>&lt;/span>
		&lt;?php } ?>
	&lt;/li>
	&lt;li class="inline">
		&lt;input type="checkbox" name="sendCopy" id="sendCopy" value="true"
		&lt;?php if(isset($_POST['sendCopy']) &#038;&#038; $_POST['sendCopy'] == true)
			echo ' checked="checked"'; ?>
		/>
		&lt;label for="sendCopy">Send a copy of this email to yourself&lt;/label>
	&lt;/li>
	&lt;li class="screenReader">
		&lt;label for="checking" class="screenReader">If you want to submit this form, do not enter anything in this field&lt;/label>
		&lt;input type="text" name="checking" id="checking" class="screenReader" value="
		&lt;?php if(isset($_POST['checking']))  echo $_POST['checking'];?>"
		/>
	&lt;/li>
	&lt;li class="buttons">
		&lt;input type="hidden" name="submitted" id="submitted" value="true" />
		&lt;button type="submit">Email me &raquo;&lt;/button>
	&lt;/li>
&lt;/ol></code></pre>
<p class="note"><em>Note: Line wrapping added for readability.</em></p>
<p>Ok, wow, that may seem like a lot. So let&rsquo;s break down the name field to see what this code is actually doing:</p>
<pre><code>&lt;li>&lt;label for="contactName">Name&lt;/label>
	&lt;input type="text" name="contactName" id="contactName" value="&lt;?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>" class="requiredField" />
	&lt;?php if($nameError != '') { ?>
		&lt;span class="error">&lt;?=$nameError;?>&lt;/span>
	&lt;?php } ?>
&lt;/li></code></pre>
<p>We are displaying each form field in a list item, displaying the label, input field, and then showing an error message if there is one. We are also displaying the value in the form field if it was already submitted.</p>
<p>So in essence, we are just doing that for each field of the form. You could easily go into the code to add more fields.</p>
<p>We are also using honeypot captcha to see if a bot was trying to submit the form:</p>
<pre><code>&lt;li class="screenReader">
	&lt;label for="checking" class="screenReader">If you want to submit this form, do not enter anything in this field&lt;/label>
	&lt;input type="text" name="checking" id="checking" class="screenReader" value="&lt;?php if(isset($_POST['checking']))  echo $_POST['checking'];?>" />
&lt;/li></code></pre>
<p>That list item is pushed off the page with CSS, and if there is a value in that field, we can assume that it is not a human trying to submit the form:</p>
<pre><code>.screenReader {
	left: -9999px;
	position: absolute;
	top: -9999px;
}</code></pre>
<h3>The Validation</h3>
<p>Next, we are going to have a conditional statement to determine if the form was submitted or not:</p>
<pre><code>&lt;?php
//If the form is submitted
if(isset($_POST['submitted'])) {

} ?></code></pre>
<p>Within that conditional, is where we are going to do all of our validation of the required fields. First, let&rsquo;s check to see if our honeypot captcha form field is filled in. If it is, then we will display an error and not check anymore of the form:</p>
<pre><code>//Check to see if the honeypot captcha field was filled in
if(trim($_POST['checking']) !== '') {
	$captchaError = true;
} else {

} </code></pre>
<p>So if the captcha field was left blank, we will continue to validate the required fields:</p>
<pre><code>//Check to make sure that the name field is not empty
if(trim($_POST['contactName']) === '') {
	$nameError = 'You forgot to enter your name.';
	$hasError = true;
} else {
	$name = trim($_POST['contactName']);
}

//Check to make sure sure that a valid email address is submitted
if(trim($_POST['email']) === '')  {
	$emailError = 'You forgot to enter your email address.';
	$hasError = true;
} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
	$emailError = 'You entered an invalid email address.';
	$hasError = true;
} else {
	$email = trim($_POST['email']);
}

//Check to make sure comments were entered
if(trim($_POST['comments']) === '') {
	$commentError = 'You forgot to enter your comments.';
	$hasError = true;
} else {
	if(function_exists('stripslashes')) {
		$comments = stripslashes(trim($_POST['comments']));
	} else {
		$comments = trim($_POST['comments']);
	}
}</code></pre>
<p>Again, that may seem like a little much, so let&rsquo;s just take a look at the validation on the name field:</p>
<pre><code>if(trim($_POST['contactName']) === '') {
	$nameError = 'You forgot to enter your name.';
	$hasError = true;
} else {
	$name = trim($_POST['contactName']);
}</code></pre>
<p>If the name field if empty, set a variable that will display the name error and set a flag saying that there was an error on the form. Otherwise, set a variable that will contain the name value from the form.</p>
<h3>Sending the Email</h3>
<p>Now, we want to send the email if there are no errors:</p>
<pre><code>//If there is no error, send the email
if(!isset($hasError)) {

	$emailTo = '<strong>me@somedomain.com</strong>';
	$subject = 'Contact Form Submission from '.$name;
	$sendCopy = trim($_POST['sendCopy']);
	$body = "Name: $name \n\nEmail: $email \n\nComments: $comments";
	$headers = 'From: My Site &lt;'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;

	mail($emailTo, $subject, $body, $headers);

	if($sendCopy == true) {
		$subject = 'You emailed <strong>Your Name</strong>';
		$headers = 'From: <strong>Your Name</strong> &lt;<strong>noreply@somedomain.com</strong>>';
		mail($email, $subject, $body, $headers);
	}

	$emailSent = true;

}</code></pre>
<p class="note"><em>Note: Items bolded are values that you will want to change before implementing.</em></p>
<p>I personally like to have the contact form submission come from myself. That way, I just setup a filter in Gmail, and I can guarantee that it won&rsquo;t get caught in my spam filter. The second email is only sent if the user checks the checkbox to send a copy to themselves.</p>
<p><a href="http://trevordavis.net/wp-content/uploads/2009/02/contact-form.txt" class="more-link">View Entire Custom Page Template</a></p>
<h3>Creating the Page in WordPress</h3>
<p>First, you want to upload the <a href="http://trevordavis.net/wp-content/uploads/2009/02/contact-form.zip">contact-form.php</a> page template to your themes folder. Next, you will create the page in WordPress and select <strong>Contact Form</strong> as the page template.</p>
<p class="pullLeft"><img src="http://trevordavis.net/wp-content/uploads/2009/02/wordpress-page-template.png" alt="Adding WordPress page template" class="frame" height="341" width="570" /></p>
<p>Then, just publish your page and you will have your contact form. Well, the form will be usable, but we are going to add in some CSS and jQuery to finish it off.</p>
<h3>Styling the Form</h3>
<p>I recently wrote <a href="http://trevordavis.net/blog/tutorial/flexible-and-semantic-forms-with-a-little-jquery/">an article about styling forms</a>, so we are just going to stick with some basic styles:</p>
<pre><code>.screenReader { left: -9999px; position: absolute; top: -9999px; }
.thanks { background: #F2F3F6; border: 1px solid #7E8AA2; padding: 10px; }

/*****Forms*****/
ol.forms { float: left; list-style: none; margin: 0; width: 100%; }
ol.forms li {
	clear: both;
	float: left;
	margin-bottom: 18px;
	position: relative;
	width: 100%;
}
ol.forms label {
	cursor: pointer;
	display: block;
	float: left;
	font-weight: bold;
	padding-right: 20px;
	width: 100px;
}
ol.forms input, ol.forms textarea {
	border: 1px solid #7E8AA2;
	border-radius: 3px;
	font: inherit;
	-moz-border-radius: 3px;
	padding: 2px;
	-webkit-border-radius: 3px;
	width: 214px;
}
ol.forms textarea { height: 300px; width: 334px; }
ol.forms input:focus, ol.forms textarea:focus { background-color: #f2f3f6; border-color: #ff9800; }
.error { color: #f00; }
ol.forms li .error { font-size: 12px; margin-left: 20px; }
ol.forms li.textarea .error {
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 100px;
}
ol.forms li.screenReader { margin-bottom: 0; }
ol.forms li.buttons button {
	background: #ff9800;
	border: none;
	color: #000;
	cursor: pointer;
	font: 16px/16px "Avenir LT Std", Helvetica, Arial, sans-serif;
	overflow: hidden;
	padding: 6px 3px 3px 3px;
	text-transform: uppercase;
	width: auto;
}
ol.forms li.buttons button:hover { color: #222; }
ol.forms li.buttons button:active { left: -1px; position: relative; top: -1px; }
ol.forms li.buttons, ol.forms li.inline { float: right; width: 460px; }
ol.forms li.inline input { width: auto; }
ol.forms li.inline label { display: inline; float: none; width: auto; }</code></pre>
<p>So drop that CSS in your theme stylesheet and you will see the form start to look much better.</p>
<h3>Enhancing the form with some jQuery</h3>
<p>I have also already written about creating <a href="http://trevordavis.net/blog/tutorials/ajax-forms-with-jquery/">AJAX forms with jQuery</a>, but I thought I would specifically talk about an AJAX script for a contact form.</p>
<p>First, we want to execute our jQuery when the document is ready and the form was submitted:</p>
<pre><code>$(document).ready(function() {
	$('form#contactForm').submit(function() {

		return false;
	});
});</code></pre>
<p>Next, we want to hide any error messages if there are any and validate any required fields which are denoted with a class of <strong>requiredField</strong>:</p>
<pre><code>$('form#contactForm .error').remove();
var hasError = false;
$('.requiredField').each(function() {

});</code></pre>
<p>After that, we want to validate that the field is not empty and append an error message if it is:</p>
<pre><code>if(jQuery.trim($(this).val()) == '') {
	var labelText = $(this).prev('label').text();
	$(this).parent().append('&lt;span class="error">You forgot to enter your '+labelText+'.&lt;/span>');
	hasError = true;
}</code></pre>
<p>If the field is not empty and also has a class of <strong>email</strong>, we want to validate that the email address is valid:</p>
<pre><code> else if($(this).hasClass('email')) {
	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
	if(!emailReg.test(jQuery.trim($(this).val()))) {
		var labelText = $(this).prev('label').text();
		$(this).parent().append('&lt;span class="error">You entered an invalid '+labelText+'.&lt;/span>');
		hasError = true;
	}
}</code></pre>
<p>If there are no errors, then we want to replace the submit button with a loading image:</p>
<pre><code>if(!hasError) {
$('form#contactForm li.buttons button').fadeOut('normal', function() {
	$(this).parent().append('&lt;img src="/wp-content/themes/td-v3/images/template/loading.gif" alt="Loading&hellip;" height="31" width="31" />');
});</code></pre>
<p class="note"><em>Note: You will need to update the source of the image to wherever you upload it in your theme.</em></p>
<p>Finally, let&rsquo;s submit the form via an AJAX request, slide the form up, and show a thank you message:</p>
<pre><code>var formInput = $(this).serialize();
$.post($(this).attr('action'),formInput, function(data){
	$('form#contactForm').slideUp("fast", function() {
		$(this).before('&lt;p class="thanks">&lt;strong>Thanks!&lt;/strong> Your email was successfully sent. I check my email all the time, so I should be in touch soon.&lt;/p>');
	});
});</code></pre>
<p>Take a look at the entire script:</p>
<pre><code>$(document).ready(function() {
	$('form#contactForm').submit(function() {
		$('form#contactForm .error').remove();
		var hasError = false;
		$('.requiredField').each(function() {
			if(jQuery.trim($(this).val()) == '') {
				var labelText = $(this).prev('label').text();
				$(this).parent().append('&lt;span class="error">You forgot to enter your '+labelText+'.&lt;/span>');
				hasError = true;
			} else if($(this).hasClass('email')) {
				var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
				if(!emailReg.test(jQuery.trim($(this).val()))) {
					var labelText = $(this).prev('label').text();
					$(this).parent().append('&lt;span class="error">You entered an invalid '+labelText+'.&lt;/span>');
					hasError = true;
				}
			}
		});
		if(!hasError) {
			$('form#contactForm li.buttons button').fadeOut('normal', function() {
				$(this).parent().append('&lt;img src="/wp-content/themes/td-v3/images/template/loading.gif" alt="Loading&hellip;" height="31" width="31" />');
			});
			var formInput = $(this).serialize();
			$.post($(this).attr('action'),formInput, function(data){
				$('form#contactForm').slideUp("fast", function() {
					$(this).before('&lt;p class="thanks">&lt;strong>Thanks!&lt;/strong> Your email was successfully sent. I check my email all the time, so I should be in touch soon.&lt;/p>');
				});
			});
		}

		return false;

	});
});</code></pre>
<p>Just include it in the head of your document after jQuery, and you are good to go:</p>
<pre><code>&lt;script type="text/javascript" src="&lt;?php bloginfo('template_directory'); ?>/scripts/jquery.js">&lt;/script>
&lt;script type="text/javascript" src="&lt;?php bloginfo('template_directory'); ?>/scripts/contact-form.js">&lt;/script></code></pre>
<p class="note"><em>Note: You may need to change the source depending upon where you upload the files in your theme.</em></p>
<h2>Conclusion</h2>
<p class="clearfix last"><a href="http://trevordavis.net/contact-form/" class="leftSide more-link">View Demo</a> <a href="http://trevordavis.net/wp-content/uploads/2009/02/contact-form.zip" class="leftSide more-link">Download Source Files</a></p>
<p>That&rsquo;s it! Just upload the files and you&rsquo;ve got your form. Since you&rsquo;ve got the code right in front of you, it should be very easy to tweak and add on to. Enjoy!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=bAFEk7GBzpA:OEyCWgTN-X0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=bAFEk7GBzpA:OEyCWgTN-X0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=bAFEk7GBzpA:OEyCWgTN-X0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=bAFEk7GBzpA:OEyCWgTN-X0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=bAFEk7GBzpA:OEyCWgTN-X0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?i=bAFEk7GBzpA:OEyCWgTN-X0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?a=bAFEk7GBzpA:OEyCWgTN-X0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/TrevorDavisFullBlog?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/bAFEk7GBzpA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/tutorial/wordpress-jquery-contact-form-without-a-plugin/feed/</wfw:commentRss>
		<slash:comments>117</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/tutorial/wordpress-jquery-contact-form-without-a-plugin/</feedburner:origLink></item>
		<item>
		<title>Orange You Sorry About Tropicana?</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/dSf6eBSv6hM/</link>
		<comments>http://trevordavis.net/asides/orange-you-sorry-about-tropicana/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 02:07:57 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1666</guid>
		<description><![CDATA[Khoi Vinh discusses the disastrous Tropicana redesign and wonders if the branding agency behind it, Arnell, did it just for the press. I certainly agree that it was a disaster, as I felt like I was trying to find my orange juice for 5 minutes.
]]></description>
			<content:encoded><![CDATA[<p>Khoi Vinh discusses <a href="http://www.subtraction.com/2009/02/24/orange-you-sorry-about-tropicana">the disastrous Tropicana redesign</a> and wonders if the branding agency behind it, Arnell, did it just for the press. I certainly agree that it was a disaster, as I felt like I was trying to find my orange juice for 5 minutes.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=RrbcCzaF"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=RrbcCzaF" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=wUC2FN5Z"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=MK4OhjYp"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=5bI8rdLT"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=5bI8rdLT" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=kQaYagOY"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/dSf6eBSv6hM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/orange-you-sorry-about-tropicana/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/orange-you-sorry-about-tropicana/</feedburner:origLink></item>
		<item>
		<title>Achieve Your Big Goals With Incremental Persistence</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/kusXBb0NsWQ/</link>
		<comments>http://trevordavis.net/asides/achieve-big-goals-incremental-persistence/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 22:43:16 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1662</guid>
		<description><![CDATA[Incremental success really helps in working toward your larger goals. I&#8217;ve been trying to improve something on my site every day. Recent examples: tooltips on my portfolio &#38; better pagination on my blog.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.devlounge.net/strategy/achieve-your-big-goals-with-incremental-persistence">Incremental success</a> really helps in working toward your larger goals. I&rsquo;ve been trying to improve something on my site every day. Recent examples: <a href="http://trevordavis.net/work/">tooltips on my portfolio</a> &amp; <a href="http://trevordavis.net/blog/">better pagination on my blog</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=NXG1sVXu"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=NXG1sVXu" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=xzXRrh1C"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=kpOkur87"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=yT2odPCc"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=yT2odPCc" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=5AqOC0uw"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/kusXBb0NsWQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/achieve-big-goals-incremental-persistence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/achieve-big-goals-incremental-persistence/</feedburner:origLink></item>
		<item>
		<title>10 tips for efficient design</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/JjyW_OR-bDk/</link>
		<comments>http://trevordavis.net/asides/10-tips-for-efficient-design/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 15:47:34 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1537</guid>
		<description><![CDATA[Paul Boag says that &#8220;being a good designer is not always enough to survive hard economic times. You need to be efficient too.&#8221; With that, he gives us 10 tips for efficient design. I think #10 should be emphasized and then emphasized again; it&#8217;s so important!
]]></description>
			<content:encoded><![CDATA[<p>Paul Boag says that &ldquo;being a good designer is not always enough to survive hard economic times. You need to be efficient too.&rdquo; With that, he gives us <a href="http://boagworld.com/design/10_tips_for_efficient_design/">10 tips for efficient design</a>. I think #10 should be <em>emphasized</em> and then <strong>emphasized again</strong>; it&rsquo;s so important!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=fov1oT1g"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=fov1oT1g" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=8RLa84GT"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=URIIHRee"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=EWvJHBo1"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=EWvJHBo1" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=GmcoGmNt"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/JjyW_OR-bDk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/10-tips-for-efficient-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/10-tips-for-efficient-design/</feedburner:origLink></item>
		<item>
		<title>5 Ways to Instantly Write Better CSS</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/i2kmE4ifSZQ/</link>
		<comments>http://trevordavis.net/blog/tutorial/5-ways-to-instantly-write-better-css/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 14:04:42 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1529</guid>
		<description><![CDATA[In my most recent article at NETTUTS: 5 Ways to Instantly Write Better CSS, I share some tips that have helped me to write better CSS.

This is definitely not me trying to tell you to code in a certain way; they are just some tips that I have found to become very useful for myself. [...]]]></description>
			<content:encoded><![CDATA[<p>In my most recent article at NETTUTS: <a href="http://nettuts.com/tutorials/html-css-techniques/5-tips-to-writing-better-css/">5 Ways to Instantly Write Better CSS</a>, I share some tips that have helped me to write better CSS.</p>
<p><span id="more-1529"></span></p>
<p>This is definitely not me trying to tell you to code in a certain way; they are just some tips that I have found to become very useful for myself. I hope you enjoy, and feel free to <a href="http://nettuts.com/tutorials/html-css-techniques/5-tips-to-writing-better-css/#add">share other tips</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=xlZQY2Bk"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=xlZQY2Bk" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=JfjQVVTo"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=igbjK2xU"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=k3V1PTsu"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=k3V1PTsu" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=Qd7jTsYB"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/i2kmE4ifSZQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/tutorial/5-ways-to-instantly-write-better-css/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/tutorial/5-ways-to-instantly-write-better-css/</feedburner:origLink></item>
		<item>
		<title>CSS3 Feedback: Selector Blocks</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/rIJynNNh7W0/</link>
		<comments>http://trevordavis.net/asides/css3-feedback-selector-blocks/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 15:57:23 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1519</guid>
		<description><![CDATA[Ohh, please make the ability to do this happen. It would make CSS so much more lightweight and easier to write.
]]></description>
			<content:encoded><![CDATA[<p>Ohh, please make <a href="http://meyerweb.com/eric/thoughts/2009/02/12/selector-blocks/">the ability to do this</a> happen. It would make CSS so much more lightweight and easier to write.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=VNZu6m1x"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=VNZu6m1x" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=ATgEE2Mo"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=xMsUPmi3"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=OCg5NUTB"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=OCg5NUTB" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=UDmXVqls"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/rIJynNNh7W0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/css3-feedback-selector-blocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/css3-feedback-selector-blocks/</feedburner:origLink></item>
		<item>
		<title>Fixing a Twitter WordPress Plugin with jQuery</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/N8llcCIOgtk/</link>
		<comments>http://trevordavis.net/blog/tutorial/fixing-twitter-wordpress-plugin-jquery/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 05:57:52 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1377</guid>
		<description><![CDATA[I use the fantastic Twitter for WordPress plugin on my website. Sometimes though, Twitter decides that it doesn&#8217;t want to make my tweets available. The plugin has accounted for this, and it displays No public Twitter messages when this happens. That kinda sucks though.

It&#8217;s definitely nice that the plugin doesn&#8217;t throw an error, but I [...]]]></description>
			<content:encoded><![CDATA[<p>I use the fantastic <a href="http://wordpress.org/extend/plugins/twitter-for-wordpress/">Twitter for WordPress plugin</a> on my website. Sometimes though, <a href="http://twitter.com">Twitter</a> decides that it doesn&rsquo;t want to make my tweets available. The plugin has accounted for this, and it displays <strong>No public Twitter messages</strong> when this happens. That kinda sucks though.</p>
<p><span id="more-1377"></span></p>
<p>It&rsquo;s definitely nice that the plugin doesn&rsquo;t throw an error, but I really don&rsquo;t want that message displayed on my site. So what&rsquo;s the solution? <strong>jQuery of course</strong>.</p>
<h2>When the Tweet Comes Through</h2>
<p>Here is the markup that is displayed on my site when a tweet comes through successfully:</p>
<pre><code>&lt;div id="twitterContainer">
	&lt;a class="twitter-link" href="http://twitter.com/davist11/status/1200405534">
		I feel like I'm in an episode of Seinfeld right now.
	&lt;/a>
&lt;/div></code></pre>
<h2>When the Tweet Doesn&rsquo;t Come Through</h2>
<p>This is what you end up with:</p>
<pre><code>&lt;div id="twitterContainer">
	No public Twitter messages.
&lt;/div></code></pre>
<h2>The jQuery</h2>
<p>My thinking is that I will check the contents of <strong>div#twitterContainer</strong> to see if it is <strong>No public Twitter messages</strong>. If it is, I think it would be useful to replace that text with a link to <a href="http://twitter.com/davist11">my Twitter account</a> with a message telling people to follow me.</p>
<p>So first, let&rsquo;s execute the jQuery code when the document is loaded:</p>
<pre><code>$(document).ready(function() {

});</code></pre>
<p>Next, we are going to check and see <strong>if the contents of div#twitterContainer is No public Twitter messages</strong>:</p>
<pre><code>$(document).ready(function() {
	<strong>if(jQuery.trim($('div#twitterContainer').text()) == 'No public Twitter messages.') {

	}</strong>
});</code></pre>
<p>Finally, let&rsquo;s just replace this text with a link to my Twitter feed:</p>
<pre><code>$(document).ready(function() {
	if(jQuery.trim($('div#twitterContainer').text()) == 'No public Twitter messages.') {
		<strong>$('div#twitterContainer').html('&lt;a href="http://twitter.com/davist11" class="twitter-link">Follow Me on Twitter&lt;/a>');</strong>
	}
});</code></pre>
<div class="clearfix">
<p><img src="http://trevordavis.net/wp-content/uploads/2009/02/twitter-plugin-fixed.jpg" alt="Screenshot of fixed Twitter plugin" class="rightSide frame" height="164" width="150" /><strong>That&rsquo;s it</strong>. This is just <a href="http://trevordavis.net/blog/tutorial/improving-a-flickr-plugin-with-jquery/">another example of how I have used jQuery to improve a WordPress plugin on my site</a>.</p>
<p>You can see this in action on my site, or <a href="http://trevordavis.net/play/fixing-twitter-plugin/">take a look at the demo</a>.</p>
<p><a href="http://trevordavis.net/play/fixing-twitter-plugin/" class="more-link">See Demo</a></p>
</div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=PsSlttK8"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=PsSlttK8" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=9tgDJAao"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=xdce3q1a"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=U7TlW75J"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=U7TlW75J" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=774pdWy4"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/N8llcCIOgtk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/tutorial/fixing-twitter-wordpress-plugin-jquery/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/tutorial/fixing-twitter-wordpress-plugin-jquery/</feedburner:origLink></item>
		<item>
		<title>No more pixel perfectionism in IE 6</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/tMfbhDDTfHo/</link>
		<comments>http://trevordavis.net/asides/no-more-pixel-perfectionism-in-ie-6/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 21:35:56 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1480</guid>
		<description><![CDATA[I do just like Roger Johansson says: I make sites perfectly usable in IE, but not necessarily exactly the same. As long as everything is accessible, it&#8217;s good enough for me.
]]></description>
			<content:encoded><![CDATA[<p>I do just like <a href="http://www.456bereastreet.com/archive/200902/no_more_pixel_perfectionism_in_ie_6/">Roger Johansson says</a>: I make sites perfectly usable in IE, but <strong>not necessarily exactly the same</strong>. As long as everything is accessible, it&rsquo;s good enough for me.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=e06GwRoS"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=e06GwRoS" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=x1ehR5Rr"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=LCq4iwdI"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=b5BVW3HP"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=b5BVW3HP" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=vh5MPabD"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/tMfbhDDTfHo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/no-more-pixel-perfectionism-in-ie-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/no-more-pixel-perfectionism-in-ie-6/</feedburner:origLink></item>
		<item>
		<title>10 Harsh Truths About Corporate Websites</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/Z57Y9HsG4Z4/</link>
		<comments>http://trevordavis.net/asides/10-harsh-truths-about-corporate-websites/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 03:31:13 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1474</guid>
		<description><![CDATA[The legendary Paul Boag gives us a reality check. While it&#8217;s hard to believe, I think I agree with all of them.
]]></description>
			<content:encoded><![CDATA[<p>The legendary Paul Boag gives us a <a href="http://www.smashingmagazine.com/2009/02/10/10-harsh-truths-about-corporate-websites/">reality check</a>. While it&rsquo;s hard to believe, I think I agree with all of them.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=866MP3Cq"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=866MP3Cq" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=0WwzBT9s"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=QKZ2XM6u"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=OUCDH2vN"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=OUCDH2vN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=pRc1QOwL"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/Z57Y9HsG4Z4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/10-harsh-truths-about-corporate-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/10-harsh-truths-about-corporate-websites/</feedburner:origLink></item>
		<item>
		<title>42 Web Design Companies: Designs That Move Me</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/JRe8oSXINjY/</link>
		<comments>http://trevordavis.net/asides/42-web-design-companies-designs-that-move-me/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 22:53:53 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1457</guid>
		<description><![CDATA[There are so many web design companies that have amazing websites. I felt inspired after looking through these. Now it&#8217;s just a matter of execution&#8230;
]]></description>
			<content:encoded><![CDATA[<p>There are so many <a href="http://designmovesme.com/42-web-design-companies/">web design companies that have amazing websites</a>. I felt inspired after looking through these. Now it&rsquo;s just a matter of execution&hellip;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=shJXNjbn"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=shJXNjbn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=yS5JJLF9"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=upDznfiK"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=W6TT6TyT"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=W6TT6TyT" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=96Mbc54Q"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/JRe8oSXINjY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/42-web-design-companies-designs-that-move-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/42-web-design-companies-designs-that-move-me/</feedburner:origLink></item>
		<item>
		<title>Setting Body Ids in Expression Engine</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/ck4ye8LO27g/</link>
		<comments>http://trevordavis.net/blog/tutorial/setting-body-ids-in-expression-engine/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 15:08:33 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1373</guid>
		<description><![CDATA[Expression Engine has become a popular choice to power many sites. I have just begun experimenting with it, and I have been very impressed. One thing that I have been interested in determining was to figure out if I could set an id on the body like I do when building other sites. I have [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://expressionengine.com/">Expression Engine</a> has become a popular choice to power many sites. I have just begun experimenting with it, and I have been very impressed. One thing that I have been interested in determining was to figure out if I could set an id on the body like I do when building other sites. I have already written one article showing how to do this in <a href="http://trevordavis.net/blog/tutorial/set-a-body-id/">PHP and WordPress</a>, but this will show how to do it dynamically in Expression Engine.</p>
<p><span id="more-1373"></span></p>
<h2>Why are Body Ids Useful?</h2>
<p>Body ids can be useful for styling sections differently, displaying certain parts of a dynamic template, displaying current navigation states, and many other things.</p>
<h3>A Simple Example</h3>
<p>Let&rsquo;s say that I want to have my font size be 14 pixels, <strong>except on the homepage</strong>. It would be as easy as this:</p>
<pre><code>body { font-size: 14px; }
body#home { font-size: 12px; }</code></pre>
<p><strong>Pretty useful.</strong> By using body ids, we now have a unique hook for each section of the website.</p>
<h2>Why not Body Classes?</h2>
<p>I do utilize body classes as well. I typically use the body id to indicate the section, then other various items for the body classes.</p>
<h3>For Example</h3>
<p>For my own blog, I have some pages that I want to have a left gutter on it so that I can push images, quotes, etc. into the column. I also have another class that indicates when it is a blog article page. So, I can just continue to use multiple classes on the body to help me control the width and layout of the page.</p>
<p>Here is what the body element looks like on a blog article on my site:</p>
<pre><code>&lt;body id="blog" class="subpage leftGutter article"></code></pre>
<p>The <strong>subpage class</strong> just indicates that it is not the homepage. Not completely necessary since I already have a specific id on the homepage, but it can sometimes become useful.</p>
<p>The <strong>leftGutter class</strong> is used to push the content area to the right and make it narrower. Then, I can pull elements into the left-hand gutter as well.</p>
<p>The <strong>article class</strong> is useful because some of the markup for the blog entry information is the same as the homepage and archive pages. Using this class, I can be more specific with my styles to change the way that these elements are displayed on the blog article page.</p>
<p>I always try and add classes and id attributes as high up in the tree as possible. This let&rsquo;s me utilize descendant selectors in the CSS without having to add additional classes and ids lower down.</p>
<h2>Setting the Body Id in Expression Engine</h2>
<p>I want to have complete control over the body id, so I want to be able to have it set dynamically and also be able to set it statically.</p>
<p>So my thought behind this is that first, I want to check to see if the body id was set statically. When I say statically, I mean passing the variable in as an attribute on my embed statement. Next, I will then set the body id dynamically.</p>
<h3>Setting the Id Statically</h3>
<p>In order to make changes to the overall website structure simpler, I have a header template the sits in the includes template group. So in all of the other template groups, I embed the header on the page:</p>
<pre><code>{embed="includes/header"}</code></pre>
<p>Then, if for some reason I want to specifically pass in a body id, I can just change it to this:</p>
<pre><code>{embed="includes/header" <strong>body_id="contact-us"</strong>}</code></pre>
<p>So the first step in the header is to check to see if the <strong>embed:body_id</strong> variable is set:</p>
<pre><code>&lt;body
{if embed:body_id}
	id="{embed:body_id}"
{/if}
></code></pre>
<p class="note"><em>Note: Line wrapping added for readability.</em></p>
<h3>Dynamically Setting the Id</h3>
<p>If we are not statically setting the body id, we want to then do it dynamically. My thinking is that I will take advantage of Expression Engine&rsquo;s <a href="http://expressionengine.com/docs/templates/globals/url_segments.html">URL segments</a> to determine which section we are in.</p>
<p>Here is an example of URL segments using the following URL:</p>
<pre><code>http://ee.trevordavis.net/index.php/about/me/education/</code></pre>
<ul>
<li>Segment 1 = <strong>about</strong></li>
<li>Segment 2 = <strong>me</strong></li>
<li>Segment 3 = <strong>education</strong></li>
</ul>
<p>Then, we can reference each segment like so:</p>
<ul>
<li>Segment 1 = <strong>{segment_1}</strong></li>
<li>Segment 2 = <strong>{segment_2}</strong></li>
<li>Segment 3 = <strong>{segment_3}</strong></li>
</ul>
<p>So basically what we want to do is assign the body id the value of <strong>{segment_1}</strong> if it is not empty. So continuing on our example:</p>
<pre><code>&lt;body
{if embed:body_id}
	id="{embed:body_id}"
{if:elseif segment_1}
	id="{segment_1}"
{/if}
></code></pre>
<p class="note"><em>Note: Line wrapping added for readability.</em></p>
<p><strong>But wait, what about the homepage?</strong> The homepage will have nothing for the value of <strong>{segment_1}</strong>, so we can just put in an else statement:</p>
<pre><code>&lt;body
{if embed:body_id}
	id="{embed:body_id}"
{if:elseif segment_1}
	id="{segment_1}"
{if:else}
	id="home"
{/if}
></code></pre>
<p class="note"><em>Note: Line wrapping added for readability.</em></p>
<p>Here is the line of code without any line wrapping:</p>
<pre><code>&lt;body{if embed:body_id} id="{embed:body_id}"{if:elseif segment_1} id="{segment_1}"{if:else} id="home"{/if}></code></pre>
<p>I created a <a href="http://ee.trevordavis.net/index.php/">demo Expression Engine site</a> to test this functionality.</p>
<p><a href="http://ee.trevordavis.net/index.php/" class="more-link">View Demo Site</a></p>
<h2>Walking Through the Demo Site</h2>
<p>Since we have body ids for each section and an id on each list item in the navigation, I have created the current state for the navigation with a few simple line of CSS:</p>
<pre><code>body#home ul#primaryNav li#homeNav a,
body#about ul#primaryNav li#aboutNav a,
body#services ul#primaryNav li#servicesNav a,
body#contact-us ul#primaryNav li#contactNav a {
	background: #B3602D;
	border-top-color: #B3602D;
	color: #fff;
}</code></pre>
<p class="note"><em>Note: Line wrapping added for readability.</em></p>
<p>I also want to show the sidebar on all of the subpages, so I just need 1 more conditional:</p>
<pre><code>{if embed:body_id || segment_1}
	&lt;div id="sidebar">
	&lt;/div>
{/if}</code></pre>
<p>This is checking to see if {embed:body_id} or {segment_1} are not empty, and displaying the sidebar if one or both are set.</p>
<p>These are just a few examples of using a body id in Expression Engine, but the possibilities are endless.</p>
<h2>One More Thing</h2>
<p>Another thing that I was trying to figure out was how to create a variable that I could reuse in multiple embed files. So what I want to do is in my conditional statement, determine that the body id should be and assign it to a variable. Then, I want to be able to access that variable in the footer without have to use the same conditional statement.</p>
<p><strong>Is this possible?</strong> I was messing around with the <strong>{assign_variable}</strong> tag, but that didn&rsquo;t seem to do the job because it can only be used in the same template. <strong>Anyone know how to do this?</strong> I&rsquo;m relatively new to Expression Engine, so I am still learning. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=P4VEQtaQ"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=P4VEQtaQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=CjNhHQBv"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=vjSHgFL2"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=uW7gBVjR"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=uW7gBVjR" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=mm7VLoxg"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/ck4ye8LO27g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/tutorial/setting-body-ids-in-expression-engine/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/tutorial/setting-body-ids-in-expression-engine/</feedburner:origLink></item>
		<item>
		<title>I’m a Weekly NETTUTS Writer</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/kolsXxHdvjo/</link>
		<comments>http://trevordavis.net/blog/tutorial/im-a-weekly-nettuts-writer/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 02:54:43 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1438</guid>
		<description><![CDATA[As I noted in my last post, I submitted a tutorial to NETTUTS to be considered as a weekly writer. I am very happy to announce that they chose me!
In my second article, Creating a &#8220;Filterable&#8221; Portfolio with jQuery, I take a look at creating a portfolio that can be filtered by category.

This tutorial was [...]]]></description>
			<content:encoded><![CDATA[<p>As I noted in my <a href="http://trevordavis.net/blog/tutorial/exactly-how-to-create-a-custom-jquery-accordion/">last post</a>, I submitted a tutorial to <a href="http://nettuts.com/">NETTUTS</a> to be considered as a weekly writer. I am very happy to announce that <strong>they chose me</strong>!</p>
<p>In my second article, <a href="http://nettuts.com/tutorials/javascript-ajax/creating-a-filterable-portfolio-with-jquery/">Creating a &ldquo;Filterable&rdquo; Portfolio with jQuery</a>, I take a look at creating a portfolio that can be filtered by category.</p>
<p><span id="more-1438"></span></p>
<p>This tutorial was kind of inspired by the effect that I created on <a href="http://www.matrixgroup.net/portfolio/">my company&rsquo;s portfolio</a>.</p>
<h2>How will this effect my web site?</h2>
<p>Yes, I am not going to be able to write articles as frequently on my blog, but I am still going to be posting some articles. I will also post a note each week discussing my weekly NETTUTS article.</p>
<p>I hope you all enjoy the articles.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=gm0kqt2p"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=gm0kqt2p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=NznlOERj"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=1rNKoJc8"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=PQdW7YMY"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=PQdW7YMY" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=zXMXMet7"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/kolsXxHdvjo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/blog/tutorial/im-a-weekly-nettuts-writer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://trevordavis.net/blog/tutorial/im-a-weekly-nettuts-writer/</feedburner:origLink></item>
		<item>
		<title>Twitter Chatter During the Super Bowl</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/9sNt292HMDo/</link>
		<comments>http://trevordavis.net/asides/twitter-chatter-during-the-super-bowl/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 17:51:51 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1399</guid>
		<description><![CDATA[The New York Times created an interactive information graph of tweets during the super bowl. I love how at halftime, there was an explosion of Springsteen tweets.
]]></description>
			<content:encoded><![CDATA[<p>The New York Times created an <a href="http://www.nytimes.com/interactive/2009/02/02/sports/20090202_superbowl_twitter.html">interactive information graph of tweets during the super bowl</a>. I love how at halftime, there was an explosion of Springsteen tweets.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=sVczaDl8"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=sVczaDl8" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=0PCI17V4"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=F9Hs1mUp"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=sGEnoqVL"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=sGEnoqVL" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=yvdsHQ76"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/9sNt292HMDo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/twitter-chatter-during-the-super-bowl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/twitter-chatter-during-the-super-bowl/</feedburner:origLink></item>
		<item>
		<title>WebAIM screenreader survey…the results are in</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/cru64mBeYYA/</link>
		<comments>http://trevordavis.net/asides/webaim-screenreader-survey-results/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 15:35:04 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1379</guid>
		<description><![CDATA[The WebAIM screenreader survey results are in. Not surprisingly: 76% of users always or often navigating by headings; 72% of screen reader users reported that Flash is very or somewhat difficult. 
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.webstandards.org/2009/01/31/webaim-screenreader-survey-results/">The WebAIM screenreader survey results are in</a>. Not surprisingly: 76% of users always or often navigating by headings; 72% of screen reader users reported that Flash is very or somewhat difficult. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=GaPdH795"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=GaPdH795" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=xzIVKZiv"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=COGw6I1x"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=v9DfkNYj"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=v9DfkNYj" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=oGXXCzxH"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/cru64mBeYYA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/webaim-screenreader-survey-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/webaim-screenreader-survey-results/</feedburner:origLink></item>
		<item>
		<title>How we reduced chargebacks by 30%</title>
		<link>http://feedproxy.google.com/~r/TrevorDavisFullBlog/~3/yNznmZgM-bM/</link>
		<comments>http://trevordavis.net/asides/how-we-reduced-chargebacks-by-30/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 01:36:44 +0000</pubDate>
		<dc:creator>Trevor</dc:creator>
				<category><![CDATA[Asides]]></category>

		<guid isPermaLink="false">http://trevordavis.net/?p=1360</guid>
		<description><![CDATA[Jason Fried discusses how they reduced chargebacks by 30%. My favorite part of this is how 37Signals determines the problem and quickly finds the simple solution to it.
]]></description>
			<content:encoded><![CDATA[<p>Jason Fried discusses <a href="http://www.37signals.com/svn/posts/1545-how-we-reduced-chargebacks-by-30-as-a-percentage-of-sales">how they reduced chargebacks by 30%</a>. My favorite part of this is how 37Signals determines the problem and quickly finds the simple solution to it.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=6vWnJ9sx"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=6vWnJ9sx" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=k9W1q29g"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=XIVyOKlO"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=50" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=hPDO0AqP"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?i=hPDO0AqP" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?a=hVHlZ1je"><img src="http://feeds.feedburner.com/~f/TrevorDavisFullBlog?d=52" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/TrevorDavisFullBlog/~4/yNznmZgM-bM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://trevordavis.net/asides/how-we-reduced-chargebacks-by-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://trevordavis.net/asides/how-we-reduced-chargebacks-by-30/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 1.464 seconds. --><!-- Cached page generated by WP-Super-Cache on 2009-11-09 06:26:27 -->
