<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>woolie t. &#187; WebDev</title>
	<atom:link href="http://www.wooliet.com/category/webdev/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wooliet.com</link>
	<description>Floating my Boat</description>
	<lastBuildDate>Sun, 04 Jul 2010 05:58:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A Diagnosis to Which I Relate (using a word I&#8217;ve never heard)</title>
		<link>http://www.wooliet.com/2010/06/10/a-diagnosis-to-which-i-relate-using-a-word-ive-never-heard/</link>
		<comments>http://www.wooliet.com/2010/06/10/a-diagnosis-to-which-i-relate-using-a-word-ive-never-heard/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 18:35:45 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[WebDev]]></category>
		<category><![CDATA[Words]]></category>
		<category><![CDATA[ideation]]></category>
		<category><![CDATA[noahstokes]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=498</guid>
		<description><![CDATA[From he who is famous for this (which I just rediscovered):
Ideation Limitation
I think coding a site to upload some photos, automate them into a simple slideshow is a no brainer.  Your mom on the other hand thinks that’s about the most fan-futon-tastic thing ever.  She and all the ladies in her card group [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2010/06/10/a-diagnosis-to-which-i-relate-using-a-word-ive-never-heard/">A Diagnosis to Which I Relate (using a word I&#8217;ve never heard)</a></p>
]]></description>
			<content:encoded><![CDATA[<p>From he who is famous for <a href="http://noahstokes.com/">this</a> (which I just rediscovered):</p>
<p><a href="http://esbueno.noahstokes.com/post/610445362/ideation-limitation" style="letter-spacing:.6em;font-size:1.25em"><strong>Ideation Limitation</strong></a></p>
<blockquote><p>I think coding a site to upload some photos, automate them into a simple slideshow is a no brainer.  Your mom on the other hand thinks that’s about the most fan-futon-tastic thing ever.  She and all the ladies in her card group use it religiously; sharing photos of their baby grandchildren drooling and gnawing on the dogs chew toys.  Who knew.</p></blockquote>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2010/06/10/a-diagnosis-to-which-i-relate-using-a-word-ive-never-heard/">A Diagnosis to Which I Relate (using a word I&#8217;ve never heard)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2010/06/10/a-diagnosis-to-which-i-relate-using-a-word-ive-never-heard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The ReadyAgain jQuery Plugin: Re-executing Ready</title>
		<link>http://www.wooliet.com/2010/06/09/the-readyagain-jquery-plugin-re-executing-ready/</link>
		<comments>http://www.wooliet.com/2010/06/09/the-readyagain-jquery-plugin-re-executing-ready/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 22:21:50 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[bitbucket]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[readmorerighthere]]></category>
		<category><![CDATA[readyagain]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=475</guid>
		<description><![CDATA[I&#8217;ve been wanting to become better acquainted with the Mecurial revision control system (see Hg Init for more info).    There&#8217;s also been a jQuery related issue I&#8217;ve been wanting to investigate.  So I made the jump and
1. Created a plugin
2. Created a repository for that plugin at BitBucket
ReadyAgain at BitBucket
The ReadyAgain [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2010/06/09/the-readyagain-jquery-plugin-re-executing-ready/">The ReadyAgain jQuery Plugin: Re-executing Ready</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been wanting to become better acquainted with the <a href="http://mercurial.selenic.com/">Mecurial</a> revision control system (see <a href="http://hginit.com/index.html">Hg Init</a> for more info).    There&#8217;s also been a <a href="http://jquery.com/">jQuery</a> related issue I&#8217;ve been wanting to investigate.  So I made the jump and</p>
<p>1. Created a plugin<br />
2. Created <a href="http://www.bitbucket.org/wooliet/readyagain">a repository</a> for that plugin at <a href="http://www.bitbucket.org/">BitBucket</a></p>
<p style="text-align:center;font-size:1.75em;padding:5px;border:1px solid #333;"><a href="http://www.bitbucket.org/wooliet/readyagain">ReadyAgain at BitBucket</a></p>
<h3 style>The ReadyAgain jQuery Plugin</h3>
<p>Prior to version 1.4, the array of functions saved by jQuery for execution when the DOM is ready (i.e. those functions added by <code>$(document).ready(function...)</code>) was an accessible property of jQuery. This meant that you could reference the array directly using something like <code>$.readyList</code>.  Now, however, that array has been hidden within an anonymous, self-executing function (the deepest, darkest well of data hiding in javascript, <a href="http://briancrescimanno.com/2009/09/24/how-self-executing-anonymous-functions-work/">here&#8217;s a bit of a primer</a>).  So re-executing all of the <code>ready</code> functions by grabbing a copy of that array becomes impossible.</p>
<p>The <a href="http://www.bitbucket.org/wooliet/readyagain">ReadyAgain</a> plugin is my attempt to solve that issue.  The specifics can be seen by looking at the code, but the basic concept is to override <code>jQuery.ready</code> to intercept each function as its added, and to save it within our own internal array.</p>
<h3>Public Code</h3>
<p>So the initial commit of the code is there and I&#8217;ve typed up a page on the Wiki with some examples.  I hope that people use it and maybe even contribute to it.  It would certainly be something fun for me to be a part of and from which to learn.</p>
<p><span id="more-475"></span></p>
<h3>The Path to Here</h3>
<p>An issue that has come up a couple of times regarding my <a href="http://wordpress.org/extend/plugins/read-more-right-here/">&#8216;Read More Right Here&#8217; Wordpress plugin</a> is that, when the post content is loaded, effects like a thickbox or lightbox or whatever-box are not applied to images in the new content.  More generally speaking, <em>any</em> javascript fanciness used on <em>any</em> of the new content elements is missing.  </p>
<p>The reason is that most every javascript based modification is applied to the document within a &#8216;DOM Ready&#8217; function (and rightly so) . With jQuery, this is the <code><a href="http://api.jquery.com/ready/">jQuery.ready</a></code> function.  So a plugin might add some nifty image effects to all images on the page like so:  <code>$('img').NiftyStuff()</code>.  But the images within the content pulled down by my plugin <em>aren&#8217;t yet there</em>.  They don&#8217;t arrive to the page until <em>after</em> the &#8216;Read More&#8217; link is clicked.  </p>
<p>So how do you re-execute <code>NiftyStuff</code> and the potentially countless other plugin functions on that new content?</p>
<p><strong>Live &amp; Delegate</strong></p>
<p>One quick solution would be to make use of jQuery&#8217;s <a href="http://api.jquery.com/live/">live</a> or <a href="http://api.jquery.com/delegate/">delegate</a> functions.  When used, they will monitor the DOM for new elements and execute code as needed.  But I guess this is still a relatively new process since it&#8217;s not something I&#8217;ve noticed in any of the plugins I&#8217;ve come across.</p>
<p><strong>Rerun Ready (i.e. my plugin)</strong></p>
<p>Re-execution of each of the saved <code>ready</code> functions is another possibility.  What&#8217;s more, the <a href="http://www.bitbucket.org/wooliet/readyagain">ReadyAgain</a> plugin will allow you to execute all of the ready functions within a more specific context (instead of the default &#8216;document&#8217; context, <a href="http://www.bitbucket.org/wooliet/readyagain/wiki/Home">see the wiki for more</a>).  So potentially only the <em>new</em> content will have the saved <code>ready</code> functions applied.</p>
<h3>Risky Business: Not the final solution</h3>
<p>At this point you might be thinking to yourself &#8220;Great, so you&#8217;ve packaged this with &#8216;Read More Right Here&#8217; and everything works perfectly&#8221;.  Sorry, but no.  At least not yet.</p>
<p>I experimented with it a bit, and it&#8217;s honestly just too hazardous.  I mean, it&#8217;s a serious case of &#8220;Use at your own risk&#8221;.  It is generally assumed (and again, rightly so) that the code executed within jQuery&#8217;s <code>ready</code> function will only be executed <em>once</em>.  So you might see a new element with a static ID value added to the page over and over. Or you might see some element that&#8217;s <a href="http://api.jquery.com/animate/">animating</a> with relative values (e.g. <code>top:'+=25px'</code>), which could happen over and over.  Or any other number of possible side-effects.  </p>
<p>This plugin is really something that (at least in its current form) should only be added on an individual basis.  You <em>have</em> to examine what happens within the <code>ready</code> function of other jQuery based Wordpress plugins.   There&#8217;s just no way that I can see to have this become default behavior within the RMRH Wordpress plugin.</p>
<p>But time will tell.  Maybe creating this public repository will put some eyes on it and who knows what solutions will develop from that.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2010/06/09/the-readyagain-jquery-plugin-re-executing-ready/">The ReadyAgain jQuery Plugin: Re-executing Ready</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2010/06/09/the-readyagain-jquery-plugin-re-executing-ready/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Miter Box Slider</title>
		<link>http://www.wooliet.com/2010/05/24/miter-box-slider/</link>
		<comments>http://www.wooliet.com/2010/05/24/miter-box-slider/#comments</comments>
		<pubDate>Mon, 24 May 2010 15:19:20 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Recommendations]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[codecanyon]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[miterbox]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[slider]]></category>
		<category><![CDATA[slideshow]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=458</guid>
		<description><![CDATA[I submitted a jQuery plugin to CodeCanyon before this past weekend started, and this morning I received an &#8220;it&#8217;s been accepted&#8221; email.  If you&#8217;re not already familiar with it, CodeCanyon is a marketplace for code.  It allows anyone to submit a piece of code to sell. If accepted, they set the price and [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2010/05/24/miter-box-slider/">Miter Box Slider</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I submitted a jQuery plugin to <a href="http://codecanyon.net?ref=WoolieT">CodeCanyon</a> before this past weekend started, and this morning I received an &#8220;it&#8217;s been accepted&#8221; email.  If you&#8217;re not already familiar with it, <a href="http://codecanyon.net?ref=WoolieT">CodeCanyon</a> is a marketplace for code.  It allows anyone to submit a piece of code to sell. If accepted, they set the price and take a cut of any profits.  It&#8217;s part of the larger <a href="http://envato.com/">Envato</a> marketplace, which includes areas for selling things like <a href="http://themeforest.net?ref=WoolieT">site designs</a> and <a href="http://audiojungle.net?ref=WoolieT">audio clips</a>.  </p>
<p><a href="http://codecanyon.net/item/miter-box-slider/104871?ref=WoolieT">Miter Box Slider</a> is my submission. It&#8217;s a jQuery &#8217;slider&#8217; plugin (i.e. when there&#8217;s a slideshow display of images at websites). What&#8217;s awesome about it is that it provides the ability to create truly <em>unique</em> animation transitions. With other sliders you&#8217;ll see a set of predefined transition effects, but with <a href="http://codecanyon.net/item/miter-box-slider/104871?ref=WoolieT">Miter Box</a>, <em>you</em> create the transitions.  It&#8217;s actually very powerful.  One of the largest issues I had developing it was that I would often end up just playing with it. It&#8217;s a fun tool for experimenting. </p>
<p>Regardless of whether other people decide to use it, I really am pretty proud of it.  Remember that those who run the site review the code and set the price? Right now, mine is the <a href="http://codecanyon.net/category/javascript?x=23&#038;y=11&#038;order=desc&#038;sort_by=cost&#038;type=files&#038;categories=javascript&#038;page=1&#038;ref=WoolieT">highest priced</a> (one of only two at that price) item in the javascript section of code. I don&#8217;t know everything that goes into that price point, but I will say that I think it&#8217;s an indication of the power my plugin offers. </p>
<p>If you&#8217;ve got a site, or create sites, and are looking for some way to spice up the way you display your images, check out <a href="http://codecanyon.net/item/miter-box-slider/full_screen_preview/104871?ref=WoolieT">the Miter Box demo</a>.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2010/05/24/miter-box-slider/">Miter Box Slider</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2010/05/24/miter-box-slider/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SWFObject, IE and Dynamic Content (a problem)</title>
		<link>http://www.wooliet.com/2009/07/22/swfobject-ie-and-dynamic-content-a-problem/</link>
		<comments>http://www.wooliet.com/2009/07/22/swfobject-ie-and-dynamic-content-a-problem/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 04:43:08 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[WebDev]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[readmorerighthere]]></category>
		<category><![CDATA[swfobject]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=388</guid>
		<description><![CDATA[I&#8217;ve got a problem.  The main players are my plugin, Internet Explorer (7, maybe 8, not 6) and SWFObject.  
The original inkling of issues came via Anon&#8217;s comment, on my previous update post, that YouTube videos pulled down as part of the &#8220;more&#8221; section were broken.  I tested this locally and saw [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/07/22/swfobject-ie-and-dynamic-content-a-problem/">SWFObject, IE and Dynamic Content (a problem)</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got a problem.  The main players are <a href="http://wordpress.org/extend/plugins/read-more-right-here/">my plugin</a>, <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">Internet Explorer</a> (7, maybe 8, not 6) and <a href="http://code.google.com/p/swfobject/">SWFObject</a>.  </p>
<p>The original inkling of issues came via <a href="http://www.wooliet.com/2009/07/16/rmrh-update-for-wp-2-8-1/comment-page-1/#comment-1165">Anon&#8217;s comment</a>, on my previous update post, that YouTube videos pulled down as part of the &#8220;more&#8221; section were broken.  I tested this locally and saw that, with IE7, he/she was right.  Of course, it&#8217;s not <em>just</em> YouTube. It would be any of the <code>&lt;object&gt;/&lt;embed&gt;</code> elements video sharing sites provide.</p>
<p>That really sucks.<br />
<span id="more-388"></span></p>
<h3>The Fix (sorta)</h3>
<p>After spending one night trying to figure out what I could do to fix this, it became obvious that the generally accepted solution to dynamically adding those flash objects to a page is to use SWFObject, <a href="http://code.google.com/p/swfobject/wiki/documentation">which</a>:</p>
<blockquote><p>
Offers a JavaScript API that aims to provide a complete tool set for embedding SWF files and retrieving Flash Player related information </p></blockquote>
<p>I really (always optimistic) thought this would be a quick set of changes to the javascript file; call the <code>swfobject.embedSWF</code> method and be done with it.  Best of all, swfobject.js is already distributed with the Wordpress install (which, by the way, I don&#8217;t see mentioned <a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script">in the codex</a>, the script handle to use to enqueue or set is as a dependency is <code>'swfobject'</code>).  But I couldn&#8217;t seem to get it to work, at least not in IE7.</p>
<p>That really sucks.</p>
<h3>What IE Doesn&#8217;t Like</h3>
<p>In the end, after much debugging with the <a href="http://code.google.com/p/swfobject/downloads/list">uncompressed version of SWFobject</a>, <a href="http://getfirebug.com/lite.html">Firebug Lite</a> and <em>beaucoup de</em> calls to <code>console.log</code>, I found the issue to be SWFobject&#8217;s call to <code>outterHTML</code>.  </p>
<p>You see, when it creates this new element for the DOM, it needs someplace to put it.  You provide the id of the element which will be used as that replacement.  Sort of like the sacrificial lamb for the the new <code>&lt;object&gt;</code>.  It&#8217;s through <code>outterHTML</code> that the replacement occurs.  It sets the old element to be the new one.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>435
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">el.<span style="color: #660066;">outerHTML</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'&lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot;'</span> <span style="color: #339933;">+</span> att <span style="color: #339933;">+</span> <span style="color: #3366CC;">'&gt;'</span> <span style="color: #339933;">+</span> par <span style="color: #339933;">+</span> <span style="color: #3366CC;">'&lt;/object&gt;'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p><code>createSWF</code><em> function (line number as of version 2.2)</em></p>
<p>My plan was to replace the original object with the new one.  When that didn&#8217;t work, I tried inserting a <code>&lt;div&gt;</code> as the target for replacement, right before the object, but that failed in the same way.  Finally, I realized what was going on, and set as the replacement an item that already existed in the DOM (in other words, it wasn&#8217;t something pulled in and added dynamically by the RMRH plugin).  That worked.</p>
<p>The problem seems to be that, when the element to be replaced has also been dynamically created, IE throws an exception when you try to change it.  In other words, I created the sacrificial lamb and IE wants for it to have always existed.</p>
<h3>The Fix Again (sorta, again)</h3>
<p>But it bugged me that the call to <code>outterHTML</code> was the point-of-failure here.  After all, I know I manipulate the DOM all the time in <a href="http://jquery.com/">jQuery</a>.  Right?  It provides <a href="http://docs.jquery.com/Manipulation/replaceWith#content"><code>replaceWith</code></a> as part of its API after all, and that always seems to work.</p>
<p>So I replaced SWFObject&#8217;s call to <code>outterHTML</code> with jQuery&#8217;s <code>replaceWith</code> (does that count as ironic?), and the problem was solved.</p>
<h3>So What Do I Do?</h3>
<p>I don&#8217;t really want to change that one line and then bundle the modified swfobject.js file with my plugin.  But that&#8217;s the only solution I can think of.  Well, that and maybe just recreate (i.e. copy) the relevant SWFObject code in my javascript, to be used only with IE.  But I can&#8217;t help but think there must be a better line of action here.</p>
<p>This has to be a relatively common situation.  I mean, pull down content using AJAX, content happens to contain an embedded flash player, use SWFObject to make sure it renders in IE.  I guess what&#8217;s missing is that in the common scenarios, an existing element is already set aside and ready to accept the new object.  But I can&#8217;t do that with my plugin. </p>
<p>So what do I do?</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/07/22/swfobject-ie-and-dynamic-content-a-problem/">SWFObject, IE and Dynamic Content (a problem)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2009/07/22/swfobject-ie-and-dynamic-content-a-problem/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>RMRH Update for WP 2.8.1</title>
		<link>http://www.wooliet.com/2009/07/16/rmrh-update-for-wp-2-8-1/</link>
		<comments>http://www.wooliet.com/2009/07/16/rmrh-update-for-wp-2-8-1/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 04:28:34 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[Site News]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[readmorerighthere]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=379</guid>
		<description><![CDATA[I had to update the Read More Right Here plugin for the recent 2.8.1 Wordpress release (details below).  The most important item to note is that now the minimum required version of WP is 2.8.

Details, Details
I previously was calling a function I wrote to set the URL to the plugin root directory. This was [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/07/16/rmrh-update-for-wp-2-8-1/">RMRH Update for WP 2.8.1</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I had to update the <a href="http://wordpress.org/extend/plugins/read-more-right-here/">Read More Right Here</a> plugin for the recent 2.8.1 Wordpress release (details below).  The most important item to note is that now the minimum required version of WP is 2.8.</p>
<p><span id="more-379"></span></p>
<h3>Details, Details</h3>
<p>I previously was calling a function I wrote to set the URL to the plugin root directory. This was then used to register the script with WP and was also passed down to the javascript using <code><a href="http://www.prelovac.com/vladimir/best-practice-for-adding-javascript-code-to-wordpress-plugin">wp_localize_script</a></code>.</p>
<p>The one-liner function:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> wt_rmrh_getBasePath<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> get_bloginfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wpurl'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/&quot;</span> <span style="color: #339933;">.</span> PLUGINDIR <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/&quot;</span> <span style="color: #339933;">.</span> plugin_basename<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;read-more-right-here/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>With the 2.8.1 update, the above no longer worked.  Before 2.8.1, the path in a page&#8217;s header was (in part):</p>
<p>&nbsp;&nbsp;&nbsp;<code>plugins/read-more-right-here/js/wt_rmrh.js</code></p>
<p>After the 2.8.1 update, the path became:</p>
<p>&nbsp;&nbsp;&nbsp;<code>plugins/read-more-right-<strong>herejs/</strong>wt_rmrh.js</code></p>
<p>Needles to say, that javascript file isn&#8217;t going to load.  </p>
<p>I looked through <em>wp-includes/plugin.php</em> and found the <code>plugin_dir</code> function which </p>
<blockquote><p>Gets the URL directory path (with trailing slash) for the plugin __FILE__ passed in</p></blockquote>
<p>(their function comment).</p>
<p>So I deleted the function (which was only being called once) and replaced</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$pluginUrl</span> <span style="color: #339933;">=</span> wt_rmrh_getBasePath<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>with</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$pluginUrl</span> <span style="color: #339933;">=</span> plugin_dir_url<span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Everything seems to be in working order now. At least until the next Wordpress version!</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/07/16/rmrh-update-for-wp-2-8-1/">RMRH Update for WP 2.8.1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2009/07/16/rmrh-update-for-wp-2-8-1/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Overflowing List Elements</title>
		<link>http://www.wooliet.com/2009/07/13/overflowing-list-elements/</link>
		<comments>http://www.wooliet.com/2009/07/13/overflowing-list-elements/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 05:43:34 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[WebDev]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[lists]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=372</guid>
		<description><![CDATA[So I had a problem.  A long, unordered list of links seems to want to overflow out of their containing &#60;div&#62;.  The list items were set to display inline and were extending out past the width of that &#60;div&#62; instead of wrapping down to a new &#8220;row&#8221;. This list was being generated programmatically, [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/07/13/overflowing-list-elements/">Overflowing List Elements</a></p>
]]></description>
			<content:encoded><![CDATA[<p>So I had a problem.  A long, unordered list of links seems to want to overflow out of their containing <code>&lt;div&gt;</code>.  The list items were set to display inline and were extending out past the width of that <code>&lt;div&gt;</code> instead of wrapping down to a new &#8220;row&#8221;. This list was being generated programmatically, i.e. (simplified):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$values</span> <span style="color: #339933;">=</span> get_values<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$display</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&lt;ul&gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$values</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$display</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;li&gt;<span style="color: #006699; font-weight: bold;">$value</span>&lt;/li&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$display</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;/ul&gt;&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$display</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Why was my list spilling out of its well defined boundaries?  A staggering amount of time was spent fiddling with every possible CSS property for that element and those around it.  Edit, save and reload. Edit save and reload. It was driving me <em>insane</em>.</p>
<p>Solution? <strong>Append a newline after each list element.</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>6
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$display</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;&lt;li&gt;<span style="color: #006699; font-weight: bold;">$value</span>&lt;/li&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>I have no idea why.  If you do, please enlighten in the comments.</p>
<p>Dear Lord I hope this helps someone else out.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/07/13/overflowing-list-elements/">Overflowing List Elements</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2009/07/13/overflowing-list-elements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress 2.8 Breaks RMRH Plugin</title>
		<link>http://www.wooliet.com/2009/06/17/wordpress-2-8-breaks-rmrh-plugin/</link>
		<comments>http://www.wooliet.com/2009/06/17/wordpress-2-8-breaks-rmrh-plugin/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 00:13:04 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[Site News]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[defect]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[readmorerighthere]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=349</guid>
		<description><![CDATA[(It&#8217;s fixed&#8230;.see second update below)
I just updated this site to use the latest WP (2.8) and now my &#8220;Read More Right Here&#8221; plugin doesn&#8217;t work quite right.  When you click the &#8220;Read More&#8221; text, the rest of the post successfully downloads and is displayed. However, the next &#8220;click&#8221; takes you to the post&#8217;s single [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/06/17/wordpress-2-8-breaks-rmrh-plugin/">Wordpress 2.8 Breaks RMRH Plugin</a></p>
]]></description>
			<content:encoded><![CDATA[<p><strong><em>(It&#8217;s fixed&#8230;.see second update below)</em></strong></p>
<p>I just updated this site to use the latest WP (2.8) and now my &#8220;<a href="http://wordpress.org/extend/plugins/read-more-right-here/">Read More Right Here</a>&#8221; plugin doesn&#8217;t work quite right.  When you click the &#8220;Read More&#8221; text, the rest of the post successfully downloads and is displayed. However, the next &#8220;click&#8221; takes you to the post&#8217;s single page display instead of just collapsing the new content.  </p>
<p>I will hopefully get this sorted out soon. Whenever I do, I&#8217;ll update here.</p>
<p><strong>UPDATE:</strong></p>
<p>Unfortunately I haven&#8217;t been able to fix this.  The problem is caused by the latest version of <a href="http://jquery.com/">jQuery</a> (1.3.2), to which WP apparently updated.  Actually, it was caused somehow in the changes made in between <a href="http://docs.jquery.com/Release:jQuery_1.2.6">1.2.6</a> and <a href="http://docs.jquery.com/Release:jQuery_1.3">1.3</a>.</p>
<p>Specifically, the function <code>curCSS</code> is throwing exceptions during the animation of the new content &#8220;away&#8221; (i.e. hiding).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>800
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> computedStyle <span style="color: #339933;">=</span> defaultView.<span style="color: #660066;">getComputedStyle</span><span style="color: #009900;">&#40;</span> elem<span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>The <code>elem</code> parameter being passed to <code>getComputedStyle</code> that causes the exception is a &#8220;<strong>\n</strong>&#8220;.  With jQuery 1.2.6, I don&#8217;t see that element being passed to that function.</p>
<p>I tried some of the other animation techniques, but they I guess they all hit <code>curCSS</code> at some point or another.  Even plain old <code>hide</code> causes problems.  </p>
<p>So&#8230;..sorry.  As of right now, the RMRH plugin does not work with WP 2.8.  The only solution I can see at the moment is to include the older version of jQuery with the plugin. But I&#8217;m not sure yet how that will work out.</p>
<p><strong>UPDATE 2:  <font color="green">FIXED</font></strong><br />
<span id="more-349"></span><br />
It&#8217;s funny how a day away can make a difference.  It only took about 10 minutes to get this fixed.</p>
<p>So I knew that jQuery couldn&#8217;t have a defect that serious that wasn&#8217;t already fixed.  The most recent version has been available for more than four months now, and too many people use it for that issue to still be around.  I figured the the problem had to be how I was creating the new content that is inserted into the DOM.  </p>
<p>My previous method for doing this was:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> newEl <span style="color: #339933;">=</span> $j<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;p&gt; + newContent + &lt;/p&gt;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>And the fixed method of the above code is:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> newEl <span style="color: #339933;">=</span> $j<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;&lt;p&gt;&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;">&#40;</span>newContent<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>All I can think is that the use of <code>"&lt;p&gt; + newContent + &lt;/p&gt;"</code> somehow results in newline characters (<code>/n</code>) being inserted as part of the string.  The new method does not use string operators, only the <code>&lt;p&gt;</code> element and its html content are created.</p>
<p>Anyway, it&#8217;s fixed.  If you use the &#8220;Read More Right Here&#8221; plugin and have updated to Wordpress 2.8, you need to update the plugin to version 1.0.3.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/06/17/wordpress-2-8-breaks-rmrh-plugin/">Wordpress 2.8 Breaks RMRH Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2009/06/17/wordpress-2-8-breaks-rmrh-plugin/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Absolute Positioning and the Canvas Element</title>
		<link>http://www.wooliet.com/2009/06/01/absolute-positioning-and-the-canvas-element/</link>
		<comments>http://www.wooliet.com/2009/06/01/absolute-positioning-and-the-canvas-element/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 04:27:46 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[johnresig]]></category>
		<category><![CDATA[processingjs]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=337</guid>
		<description><![CDATA[I&#8217;ve been working on a personal &#8220;hobby time&#8221; project lately using John Resig&#8217;s port of Processing (a Java thing) to Processing.js (a javascript thing).
I was at one of those lulls where, instead of worrying about the code, I started playing with the layout.  My &#60;canvas&#62; element is sitting inside a &#60;div&#62;, whose &#8220;positioning&#8221; property [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/06/01/absolute-positioning-and-the-canvas-element/">Absolute Positioning and the Canvas Element</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a personal &#8220;hobby time&#8221; project lately using <a href="http://ejohn.org/">John Resig&#8217;s</a> port of <a href="http://processing.org/">Processing</a> (a Java thing) to <a href="http://processingjs.org/">Processing.js</a> (a javascript thing).</p>
<p>I was at one of those lulls where, instead of worrying about the code, I started playing with the layout.  My <code>&lt;canvas&gt;</code> element is sitting inside a <code>&lt;div&gt;</code>, whose &#8220;positioning&#8221; property I changed to <code>absolute</code>.  After this edit, the top-left corner of my <code>&lt;canvas&gt;</code> was no longer <code>(0,0)</code>.  It had changed to the <code>(x,y)</code> coordinate of the <code>&lt;canvas&gt;</code> element on the page. </p>
<p>Of course, the above conclusion was only reached <em>after</em> a bunch of &#8220;W.T.F is going on? Why T.F. is everything broken?&#8221;. After some other debugging routes, it dawned on me what <em>might</em> have happened.  So I set the <a href="http://processingjs.org/reference/frameRate">frame rate</a> to 1, and used <a href="http://getfirebug.com/">Firebug</a> to <a href="http://getfirebug.com/logging.html">log</a> the <a href="http://processingjs.org/reference/mouseX"><code>mouseX</code></a> and <a href="http://processingjs.org/reference/mouseY"><code>mouseY</code></a> as I moved the mouse around.  Sure enough, my positioning of &#8220;<code>top: 200; left:200;</code>&#8221; was reflected in Firebug&#8217;s console output showing coordinates near those values while hovering around the top left corner.  Commenting out the style sheet&#8217;s absolute positioning returned the console output to the <code>(0,0)</code> area code.</p>
<p>So this is a defect, right?  I can&#8217;t imagine that&#8217;s how it&#8217;s supposed to work.  Anyway, consider this a <a href="http://www.wooliet.com/2008/08/23/heads-up-regarding-the-codeigniter-video-tutorial/">heads-up</a> if you decide to embark on a little processing.js play.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/06/01/absolute-positioning-and-the-canvas-element/">Absolute Positioning and the Canvas Element</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2009/06/01/absolute-positioning-and-the-canvas-element/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Defect Fix for RMRH Plugin</title>
		<link>http://www.wooliet.com/2009/05/02/defect-fix-for-rmrh-plugin/</link>
		<comments>http://www.wooliet.com/2009/05/02/defect-fix-for-rmrh-plugin/#comments</comments>
		<pubDate>Sun, 03 May 2009 01:03:44 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[Site News]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[readmorerighthere]]></category>
		<category><![CDATA[thijs]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=324</guid>
		<description><![CDATA[Over on the post announcing my &#8220;Read More Right Here&#8221; wordpress plugin, an interesting few comments popped up by Thijs (I love these drawings).  He found that the plugin breaks when a domain lets wordpress run its root, but the actual Wordpress files are stored in a subdirectory (see this codex article for the [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/05/02/defect-fix-for-rmrh-plugin/">Defect Fix for RMRH Plugin</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Over on the <a href="http://www.wooliet.com/2008/09/21/announcing-the-read-more-right-here-wordpress-plugin/comment-page-1/#comment-872">post announcing</a> my <a href="http://wordpress.org/extend/plugins/read-more-right-here/">&#8220;Read More Right Here&#8221; wordpress plugin</a>, an interesting few comments popped up by <a href="http://thijsvissia.nl/">Thijs</a> (I <em>love</em> <a href="http://thijsvissia.nl/drawing/01/">these drawings</a>).  He found that the plugin breaks when a domain lets wordpress run its root, but the actual Wordpress files are stored in a subdirectory (see <a href="http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory">this codex article</a> for the how to).</p>
<p>And awesomely enough, he found the cause of the problem!<br />
<span id="more-324"></span></p>
<h3>The Defect</h3>
<p>I was constructing the path to the plugin&#8217;s directory using the Wordpress function <code>get_bloginfo</code>, and passing to that function the value <code>'url'</code>.  However, the <a href="http://codex.wordpress.org/Template_Tags/get_bloginfo">doc</a> shows that value will result in Wordpress returning the blog home URL, and <strong>not</strong> the location of the actual core Wordpress files (which is what I needed).  To get that path, you have to send in <code>'wpurl'</code>.</p>
<h3>Another Problem</h3>
<p>But this fix uncovered another problem. That same path I assumed to be correct is hardcoded in the javascript function used to create the &#8220;loading&#8221; animated gif that appears while the &#8220;read more&#8221; content is being pulled.  I fixed this issue by having the javascript asynchronously (ajax) ask Wordpress for the correct path (using the now updated function I described in the previous section).  But that&#8217;s not really how I wanted to do it.</p>
<h3>More Ideally</h3>
<p><strong>WOW, I FEEL STUPID.</strong>. I just typed a whole section here describing how I would rather have the javascript value used as the plugin URL somehow set by Wordpress.  I envisioned something similar to <code><a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script">wp_enqueue_script</a></code> that could be used to inject some javascript value to the header along with the linked script sources.</p>
<p>So of course, after I&#8217;ve spent loads o&#8217; time trying to find such a solution, figured &#8220;maybe next time&#8221; and officially updated the plugin, now I find <a href="http://www.prelovac.com/vladimir/best-practice-for-adding-javascript-code-to-wordpress-plugin">this article</a> (<em>and I quote</em>):</p>
<blockquote><p>WordPress provides an elegant way to pass parameters to your JavaScript code using <code>wp_localize_script</code> function.</p></blockquote>
<p><em>Arg</em> and <em>Doh</em> and all that.  Be on the lookout for another release!</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2009/05/02/defect-fix-for-rmrh-plugin/">Defect Fix for RMRH Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2009/05/02/defect-fix-for-rmrh-plugin/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A Thorough Video Tutorial for Slicing and CSSing</title>
		<link>http://www.wooliet.com/2008/11/13/a-thorough-video-tutorial-for-slicing-and-cssing/</link>
		<comments>http://www.wooliet.com/2008/11/13/a-thorough-video-tutorial-for-slicing-and-cssing/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 04:50:06 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[Recommendations]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[jeffreyway]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=254</guid>
		<description><![CDATA[NETTUTS has an extremely thorough, step-by-step video tutorial that covers slicing a site design in Photoshop, coding the HTML, creating the CSS and then (briefly) adding a touch of Javascript.
I make this recommendation with a bit of hesitance though, as the total running time is a bit over 90 minutes.  I actually skipped the [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/11/13/a-thorough-video-tutorial-for-slicing-and-cssing/">A Thorough Video Tutorial for Slicing and CSSing</a></p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://nettuts.com/videos/screencasts/how-to-convert-a-psd-to-xhtml/">NETTUTS has an extremely thorough, step-by-step video tutorial</a> that covers slicing a site design in Photoshop, coding the HTML, creating the CSS and then (briefly) adding a touch of Javascript.</p>
<p>I make this recommendation with a bit of hesitance though, as the total running time is a bit over 90 minutes.  I actually skipped the last third or so of the first video (slicing the PSD).  But there is something strangely mesmerizing about watching someone else progress through their work like this.  It&#8217;s also interesting for me to see someone else&#8217;s work flow and tools use. </p>
<p>The presenter/author, <a href="http://themeforest.net/user/JeffreyWay">Jeffrey Way</a>, states that the tutorial is for beginners, but I&#8217;d say that it edges closer to the intermediate level. The CSS section, though long, progresses pretty quickly.  You have to already be pretty familiar with the <a href="http://www.w3.org/TR/CSS2/selector.html">selectors</a> syntax. And he moves right past terms like &#8220;inline&#8221; and &#8220;block&#8221;.</p>
<p>If you&#8217;ve got the time and the inclination, it&#8217;s an excellent howto for that area of web work.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/11/13/a-thorough-video-tutorial-for-slicing-and-cssing/">A Thorough Video Tutorial for Slicing and CSSing</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2008/11/13/a-thorough-video-tutorial-for-slicing-and-cssing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the HTML Element for Background Images</title>
		<link>http://www.wooliet.com/2008/10/21/using-the-html-element-for-background-images/</link>
		<comments>http://www.wooliet.com/2008/10/21/using-the-html-element-for-background-images/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 18:58:36 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[WebDev]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=182</guid>
		<description><![CDATA[There&#8217;s a pretty simple tutorial over at Web Designer Wall covering large backgrounds with CSS.  Of course, I enjoy the &#8220;pretty simple&#8221; write-ups because there almost always manages to be some nugget of gold for me.  In this case, I had no idea that it was possible to use the HTML element to [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/10/21/using-the-html-element-for-background-images/">Using the HTML Element for Background Images</a></p>
]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a pretty simple tutorial over at Web Designer Wall covering <a href="http://www.webdesignerwall.com/tutorials/how-to-css-large-background/">large backgrounds with CSS</a>.  Of course, I enjoy the &#8220;pretty simple&#8221; write-ups because there almost always manages to be some nugget of gold for me.  In this case, I had no idea that it was possible to use the <code>HTML</code> element to display background images.<br />
<span id="more-182"></span><br />
The first few examples are all things that I would expect most people with a little experience would be able to figure out.  Example three describes having more than one image in the background, and it does so by adding an extra <code>div</code> at the top of the <code>body</code> to enclose all of the page&#8217;s content.  This would most definitely have been my solution.  It seems obvious enough.</p>
<p>But if you look down at the comments (you have to &#8220;expand all&#8221;), number eight mentions:</p>
<blockquote><p>Have you thought about using the html selector when adding two images? One on html and one on the body.</p></blockquote>
<p>So the author updated <a href="http://www.webdesignerwall.com/demo/large-background/sky-background-2.html">example number three</a> with styling rules that, in part, look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">html 
<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#73ADD7</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">images/gradient.gif</span><span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">repeat-x</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
body 
<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000; font-style: italic;">images/sky.jpg</span><span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">no-repeat</span> <span style="color: #993333;">center</span> <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>I would have never thought to add a background image to the <code>HTML</code> element. Is that legal? </p>
<h2>Valid?</h2>
<p>The example page <a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.webdesignerwall.com%2Fdemo%2Flarge-background%2Fsky-background-2.html&#038;charset=(detect+automatically)&#038;doctype=Inline&#038;group=0">passes validation for transitional doc types</a> and <a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.webdesignerwall.com%2Fdemo%2Flarge-background%2Fsky-background-2.html&#038;charset=(detect+automatically)&#038;doctype=XHTML+1.0+Strict&#038;group=0&#038;user-agent=W3C_Validator%2F1.591">for strict</a> (the warning is given for overriding the doctype).</p>
<p>However, the <a href="http://www.w3.org/TR/CSS21/colors.html#background">CSS 2.1 recommendation</a> says:</p>
<blockquote><p>For HTML documents, however, we recommend that authors specify the background for the BODY element rather than the HTML element.</p></blockquote>
<p>The <a href="http://www.w3.org/TR/css3-background/">CSS 3.0</a> draft does not seem to include a statement either way, though it does state that it &#8220;<em>includes and extends the functionality of CSS level 2 [CSS21]&#8230;.</em>&#8221; (see the Abstract).  </p>
<p>So even though there is a recommendation against doing this, it does pass muster with the <a href="http://validator.w3.org/">validation service</a>.</p>
<p>In the long run, though, it is somewhat of a moot point.  This is because CSS 3 includes the ability to define <a href="http://www.w3.org/TR/css3-background/#layering">multiple background images for one element</a>.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/10/21/using-the-html-element-for-background-images/">Using the HTML Element for Background Images</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2008/10/21/using-the-html-element-for-background-images/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox, CSS and floats: Where&#8217;s my background?</title>
		<link>http://www.wooliet.com/2008/09/26/firefox-css-and-floats-wheres-my-background/</link>
		<comments>http://www.wooliet.com/2008/09/26/firefox-css-and-floats-wheres-my-background/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 04:53:15 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[WebDev]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=125</guid>
		<description><![CDATA[This is one of those absurd situations that result in far too much effort and stress (if you ask me).  It goes like this: You want to create a layout with a couple columns.  Those columns are set inside your &#8220;container&#8221; with a pretty background color or nice border. Wrap a couple &#60;div&#62; [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/09/26/firefox-css-and-floats-wheres-my-background/">Firefox, CSS and floats: Where&#8217;s my background?</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This is one of those absurd situations that result in far too much effort and stress (if you ask me).  It goes like this: You want to create a layout with a couple columns.  Those columns are set inside your &#8220;container&#8221; with a pretty background color or nice border. Wrap a couple <code>&lt;div&gt;</code> elements, float one left, the other right, and add your border/color.  Right?  Check it out in IE and things look as you expect.  But when you look at the results in Firefox, you&#8217;ve lost your background!  Or that distinguishing border is now lumped at the top as a single, less-than-appealing line!  What happened?</p>
<p>There are countless solutions to this available via the normal searching mechanisms.  I have to give credit to my first encounter of the solution I like the best:  <a href="http://www.welovecss.com/showthread.php?t=860">a &#8220;Background height problem&#8221; forum post</a> with the solution being <a href="http://welovecss.com/showpost.php?p=4549&#038;postcount=2">the very first response</a>. The <code>&lt;img&gt;</code> element at the bottom of poster&#8217;s content could be modified with the &#8220;<code>clear: both</code>&#8221; style applied to it. The solution also points to this excellent article, &#8220;<a href="http://www.positioniseverything.net/easyclearing.html">Clearing a float container without source markup</a>&#8220;, which goes into some great detail (a <em>must</em> read). </p>
<p>So here&#8217;s my quick tutorial on the matter.  For this to be worth while, you&#8217;ll need to be following along in Firefox. And again, for more details, please read the &#8220;<a href="http://www.positioniseverything.net/easyclearing.html">Easy Clearing</a>&#8221; article linked to above.<br />
<span id="more-125"></span></p>
<h3>1. The Setup</h3>
<p>A quick and easy two column design starts with three <code>divs</code>: the container, the left column and the right column (<a href="http://en.wikipedia.org/wiki/Sign_of_the_cross">Amen</a>).</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;container&quot;</span>&gt;</span>
&nbsp;
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;left&quot;</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>To the left.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;right&quot;</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>To the right.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>Let&#8217;s add some styling to make them distinguishable from each other.  We&#8217;ll give the <code>container</code> a think, red dotted border.  The left side gets a normal green border and, for the right, something blue.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#container</span>
<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">thick</span> <span style="color: #993333;">dotted</span> <span style="color: #993333;">red</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">610px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #cc00cc;">#left</span>
<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">thin</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">400px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #cc00cc;">#right</span>
<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">thin</span> <span style="color: #993333;">solid</span> <span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">200px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p><a href='http://www.wooliet.com/wp-content/uploads/2008/09/step_01.html'>Here&#8217;s what we&#8217;ve got so far</a>. I like how the big red dots seem to hug all the content, don&#8217;t you?  Also notice we&#8217;ve given explicit <code>width</code> values, <a href="http://www.w3.org/TR/CSS2/visuren.html#floats">which are required</a> for floating elements (added next).</p>
<h3>2. Lorem Ipsum Floats</h3>
<p>Let&#8217;s columnize it with a quick edit to our CSS.  The &#8220;left&#8221; <code>div</code> will <code>float</code> left, and the &#8220;right&#8221; <code>div</code> will <code>float</code>&#8230;let me think&#8230;.oh yeah&#8230;right!</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#left</span>
<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">thin</span> <span style="color: #993333;">solid</span> <span style="color: #993333;">green</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">400px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #cc00cc;">#right</span>
<span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">thin</span> <span style="color: #993333;">solid</span> <span style="color: #000000; font-weight: bold;">blue</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">200px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>I can&#8217;t wait to F5 this sucker and <a href='http://www.wooliet.com/wp-content/uploads/2008/09/step_02.html'>see our cool new columns.</a></p>
<p>Whoops.  No more hugging!?!?  </p>
<p>When an element is given the <code>float</code> property, it&#8217;s removed from the normal layout flow of the document.  </p>
<p>From <a href="http://www.w3.org/TR/CSS2/visuren.html#floats">W3C, 9.5</a>:</p>
<blockquote><p>Since a float is not in the flow, non-positioned block boxes created before and after the float box flow vertically as if the float didn&#8217;t exist.</p></blockquote>
<p>The container has nothing in it besides those two floating elements.  Because they are no longer &#8220;in the flow&#8221;, that container essentially has <em>nothing</em> to define just how tall it needs to be. Let&#8217;s fix it.</p>
<h3>3. Clearing House</h3>
<p>They keyword here is &#8220;clear&#8221;. <a href="http://www.w3.org/TR/CSS2/visuren.html#propdef-clear">CSS2 defines the <code>clear</code> property</a> as a way of specifying that a block element should <em>not</em> fall along the sides of a previous float.  You can tell it to <code>clear:right</code> so that it pushes below any previous right floaters. You can tell it to <code>clear:left</code> to push past the southpaws.  Or, as we&#8217;ll do here, you can tell it to <code>clear:both</code>, which basically means &#8220;Stop pushing me around&#8221;.</p>
<p>Now, at this point, one option is to manually insert a new, empty <code>div</code> immediately after the &#8220;right&#8221; column.  We style it with <code>clear</code> so that it can ignore the two previous floats.  This pushes it past them to the bottom of the container, which now must stretch out to fill all this new space. Voilà, we have a fix. </p>
<p>Here is our original HTML modified as an example, with the new <code>div</code>&#8217;s styling done inline:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;container&quot;</span>&gt;</span>
&nbsp;
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;left&quot;</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>To the left.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
&nbsp;
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;right&quot;</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>To the right.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
        <span style="color: #808080; font-style: italic;">&lt;!-- Let's name him &quot;stretch&quot; --&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;clear:both&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>But it doesn&#8217;t have to be that way.  I mean, do you <em>want</em> to manually insert extra cruft into your page like that?  As an alternative, have you considered our shiny new model?  The <a href="http://www.w3.org/TR/CSS2/generate.html#x5">:after</a> pseudo-element?  It&#8217;s CSS that injects content for you!  (Aside: On some level this seems wrong to me. Why would they create a method for the <em>presentation</em> mechanism to insert <em>content</em>?  But then again, who cares.  It&#8217;s there and it&#8217;s pretty cool, so let&#8217;s use it.)</p>
<p>Here is the new addition to our styling family:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#container</span><span style="color: #3333ff;"><span style="color: #00AA00;">:</span>after
</span><span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">&quot;&quot;</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">clear</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">both</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">visibility</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Now gander <a href='http://www.wooliet.com/wp-content/uploads/2008/09/step_03.html'>at what you have created</a>.  The hug is back! </p>
<p>Adding <code>:after</code> to an element&#8217;s style will literally add something (the &#8220;<code>content</code>&#8220;) after it.  Examples I have seen use a period character for the <code>content</code> value (e.g. <code>content: "."</code>), which then absolutely requires that you specify a zero <code>height</code> and no <code>visibility</code> (otherwise the period would be displayed at the end of your content).  But using an empty string seems to work just as well, and the two extra rules (<code>height</code> and <code>visibility</code>)  aren&#8217;t needed.  However, it seems prudent to just err on the safe side and go with both.</p>
<h3>4. Handling the Exceptions</h3>
<p>I only covered the Firefox relevant pieces here (which is the majority of it).  But if you decide to use this technique to fix your missing background/borders, <em>please</em> read <a href="http://www.positioniseverything.net/easyclearing.html">Clear a float container</a> (linked to yet again for good measure) to view the extra information you&#8217;ll need to account for other browsers. </p>
<p><strong>UPDATE:</strong>  (June 22, 2009)<br />
The link above now contains an outbound link to <a href="http://www.sitepoint.com/blogs/2005/02/26/simple-clearing-of-floats/">here</a> (a more than four year old post).  See item <em>d</em>:</p>
<blockquote><p>That was my ‘current state of play’ until last week when SitePoint Forum’s own CSS Guru, <a href="http://pmob.co.uk/">Paul O’Brien</a>, nonchalantly pointed out that adding a ‘overflow:auto’ to the outer DIV did the trick.</p></blockquote>
<p>I have <em>not</em> tested this out, but thought it was definitely worth passing along.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/09/26/firefox-css-and-floats-wheres-my-background/">Firefox, CSS and floats: Where&#8217;s my background?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2008/09/26/firefox-css-and-floats-wheres-my-background/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing the &#8216;Read More Right Here&#8217; Wordpress Plugin</title>
		<link>http://www.wooliet.com/2008/09/21/announcing-the-read-more-right-here-wordpress-plugin/</link>
		<comments>http://www.wooliet.com/2008/09/21/announcing-the-read-more-right-here-wordpress-plugin/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 23:12:47 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[Site News]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[readmorerighthere]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=118</guid>
		<description><![CDATA[I&#8217;m releasing the first of what I hope are many plugins for Wordpress.  All of the details are at the new &#8220;WP Plugins&#8221; page here at wooliet.
If you&#8217;re reading this on the wooliet main page (with multiple posts listed), you can see it in action by clicking the link below.  If the is [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/09/21/announcing-the-read-more-right-here-wordpress-plugin/">Announcing the &#8216;Read More Right Here&#8217; Wordpress Plugin</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m releasing the first of what I hope are many plugins for <a href="http://wordpress.org">Wordpress</a>.  All of the details are at the new &#8220;<a href="http://www.wooliet.com/wp-plugins/">WP Plugins</a>&#8221; page here at wooliet.</p>
<p>If you&#8217;re reading this on the wooliet main page (with multiple posts listed), you can see it in action by clicking the link below.  If the is the &#8220;single post page&#8221; display then..well&#8230;.there&#8217;s nothing to see! Just go to <a href="http://www.wooliet.com">Wooliet</a> and find an entry with a link to more content.</p>
<p><font color="red">(<strong>Updated with official WP plugin link</strong>)</font></p>
<p><span id="more-118"></span><br />
I&#8217;ve tried to make it a very quick and easy plugin that can easily be thrown in and activated on any standard Wordpress installation. Another goal was to keep it &#8216;unobtrusive&#8217; in that, once deactivated, there would be no trace left behind in the Wordpress database.  Of course, at some point (if enough people use it), additional options might be necessary and beneficial.  But we&#8217;ll see.</p>
<p><del datetime="2008-09-26T17:29:05+00:00">I&#8217;m still in the process of getting it listed and hosted with the <a href="http://wordpress.org/extend/plugins/">official Wordpress plugins repository</a>, but at the moment, the new subversion area for the code doesn&#8217;t yet seem to be available (anyone know how long that should take?).</del> It took three days for the Subversion path to become active.  The plugin should be available at the official location, which is <a href="http://wordpress.org/extend/plugins/read-more-right-here/">right here</a>.</p>
<p>As an aside and helpful tip for anyone else considering submitting their plugin to the official Wordpress listings: they have a <a href="http://wordpress.org/extend/plugins/about/validator/">&#8220;readme.txt&#8221; validator</a> you can use to verify the correct syntax and content of the required &#8220;readme.txt&#8221; file.  It was <em>extremely</em> helpful for me.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/09/21/announcing-the-read-more-right-here-wordpress-plugin/">Announcing the &#8216;Read More Right Here&#8217; Wordpress Plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2008/09/21/announcing-the-read-more-right-here-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Wordpress, jQuery and &#8216;noConflict&#8217;</title>
		<link>http://www.wooliet.com/2008/09/05/wordpress-jquery-and-noconflict/</link>
		<comments>http://www.wooliet.com/2008/09/05/wordpress-jquery-and-noconflict/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 03:31:19 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=108</guid>
		<description><![CDATA[I&#8217;ve been working on a plugin for Wordpress and have, until now, been using Mootools.  I decided that I should try and simplify things by using jQuery, since it is already included with Wordpress.  
So let me take you through my links and hopefully summarize what I&#8217;ve learned.  First though, let me [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/09/05/wordpress-jquery-and-noconflict/">Wordpress, jQuery and &#8216;noConflict&#8217;</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a plugin for <a href="http://wordpress.org">Wordpress</a> and have, until now, been using <a href="http://mootools.net/">Mootools</a>.  I decided that I should try and simplify things by using <a href="http://jquery.com/">jQuery</a>, since it is already included with Wordpress.  </p>
<p>So let me take you through my links and hopefully summarize what I&#8217;ve learned.  First though, let me say, I&#8217;m assuming that you already know what it means to hook into the Wordpress application flow by <a href="http://codex.wordpress.org/Function_Reference/add_action">adding &#8220;actions&#8221;</a>. If not, read up.<br />
<span id="more-108"></span></p>
<h3>Inject Your Javascript</h3>
<p>The Wordpress Codex for <code><a href="http://codex.wordpress.org/Function_Reference/wp_enqueue_script">wp_enqueue_script</a></code> has a list of other javascript libraries included as well as a link to <a href="http://nickohrn.com/loading-javascript-libraries-in-wordpress-plugins-with-wp_enqueue_script/">this brief tutorial</a> at <a href="http://nickohrn.com/">Nick Ohrn</a>.</p>
<p>Basically Wordpress provides the <code>wp_register_script</code> method to register a javascript file and its dependencies using a unique string to serve as a &#8220;handle&#8221;.  After you&#8217;ve registered them, you can then use that handle when calling <code>wp_enqueue_script</code>.  This will spit out the appropriate <code>&lt;script&gt;</code> elements to your document, in their correct order, and (hopefully) avoid any duplicate entries or conflicts with other scripts.</p>
<p>I&#8217;ve added both the  <code>wp_register_script</code> and the <code>wp_enqueue_script</code> calls to the method I&#8217;ve added as part of Wordpress <code>'init'</code> (i.e. <code>add_action('init', myLoadJsMethod)</code>).  I think you can also just use <code>wp_enqueue_script</code> directly, without first registering, but it seems like a good idea to do both.  For example, if things change, you can keep the registration in <code>'init'</code> but then move the call to enqueue somewhere else, like the <code>'template_redirect'</code>.</p>
<p>What&#8217;s important to know, though, is that you cannot call <code>wp_enqueue_script</code> as part of the <code>'wp_head'</code> action.  At that point, it&#8217;s too late.  This was confusing to me because I was originally just echoing out the path to my script within the function I set for <code>'wp_head'</code>, and it worked fine.  But to work within the Wordpress world, it has to happen <em>before</em> the header action, which means <code>'init'</code> or <code>'template_redirect'</code> (or possibly others, not sure).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> my_init_method<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// include the js if not a single post page</span>
    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>is_single<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> 
    <span style="color: #009900;">&#123;</span>
       wp_register_script<span style="color: #009900;">&#40;</span>
       		<span style="color: #0000ff;">'my_handle'</span><span style="color: #339933;">,</span> 
                my_get_base_path<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;js/my_javascript.js&quot;</span><span style="color: #339933;">,</span>
                <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jquery'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// my_javascript.js depends on jQuery</span>
&nbsp;
       wp_enqueue_script<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'my_handle'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>            
    <span style="color: #009900;">&#125;</span>    
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> my_get_base_path<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> get_bloginfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/&quot;</span> <span style="color: #339933;">.</span> PLUGINDIR <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;/&quot;</span> <span style="color: #339933;">.</span> plugin_basename<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;read-more-right-here/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'init'</span><span style="color: #339933;">,</span> my_init_method<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Notice that at line #11 I only needed to use the string &#8216;jquery&#8217; to register my script as being dependent on it.  This is because &#8216;jquery&#8217; is included with Wordpress and has already been registered with that handle.</p>
<h3>Making jQuery Work</h3>
<p>Let&#8217;s test this out with a simple call to <code>alert</code> in our javascript.  Following good practice, we&#8217;ll make sure to do this after our page&#8217;s DOM is locked and loaded.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'document'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#123;</span>	
	<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ready&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Ahh Crap.  <a href="http://getfirebug.com/">Firebug</a> is telling me that <font color="red"><strong>$ is not a function</strong></font>.  A little google later and I&#8217;m at <a href="http://comox.textdrive.com/pipermail/wp-hackers/2008-March/018979.html">this thread</a>, with the answer I&#8217;m seeking nine messages in, <a href="http://comox.textdrive.com/pipermail/wp-hackers/2008-March/019024.html">right here</a>.</p>
<blockquote><p>jQuery in WordPress uses the noConflict option to prevent issues with<br />
Prototype&#8230;&#8230;.Check online for jQuery.noConflict()</p></blockquote>
<p>It&#8217;s always something.  Alright, <a href="http://docs.jquery.com/Using_jQuery_with_Other_Libraries">so what do the jQuery docs say</a>?</p>
<blockquote><p>By default, jQuery uses &#8220;$&#8221; as a shortcut for &#8220;jQuery&#8221;.  However, you can override that default by calling <a href="http://docs.jquery.com/Core/jQuery.noConflict">jQuery.noConflict()</a> at any point after jQuery and the other library have both loaded.</p></blockquote>
<p>It goes on to say that you can also just set something else as the new &#8220;$&#8221; by setting a new variable to the result of <code>jQuery.noConflict()</code>.</p>
<p>So the above javascript is changed to this:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> $j <span style="color: #339933;">=</span> jQuery.<span style="color: #660066;">noConflict</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
$j<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'document'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #009900;">&#123;</span>	
	<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;ready&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>And it works!</p>
<h3>Summation (Because I Type Too Much)</h3>
<ul>
<li>Use <code>wp_register_script</code> and <code>wp_enqueue_script</code> to load your javascript</li>
<li>Do <em>not</em> use <code>wp_register_script</code> and <code>wp_enqueue_script</code> as part of the <code>wp_head</code> hook, it must happen earlier (e.g. <code>init</code>, <code>template_redirect</code>)</li>
<li>jQuery in Wordpress uses &#8220;no conflict&#8221; mode, see <a href="http://docs.jquery.com/Using_jQuery_with_Other_Libraries">here</a> for workarounds</li>
</ul>
<p>If I&#8217;ve misstated or completly misunderstood anything above, please feel free to correct me in the comments.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/09/05/wordpress-jquery-and-noconflict/">Wordpress, jQuery and &#8216;noConflict&#8217;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2008/09/05/wordpress-jquery-and-noconflict/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GUI Controls For the Fridge</title>
		<link>http://www.wooliet.com/2008/09/02/gui-controls-for-the-fridge/</link>
		<comments>http://www.wooliet.com/2008/09/02/gui-controls-for-the-fridge/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 02:12:27 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[WebDev]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[designshack]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[magnets]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=104</guid>
		<description><![CDATA[GUIMags.  Magnets designed like standard GUI controls (text field, combo selection, etc.) which can be written on with the dry-erase markers.  The idea is quick layout/design prototyping.  It&#8217;s one of those &#8220;born out of necessity&#8221; ideas:
Our lead designer wanted to find a way to keep coming up with great interfaces after carpel [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/09/02/gui-controls-for-the-fridge/">GUI Controls For the Fridge</a></p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.guimags.com/index.php">GUIMags</a>.  Magnets designed like standard GUI controls (text field, combo selection, etc.) which can be written on with the dry-erase markers.  The idea is quick layout/design prototyping.  It&#8217;s one of those &#8220;born out of necessity&#8221; ideas:</p>
<blockquote><p>Our lead designer wanted to find a way to keep coming up with great interfaces after carpel tunnel entered his body uninvited. As he pondered a design at home, he used refrigerator magnets as imaginary interface controls, since drawing and clicking was painful.<br />
A journey of ideas and tests later resulted in the birth of GUImags which turned out to not only help hurting arms, but helped speeding up the design process as a bonus. </p></blockquote>
<p>The site also has tabs for <a href="http://www.guimags.com/guipanes.php">GUIPanes</a> and <a href="http://www.guimags.com/guiboards.php">GUIBoards</a>, both of which are still underwraps.</p>
<p>Not a recommendation or anything, these just looked fun.<br />
<span id="more-104"></span><br />
I came across them at a review by <a href="http://www.designshack.co.uk/news/designing-with-guimags">Design Shack</a>, which pointed out two problems: 1. the whiteboard has to be magnetic and 2. there&#8217;s not a diverse collection of color choices.  The first assumes you&#8217;re working on an early prototype at your customer&#8217;s office, but it seems just as likely that you would be sending photos of the mock-ups for early feedback.  The second problem doesn&#8217;t seem like much of an issue to me.  These magnets are geared towards early and quick iterations through a layout design.  I don&#8217;t think color choices are the primary goal.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/09/02/gui-controls-for-the-fridge/">GUI Controls For the Fridge</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2008/09/02/gui-controls-for-the-fridge/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firebug&#8217;s Future</title>
		<link>http://www.wooliet.com/2008/08/12/firebugs-future/</link>
		<comments>http://www.wooliet.com/2008/08/12/firebugs-future/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 23:17:09 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[joehewitt]]></category>
		<category><![CDATA[johnresig]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/?p=75</guid>
		<description><![CDATA[Firebug is a fantastic tool.  It works as an add-on to Firefox and can be used for all sorts of fun stuff.  It is a javascript debugger (breakpoints, variables and watch expressions).  It can also be used to &#8220;inspect&#8221; whatever web page you happen to be visiting (hover over areas of the [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/08/12/firebugs-future/">Firebug&#8217;s Future</a></p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://getfirebug.com/">Firebug</a> is a fantastic tool.  It works as an add-on to <a href="https://addons.mozilla.org/en-US/firefox/addon/1843">Firefox</a> and can be used for all sorts of fun stuff.  It is a javascript debugger (breakpoints, variables and watch expressions).  It can also be used to &#8220;inspect&#8221; whatever web page you happen to be visiting (hover over areas of the page to see its corresponding HTML and CSS).  It&#8217;ll even profile the javascript.</p>
<p>The original author, Joe Hewitt, <a href="http://joehewitt.com/post/firebug-news/">open sourced Firebug sometime last year</a> and back in mid-July, <a href="http://ejohn.org/about/">John Resig</a> (a well-known javascript guru and Mozilla employee) <a href="http://ejohn.org/blog/firebuggin/">announced that he was taking over its development</a>. Today <a href="http://ejohn.org/blog/tracking-firebug-stability/">he laid out his initial plans</a>:</p>
<ul>
<li>Improve the knowledge of Firebug that we have</li>
<li>Build a runnable set of test cases to prevent regressions</li>
<li>Track the state of Firebug performance</li>
<li>Audit and Improve</li>
</ul>
<p>I can&#8217;t wait to see how Firebug evolves now that Resig has reign.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/08/12/firebugs-future/">Firebug&#8217;s Future</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2008/08/12/firebugs-future/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>List Items&#8217; Indent in Firefox</title>
		<link>http://www.wooliet.com/2008/03/25/list-items-indent-in-firefox/</link>
		<comments>http://www.wooliet.com/2008/03/25/list-items-indent-in-firefox/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 03:06:38 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[WebDev]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[indent]]></category>
		<category><![CDATA[lists]]></category>
		<category><![CDATA[margin]]></category>
		<category><![CDATA[padding]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/2008/03/25/list-items-indent-in-firefox/</guid>
		<description><![CDATA[Don&#8217;t like the indentation size of list elements in Firefox?  I tried padding and I tried margin-left.  After much too long, I realized that I failed to try both.

div.links_list ul
{
	margin-top: -10px;
	margin-bottom: 0px;
	margin-left: 5px;
	padding: 0px;
}


                    [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/03/25/list-items-indent-in-firefox/">List Items&#8217; Indent in Firefox</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t like the indentation size of list elements in Firefox?  I tried <code>padding</code> and I tried <code>margin-left</code>.  After much too long, I realized that I failed to try <em>both</em>.<br />
<code></p>
<pre>div.links_list ul
{
	margin-top: -10px;
	margin-bottom: 0px;
	margin-left: 5px;
	padding: 0px;
}</pre>
<p></code></p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/03/25/list-items-indent-in-firefox/">List Items&#8217; Indent in Firefox</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2008/03/25/list-items-indent-in-firefox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTML5</title>
		<link>http://www.wooliet.com/2008/01/26/html5/</link>
		<comments>http://www.wooliet.com/2008/01/26/html5/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 06:11:06 +0000</pubDate>
		<dc:creator>Woolie</dc:creator>
				<category><![CDATA[Internets]]></category>
		<category><![CDATA[WebDev]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.wooliet.com/2008/01/26/html5/</guid>
		<description><![CDATA[Via Wired, here&#8217;s the current draft HTML5, representing &#8220;the 5th major revision of the core language of the World Wide Web, HTML&#8220;.  It was published this past Tuesday (1/22) as their first draft.  I don&#8217;t know if it&#8217;s common to have such language included as part of these documents, but close to the [...]<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/01/26/html5/">HTML5</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Via <a href="http://blog.wired.com/monkeybites/2008/01/the-html-5-draf.html">Wired</a>, <a href="http://www.w3.org/TR/2008/WD-html5-20080122/">here&#8217;s the current draft HTML5</a>, representing &#8220;<em>the 5th major revision of the core language of the World Wide Web, HTML</em>&#8220;.  It was published this past Tuesday (1/22) as their first draft.  I don&#8217;t know if it&#8217;s common to have such language included as part of these documents, but close to the opening one starts to get the distinct feeling that reaching this point in the document&#8217;s life was not easily accomplished:</p>
<blockquote><p>The publication of this document by the W3C as a W3C Working Draft does not imply that all of the participants in the W3C HTML working group endorse the contents of the specification. Indeed, for any section of the specification, one can usually find many members of the working group or of the W3C as a whole who object strongly to the current text, the existence of the section at all, or the idea that the working group should even spend time discussing the concept of that section.</p></blockquote>
<p><strong>Got it</strong>&#8230;(awkward)<br />
<span id="more-25"></span><br />
According to Firefox&#8217;s print preview, this sucker is a solid 238 page printout (including the table of contents), and as interested as I might be, it&#8217;s going to have be a &#8220;no&#8221; to reading this right now.  Two reasons: 1. my eyes are fading fast  2. <a href="http://www.w3.org/TR/html5-diff/">here are the cliffnotes</a> (a more manageable 13 pages).  To read the cool stuff, head straight to section four, &#8220;APIs&#8221;.  There&#8217;s a new <a href="http://www.w3.org/TR/2008/WD-html5-20080122/#the-canvas"><code><font size="+1">&lt;canvas&gt;</font></code></a> tag in which graphics can be dynamically generated (i.e. games).  There&#8217;s native support for <a href="http://www.w3.org/TR/2008/WD-html5-20080122/#dnd">drag-and-drop</a> items via a new <a href="http://www.w3.org/TR/2008/WD-html5-20080122/#sql"><code><font size="+1">draggable</font></code></a> attribute.  It even mentions <a href="http://www.w3.org/TR/2008/WD-html5-20080122/#sql">client-side storage of data using SQL statements</a>.  Neato.</p>
<p>Of course, all items subject to change.  It&#8217;s still a &#8220;working draft&#8221; after all.</p>
<p>
                             ~~~~~~~~~~~~~~~~

This has been a <a href="http://www.wooliet.com">woolie</a> posting.<br/><br/><a href="http://www.wooliet.com/2008/01/26/html5/">HTML5</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wooliet.com/2008/01/26/html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
