<?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/"
	>

<channel>
	<title>tugbucket :: words and works of Alan Jackson</title>
	<atom:link href="http://tugbucket.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://tugbucket.net</link>
	<description></description>
	<pubDate>Thu, 11 Mar 2010 00:33:35 +0000</pubDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Content to the front with jQuery</title>
		<link>http://tugbucket.net/jquery/content-to-the-front-with-jquery/</link>
		<comments>http://tugbucket.net/jquery/content-to-the-front-with-jquery/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 13:23:58 +0000</pubDate>
		<dc:creator>Alan</dc:creator>
		
		<category><![CDATA[HTML & CSS]]></category>

		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://tugbucket.net/?p=207</guid>
		<description><![CDATA[I have been asked numerous times how I accomplished the sidebar and main content fading on this site. It&#8217;s a pretty simple snippet of jQuery. I decided it&#8217;s about time to just make a post about it.
First off my reason for using the effect. Having a dark colored site with  ... <br /><a href="http://tugbucket.net/jquery/content-to-the-front-with-jquery/">Read the rest of this entry &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.tugbucket.net/wp-content/uploads/tiger_jquery.jpg" alt="" class="header"/></p>
<p>I have been asked numerous times how I accomplished the sidebar and main content fading on this site. It&#8217;s a pretty simple snippet of jQuery. I decided it&#8217;s about time to just make a post about it.</p>
<p>First off my reason for using the effect. Having a dark colored site with light colored text, and typically a lot of light colored text, the sidebar content seemed to distract from the main content area. As information in my sidebar is usually unrelated to the post being shown, I felt it a good idea to lessen the importance of the sidebar content until the user wanted it. A simple fading solution seems to do the trick.</p>
<p>There are only a few lines needed for this effect. One note is that IE6 doesn&#8217;t want to play along so I am using a browser sniff to detect that browser and feed it nothing.</p>
<pre><code>
if ($.browser.version = jQuery.browser.msie &amp;&amp;
    parseInt(jQuery.browser.version) == 6) {
     // IE6 doesn&#039;t like this so it doesn&#039;t get any effect
  } else {
$(&quot;#side&quot;).fadeTo(&#039;fast&#039;, 0.4);

$(&quot;#side&quot;).hover(function(){
	$(this).stop().fadeTo(&#039;fast&#039;, 1);
	$(&quot;#main&quot;).stop().fadeTo(&#039;fast&#039;, 0.4);
},function(){
	$(this).stop().fadeTo(&#039;fast&#039;, 0.4);
	$(&quot;#main&quot;).stop().fadeTo(&#039;fast&#039;, 1);
});
}
<!--formatted--></code></pre>
<p>You will notice in that snippet that I am using divs with the ids of <code>side</code> and <code>main</code> respectively. Of course change these to be whatever your site requires.</p>
<p>That&#8217;s all there is. You can take a look at a simplified working example <a href="http://tugbucket.net/tests/sidebar_fade.html">here</a>. </p>
<p>P.S. 2010 is the year of the tiger. </p>
]]></content:encoded>
			<wfw:commentRss>http://tugbucket.net/jquery/content-to-the-front-with-jquery/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wordpress plugin: Multi-column Tag Map</title>
		<link>http://tugbucket.net/wordpress/wordpress-plugin-multi-column-tag-map/</link>
		<comments>http://tugbucket.net/wordpress/wordpress-plugin-multi-column-tag-map/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 12:34:03 +0000</pubDate>
		<dc:creator>Alan</dc:creator>
		
		<category><![CDATA[Wordpress]]></category>

		<category><![CDATA[Downloads]]></category>

		<guid isPermaLink="false">http://tugbucket.net/?p=196</guid>
		<description><![CDATA[I&#8217;ve never been one for tag maps. I&#8217;ve never liked non-alphabetical listings of tags in sidebars. I never like lists of tags ordered by the &#8220;popularity&#8221; of the tag in question. All these make it extremely difficult scan and find the topics that interest me. In large sites with hundreds  ... <br /><a href="http://tugbucket.net/wordpress/wordpress-plugin-multi-column-tag-map/">Read the rest of this entry &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img class="header" alt="Wordpress plugin: Multi-column Tag Map" src="http://www.tugbucket.net/wp-content/uploads/mctagmap.jpg"/></p>
<p>I&#8217;ve never been one for tag maps. I&#8217;ve never liked non-alphabetical listings of tags in sidebars. I never like lists of tags ordered by the &#8220;popularity&#8221; of the tag in question. All these make it extremely difficult scan and find the topics that interest me. In large sites with hundreds of tags, all these approaches are more a hindrance than a feature.</p>
<p>This might sound like a lot of negativity but, &#8220;Necessity is the mother of invention&#8221; after all.</p>
<p>That&#8217;s where Multi-column Tag Map comes in. A simple, lightweight plug-in that pulls all the tags used in the site and builds an alphabetical list out of the results. The extras include displaying the list in multiple columns (1-5), displaying tags that have no posts associated with them yet, limiting of the number of tags shown on load, a simple &#8220;show more&#8221; feature to reveal tags hidden on load and an accordion toggle &#8220;show/hide&#8221;.</p>
<p>In larger sites, this would be perfect to devote an entire page to. Users can easily scan the list for topics of interest and find exactly what they are looking for without having to dig through tag clouds and seemingly random ordered lists of tags. You can think of this as a true index of your site.</p>
<h3>Example</h3>
<p>Using the following shortcode and the default CSS. I don&#8217;t have a lot of tags on this site but, this should give you a good idea of the output.</p>
<pre>

&#91;mctagmap columns="3" more="more &amp;#187;" hide="yes" num_show="1" toggle="&amp;#171; less" show_empty="no"]
</pre>
<p><span class="ddsse" style="display: block; text-align: left;"><br />
<!-- begin list --><div id="mcTagMap">
<div class='holdleft'>

<div class="tagindex">
<h4>D</h4>
<ul class="links">
<li><a title="Downloads" href="http://tugbucket.net/tag/downloads/">Downloads</a></li>
</ul>
</div>

<div class="tagindex">
<h4>H</h4>
<ul class="links">
<li><a title="HTML/CSS" href="http://tugbucket.net/tag/htmlcss/">HTML/CSS</a></li>
</ul>
</div>

</div>
<div class='holdleft'>

<div class="tagindex">
<h4>J</h4>
<ul class="links">
<li><a title="jQuery" href="http://tugbucket.net/tag/jquery/">jQuery</a></li>
</ul>
</div>

<div class="tagindex">
<h4>M</h4>
<ul class="links">
<li><a title="Memphis" href="http://tugbucket.net/tag/memphis/">Memphis</a></li>
</ul>
</div>

</div>
<div class='holdleft noMargin'>

<div class="tagindex">
<h4>P</h4>
<ul class="links">
<li><a title="Personal" href="http://tugbucket.net/tag/personal/">Personal</a></li>
<li class="hideli"><a title="Photoshop" href="http://tugbucket.net/tag/photoshop/">Photoshop</a></li>
<li class="morelink"><a href="#x" class="more">more &#187;</a><a href="#x" class="less">&#171; less</a></li>
</ul>
</div>

<div class="tagindex">
<h4>W</h4>
<ul class="links">
<li><a title="Wordpress" href="http://tugbucket.net/tag/wordpress/">Wordpress</a></li>
</ul>
</div>

</div><div style='clear: both;'></div></div><!-- end list --><br />
</span></p>
<div style='background: #192f3c;padding: 10px; color: #FFEFB4;border: 1px solid #f9ac06; font: 16px/22px arial, sans-serif;margin: 20px 0;'>
<p>Notice: This plug-in was updated 03.09.10. <a href='http://wordpress.org/extend/plugins/multi-column-tag-map/' target='_blank'>Please download version 3.0 from WP.org</a>. It will no longer be hosted on this site. Please make a backup before updating any files if you have modified any part of this plug-in. </p>
<p>I will continue to support this plug-in so if there are additional features you feel would help this plug-in, feel free to comment and let me know.
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://tugbucket.net/wordpress/wordpress-plugin-multi-column-tag-map/feed/</wfw:commentRss>
		</item>
		<item>
		<title>jQuery first-letter hijinks</title>
		<link>http://tugbucket.net/jquery/jquery-first-letter-hijinks/</link>
		<comments>http://tugbucket.net/jquery/jquery-first-letter-hijinks/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 17:31:50 +0000</pubDate>
		<dc:creator>Alan</dc:creator>
		
		<category><![CDATA[jQuery]]></category>

		<category><![CDATA[HTML/CSS]]></category>

		<guid isPermaLink="false">http://tugbucket.net/?p=175</guid>
		<description><![CDATA[ 
This morning I was flipping through Memphis Magazine and noticed a pretty simple yet nice text treatment. They were over laying the first paragraph over a faint colored square that had the first letter of said paragraph in it. Nice way of adding a little &#8216;pop&#8217; to the page.
Of  ... <br /><a href="http://tugbucket.net/jquery/jquery-first-letter-hijinks/">Read the rest of this entry &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.tugbucket.net/wp-content/uploads/jquery-firstletter-hijinks-header.jpg" alt="jQuery first-letter hijinks" class="header" /> <br class="cb" /></p>
<p>This morning I was flipping through <a href="http://www.memphismagazine.com/">Memphis Magazine</a> and noticed a pretty simple yet nice text treatment. They were over laying the first paragraph over a faint colored square that had the first letter of said paragraph in it. Nice way of adding a little &#8216;pop&#8217; to the page.</p>
<p>Of course I thought to myself how to do that. So borrowing some script from <a href="http://www.learningjquery.com/2006/10/fancy-drop-cap-part-2">Learning jQuery</a> I whipped up this <a href="http://tugbucket.net/tests/hijinks">little demo</a>.</p>
<p>The JavaScript is pretty straight forward, most of it remains unchanged from the aforementioned tutorial from Learning jQuery.</p>
<pre><code>
/* global functions */

function bg_letter() {
  var first_paragraph = $(&#039;#content p&#039;)[0];
  if (!first_paragraph) return false;
  var node = first_paragraph;
  while (node.childNodes.length) {
 node = node.firstChild;
  }
  var text = node.nodeValue;
  var first_letter = text.substr(0,1);
  var match = /[a-zA-Z]/.test(first_letter);
  if ( match ) {
    var letter = &#039;transparent url(alphabet/&#039; + first_letter.toLowerCase() + &#039;.gif) top left no-repeat&#039;;
    $(first_paragraph).css({&#039;background&#039; : letter, &#039;font&#039; : &#039;16px/22px &quot;futura bk&quot;, century gothic, verdana, sans-serif&#039;, &#039;padding&#039; : &#039;16px 0 0 16px&#039;, &#039;margin&#039; : &#039;0 0 0 -16px&#039;});
  }
}

/* begin jquery */

$(document).ready(function(){
  bg_letter();
});
<!--formatted--></code></pre>
<p>The difference is what it does on &#8216;match&#8217;. I went ahead and made a variable, less for legibility than just to see how it was done.</p>
<p><span id="more-175"></span></p>
<pre><code>
  if ( match ) {
    var letter = &#039;transparent url(alphabet/&#039; + first_letter.toLowerCase() + &#039;.gif) top left no-repeat&#039;;
    $(first_paragraph).css({&#039;background&#039; : letter, &#039;font&#039; : &#039;16px/22px &quot;futura bk&quot;, century gothic, verdana, sans-serif&#039;, &#039;padding&#039; : &#039;16px 0 0 16px&#039;, &#039;margin&#039; : &#039;0 0 0 -16px&#039;});
  }
<!--formatted--></code></pre>
<p>The variable &#8216;letter&#8217; has the local path to the alphabet folder where all the images for each letter or stored. The <code>first_letter_toLowerCase()</code> adds that letter to the image file. So you need 26 images in that folder for English. </p>
<p>Then I just applied a little inline CSS to the first paragraph defining the background image, font size, weight and line height. I then padded the text to sit nicely on top of the letter and a little negative margins to pull the paragraph in to line with the rest of the text. Plus that gives it a little more flare IMO.</p>
<p>Nothing too super fabulous but, nifty none the less. And heck, It&#8217;s middle of August and I had an hour to kill. Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://tugbucket.net/jquery/jquery-first-letter-hijinks/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Three column posts in Wordpress</title>
		<link>http://tugbucket.net/wordpress/three-column-posts-in-wordpress/</link>
		<comments>http://tugbucket.net/wordpress/three-column-posts-in-wordpress/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 16:37:16 +0000</pubDate>
		<dc:creator>Alan</dc:creator>
		
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://tugbucket.net/?p=160</guid>
		<description><![CDATA[ 
Here is a working example of this.
Following up on my two column post hack for Wordpress, here is a method to doing it for three columns. There isn&#8217;t really too much different except a few small shanges in the CSS and PHP. Biggest change is using PHPs  ceil()  ... <br /><a href="http://tugbucket.net/wordpress/three-column-posts-in-wordpress/">Read the rest of this entry &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.tugbucket.net/wp-content/uploads/3-col-header.jpg" alt="Three column magazine style posts in Wordpress" class="header" /> <br class="cb" /><br />
<strong><a href="http://tugbucket.net/wordpress/three-column-example/">Here is a working example of this.</a></strong></p>
<p>Following up on my two column post hack for Wordpress, here is a method to doing it for three columns. There isn&#8217;t really too much different except a few small shanges in the CSS and PHP. Biggest change is using PHPs <code> ceil()</code> instead of <code>round()</code>.</p>
<p>Take a look at the whole code first:</p>
<pre>
<code>
&lt;?php
$content = apply_filters(&#39;the_content&#39;, $post-&gt;post_content);
$beth = explode(&#39;&lt;p&gt;&#39;, $content);
$i = 0;
foreach ($beth as $erica){
$i++;
$q = $i - 1;
if ($i == 0) {
echo $q.$erica;
}
}
$z = $q/3;
$i = 0;
echo &quot;&lt;div class=&#39;left l1&#39;&gt;\n&quot;;
foreach ($beth as $erica){
$i++;
$q = $i - 1;
if ($i != 1) {
// un-comment the next line
//echo &quot;&lt;p&gt;&quot;.$erica;
//erase or comment out the next line
echo &quot;&lt;p&gt;&quot;.$q.&quot;) &quot;.$erica;
}
if ($i == ceil($z+1)){
echo &quot;&lt;/div&gt;\n\n&lt;div class=&#39;left l2&#39;&gt;\n&quot;;
}
if ($i == ceil($z+$z+1) ){
echo &quot;&lt;/div&gt;\n\n&lt;div class=&#39;left l3&#39;&gt;\n&quot;;
}
}
echo &quot;&lt;/div&gt;\n\n&quot;
?&gt;
<!--formatted--></code>
</pre>
<p><span id="more-160"></span></p>
<p>Just in case can download the .txt file <a href="http://www.tugbucket.net/wp-content/uploads/3-column-posts.txt">here</a>.</p>
<p>This will divide the number of paragraphs by 3 and then columnize them accordingly. The odd paragraphs will start to fall in the first column, then the second then the third. So for example if you have five paragraphs they will order like so:</p>
<pre><code>
1 | 3 | 5
2 | 4 |

</code></pre>
<p>If you have 7 they will stack like so:</p>
<pre><code>
1 | 4 | 6
2 | 5 | 7
3 |
</code></pre>
<p>Just something to keep in mind when typing up your copy. Pay attention to the following in the code. I echoed out my <code>$q</code> variable so I could check where my paragraphs were stacking. You need to erase the &#8220;counting line&#8221; and uncomment the normal, non counting line.</p>
<pre><code>
if ($i != 1) {
// un-comment the next line
//echo &quot;&lt;p&gt;&quot;.$erica;
//erase or comment out the next line
echo &quot;&lt;p&gt;&quot;.$q.&quot;) &quot;.$erica;
}

<!--formatted--></code></pre>
<p>That&#8217;s all there is to it. Hope this helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://tugbucket.net/wordpress/three-column-posts-in-wordpress/feed/</wfw:commentRss>
		</item>
		<item>
		<title>jQuery graphical header image replacement</title>
		<link>http://tugbucket.net/jquery/jquery-graphical-header-image-replacement/</link>
		<comments>http://tugbucket.net/jquery/jquery-graphical-header-image-replacement/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 18:06:16 +0000</pubDate>
		<dc:creator>Alan</dc:creator>
		
		<category><![CDATA[jQuery]]></category>

		<category><![CDATA[HTML/CSS]]></category>

		<guid isPermaLink="false">http://tugbucket.net/?p=151</guid>
		<description><![CDATA[Several months ago I had a project that included feeding ad images into the sidebar of a page. Not a big deal but, there was an issue. These images were all coming from a third party. There was a small chance that these images would not be uploaded correctly and  ... <br /><a href="http://tugbucket.net/jquery/jquery-graphical-header-image-replacement/">Read the rest of this entry &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.tugbucket.net/wp-content/uploads/textReplaceHeader.jpg" alt="jQuery Image Replcaement" class="header" /></p>
<p>Several months ago I had a project that included feeding ad images into the sidebar of a page. Not a big deal but, there was an issue. These images were all coming from a third party. There was a small chance that these images would not be uploaded correctly and seeing that I had no sure fire way to make sure that the images would either be there or named correctly, I needed a solution so Internet Explorer would not show the dreaded &#8216;no image&#8217; icon.</p>
<p>I found a snippet of jQuery that would check to see if the image loaded and if not, just erase the content of the parent div. This way if the image didn&#8217;t load, nothing did. Simple solution.</p>
<p>Based of that I wrote of this small script to do the same thing but with graphical headers. I know there are plenty of solutions to using accessible graphical headers so you may ask,&#8221;why another, and why jQuery?&#8221; Why not?    </p>
<p>One note to start. i have not been able to get this to work at all in Opera. I have tested in Firefox, Safari and IE6 &amp; 7 though. they all seem to work with the desired effect. If you find a solution to the Opera issue, please let me know.</p>
<p>Some benefits as far as I can see with this method.</p>
<ul>
<li>No need for nested spans or negative text-indents.</li>
<li>No js? no problem. The user gets styled text instead.</li>
<li>Still works with styles disabled and usable for print style sheets.</li>
</ul>
<p>Some cons:</p>
<ul>
<li>With js and styles off, the user gets both the text and the image.</li>
<li>There has to be more.</li>
</ul>
<p><span id="more-151"></span></p>
<h3>Take a look at the jQuery used</h3>
<pre><code>
$(window).bind(&#039;load&#039;, function() {

$(&#039;h2 a img&#039;).css({ border: &#039;none&#039;, display: &#039;none&#039; });

$(&#039;&lt;img src=&quot;http://www.google.com/intl/en_ALL/images/logo.gif&#039; + &#039;#&#039; +
   Math.random() + &#039;&quot;/&gt;&#039;).load(function() {

	$(&#039;h2 a img&#039;).each(function() {
		if((typeof this.naturalWidth != &quot;undefined&quot; &amp;&amp; this.naturalWidth == 0 ) || this.readyState == &#039;uninitialized&#039; ) {
			$(this).css(&#039;display&#039;, &#039;none&#039;);
		} else {
			$(this).parent().each(function () {
				var h2Image = $(&#039;img&#039;, this).attr(&#039;src&#039;);
				var h2Text = $(this).html();
				$(this).empty();
				$(this).append(&#039;&lt;img src=&quot;&#039; + h2Image + &#039;&quot; border=\&quot;0\&quot; /&gt;&#039;);
				$(&#039;img&#039;, this).css(&#039;display&#039;, &#039;inline&#039;);
			})
		}
	});
   });
});
<!--formatted--></code></pre>
<p>Not to exciting or complicated but, nonetheless I will try to explain the going-ons involved with this. First though,  <a href="http://tugbucket.net/tests/imgReplace">take a look at the sample page</a> to get an idea of how it looks.</p>
<p>At the start I am using the <code>$(window).bind(&amp;#039;load&amp;#039;, function() {</code> to make sure the whole document loads before the script fires. This is to make sure that if the images want to load, they will be fully loaded before jQuery moves in a checks for them. Because of possible traffic issues and file sizes this is better than the typical <code>$(document).ready()</code> way of doing it. </p>
<p>Next we ask jQuery to check and see if the browser has images capabilities. Using <code>$(&#039;&lt;img src=&quot;http://www.google.com/intl/en_ALL/images/logo.gif&#039; + &#039;#&#039; + Math.random() + &#039;&quot;/&gt;&#039;).load(function() {<!--formatted--></code> we ask the browser to load the Google logo in the background. If it does it continues with the rest of the function.  In testing, this image needs to be hosted and not on localhost. That will always produce a false positive. Make sure the URL to the image is to an image that will always be there. Safest bet is to upload a small image to your server. After all, if your site is down, this script won&#8217;t be there either.</p>
<p>Next we simply transverse all the elements we want to with <code>$(&amp;#039;h2 a img&amp;#039;).each(function() {</code>. In this case I only want to check for images inside an anchor tag that is a child of a <code>&lt;h2&gt;<!--formatted--></code>. Once we have that we make one more safety check before moving on. <code>if((typeof this.naturalWidth != &quot;undefined&quot; &amp;&amp; this.naturalWidth == 0 ) || this.readyState == &#039;uninitialized&#039; ) { $(this).css(&#039;display&#039;, &#039;none&#039;); }<!--formatted--></code> checks to see if the images we are looking for have loaded. This is different than the first browser image check. This one will tell if a header doesn&#8217;t have an image or if the URL to the image is broken. If either of those scenarios are true, the script then applies <code>display: none;</code> to the image tag then moves on.</p>
<p>The next step now assumes that the browser has images on, the images are there and that they have loaded.</p>
<pre><code>
else {
	$(this).parent().each(function () {
		var h2Image = $(&#039;img&#039;, this).attr(&#039;src&#039;);
		var h2Text = $(this).html();
		$(this).empty();
		$(this).append(&#039;&lt;img src=&quot;&#039; + h2Image + &#039;&quot; border=\&quot;0\&quot; /&gt;&#039;);
		$(&#039;img&#039;, this).css(&#039;display&#039;, &#039;inline&#039;);
	})
}
<!--formatted--></code></pre>
<p>In this case <code>$(this)</code> is still equal to saying <code>$(&amp;#039;h2 a img&amp;#039;)</code>. So we tell the script to find all images in the headers and then look at the parent of the image; the anchor tag. Now set up two variables. One to grab the SRC of the image (<code>var h2Image = $(&amp;#039;img&amp;#039;, this).attr(&amp;#039;src&amp;#039;);</code>) and another to grab the HTML of the anchor (<code>var h2Text = $(this).html();</code>). The fun part, the last variable does nothing in this example, I just forgot to take it out.</p>
<p>So great we have all the hard stuff out of the way. So these last three lines are actually the part that does the visual work.</p>
<pre><code>
$(this).empty();
$(this).append(&#039;&lt;img src=&quot;&#039; + h2Image + &#039;&quot; border=\&quot;0\&quot; /&gt;&#039;);
$(&#039;img&#039;, this).css(&#039;display&#039;, &#039;inline&#039;);
<!--formatted--></code></pre>
<p>First empty the contents of the anchor. What this does is clears out the actual text but, it also clears out the image tag so we need to rebuild it. That&#8217;s the second line. Remember the variable from the previous lines? Here&#8217;s where it gets used. The final line applies an inline style to the image to over ride the <code>display: none;</code> in the original CSS rules.</p>
<p>That&#8217;s all there is to it. Again <a href="http://tugbucket.net/tests/imgReplace">take a look at the sample page</a>, to see i t in all it&#8217;s <i>glory</i>. If you can fix the Opera issue or have any thoughts on this, feel free to chime in.</p>
]]></content:encoded>
			<wfw:commentRss>http://tugbucket.net/jquery/jquery-graphical-header-image-replacement/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Photoshop patchwork text effect</title>
		<link>http://tugbucket.net/photoshop/photoshop-patchwork-text-effect/</link>
		<comments>http://tugbucket.net/photoshop/photoshop-patchwork-text-effect/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 06:28:20 +0000</pubDate>
		<dc:creator>Alan</dc:creator>
		
		<category><![CDATA[Photoshop]]></category>

		<guid isPermaLink="false">http://tugbucket.net/?p=124</guid>
		<description><![CDATA[I played with a few settings and came up with a  fun technique for making patchwork styled text. It&#8217;s a simple text effect and only takes a few steps to achieve. With more time involved, like anything, greater results.
This is not very Web 2.0 but it has it&#8217;s place.  ... <br /><a href="http://tugbucket.net/photoshop/photoshop-patchwork-text-effect/">Read the rest of this entry &#187;</a>]]></description>
			<content:encoded><![CDATA[<div class="tutorial_image"><img src="http://www.tugbucket.net/wp-content/uploads/patchwork/final.jpg" border="0" class="header" /></div>
<p>I played with a few settings and came up with a  fun technique for making patchwork styled text. It&#8217;s a simple text effect and only takes a few steps to achieve. With more time involved, like anything, greater results.</p>
<p>This is not very Web 2.0 but it has it&#8217;s place. The point is to add to the effects you can do regardless of what you use them for.</p>
<h3>Step 1</h3>
<p>We start with a new canvas of 600px by 200px with a black background. As this effect looks nicer on a more playful font I chose Jokerman. We set the font size to 110pt and the tracking to -140. This gives us a nice, large and over lapping text canvas to play with.</p>
<div class="tutorial_image"><img src="http://www.tugbucket.net/wp-content/uploads/patchwork/step1.jpg" border="0" /></div>
<h3>Step 2</h3>
<p>Now we Ctrl-click the text to create a selection. Then Shift+Ctrl+N to create a new layer with our selection. Now we wan tto fill this layer with a horizontal gradient using #6161f2 to #61f2c0. This will help add color variation to the final outcome.</p>
<div class="tutorial_image"><img src="http://www.tugbucket.net/wp-content/uploads/patchwork/step2.jpg" border="0" /></div>
<p><span id="more-124"></span></p>
<h3>Step 3</h3>
<p>Next Shift+Ctrl+N to create a new layer. Set the foreground color to #cef261. Using the Pen tool, create a horizontal line. Using the Convert Point tool, move each end of the path to create a bow-tie shape. Now rasterize this shape.</p>
<div class="tutorial_image"><img src="http://www.tugbucket.net/wp-content/uploads/patchwork/step3.jpg" border="0" /></div>
<p>Now, Ctrl-click the layer, set the foreground color to #f2c061 then Edit > Stroke > 2px center. Then Ctrl-click the text layer, then click the shape layer and Shift+Ctrl+I to select the inverse and Delete. Now set the blend mode to Hard Light. This gives some variation to the colors and will help the final product.</p>
<div class="tutorial_image"><img src="http://www.tugbucket.net/wp-content/uploads/patchwork/step4.jpg" border="0" /></div>
<h3>Step 4</h3>
<p>Now to add more color. I like to use <a href="http://colorlovers.com">Color Lovers</a> to find patterns. I found <a href="http://www.colourlovers.com/palette/694737/Thought_Provoking">this one</a> that I liked to use for this tutorial. Copy the image and go back to Photoshop.</p>
<p>Ctrl+N to create a new canvas, Ctrl+V to paste in the pattern, Ctrl+A to select all and then Edit > Define Pattern to save this as a pattern.</p>
<p>Shift+Ctrl+N to create a new layer. Edit > Fill > Pattern to fill that layer with your new pattern. Ctrl-click your text layer, Shift+Ctrl+I to select the inverse and then Delete. Set the Blend Mode of this layer to Hard Light</p>
<div class="tutorial_image"><img src="http://www.tugbucket.net/wp-content/uploads/patchwork/step5.jpg" border="0" /></div>
<h3>Step 5</h3>
<p>Now we&#8217;re going to add a little more color variation. Shift+Ctrl+N to create a new layer. Fill that layer with a gradient using #eef525 to #ffa250. Again, Ctrl-click the text layer, Shift+Ctrl+I to select the inverse and Delete. Set the Blend Mode of this layer to Overlay</p>
<div class="tutorial_image"><img src="http://www.tugbucket.net/wp-content/uploads/patchwork/step6.jpg" border="0" /></div>
<h3>Step 6</h3>
<p>The next step is purely optional but it does add a nice touch to the effect. Ctrl-click your text layer, Shift+Ctrl+C to copy merged, Ctrl+V to paste this into a new layer. Ten to apply a filter. Filter > Stylize > Find Edges. Then Image > Adjustments > Channel Mixer > Presets > Black &amp; White with Orange filter. This will highlight all the inner edges in the patchwork. Set Blend Mode of this layer to Soft Light.</p>
<p>Then we some color to the background. Vertical gradient using #be9c7f to #f0f2be.</p>
<div class="tutorial_image"><img src="http://www.tugbucket.net/wp-content/uploads/patchwork/step7.jpg" border="0" /></div>
<h3>Step 7</h3>
<p>All this leaves some pretty unsightly edges on the text. Since the colors used produced a pretty cartoonish outcome, a heavy edge stroke seems to work well. Ctrl-click the top layer, Shift+Ctrl+N to create a new layer, then Edit > Stroke > 2px Center using #5b4327.</p>
<div class="tutorial_image"><img src="http://www.tugbucket.net/wp-content/uploads/patchwork/step8.jpg" border="0" /></div>
<h3>Wrap up</h3>
<p>That&#8217;s it. A simple text effect in very few steps. This is easily taken farther with a little more effort. The colors you choose will generate fairly random effects. Like any effect, the more you put into it, the more you get out of it. For example, in the below image, I used a softer palette but the steps were the same. The biggest differences were in step three and the addition of the vertical lines (actually the vertical pipe character typed along a path with 400pt tracking). In step three, instead of a single horizontal path, I made a triangular path to add more randomness.</p>
<div class="tutorial_image"><img src="http://www.tugbucket.net/wp-content/uploads/patchwork/annas.jpg" border="0" /></div>
<p><a href="http://tugbucket.net//wp-content/uploads/patchwork/patch_work_1.psd">The PSD for download</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tugbucket.net/photoshop/photoshop-patchwork-text-effect/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fun with Wordpress categories</title>
		<link>http://tugbucket.net/wordpress/fun-with-wordpress-categories/</link>
		<comments>http://tugbucket.net/wordpress/fun-with-wordpress-categories/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 02:51:43 +0000</pubDate>
		<dc:creator>Alan</dc:creator>
		
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://tugbucket.net/?p=118</guid>
		<description><![CDATA[The truth is, playing with what you can do with categories in Wordpress is fun. Being one that doesn&#8217;t like to use plugins for most functions, I enjoy tooling around in the code and trying to make the code do it for me.
So the question arose over on the Wordpress  ... <br /><a href="http://tugbucket.net/wordpress/fun-with-wordpress-categories/">Read the rest of this entry &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.tugbucket.net/wp-content/uploads/cat-fun.jpg" alt="Fun with Wordpress categories" class="header" /></p>
<p>The truth is, playing with what you can do with categories in Wordpress is fun. Being one that doesn&#8217;t like to use plugins for most functions, I enjoy tooling around in the code and trying to make the code do it for me.</p>
<p>So the question arose over on the Wordpress forums about how do make a list off all your categories with the post in each category. Pretty simple actually. Here&#8217;s the code i added to my themes <code>functions.php</code> file:</p>
<pre><code>
/* list categories with posts by tugbucket.net <img src='http://tugbucket.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> */
function cat_and_posts(){
foreach (get_categories(array(&#039;hide_empty&#039;=&gt;true)) as $category)
{
$catid = $category-&gt;cat_ID;
global $post;
$myposts = get_posts(&#039;numberposts=100&#038;category=&#039;.$catid);
echo &#039;&lt;li&gt;&#039; . $category-&gt;cat_name . &quot;\n&quot;;
echo &#039;&lt;ul&gt;&#039; . &quot;\n&quot;;
foreach($myposts as $post) {
echo &#039;&lt;li&gt;&lt;a href=&quot;&#039; . get_permalink() . &#039;&quot;&gt;&#039; . get_the_title() . &#039;&lt;/a&gt;&lt;/li&gt;&#039; . &quot;\n&quot;;
}
echo &#039;&lt;/ul&gt;&#039; . &quot;\n&quot;;
echo &#039;&lt;/li&gt;&#039; . &quot;\n&quot;;
}
};
/* end */
<!--formatted--></code></pre>
<p>You call it your template by using <code>&lt;ul&gt;&lt;?php cat_and_posts(); ?&gt;&lt;/ul&gt;<!--formatted--></code>. Take a look at the <a href="http://tugbucket.net/category-hacks/#cat_and_posts">cat_and_posts() example</a> for a visual.</p>
<p>Not a lot of code involved. We set up a new function name and then query all categories that are not empty. Then we grab the category id of each and then start a loop printing out a list off all posts in the category.</p>
<p>If you have ever done anything with the category loop then this pretty straight forward. </p>
<p>*NOTE:<br />
Notice my <code>numberposts=100</code>. zbrass noted in a comment that my script was cutting off at five posts. This is because the default for that attribute is five. I am using a pagination plug-in that stops posts per page at six. That&#8217;s why I used 100 for mine to override this. If you are not using pagination use 0 (zero) as the value to show all posts.</p>
<p><span id="more-118"></span></p>
<h3>Grab the Description on display in a list</h3>
<p>Another post came up the same day that asked about printing out the category descriptions in a like manner. This is based on the tag <a href="http://codex.wordpress.org/Template_Tags/category_description">category_description</a>. </p>
<p>Again this is pretty easy once you know how to loop through it and how to modify the tag.</p>
<pre><code>
/* descriptive cat list by tugbucket.net <img src='http://tugbucket.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> */
function desc_cats(){
foreach (get_categories(array(&#039;hide_empty&#039;=&gt;true)) as $category)
{
$catid = $category-&gt;cat_ID;
echo &#039;&lt;li&gt;&lt;a href=&quot;&#039; . get_bloginfo(&#039;wpurl&#039;) . &#039;/category/&#039; .  $category-&gt;category_nicename . &#039;/&quot;&gt;&#039; .
	$category-&gt;cat_name . &#039; (&#039; . $category-&gt;count.$numposts.&#039;)&lt;/a&gt;&#039; . category_description($catid) . &#039;&lt;/li&gt;&#039; . &quot;\n&quot;;
}
};
/* end  */
<!--formatted--></code></pre>
<p>Here&#8217;s an example of the <a href="http://tugbucket.net/category-hacks/#desc_cats">desc_cats()</a> function. You can call it by placing <code>&lt;ul&gt;&lt;?php desc_cats(); ?&gt;&lt;/ul&gt;<!--formatted--></code> in your template.</p>
<p>Pretty simple stuff and with a little CSS added can be quite attractive. Each one would be pretty easy to incorporate with an accordian type script whether jQuery or MooTools for some intresting effects.</p>
]]></content:encoded>
			<wfw:commentRss>http://tugbucket.net/wordpress/fun-with-wordpress-categories/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JQuery cross-column pull-quotes</title>
		<link>http://tugbucket.net/jquery/jquery-cross-column-pull-quotes/</link>
		<comments>http://tugbucket.net/jquery/jquery-cross-column-pull-quotes/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 12:00:47 +0000</pubDate>
		<dc:creator>Alan</dc:creator>
		
		<category><![CDATA[HTML & CSS]]></category>

		<category><![CDATA[jQuery]]></category>

		<category><![CDATA[HTML/CSS]]></category>

		<guid isPermaLink="false">http://tugbucket.net/jquery/jquery-cross-column-pull-quotes/</guid>
		<description><![CDATA[Here’s something I’ve been wanting to figure out for a while now. How to make two column pull quotes that are actually usable for the most part. With the use of some pseudo-fancy CSS and a little bit of neat jQuery, I have finally done just that.
The text resize function  ... <br /><a href="http://tugbucket.net/jquery/jquery-cross-column-pull-quotes/">Read the rest of this entry &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://tugbucket.net/wp-content/uploads/jquery-pullouts.jpg" alt="jQuery" class="header" /><br class="cb" /></p>
<p>Here’s something I’ve been wanting to figure out for a while now. How to make two column pull quotes that are actually usable for the most part. With the use of some pseudo-fancy CSS and a little bit of neat jQuery, I have finally done just that.</p>
<p>The text resize function can be found <a href="http://www.shopdev.co.uk/blog/font-resize.html">here</a>. The function <code>doit()</code> is called on page load and every time the text is resized by the buttons in order to recalculate positioning and height.</p>
<p>IE 6 &amp; 7 are tricky little buggers on the CSS positioning.</p>
<p>In the first three examples shown, I have left the background color on for the spans so you can see the placement of them. Take a look at <a href="http://tugbucket.net/tests/blockquotes/blockquote.html">the first example</a>. Try it with JavaScript turned off as well. This is the most straight forward example. It only  uses one span set to the height of the block quote to float content around it. </p>
<p>There are caveats with each sample. The biggest one is that with manual text resizing, these will start to fail. This is why I have included text resizing buttons. The issue is that when a user uses their keyboard to resize, the script doesn’t know it and doesn’t recalculate the location and size of the blockquote. With the buttons, the script re-fires and adjusts accordingly. </p>
<p>The CSS and HTML is pretty straightforward for this. Some little things are this:</p>
<pre><code>
blockquote {
font: normal 30px/32px times, &quot;times new roman&quot;, georgia, serif;
letter-spacing: -1px;
padding: 0px 0 4px 0px;
border-bottom: 4px solid #000;
width: 250px;
position: relative;
z-index: 1;
margin: 0 0 4px 6px;
}

span.pullout {
display: block;
float: left;
xbackground: #ede;
margin: 0 0 3px 0;
width: 0px;
overflow: hidden;
}
<!--formatted--></code></pre>
<p>The block quote is set to 250px so that when JavaScript is off it fits inside the column it belongs to. The span has no height applied it as it’s only need with JavaScript on. <span id="more-64"></span></p>
<p>The script that makes this happen then fires and resizes the  span and repositions the blockquote.</p>
<pre><code>
function doit() {
      showHeight(&quot;blockquote&quot;, $(&quot;blockquote:eq(0)&quot;).outerHeight());
	  $(&quot;blockquote:eq(0)&quot;).css({float: &quot;right&quot;,margin: &quot;0 -140px 3px 14px&quot;});
	  	  var spanstuff = $(&quot;blockquote:eq(0)&quot;).outerHeight();
	  $(&quot;span:eq(0)&quot;).css({width: &quot;135px&quot;});
	  $(&quot;span:eq(0)&quot;).height(spanstuff);
}

doit();
<!--formatted--></code></pre>
<p>The <code>showHeight</code> is only in the function to display the height at the top of the page. It’s not needed for the function. So here’s a quick break down:</p>
<ol>
<li>First we apply some CSS to the first blockquote on the page. We are negative the right margin to slide it over into the second column.</li>
<li>Now we get the height of the first blockquote and name a variable called “spanstuff“.</li>
<li>Next we set the width of the first span on the page.</li>
<li>Lastly we set the height of the span to be the height of the blockquote using the aforementioned variable.</li>
</ol>
<p>Take a look at <a href="http://tugbucket.net/tests/blockquotes/blockquote.html">the first example</a>. again. Nothing too hard going on there.</p>
<h3>Let’s get a little more creative</h3>
<p><a href="http://tugbucket.net/tests/blockquotes/blockquote2.html">Example two</a> looks a little more fun doesn’t it? By nesting the blockquote further down we add more visual excitement to the page.  This time we add another san to the second column. This is used to push down the span that is going to reserve the space for the blockquote. It’s a tad more in-depth.</p>
<pre><code>
span.pullout {
display: block;
float: left;
margin: 0 0 3px 0;
width: 0px;
clear: left;
}

span.ab {
display: block;
width: 0px;
float: left;
}

* html span.ab, *+html span.ab {
width: 1px;
}
</code></pre>
<p>IE doesn’t like the new span having a 0 width so we just make it 1px wide to make it happy. I could do it across the board but it was an after thought upon testing.  We float a 0px wide span at the beginning of the second column. Then we make sure our spacer span clears that span. The JavaScript then changes to this:</p>
<pre><code>
function doit() {
	  $(&quot;blockquote:eq(0)&quot;).css({float: &quot;right&quot;,margin: &quot;0 -140px 3px 14px&quot;});
	  var spanstuff = $(&quot;blockquote:eq(0)&quot;).outerHeight();
	  $(&quot;span:eq(1)&quot;).css({width: &quot;135px&quot;});
	  $(&quot;span:eq(1)&quot;).height(spanstuff);
	  var p = $(&quot;blockquote&quot;);
	  var position = p.position();
	  $(&quot;span:eq(0)&quot;).height(position.top);
}
doit();
<!--formatted--></code></pre>
<ol>
<li>First we apply some CSS to the first blockquote on the page. We are negative the right margin to slide it over into the second column.</li>
<li>Now we get the height of the first blockquote and name a variable called “spanstuff“.</li>
<li>Next we set the width of the second span on the page. This was the first span on example one.</li>
<li>Nextwe set the height of the second span to be the height of the blockquote using the aforementioned variable.</li>
<li>The next three lines find the top position of the blockquote and then set the first span to be that height, thus pushing the spacer span into position.</li>
</ol>
<p><a href="http://tugbucket.net/tests/blockquotes/blockquote2.html">Example two again</a>.</p>
<h3>What? You want 3-column pull-quotes?</h3>
<p><a href="http://tugbucket.net/tests/blockquotes/blockquote3.html">Ask and ye shall receive</a>.</p>
<p>In this example I duplicated the method in example two. The difference is that I put the blockquote in the second column. So in the first column I have one “pusher” span and one spacer span. These are now floated to the right. In the third column I used the same span technique as in example two (i.e. floated left).  The JavaScript changes accordingly:</p>
<pre><code>
function doit() {
	  $(&quot;blockquote:eq(0)&quot;).css({float: &quot;right&quot;,margin: &quot;0 -140px 3px -140px&quot;, width: &quot;540px&quot;});
	  var spanstuff = $(&quot;blockquote:eq(0)&quot;).outerHeight();
	  var p = $(&quot;blockquote&quot;);
	  var position = p.position();
	  $(&quot;span:eq(0)&quot;).height(position.top);
	  $(&quot;span:eq(1)&quot;).css({width: &quot;135px&quot;});
	  $(&quot;span:eq(1)&quot;).height(spanstuff);
	  $(&quot;span:eq(2)&quot;).height(position.top);
	  $(&quot;span:eq(3)&quot;).css({width: &quot;135px&quot;});
	  $(&quot;span:eq(3)&quot;).height(spanstuff);
}
doit();
<!--formatted--></code></pre>
<p>We need to alter the CSS for IE as well:</p>
<pre><code>
* html span.ab, *+html span.ab, * html span.ab1, *+html span.ab1 {
width: 1px;
}
</code></pre>
<ol>
<li>This time we expand the blockquote to be as wide as two columns and use a double negative margin to pull it across all three columns.</li>
<li>Now we set the first and third spans to be the height of the Y position of the blockquote.</li>
<li>Then we set the second and fourth spans to be the height of the blockquote. Then set the width to allow the content in each respective column to wrap around.</li>
</ol>
<p>One bad side about doing it with the pusher spans in the first column is that floated drop caps are not possible. Since the first span on the page is floated right, a floated left drop cap is going to clear it by default. But, don’t worry, that has been addressed as well. It get more and more in-depth but, playing with it a bit, it’s not super complicated.</p>
<p>Wait a few days for part two of these examples. I still have some kinks to workout and some error checking to do. It gets better I promise.</p>
]]></content:encoded>
			<wfw:commentRss>http://tugbucket.net/jquery/jquery-cross-column-pull-quotes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wordpress offset archive hack</title>
		<link>http://tugbucket.net/wordpress/wordpress-offset-archive-hack/</link>
		<comments>http://tugbucket.net/wordpress/wordpress-offset-archive-hack/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 04:12:14 +0000</pubDate>
		<dc:creator>Alan</dc:creator>
		
		<category><![CDATA[Wordpress]]></category>

		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://tugbucket.net/wordpress/wordpress-offset-archive-hack/</guid>
		<description><![CDATA[ 
One issue I have found with Wordpress is that is doesn’t have a class of “offset” for the archives. While most of the time this isn’t an issue, I am currently working on a template that needed just this feature. It took me a while to get it going  ... <br /><a href="http://tugbucket.net/wordpress/wordpress-offset-archive-hack/">Read the rest of this entry &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.tugbucket.net/wp-content/uploads/wp-archive-offset.jpg" alt="Wordpress archives with offset" class="header" /> <br class="cb" /><br />
One issue I have found with Wordpress is that is doesn’t have a class of “offset” for the archives. While most of the time this isn’t an issue, I am currently working on a template that needed just this feature. It took me a while to get it going the way I needed as documentation on altering the general-template.php file for Wordpress is not readily available unlike most hacks. I was trying to list my archives in the footer of this template. But, like most blogs, that list will get incredibly long as time goes by thus resulting in a very unattractive footer, not to mention insanely tall. What I was looking for was a way to only show the six most recent months and then use jQuery to show the rest onclick.</p>
<p>With some help from an old post by <a href="http://wordpress.org/support/topic/149276">Otto42</a> on the WP forums and some trial an error, I got what I needed to accomplished. <span id="more-63"></span></p>
<p>I’ll run through the jQuery part rather quickly as it’s pretty basic. You will need two files for this. <a href="http://jquery.com/">jQuery itself</a> and <a href="http://plugins.jquery.com/project/dimensions">the Dimensions plugin</a>. Then using the technique described at <a href="http://www.learningjquery.com/2007/02/more-showing-more-hiding"> Learning jQuery</a>, we need to make a call to show and hide the list items:</p>
<pre><code>

&lt;script type="text/javascript"&gt;

$(document).ready(function() {

  $('div.footdivsample:eq(0)&gt; ul li.hideli').hide();

  $('div.footdivsample:eq(0)&gt; ul a.more').click(function() {

 $('div.footdivsample:eq(0)&gt; ul li.hideli').slideToggle('fast');

  $('div.footdivsample:eq(0)&gt; ul li.morelink').remove();

  });

});

&lt;/script&gt;

<!--formatted--></code></pre>
<p><small>Some thanks go to <a href="http://askthecssguy.com/">The CSS Guy</a> for the <code>remove();</code>.</small></p>
<p>A quick break down on what this does. It finds the first div with a class <code>footdivsample</code> and then hides all <code>&lt;li class=”hideli”&gt;<!--formatted--></code> inside of it. Then the function does two things. On clicking a link with the class of “more” it toggles the hidden list items and then removes the selected link parent list item from the DOM. That’s the easy part. The HTML looks like this, don’t worry too much yet about all the PHP inside of it as I will explain later:</p>
<pre><code>

&lt;div class="footdivsample"&gt;

&lt;h2&gt;Archives with 'offset' and 'limit' applied with some jQuery&lt;/h2&gt;

&lt;ul&gt;

&lt;?php wp_get_archives_with_offset('type=monthly&amp;limit=5&amp;before=&lt;li&gt;&amp;after=&lt;/li&gt;'); ?&gt;

&lt;?php echo "&lt;li class="morelink"&gt;"."&lt;a href="#x" class="more"&gt;more »&lt;/a&gt;"."&lt;/li&gt;"."n"; ?&gt;

&lt;?php wp_get_archives_with_offset('type=monthly&amp;offset=5&amp;limit=9999999&amp;before=&lt;li class="hideli"&gt;&amp;after=&lt;/li&gt;'); ?&gt;

&lt;/ul&gt;

&lt;/div&gt;

<!--formatted--></code></pre>
<p>What this is doing is already taking advantage of the new modifications to the themes functions.php file. That’s a little tricky so I’ll go over what each line does for starters.</p>
<pre><code>

&lt;?php wp_get_archives_with_offset('type=monthly&amp;limit=5&amp;before=&lt;li&gt;&amp;after=&lt;/li&gt;'); ?&gt;

<!--formatted--></code></pre>
<p>The first line uses the new class of <code>wp_get_archives_with_offset</code>, limits the results to the most recent 5 and then wraps the result in a list. By default, the <code>wp_get_archives</code> already builds the list. Later I’ll show how I took them off and why I needed to.</p>
<pre><code>

&lt;?php echo "&lt;li class="morelink"&gt;"."&lt;a href="#x" class="more"&gt;more »&lt;/a&gt;"."&lt;/li&gt;"."n"; ?&gt;

<!--formatted--></code></pre>
<p>The next line prints out the “more” list item and link to activate the jQuery. Because the first line specifies 5, this list item will be printed as the sixth list item.</p>
<pre><code>

&lt;?php wp_get_archives_with_offset('type=monthly&amp;offset=5&amp;limit=9999999&amp;before=&lt;li class="hideli"&gt;&amp;after=&lt;/li&gt;'); ?&gt;

<!--formatted--></code></pre>
<p>In the last line we grab the archives again but this time we use “offset” set to five to skip the first 5 list items and then print the rest. In the code in the new  <code>wp_get_archives_with_offset</code> function, you have to declare the “limit” as well. Not really an issue. Just set it some big number, in the case 9999999. Divide that by 12 and you’ll notice it’s way past the Mayan Doomsday date so, whatever.</p>
<h3>Now the “hard part”</h3>
<p>If you look into your sites “wp-includes” folder you’ll find a file called “general-template.php”. At around line 350, there will be the whole chunk of following code. It is the entire <code>wp_get_archives</code>. Safest way to do this is to copy it out and then open your themes <code>functions.php</code> file and paste it right after the opening <code>&lt;?php<!--formatted--></code> tag.</p>
<pre><code>

function wp_get_archives($args = &amp;#039;&amp;#039;) {

 global $wpdb, $wp_locale;<!--formatted--></code>	$defaults = array(

 	'type' =&gt; 'monthly', 'limit' =&gt; '',

 	'format' =&gt; 'html', 'before' =&gt; '',

 	'after' =&gt; '', 'show_post_count' =&gt; false

 );

$r = wp_parse_args( $args, $defaults );

 extract( $r, EXTR_SKIP );

if ( '' == $type )

 	$type = 'monthly';

if ( '' != $limit ) {

 	$limit = absint($limit);

 	$limit = ' LIMIT '.$limit;

 }

// this is what will separate dates on weekly archive links

 $archive_week_separator = '–';

// over-ride general date format ? 0 = no: use the date format set in Options, 1 = yes: over-ride

 $archive_date_format_over_ride = 0;

// options for daily archive (only if you over-ride the general date format)

 $archive_day_date_format = 'Y/m/d';

// options for weekly archive (only if you over-ride the general date format)

 $archive_week_start_date_format = 'Y/m/d';

 $archive_week_end_date_format	= 'Y/m/d';

if ( !$archive_date_format_over_ride ) {

 	$archive_day_date_format = get_option('date_format');

 	$archive_week_start_date_format = get_option('date_format');

 	$archive_week_end_date_format = get_option('date_format');

 }

//filters

 $where = apply_filters('getarchives_where', "WHERE post_type = 'post' AND post_status = 'publish'", $r );

 $join = apply_filters('getarchives_join', "", $r);

if ( 'monthly' == $type ) {

 	$query = "SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM $wpdb-&gt;posts

$join $where GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC $limit";

 	$key = md5($query);

 	$cache = wp_cache_get( 'wp_get_archives' , 'general');

 	if ( !isset( $cache[ $key ] ) ) {

 		$arcresults = $wpdb-&gt;get_results($query);

 		$cache[ $key ] = $arcresults;

 		wp_cache_add( 'wp_get_archives', $cache, 'general' );

 	} else {

 		$arcresults = $cache[ $key ];

 	}

 	if ( $arcresults ) {

 		$afterafter = $after;

 		foreach ( $arcresults as $arcresult ) {

 			$url	= get_month_link($arcresult-&gt;year,	$arcresult-&gt;month);

 			$text = sprintf(__('%1$s %2$d'), $wp_locale-&gt;get_month($arcresult-&gt;month), $arcresult-&gt;year);

 			if ( $show_post_count )

 				$after = ' ('.$arcresult-&gt;posts.')' . $afterafter;

 			echo get_archives_link($url, $text, $format, $before, $after);

 		}

 	}

 } elseif ('yearly' == $type) {

 	$query = "SELECT DISTINCT YEAR(post_date) AS `year`, count(ID) as posts FROM $wpdb-&gt;posts $join $where GROUP BY

YEAR(post_date) ORDER BY post_date DESC $limit";

 	$key = md5($query);

 	$cache = wp_cache_get( 'wp_get_archives' , 'general');

 	if ( !isset( $cache[ $key ] ) ) {

 		$arcresults = $wpdb-&gt;get_results($query);

 		$cache[ $key ] = $arcresults;

 		wp_cache_add( 'wp_get_archives', $cache, 'general' );

 	} else {

 		$arcresults = $cache[ $key ];

 	}

 	if ($arcresults) {

 		$afterafter = $after;

 		foreach ($arcresults as $arcresult) {

 			$url = get_year_link($arcresult-&gt;year);

 			$text = sprintf('%d', $arcresult-&gt;year);

 			if ($show_post_count)

 				$after = ' ('.$arcresult-&gt;posts.')' . $afterafter;

 			echo get_archives_link($url, $text, $format, $before, $after);

 		}

 	}

 } elseif ( 'daily' == $type ) {

 	$query = "SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, DAYOFMONTH(post_date) AS

`dayofmonth`, count(ID) as posts FROM $wpdb-&gt;posts $join $where GROUP BY YEAR(post_date), MONTH(post_date), DAYOFMONTH(post_date) ORDER

BY post_date DESC $limit";

 	$key = md5($query);

 	$cache = wp_cache_get( 'wp_get_archives' , 'general');

 	if ( !isset( $cache[ $key ] ) ) {

 		$arcresults = $wpdb-&gt;get_results($query);

 		$cache[ $key ] = $arcresults;

 		wp_cache_add( 'wp_get_archives', $cache, 'general' );

 	} else {

 		$arcresults = $cache[ $key ];

 	}

 	if ( $arcresults ) {

 		$afterafter = $after;

 		foreach ( $arcresults as $arcresult ) {

 			$url	= get_day_link($arcresult-&gt;year, $arcresult-&gt;month, $arcresult-&gt;dayofmonth);

 			$date = sprintf('%1$d-%2$02d-%3$02d 00:00:00', $arcresult-&gt;year, $arcresult-&gt;month,

$arcresult-&gt;dayofmonth);

 			$text = mysql2date($archive_day_date_format, $date);

 			if ($show_post_count)

 				$after = ' ('.$arcresult-&gt;posts.')'.$afterafter;

 			echo get_archives_link($url, $text, $format, $before, $after);

 		}

 	}

 } elseif ( 'weekly' == $type ) {

 	$start_of_week = get_option('start_of_week');

 	$query = "SELECT DISTINCT WEEK(post_date, $start_of_week) AS `week`, YEAR(post_date) AS yr, DATE_FORMAT(post_date,

'%Y-%m-%d') AS yyyymmdd, count(ID) as posts FROM $wpdb-&gt;posts $join $where GROUP BY WEEK(post_date, $start_of_week), YEAR(post_date)

ORDER BY post_date DESC $limit";

 	$key = md5($query);

 	$cache = wp_cache_get( 'wp_get_archives' , 'general');

 	if ( !isset( $cache[ $key ] ) ) {

 		$arcresults = $wpdb-&gt;get_results($query);

 		$cache[ $key ] = $arcresults;

 		wp_cache_add( 'wp_get_archives', $cache, 'general' );

 	} else {

 		$arcresults = $cache[ $key ];

 	}

 	$arc_w_last = '';

 	$afterafter = $after;

 	if ( $arcresults ) {

 			foreach ( $arcresults as $arcresult ) {

 				if ( $arcresult-&gt;week != $arc_w_last ) {

 					$arc_year = $arcresult-&gt;yr;

 					$arc_w_last = $arcresult-&gt;week;

 					$arc_week = get_weekstartend($arcresult-&gt;yyyymmdd, get_option('start_of_week'));

 					$arc_week_start = date_i18n($archive_week_start_date_format, $arc_week['start']);

 					$arc_week_end = date_i18n($archive_week_end_date_format, $arc_week['end']);

 					$url  = sprintf('%1$s/%2$s%3$sm%4$s%5$s%6$sw%7$s%8$d', get_option('home'), '', '?',

'=', $arc_year, '&amp;', '=', $arcresult-&gt;week);

 					$text = $arc_week_start . $archive_week_separator . $arc_week_end;

 					if ($show_post_count)

 						$after = ' ('.$arcresult-&gt;posts.')'.$afterafter;

 					echo get_archives_link($url, $text, $format, $before, $after);

 				}

 			}

 	}

 } elseif ( ( 'postbypost' == $type ) || ('alpha' == $type) ) {

 	('alpha' == $type) ? $orderby = "post_title ASC " : $orderby = "post_date DESC ";

 	$query = "SELECT * FROM $wpdb-&gt;posts $join $where ORDER BY $orderby $limit";

 	$key = md5($query);

 	$cache = wp_cache_get( 'wp_get_archives' , 'general');

 	if ( !isset( $cache[ $key ] ) ) {

 		$arcresults = $wpdb-&gt;get_results($query);

 		$cache[ $key ] = $arcresults;

 		wp_cache_add( 'wp_get_archives', $cache, 'general' );

 	} else {

 		$arcresults = $cache[ $key ];

 	}

 	if ( $arcresults ) {

 		foreach ( $arcresults as $arcresult ) {

 			if ( $arcresult-&gt;post_date != '0000-00-00 00:00:00' ) {

 				$url  = get_permalink($arcresult);

 				$arc_title = $arcresult-&gt;post_title;

 				if ( $arc_title )

 					$text = strip_tags(apply_filters('the_title', $arc_title));

 				else

 					$text = $arcresult-&gt;ID;

 				echo get_archives_link($url, $text, $format, $before, $after);

 			}

 		}

 	}

 }

}

<!--formatted--></pre>
<p>This might look and sound scary, and it is if you’re like me and close files randomly by accident and save a lot of wrong code. The relevant section of this code is this:</p>
<pre><code>

function wp_get_archives($args = '') {

 global $wpdb, $wp_locale;

 $defaults = array(

 	'type' =&gt; 'monthly', 'limit' =&gt; '',

 	'format' =&gt; 'html', 'before' =&gt; '',

 	'after' =&gt; '', 'show_post_count' =&gt; false

 );<!--formatted--></code>	$r = wp_parse_args( $args, $defaults );

 extract( $r, EXTR_SKIP );

if ( '' == $type )

 	$type = 'monthly';

if ( '' != $limit ) {

 	$limit = absint($limit);

 	$limit = ' LIMIT '.$limit;

 }<!--formatted--></pre>
<p>We are going to change that to look like this:</p>
<pre><code>

function wp_get_archives_with_offset($args = &amp;#039;&amp;#039;) {

 global $wpdb, $wp_locale;<!--formatted--></code>	$defaults = array(

 	'type' =&gt; 'monthly', 'limit' =&gt; '',

 	'offset' =&gt; '', 'before' =&gt; '',

 	'after' =&gt; '', 'show_post_count' =&gt; false

 );

$r = wp_parse_args( $args, $defaults );

 extract( $r, EXTR_SKIP );

if ( '' == $type )

 	$type = 'monthly';

if ( '' != $limit ) {

 $limit = (int) $limit;

 if (!empty($offset)) {

 	$offset = (int) $offset;

 	$limit = ' LIMIT '.$offset.','.$limit;

 } else {

 	$limit = ' LIMIT '.$limit;

 }

}

<!--formatted--></pre>
<p>A little line-by-line break down as best I can.</p>
<pre><code>

function wp_get_archives_with_offset($args = &amp;#039;&amp;#039;) {

<!--formatted--></code></pre>
<p>Here we are just naming a new function call. If we left it the same as <code>wp_get_archives</code> then WP would throw an error as it was already defined. Plus this way we can still use the original function as well as our new function.</p>
<pre><code>

 $defaults = array(

 	'type' =&gt; 'monthly', 'limit' =&gt; '',

 	'offset' =&gt; '', 'before' =&gt; '',

 	'after' =&gt; '', 'show_post_count' =&gt; false

 );

<!--formatted--></code></pre>
<p>On this we are removing the <code>’format’ =&gt; html,<!--formatted--></code> and replacing it with <code>’offset’ =&gt; ‘’,<!--formatted--></code>. This does two things. First by removing the format line, it removes the default wrapping <code>&lt;li&gt;’s<!--formatted--></code> thus allowing us to make our custom ones with class names. Second, it “turns on” the “offset” class. Woot! Two birds – 0; One stone – 1.</p>
<pre><code>

if ( &amp;#039;&amp;#039; != $limit ) {

 $limit = (int) $limit;

 if (!empty($offset)) {

 	$offset = (int) $offset;

 	$limit = &amp;#039; LIMIT &amp;#039;.$offset.&amp;#039;,&amp;#039;.$limit;

 } else {

 	$limit = &amp;#039; LIMIT &amp;#039;.$limit;

 }

}

<!--formatted--></code></pre>
<p>Now what I think is going on here is that we are basically combining “LIMIT” and “OFFSET” into one class. So if “limit” is not empty look to see if “offset” isn’t empty. If both of them have a value then “limit” is now “offset+limit”. This means it needs to be written in that order as well. If only “limit” has value, then “limit” remains just as “limit”.</p>
<p>Have a look at the example page: <a href="http://tugbucket.net/archive-offset">Wordpress archive offset hack</a></p>
]]></content:encoded>
			<wfw:commentRss>http://tugbucket.net/wordpress/wordpress-offset-archive-hack/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Sunday trip to the Memphis Zoo</title>
		<link>http://tugbucket.net/personal/a-sunday-trip-to-the-memphis-zoo/</link>
		<comments>http://tugbucket.net/personal/a-sunday-trip-to-the-memphis-zoo/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 20:01:35 +0000</pubDate>
		<dc:creator>Alan</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Memphis]]></category>

		<guid isPermaLink="false">http://tugbucket.net/personal/a-sunday-trip-to-the-memphis-zoo/</guid>
		<description><![CDATA[ 
Rakuette and myself went on a brisk Sunday morning to the Memphis Zoo. Had tons of fun. Played with the pigs. You know, zoo stuff. With my trusty cell phone camera I took some of the ugliest photos ever. Enjoy. 
The hippos are finally getting a new living space  ... <br /><a href="http://tugbucket.net/personal/a-sunday-trip-to-the-memphis-zoo/">Read the rest of this entry &#187;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.tugbucket.net/wp-content/themes/tug2/images/giraffe.jpg" alt="Tugbucket and Rakuettes' trip to the Memphis Zoo" class="header" /> <br class="cb" /></p>
<p>Rakuette and myself went on a brisk Sunday morning to the <a href="http://memphiszoo.org">Memphis Zoo</a>. Had tons of fun. Played with the pigs. You know, zoo stuff. With my trusty cell phone camera I took some of the ugliest photos ever. Enjoy. <span id="more-57"></span></p>
<p>The hippos are finally getting a new living space and that&#8217;s way cool. Next year they are opening a wilderness exhibit. Wolves, Elk and Bears. Oh my!</p>
<p>So here are my pictures: <a href="http://www.tugbucket.net/wp-content/uploads/zoopics/01.jpg" rel="lyteshow[zoo]" title="Aardvark sex, really. I swear.">Clicky Clicky</a></p>
<p>Now if we can only get someone to repair the sad state of the aquarium. I would have taken a few pics of the reef tanks but they were in a pretty bad state. Depressingly so actually. Bio-balls, no. Crushed coral, seriously?  The lighting is a joke and the amount of aptasia made me a little ill. I wont even get started on the bubble algae. ugh.</p>
<p style="display: none"> <a href="http://www.tugbucket.net/wp-content/uploads/zoopics/02.jpg" rel="lyteshow[zoo]" title="Some weird rat squirrel thing."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/03.jpg" rel="lyteshow[zoo]" title="Slimy frogs"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/04.jpg" rel="lyteshow[zoo]" title="Slimy frogs again"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/06.jpg" rel="lyteshow[zoo]" title="Quack quack"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/07.jpg" rel="lyteshow[zoo]" title="There's a baby flamingo or two in there."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/08.jpg" rel="lyteshow[zoo]" title="Flamingos"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/09.jpg" rel="lyteshow[zoo]" title="Monkey in a hole. All Madonna like."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/10.jpg" rel="lyteshow[zoo]" title="Any which way but loose anyone?"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/11.jpg" rel="lyteshow[zoo]" title="I tried throwing my poo but they didn't like it too much."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/12.jpg" rel="lyteshow[zoo]" title="I think we disturbed them."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/13.jpg" rel="lyteshow[zoo]" title="Beats me."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/14.jpg" rel="lyteshow[zoo]" title="I need a Russian military night vision cell phone."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/15.jpg" rel="lyteshow[zoo]" title="Hippos. Thank the lord they are getting a new home soon."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/16.jpg" rel="lyteshow[zoo]" title="Yeah thats Marco Rakuette"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/17.jpg" rel="lyteshow[zoo]" title="Dinner"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/18.jpg" rel="lyteshow[zoo]" title="Polar bears, really."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/19.jpg" rel="lyteshow[zoo]" title="Anything with Scimitar in it's name rocks!"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/20.jpg" rel="lyteshow[zoo]" title="Zebra butts."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/21.jpg" rel="lyteshow[zoo]" title="Baby giraffe."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/22.jpg" rel="lyteshow[zoo]" title="It started to rain so they went inside, sissies."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/23.jpg" rel="lyteshow[zoo]" title="Bongos. Yeah I said it."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/24.jpg" rel="lyteshow[zoo]" title="All asses itch. hehe"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/25.jpg" rel="lyteshow[zoo]" title="To my European visitors, this means only wash your HANDS!"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/26.jpg" rel="lyteshow[zoo]" title="This one is for Ian."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/27.jpg" rel="lyteshow[zoo]" title="Pig-nosed turtle."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/28.jpg" rel="lyteshow[zoo]" title="chomp chomp"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/29.jpg" rel="lyteshow[zoo]" title="'a newt?!'"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/30.jpg" rel="lyteshow[zoo]" title="Poison dart frog, woot!"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/31.jpg" rel="lyteshow[zoo]" title="The united colors of death by frog."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/32.jpg" rel="lyteshow[zoo]" title="Our national icon nomming on mice."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/33.jpg" rel="lyteshow[zoo]" title="Yeah, cheetas play ball too."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/34.jpg" rel="lyteshow[zoo]" title="Breakfast."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/35.jpg" rel="lyteshow[zoo]" title="This guy is an OSU fan."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/36.jpg" rel="lyteshow[zoo]" title="Birds."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/37.jpg" rel="lyteshow[zoo]" title="Yep, another bird."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/38.jpg" rel="lyteshow[zoo]" title="All I want for Christmas is this guy on a plate."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/39.jpg" rel="lyteshow[zoo]" title="Penguins"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/40.jpg" rel="lyteshow[zoo]" title="Rakuette finds a maky-outy spot."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/41.jpg" rel="lyteshow[zoo]" title="The ground hogs are not ammused."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/42.jpg" rel="lyteshow[zoo]" title="kitteh."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/43.jpg" rel="lyteshow[zoo]" title="Even the big cats purr."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/44.jpg" rel="lyteshow[zoo]" title="Tigers."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/45.jpg" rel="lyteshow[zoo]" title="rawr rawr"></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/46.jpg" rel="lyteshow[zoo]" title="The aftermath of the tiger keg party."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/47.jpg" rel="lyteshow[zoo]" title="Zzz..."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/48.jpg" rel="lyteshow[zoo]" title="To much bacon for breakfast make kitteh sleepy."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/49.jpg" rel="lyteshow[zoo]" title="Soon to be diner for the Lion."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/50.jpg" rel="lyteshow[zoo]" title="Meerkats don't like you russling leaves around them."></a><br />
<a href="http://www.tugbucket.net/wp-content/uploads/zoopics/05.jpg" rel="lyteshow[zoo]" title="Super heros and a bee girl, hellz yeah!"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://tugbucket.net/personal/a-sunday-trip-to-the-memphis-zoo/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
