<?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>threeformed // a blog</title>
	<atom:link href="http://threeformed.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://threeformed.com/blog</link>
	<description></description>
	<lastBuildDate>Mon, 15 Mar 2010 01:13:39 +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>jQuery ClickScroller Plugin</title>
		<link>http://threeformed.com/blog/jquery-clickscroller-plugin/</link>
		<comments>http://threeformed.com/blog/jquery-clickscroller-plugin/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 01:15:51 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery Plugin]]></category>

		<guid isPermaLink="false">http://threeformed.com/blog/?p=28</guid>
		<description><![CDATA[<p>This is a simple jQuery plugin used to create a horizontal or vertical clicking scroll menu. It&#8217;s lightweight, s&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>This is a simple jQuery plugin used to create a horizontal or vertical clicking scroll menu. It&#8217;s lightweight, simple and easy to customize as needed.</p>
<h3>1. Setup</h3>
<ul>
<li>Download <a href="http://jquery.com/" target="_blank">jQuery</a>, and add it into the head of your document</li>
<li>Download the <a href="http://www.threeformed.com/labs/clickscroller/jquery.clickscroller.js" target="_blank">ClickScroller package</a>, and add jquery.clickscroller.js into the head of your document</li>
<li>Optionally, <a href="http://gsgd.co.uk/sandbox/jquery/easing/" target="_blank">grab the easing js</a> (is included with the download package)</li>
</ul>
<h3>2. Write Some HTML</h3>
<pre><code>&lt;div id="yourContainer"&gt;
	&lt;ul&gt;
		&lt;li&gt;A list item&lt;/li&gt;
		&lt;li&gt;Another list item&lt;/li&gt;
		&lt;li&gt;Another list item&lt;/li&gt;
		&lt;li&gt;Etc...&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;
&lt;a id="#clickscroll-more" href="#"&gt;More&lt;/a&gt;
&lt;a id="#clickscroll-less" href="#"&gt;Less&lt;/a&gt;</code></pre>
<h3>3. Write some CSS</h3>
<pre><code>#yourContainer {
	height: 300px; /* REQUIRED FOR VERTICAL SCROLLING */
	width: 500px; /* REQUIRED FOR HORIZONTAL SCROLLING */
	overflow: hidden; /* DO NOT REMOVE */
	position: relative; /* DO NOT REMOVE */
}
#yourContainer ul {
	list-style: none;
	padding: 0;
	margin: 0;
	position: absolute;	/* DO NOT REMOVE */
}
#yourContainer ul li {
	padding: 0;
	margin: 0;
}</code></pre>
<h3>4. Write some Javascript (well jQuery)</h3>
<pre><code>$(function(){
	$('#yourContainer').clickScroll();
});</code></pre>
<h3>4. Customize</h3>
<p>This is how you could setup a horizontal scroller using <strong>all the options</strong>, like in the <a href="http://www.threeformed.com/labs/clickscroller/index.html">demo</a></p>
<pre><code>$('#yourContainer-horizontal').clickScroll({
	speed: 1000, // Scroll Speed
	easing: 'easeOutElastic', // Animation easing method
	lessBtn: '#scroll-left', // Custom ID of scroll button
	moreBtn: '#scroll-right', // Custom ID of scroll button
	btnFadeSpeed: 500, // Speed of button fading in/out when not end of scrolling is reached
	horizontal: true // Make it scroll Horizontally,
	autoHideNav: false // Don't hide the navigation controls automatically
});</code></pre>
<p>You&#8217;ll also want to change you CSS so the list elements are floated or inline-block&#8230;</p>
<h3>Other Notes</h3>
<ul>
<li>The plugin relies on an unordered list &lt;ul&gt; and list items &lt;li&gt; to be children of the container, if you use something else, it won&#8217;t work.</li>
<li>When horizontally scrolling, the width of the list will be automatically calculated and applied. If you&#8217;re changing the widths of list items dynamically, you might have to get creative in the source.</li>
<li>Don&#8217;t add your control links into the container.</li>
</ul>
<h3>Changelog</h3>
<ul>
<li>&#8220;autoHideNav&#8221; option added for control over navigation controls being automatically hidden/shown.</li>
</ul>
<h3><a href="http://www.threeformed.com/labs/clickscroller/jquery.clickscroller.js" target="_blank">Download</a></h3>
<h3><a href="http://www.threeformed.com/labs/clickscroller/index.html">Demo</a></h3>
]]></content:encoded>
			<wfw:commentRss>http://threeformed.com/blog/jquery-clickscroller-plugin/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Get page tag id&#8217;s based on a category in Wordpress</title>
		<link>http://threeformed.com/blog/get-page-tag-ids-based-on-a-category-in-wordpress/</link>
		<comments>http://threeformed.com/blog/get-page-tag-ids-based-on-a-category-in-wordpress/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 02:56:00 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">http://threeformed.com/blog/2009/10/27/get-page-tag-ids-based-on-a-category-in-wordpress/</guid>
		<description><![CDATA[<p>For the new threeformed site I am using Wordpress as a light CMS, so I wanted to treat some &#8217;special&#8217; posts d&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>For the new threeformed site I am using Wordpress as a light CMS, so I wanted to treat some &#8217;special&#8217; posts differently than others based on their category. This meant that i&#8217;d have to exclude these &#8217;special&#8217; posts from a few places, one of these places was the tag cloud.<span id="more-20"></span><br />
Hmmm, I can only exclude tags from</p>
<pre><code>wp_tag_cloud()</code></pre>
<p>based on ID&#8217;s? So that seemed easy enough right?! I could just use</p>
<pre><code>get_the_tag_ids('exclude=special')</code></pre>
<p>&#8230; Well if that function existed. Well it does now!</p>
<pre><code>
// Gets tags ID's for current post
	function get_the_tag_ids($which, $delimiter) {
		// Gets posts for the category
		query_posts('category_name='.$which);
		// Loop through each post with $which category
		while(have_posts()) {
			the_post();
			// Get the tags for each post
			$this_post_tags = get_the_tags();
			// if there are tags
			if ($this_post_tags) {
				// Get the tag ID for each
				foreach($this_post_tags as $tag) {
					$taxarray = is_term($tag-&gt;name, 'post_tag');
					$post_tags .= $taxarray[term_id].$delimiter;
				}
			}
		}
		wp_reset_query(); // Resets the query
		return $post_tags;
	}
</code></pre>
<h4>Usage</h4>
<pre><code>get_the_tag_ids('special',',')</code></pre>
<h4>Output <small>(example)</small>:</h4>
<pre><code>8,3,9,8,12</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://threeformed.com/blog/get-page-tag-ids-based-on-a-category-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaScript Tetris</title>
		<link>http://threeformed.com/blog/javascript-tetris/</link>
		<comments>http://threeformed.com/blog/javascript-tetris/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 04:38:29 +0000</pubDate>
		<dc:creator>gordon</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[tetris]]></category>

		<guid isPermaLink="false">http://threeformed.com/blog/2008/08/08/javascript-tetris/</guid>
		<description><![CDATA[<p></p>
<h2>Why?</h2>
<p>I was finishing up some tedious work around midnight a few days ago and decided I needed to code something fun. I have&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://threeformed.com/blog/wp-content/uploads/2008/08/tetris1.gif" alt="Tetris" style="clear: both; float: none" /></p>
<h2>Why?</h2>
<p>I was finishing up some tedious work around midnight a few days ago and decided I needed to code something fun. I have a few projects I&#8217;m already working on so I figured I&#8217;d do something small and quick. Lately I&#8217;ve been getting interested in game programming so I wanted to do something along those lines. &#8220;But what sort of game can I make in a few hours?&#8221; I thought to myself. Then it hit me. <a href="http://threeformed.com/labs/Tetris/tetris.html" target="_blank">I was going to make Tetris</a>.<span id="more-11"></span></p>
<h2>The Process</h2>
<p>I&#8217;d never made anything like this before so I decided to implement in JavaScript since I&#8217;ve been doing a lot of  JavaScript coding lately. I grabbed a Coke from the fridge and got to work. It took a couple of hours to throw together the internals and another hour or so to style it (CSS is not my cup of tee). I used the sweet <a href="http://jquery.com" target="_blank">jQuery</a> library for all DOM manipulation and a few images I made so the blocks would look nice. It turned out pretty well and after one long night I had a nice little tetris game!</p>
<h2>Compatibility</h2>
<p>It works in Safari 3, Firefox 2, IE 6 &amp; 7, and Opera 9 (those are all the browsers I have installed) with the only caveat being that Opera doesn&#8217;t continuously fire the onkeydown event while a button is pressed, so dropping blocks quickly in Opera requires multiple taps on the down arrow.</p>
<h2>Source Code</h2>
<p>The code, styles, images, and markup <a href="http://threeformed.com/labs/Tetris/Tetris.zip" target="_blank">are available here</a> in case anyone wants to fix any bugs they find or use it as a studying tool (the code is commented, but it was late so the comments are not as detailed as they could be).</p>
<p>Well enough talk! <strong><a href="http://threeformed.com/labs/Tetris/tetris.html" target="_blank">Check it out!</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://threeformed.com/blog/javascript-tetris/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>jScroll HorizontalPane</title>
		<link>http://threeformed.com/blog/jscrollhorizontalpane/</link>
		<comments>http://threeformed.com/blog/jscrollhorizontalpane/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 05:14:46 +0000</pubDate>
		<dc:creator>Anton</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery Plugin]]></category>

		<guid isPermaLink="false">http://threeformed.com/blog/2008/07/14/jscrollhorizontalpane/</guid>
		<description><![CDATA[<p>jScrollHorizontalPane is a plugin based off of <a href="http://www.kelvinluck.com" target="_blank">Kevin Luck&#8217;s</a> jScrollPane which override&#8217;s the browsers&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>jScrollHorizontalPane is a plugin based off of <a href="http://www.kelvinluck.com" target="_blank">Kevin Luck&#8217;s</a> jScrollPane which override&#8217;s the browsers default horizontal on any block level element with an overflow:auto style. It&#8217;s built on top of the <a href="http://www.jquery.com" target="_blank">jQuery</a> library and uses both the <a href="http://jquery.com/plugins/project/dimensions" target="_blank">dimensions plugin</a> and the <a href="http://jquery.com/plugins/project/mousewheel" target="_blank">mouse wheel plugin</a>. Provided with the download of the plugin there is a default jScrollHorizontalPane.css which can be used as a basis to edit the stylings on the scroll bar.</p>
<p>This plugin is completely cross browser, and also provides the ability to resize gracefully when the reset option is set to true. Additionally, intervals can be set by adding a class of &#8220;scroll-interval&#8221; which automatically adds dash&#8217;s to the track and provides automatic snap-to on the elements.<span id="more-14"></span></p>
<h2>Examples:</h2>
<ul>
<li><a href="http://www.threeformed.com/labs/jScrollHorizontalPane/examples/basicScroller.html" target="_blank">Basic Example</a></li>
<li><a href="http://www.threeformed.com" target="_blank"> Real world usage </a></li>
</ul>
<h2>Usage</h2>
<p>Just include the following files in the head of your page:</p>
<ul>
<li><a href="http://www.threeformed.com/labs/jScrollHorizontalPane/lib/jquery-1.2.1.js">jQuery</a></li>
<li><a href="http://www.threeformed.com/labs/jScrollHorizontalPane/lib/jquery.dimensions.js">the dimensions plugin</a></li>
<li><a href="http://www.threeformed.com/labs/jScrollHorizontalPane/lib/jquery.mousewheel.js">the mouse wheel plugin</a></li>
<li><a href="http://www.threeformed.com/labs/jScrollHorizontalPane/jScrollHorizontalPane.js">jScrollHorizontalPane.js</a> (or the <a href="http://www.threeformed.com/labs/jScrollHorizontalPane/lib/jScrollHorizontalPane.min.js">compressed</a>)</li>
<li><a href="http://www.threeformed.com/labs/jScrollHorizontalPane/lib/jScrollHorizontalPane.css">jScrollHorizontalPane.css</a></li>
</ul>
<p>Then you can use any query selector to select the elements you would like to apply jScrollHorizontalPane to and then initialise it. The following code runs when the document is ready and finds any element with a class of &#8220;scroll-pane&#8221; and then calls jScrollHorizontalPane on them.</p>
<pre><code>$(function() {
     $('.scroll-pane').jScrollHorizontalPane();
});
</code></pre>
<h3>jScrollHorizontalPane also takes the following options as parameters to customize the functionality:</h3>
<ul>
<li><strong>scrollbarHeight</strong> &#8211; The height of the generated scrollbar in pixels</li>
<li><strong>scrollbarMargin</strong> &#8211; The amount of space to leave on the side of the scrollbar in pixels</li>
<li><strong>wheelSpeed</strong> &#8211; The speed the pane will scroll in response to the mouse wheel in pixels</li>
<li><strong>showArrows</strong> &#8211; Whether to display arrows for the user to scroll with</li>
<li><strong>arrowSize</strong> &#8211; The height of the arrow buttons if showArrows=true</li>
<li><strong>animateTo</strong> &#8211; Whether to animate when calling scrollTo and scrollBy</li>
<li><strong>dragMinWidth</strong> &#8211; The minimum width to allow the drag bar to be</li>
<li><strong>dragMaxWidth</strong> &#8211; The maximum width to allow the drag bar to be</li>
<li><strong>animateInterval</strong> &#8211; The interval in milliseconds to update an animating scrollHorizontalPane (default 100)</li>
<li><strong>animateStep</strong> &#8211; The amount to divide the remaining scroll distance by when animating (default 3)</li>
<li><strong>maintainPosition</strong>- Whether you want the contents of the scroll pane to maintain it’s position when you re-initialise it &#8211; so it doesn’t scroll as you add more content (default true)</li>
<li><strong>resize</strong> &#8211; Whether or not to have resizing turned on or not.</li>
<li><strong>minimumWidth</strong> &#8211; The minimum width to allow the jScrollHorizontalPane to be resized to. Only effective when resize is on.</li>
<li><strong>reset</strong> &#8211; When set to ‘true’ all the global properties will be reset. This is useful for dynamic refreshes on the page.</li>
</ul>
<h2> Downloads</h2>
<p>You can download the zip file with the complete package from the following link.  <a href="http://www.threeformed.com/labs/jScrollHorizontalPane/jScrollHorizontalPane.zip">Download</a></p>
<h2> Bug Reporting</h2>
<p>Email <a href="mailto:info@threeformed.com">info@threeformed.com</a> for the time being if u encounter any bugs and hopefully we can take care of the issue!<br />
Otherwise, enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://threeformed.com/blog/jscrollhorizontalpane/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>
