<?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>Ajax Bestiary &#187; plugins</title>
	<atom:link href="http://www.ajaxbestiary.com/tag/plugins/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxbestiary.com</link>
	<description>AJAX Development, News, Techniques &#38; More</description>
	<lastBuildDate>Sat, 19 Jun 2010 13:43:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to Write a jQuery Plugin</title>
		<link>http://www.ajaxbestiary.com/2010/06/09/how-to-write-a-jquery-plugin/</link>
		<comments>http://www.ajaxbestiary.com/2010/06/09/how-to-write-a-jquery-plugin/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 21:00:00 +0000</pubDate>
		<dc:creator>Don Albrecht</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.ajaxbestiary.com/2010/06/09/how-to-write-a-jquery-plugin/</guid>
		<description><![CDATA[

I know there’s a slew and a half of tutorials on this out there, but I’m adding my own to the mix.&#160; I’ve been working on a generic template for plugin development and have cobbled together what I feel is a solid one.
First thing first, however, building a plugin is about being a good citizen

You’ve [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>I know there’s a slew and a half of tutorials on this out there, but I’m adding my own to the mix.&#160; I’ve been working on a generic template for plugin development and have cobbled together what I feel is a solid one.</p>
<p>First thing first, however, building a plugin is about being a good citizen</p>
<ol>
<li><font color="#333333">You’ve got a naming convention to deal with.&#160; jquery[your plugin name].js</font> </li>
<li><font color="#333333">Be considerate of the $.XXX namespace.&#160; Only claim 1, and try to make it both developer friendly and unique.&#160; In our case it will be $.plugin</font> </li>
<li><font color="#333333">Always return this.</font> </li>
<li><font color="#333333">Always end with a “;”</font> </li>
<li><font color="#333333">Wrap the entire thing in an anonymous function call, this will protect the plugin from instances where jquery has been renamed.&#160; </font></li>
</ol>
<p><font color="#333333">So, with all that said and done, the skeleton of a plugin looks like this:</font></p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum1">   1:</span> (<span style="color: #0000ff">function</span>($) {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum2">   2:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum3">   3:</span>   $.fn.myPlugin = <span style="color: #0000ff">function</span>(settings) {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum4">   4:</span>     <span style="color: #0000ff">var</span> config = {<span style="color: #006080">'foo'</span>: <span style="color: #006080">'bar'</span>};</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum5">   5:</span>     <span style="color: #0000ff">if</span> (settings) $.extend(config, settings);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum6">   6:</span>     <span style="color: #0000ff">this</span>.each(<span style="color: #0000ff">function</span>() {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum7">   7:</span>       <span style="color: #008000">// element-specific code here</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum8">   8:</span>     });</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum9">   9:</span>     <span style="color: #0000ff">return</span> <span style="color: #0000ff">this</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum10">  10:</span>   };</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum11">  11:</span>   </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum12">  12:</span>    <span style="color: #0000ff">var</span> newMethods = {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum13">  13:</span>        a   : <span style="color: #0000ff">function</span>() {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum14">  14:</span>                 <span style="color: #0000ff">var</span> config = {<span style="color: #006080">'foo'</span>: <span style="color: #006080">'bar'</span>};</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum15">  15:</span>                 <span style="color: #0000ff">if</span> (settings) $.extend(config, settings);</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum16">  16:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum17">  17:</span>                <span style="color: #0000ff">this</span>.each(<span style="color: #0000ff">function</span>() {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum18">  18:</span>                   <span style="color: #008000">// element-specific code here</span></pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum19">  19:</span>                 });</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum20">  20:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum21">  21:</span>                 <span style="color: #0000ff">return</span> <span style="color: #0000ff">this</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum22">  22:</span>                   },</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum23">  23:</span>        b   : <span style="color: #0000ff">function</span>() { <span style="color: #0000ff">return</span> <span style="color: #0000ff">this</span> },</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum24">  24:</span>        c     : <span style="color: #0000ff">function</span>() { <span style="color: #0000ff">return</span> <span style="color: #0000ff">this</span> }</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum25">  25:</span>       };</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum26">  26:</span>       </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum27">  27:</span>  jQuery.each(newMethods, <span style="color: #0000ff">function</span>(i) {</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum28">  28:</span>    jQuery.fn.myPlugin[i] = <span style="color: #0000ff">this</span>;</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum29">  29:</span>  });</pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum30">  30:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum31">  31:</span>&#160; </pre>
<p><!--CRLF--></p>
<pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &#39;Courier New&#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060" id="lnum32">  32:</span> })(jQuery);</pre>
<p><!--CRLF--></div>
</div>
<p>&#160;</p>
<p>Note, what this code is doing.</p>
<p>First, we define the core behavior of the plugin, then extend the plugin once.&#160; This way we keep our declarations concise, clear and well encapsulated.</p>
<p>We have an established closure structure for shared private functions.</p>
<p>We keep everything encapsulated to protect the jquery namespace as much as possible, and iterate over the child functions to extend the plugin.</p>
<p>PS– most of this is adapted from the jquery extension guide here: <a title="http://docs.jquery.com/Plugins/Authoring" href="http://docs.jquery.com/Plugins/Authoring">http://docs.jquery.com/Plugins/Authoring</a></p>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2010/06/09/how-to-write-a-jquery-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Closer Look at the Blueprint .6 plugins</title>
		<link>http://www.ajaxbestiary.com/2007/11/09/a-closer-look-at-the-blueprint-6-plugins/</link>
		<comments>http://www.ajaxbestiary.com/2007/11/09/a-closer-look-at-the-blueprint-6-plugins/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 16:50:05 +0000</pubDate>
		<dc:creator>Don Albrecht</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Blueprint CSS]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://www.ajaxbestiary.com/2007/11/09/a-closer-look-at-the-blueprint-6-plugins/</guid>
		<description><![CDATA[

On top of yesterdays release of the silksprite plugin.  There are already 3 plugins included in the default blueprint download that are quite useful.  This will be a closer look at using these plugins and will hopefully inspire you to create &#38; deploy plugins in your future projects.
Buttons 

buttons styles &#60;button /&#62; &#38; &#60;a/&#62; elements of [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>On top of yesterdays release of the silksprite plugin.  There are already 3 plugins included in the default blueprint download that are quite useful.  This will be a closer look at using these plugins and will hopefully inspire you to create &amp; deploy plugins in your future projects.</p>
<p><strong>Buttons </strong></p>
<p><img src="http://www.ajaxbestiary.com/wp-content/uploads/2007/11/blueprint-buttons.png" alt="Blueprint Buttons" /></p>
<p>buttons styles &lt;button /&gt; &amp; &lt;a/&gt; elements of type button.  Into a more polished, cross browser web 2.0 look.  It also handles hover states.</p>
<p>Of note, the button plugin provides 2 &#8220;modifier&#8221; classes of type positive &amp; negative which provide the green &amp; red appearance.   Although the icons shown in the sample are included with the button plugin, they aren&#8217;t handled by CSS.</p>
<p><strong>Fancy-Type</strong></p>
<p>Fancy Type provides significant, baseline compatible classes to improve the polish of your blueprint layouts. The provided classes include</p>
<ul>
<li><strong>p + p</strong> indentation instead of line shifts for sibling paragraphs</li>
<li><strong>.alt</strong> a fancy, italic script to call attention to ampersands, prepositions etc.</li>
<li><strong>.dquo</strong> Fancy quotation marks for the start of titles &amp; lines</li>
<li><strong>.incr</strong> Reduced font &amp; line size for sidebars &amp; similar that complies with baseline</li>
<li><strong>.caps</strong> Special, small-caps class.</li>
</ul>
<p><strong>CSS-Classes</strong></p>
<p>A collection of utility classes to help with formatting.</p>
<ul>
<li>.hide</li>
<li>.left (float left)</li>
<li>.right (float right)</li>
<li>.reset-margin</li>
<li>.reset-padding</li>
<li>.reset (reset both padding &amp; margin)</li>
<li>.align-left</li>
<li>.align-right</li>
<li>.align-center</li>
<li>.align-justify</li>
</ul>
<p>All of these plugins can be included in your project simply by adding the line</p>
<p>@import &#8216;plugins/(plugin file)/(plugin css file)&#8217;;</p>
<p>to screen.css</p>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2007/11/09/a-closer-look-at-the-blueprint-6-plugins/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Announcing SilkSprite: A CSS Sprite Plugin for Blueprint</title>
		<link>http://www.ajaxbestiary.com/2007/11/08/announcing-silksprite-a-css-sprite-plugin-for-blueprint/</link>
		<comments>http://www.ajaxbestiary.com/2007/11/08/announcing-silksprite-a-css-sprite-plugin-for-blueprint/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 16:18:10 +0000</pubDate>
		<dc:creator>Don Albrecht</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Site Announcements]]></category>
		<category><![CDATA[Blueprint]]></category>
		<category><![CDATA[Lab]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Sprites]]></category>

		<guid isPermaLink="false">http://www.ajaxbestiary.com/2007/11/08/announcing-silksprite-a-css-sprite-plugin-for-blueprint/</guid>
		<description><![CDATA[

Today, I&#8217;m proud to announce the release of SilkSprite a CSS Sprite plugin for Blueprint based on the widely used Silk Icons.
Benefits 

1000 icons compressed into 1 file
Entire Plugin is only 3 files
Easy to use

Usage


Place this directory inside blueprint/plugins
Add this line to &#8220;blueprint/screen.css&#8221;,

@import &#8216;plugins/silksprite/sprite.css&#8217;;


Use the sprites by attaching classes ss_sprite &#38; ss_(name of sprite) to [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>Today, I&#8217;m proud to announce the release of <a href="http://www.ajaxbestiary.com/Labs/SilkSprite/">SilkSprite</a> a CSS Sprite plugin for Blueprint based on the widely used Silk Icons.</p>
<p><strong>Benefits </strong></p>
<ul>
<li>1000 icons compressed into 1 file</li>
<li>Entire Plugin is only 3 files</li>
<li>Easy to use</li>
</ul>
<h3>Usage<span style="font-weight: bold"></span></h3>
<ol></ol>
<ul>
<li>Place this directory inside blueprint/plugins</li>
<li>Add this line to &#8220;blueprint/screen.css&#8221;,
<ul>
<li>@import &#8216;plugins/silksprite/sprite.css&#8217;;</li>
</ul>
</li>
<li>Use the sprites by attaching classes ss_sprite &amp; ss_(name of sprite) to an a, span or div element. You can use test.htm as a key to the names of sprites.</li>
<li> <span style="font-weight: bold">example</span>:
<pre>&lt;span class="ss_sprite
ss_add"&gt; &lt;/span&gt;&lt;br /&gt;</pre>
</li>
</ul>
<h3>Credit</h3>
<ul>
<li>Silk Sprite is Based on the Silk Icon Set by Mark James [<a href="http://famfamfam.com/">famfamfam.com</a>]</li>
<li>Compiled &amp; Adapted for Blueprint by Don Albrecht [<a href="http://www.ajaxbestiary.com//">ajaxbestiary.com</a>]</li>
</ul>
<p><strong>Check it out online here:</strong></p>
<p><a href="http://www.ajaxbestiary.com/Labs/SilkSprite/">http://www.ajaxbestiary.com/Labs/SilkSprite/</a></p>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2007/11/08/announcing-silksprite-a-css-sprite-plugin-for-blueprint/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>Plugins, CSS Frameworks And How I Came to Drink The Koolaid</title>
		<link>http://www.ajaxbestiary.com/2007/11/07/plugins-css-frameworks-and-how-i-came-to-drink-the-koolaid/</link>
		<comments>http://www.ajaxbestiary.com/2007/11/07/plugins-css-frameworks-and-how-i-came-to-drink-the-koolaid/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 16:35:05 +0000</pubDate>
		<dc:creator>Don Albrecht</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Blueprint]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[tripoli]]></category>

		<guid isPermaLink="false">http://www.ajaxbestiary.com/2007/11/07/plugins-css-frameworks-and-how-i-came-to-drink-the-koolaid/</guid>
		<description><![CDATA[

When I first started using CSS frameworks &#38; standardized resets to streamline my web development, I adopted a process that I&#8217;m sure is familiar to many of you.  I would first link to the frameworks CSS files and then link to a project specific stylesheet.  The project specific stylesheet would build on the frameworks foundation [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p>When I first started using CSS frameworks &amp; standardized resets to streamline my web development, I adopted a process that I&#8217;m sure is familiar to many of you.  I would first link to the frameworks CSS files and then link to a project specific stylesheet.  The project specific stylesheet would build on the frameworks foundation to provide color &amp; background data, special classes and all the other bits and bobs unique to the design.</p>
<p>For me, this system worked quite well.  I gained the benefit of the frameworks without excessive overhead and while I was no longer coding my CSS from the ground up, the process was surprisingly smooth.  When I first heard about plugins, I really didn&#8217;t see the point of adopting them.  They seemed an arbitrary way to include functionality that really belonged in the project stylesheet.  A recent project, however, completely changed my mind.  I was working with a client on a site that required support for several different templates (holiday sale, investor relations, technical support, etc).  While many of these sections employed radically different looks, they needed to be consistent in terms of typography, form elements, tooltips, etc.  They also needed support for seasonal theming as much of their marketing was holiday &amp; special event oriented.</p>
<p>Suddenly, the plugins systems made sense.  I built a single plugin for all site wide styling and a second plugin to allow for seasonal color schemes (simply upload a different folder to the same location and you can change the colorscheme site wide).  Once I realized the power of plugins for complex projects, the realm of uses has exploded for me.</p>
<p>Where I use CSS plugins:</p>
<ul>
<li>Site specific typography &amp; branding</li>
<li>Common form elements (error, required field, etc)</li>
<li>turn on and off debugging styles (great for troubleshooting)</li>
<li>My personal CSS widget toolkit ( pullquotes, notes, etc.)</li>
<li>Custom Grid (Instead of replacing grid.css in blueprint, I may deploy a new grid as a plugin during development)</li>
<li>CSS Sprites</li>
</ul>
<p>Plugins are currently supported by Tripoli &amp; Blueprint.</p>
<p>I&#8217;m curious who here has started working with plugins or some other formal, modular system for CSS.</p>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2007/11/07/plugins-css-frameworks-and-how-i-came-to-drink-the-koolaid/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Create Slick, Scrolling Panels with jQuery &amp; Coda Slider</title>
		<link>http://www.ajaxbestiary.com/2007/10/23/create-slick-scrolling-panels-with-jquery-coda-slider/</link>
		<comments>http://www.ajaxbestiary.com/2007/10/23/create-slick-scrolling-panels-with-jquery-coda-slider/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 12:16:51 +0000</pubDate>
		<dc:creator>Don Albrecht</dc:creator>
				<category><![CDATA[Widget]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Widgets]]></category>

		<guid isPermaLink="false">http://www.ajaxbestiary.com/2007/10/23/create-slick-scrolling-panels-with-jquery-coda-slider/</guid>
		<description><![CDATA[

 Coda Slider is a slick, sliding panel widget plugin for jQuery.&#xA0; It smoothly scrolls between a series of dynamically created tabs and provides a slick, circular navigation.

Some Features:
Clean and Valid XHTML Strict
Circular Navigation
Dynamically Created Tab Set
Multiple Sliders Can Exist On One Page
Cross Browser
Navigation is queued to prevent sudden jumps.

Some Drawbacks,

Text not selectable in Firefox [...]]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p><a href="http://www.ajaxbestiary.com/wp-content/uploads/2007/10/jquery-coda-slider.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="235" alt="jquery coda slider" src="http://www.ajaxbestiary.com/wp-content/uploads/2007/10/jquery-coda-slider-thumb.jpg" width="520" border="0" /></a> Coda Slider is a slick, sliding panel widget plugin for jQuery.&#xA0; It smoothly scrolls between a series of dynamically created tabs and provides a slick, circular navigation.</p>
<ul>
<li>Some Features:</li>
<li>Clean and Valid XHTML Strict</li>
<li>Circular Navigation</li>
<li>Dynamically Created Tab Set</li>
<li>Multiple Sliders Can Exist On One Page</li>
<li>Cross Browser</li>
<li>Navigation is queued to prevent sudden jumps.</li>
</ul>
<p><font color="#000000">Some Drawbacks,</font></p>
<ul>
<li><font color="#000000">Text not selectable in Firefox 2 PC</font></li>
<li><font color="#000000">Not Possible to Hyperlink to Selected Tabs / Anchor Support</font></li>
</ul>
<p><font color="#000000">Get It Online Here:</font></p>
<p><a title="http://www.ndoherty.com/demos/coda-slider/" href="http://www.ndoherty.com/demos/coda-slider/">http://www.ndoherty.com/demos/coda-slider/</a></p>
<p>Read the Blog Post:</p>
<p><a title="http://www.ndoherty.com/blog/2007/09/15/introducing-coda-slider/" href="http://www.ndoherty.com/blog/2007/09/15/introducing-coda-slider/">http://www.ndoherty.com/blog/2007/09/15/introducing-coda-slider/</a></p>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2007/10/23/create-slick-scrolling-panels-with-jquery-coda-slider/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Attach Elements To The Viewport With Clientside&#8217;s Element.Pin Mootools Plugin</title>
		<link>http://www.ajaxbestiary.com/2007/10/20/attach-elements-to-the-viewport-with-clientsides-elementpin-mootools-plugin/</link>
		<comments>http://www.ajaxbestiary.com/2007/10/20/attach-elements-to-the-viewport-with-clientsides-elementpin-mootools-plugin/#comments</comments>
		<pubDate>Sat, 20 Oct 2007 21:40:22 +0000</pubDate>
		<dc:creator>Don Albrecht</dc:creator>
				<category><![CDATA[mootools]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Widgets]]></category>

		<guid isPermaLink="false">http://www.ajaxbestiary.com/2007/10/20/attach-elements-to-the-viewport-with-clientsides-elementpin-mootools-plugin/</guid>
		<description><![CDATA[

 Here&#8217;s a handy plugin to attach elements to view port so they don&#8217;t scroll with the page.&#xA0; Scripts for both pinning and unpinning are available.&#xA0; 
To pin:
$(&#8216;fxtarget&#8217;).pin();
To unpin:
$(&#8216;fxtarget).unpin();
You can get it online from clientside here:
http://clientside.cnet.com/code-snippets/visual-effects/new-elementpin/


]]></description>
			<content:encoded><![CDATA[
<!-- google_ad_section_start -->
<p><a href="http://www.ajaxbestiary.com/wp-content/uploads/2007/10/mootools-pin.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="196" alt="mootools pin" src="http://www.ajaxbestiary.com/wp-content/uploads/2007/10/mootools-pin-thumb.jpg" width="489" border="0" /></a> Here&#8217;s a handy plugin to attach elements to view port so they don&#8217;t scroll with the page.&#xA0; Scripts for both pinning and unpinning are available.&#xA0; </p>
<p>To pin:</p>
<p>$(&#8216;fxtarget&#8217;).pin();</p>
<p>To unpin:</p>
<p>$(&#8216;fxtarget).unpin();</p>
<p>You can get it online from clientside here:</p>
<p><a title="http://clientside.cnet.com/code-snippets/visual-effects/new-elementpin/" href="http://clientside.cnet.com/code-snippets/visual-effects/new-elementpin/">http://clientside.cnet.com/code-snippets/visual-effects/new-elementpin/</a></p>
<p><img src="http://www.ajaxbestiary.com/?voyeur=1"></p>
<!-- google_ad_section_end -->
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxbestiary.com/2007/10/20/attach-elements-to-the-viewport-with-clientsides-elementpin-mootools-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
