<?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>Notes Log &#187; jQuery</title>
	<atom:link href="http://noteslog.com/tag/jquery/feed/" rel="self" type="application/rss+xml" />
	<link>http://noteslog.com</link>
	<description></description>
	<lastBuildDate>Sat, 15 May 2010 13:31:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>How to show a slow loading page</title>
		<link>http://noteslog.com/post/how-to-show-a-slow-loading-page/</link>
		<comments>http://noteslog.com/post/how-to-show-a-slow-loading-page/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 22:52:59 +0000</pubDate>
		<dc:creator>Andrea Ercolino</dc:creator>
				<category><![CDATA[Fixing]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://noteslog.com/?p=343</guid>
		<description><![CDATA[Problem &#8211; Slow loading pages are frustrating, for web users and developers too. Of course there are many possible tweaks you can use to speed them up, but sometimes you cannot optimize a page any further. UPDATED 2009-10-11 Solution &#8211; If you can&#8217;t beat them, join them. You can show a progress indicator to let your [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Problem</strong> &#8211; Slow loading pages are frustrating, for web users and developers too. Of course there are many possible tweaks you can use to speed them up, but sometimes you cannot optimize a page any further.</p>
<ul>
<li>UPDATED 2009-10-11</li>
</ul>
<p><span id="more-343"></span></p>
<p><strong>Solution</strong> &#8211; If you can&#8217;t beat them, join them. You can show a progress indicator to let your web users know that your server is thinking hard the answer to their request, but how do you do that?</p>
<p><strong>Requirement 1</strong> &#8211; You cannot put the progress indicator on the leaving page, because you don&#8217;t want to modify every single reference to a slow page. It doesn&#8217;t make sense either: a slow page is slow by itself! You really don&#8217;t need that coupling.</p>
<p><strong>Requirement 2</strong> - You cannot put the progress indicator on the landing page, the slow one, because the browser needs it before the slow page has arrived. If they arrive together, the progress indicator is useless!</p>
<p>There is a <a href="http://www.aspnetpro.com/NewsletterArticle/2003/08/asp200308bm_l/asp200308bm_l.asp" target="_blank">good article</a> about this issue but it fails at implementing the first requirement. Anyway that was the idea I worked on when starting this project.</p>
<p>Here is the waiting page that get&#8217;s loaded while loading the slow page. For browsers other than IE, the trick is to change the document.location.href property after loading the <a href="http://ajaxload.info/" target="_blank">progress indicator</a> image. In IE we change the document.location.href and then add the image.</p>
<p>I used jQuery to make it simple.</p>
<p><strong>waiting.php</strong></p>
<p><pre class="chili-all"><code class="html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;DTD/xhtml1-transitional.dtd&quot;&gt;

&lt;html xml:lang=&quot;en&quot; lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;head&gt;

&lt;title&gt;Loading Page...&lt;/title&gt;

&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;</code><code class="javascript">
jQuery( function( $ ) {
	function redirect() {
		$('form').submit();
	}
	
	if($.browser.msie) {
		redirect();
		$('img').appendTo('body').attr('src', 'loading-page.gif');
	} else {
		$('#loading').bind('load', function() {
	        redirect();
	    }).attr('src', 'loading-page.gif');
	}
} );
</code><code class="html">&lt;/script&gt;

&lt;/head&gt;&lt;body&gt;

&lt;h1&gt;Loading Page...&lt;/h1&gt;
&lt;img id=&quot;loading&quot; /&gt;
&lt;form method=&quot;&lt;?php </code><code class="php">echo $method </code><code class="html">?&gt;&quot; action=&quot;&lt;?php </code><code class="php">echo $url </code><code class="html">?&gt;&quot;&gt;
 &lt;input type=&quot;hidden&quot; name=&quot;waiting&quot; value=&quot;&lt;?php </code><code class="php">echo $waiting </code><code class="html">?&gt;&quot; /&gt;
&lt;/form&gt;

&lt;/body&gt;&lt;/html&gt;</code></pre>


</p>
<p>And here is the slow page.</p>
<p><strong>slow-page.php</strong></p>
<p><pre class="chili-all"><code class="html">&lt;?php
</code><code class="php">
if ( ! isset($_REQUEST['waiting']) ) {
    $url = htmlspecialchars( $_SERVER['REQUEST_URI'] );
	$method = $_SERVER['REQUEST_METHOD'];
	$waiting = time();
	include &quot;waiting.php&quot;;
    return;
}

sleep(10); //simulate a slow task

</code><code class="html">?&gt;

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;DTD/xhtml1-transitional.dtd&quot;&gt;

&lt;html xml:lang=&quot;en&quot; lang=&quot;en&quot; xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;head&gt;
 &lt;title&gt;Slow Page&lt;/title&gt;
&lt;/head&gt;&lt;body&gt;
 &lt;h1&gt;Hello World!&lt;/h1&gt;
&lt;/body&gt;&lt;/html&gt;</code></pre>


</p>
<p>You can test it <a href="http://noteslog.com/personal/projects/page-loading/3/slow-page.php" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://noteslog.com/post/how-to-show-a-slow-loading-page/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>How to cause a view refresh in jQuery</title>
		<link>http://noteslog.com/post/how-to-cause-a-view-refresh-in-jquery/</link>
		<comments>http://noteslog.com/post/how-to-cause-a-view-refresh-in-jquery/#comments</comments>
		<pubDate>Sat, 05 Jul 2008 13:05:57 +0000</pubDate>
		<dc:creator>Andrea Ercolino</dc:creator>
				<category><![CDATA[Fixing]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://noteslog.com/?p=216</guid>
		<description><![CDATA[$('body').width( $('body').width() - 1 ).width( $('body').width() + 1 );]]></description>
			<content:encoded><![CDATA[<p><pre><code class="javascript">$('body').width( $('body').width() - 1 ).width( $('body').width() + 1 );</code></pre></p>
]]></content:encoded>
			<wfw:commentRss>http://noteslog.com/post/how-to-cause-a-view-refresh-in-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to force jQuery.extend deep recursion</title>
		<link>http://noteslog.com/post/how-to-force-jqueryextend-deep-recursion/</link>
		<comments>http://noteslog.com/post/how-to-force-jqueryextend-deep-recursion/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 13:13:14 +0000</pubDate>
		<dc:creator>Andrea Ercolino</dc:creator>
				<category><![CDATA[other]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://noteslog.com/?p=204</guid>
		<description><![CDATA[jQuery.extend extends a target object with properties from other objects and it&#8217;s widely used in every piece of jQuery code. Really it&#8217;s very useful and simple to undestand and use for flat properties. jQuery.extend( { a:1, b:'2' }, { a:'1', c:3 } ) == { a:'1', b:'2', c:3 } On the contrary, if the involved [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://docs.jquery.com/Utilities/jQuery.extend#targetobject1objectN" target="_blank">jQuery.extend</a> extends a target object with properties from other objects and it&#8217;s widely used in every piece of jQuery code.</p>
<p>Really it&#8217;s very useful and simple to undestand and use for flat properties.</p>
<p><pre><code class="javascript">jQuery.extend( 
  { a:1, b:'2' }, 
  { a:'1', c:3 } 
) == 
  { a:'1', b:'2', c:3 }</code></pre></p>
<p>On the contrary, if the involved objects have object properties, jQuery.extend is less intuitive and less useful too.</p>
<p><pre><code class="javascript">jQuery.extend( 
  { a:{ x:1 }, b:'2' }, 
  { a:{ y:'1' }, c:3 } 
) == 
  { a:{ y:'1' }, b:'2', c:3 }</code></pre></p>
<p>Luckily, an undocumented feature (<span style="text-decoration: underline;">deep</span>) makes jQuery.extend recurr object properties.</p>
<p><pre><code class="javascript">jQuery.extend( true, 
  { a:{ x:1 }, b:'2' }, 
  { a:{ y:'1' }, c:3 } 
) == 
  { a:{ x:1, y:'1' }, b:'2', c:3 }</code></pre></p>
<p>Unluckily, <span style="text-decoration: underline;">deep</span> only works for the first level. (not really a <a href="http://dev.jquery.com/ticket/2447" target="_blank">&#8216;bug&#8217;</a>)</p>
<p><pre><code class="javascript">jQuery.extend( true, 
  { a:{ x:1, z:{ m: '' } }, b:'2' }, 
  { a:{ y:'1', z:{ n: 0 } }, c:3 } 
) == 
  { a:{ x:1, y:'1', z:{ n:0 } }, b:'2', c:3 }</code></pre></p>
<p>If you need deep recursion use jQuery.extend_deep instead.<a href="http://dev.jquery.com/ticket/2447" target="_blank"></a></p>
<p><pre><code class="javascript">jQuery.extend_deep( true, 
  { a:{ x:1, z:{ m: '' } }, b:'2' }, 
  { a:{ y:'1', z:{ n: 0 } }, c:3 } 
) == 
  { a:{ x:1, y:'1', z:{ m:'', n:0 } }, b:'2', c:3 }</code></pre></p>
<p>Here is the jQuery.extend_deep plugin:</p>
<p><pre><code class="javascript">/**
 * Implement deep object extension 
 * by replacing the line 599 of jQuery-1.2.3.js
 * (commented out in this function)
 */
jQuery.extend_deep = function() {
	var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options;

	if ( target.constructor == Boolean ) {
		deep = target;
		target = arguments[1] || {};
		i = 2;
	}

	if ( typeof target != &quot;object&quot; &amp;&amp; typeof target != &quot;function&quot; )
		target = {};

	if ( length == 1 ) {
		target = this;
		i = 0;
	}

	for ( ; i &lt; length; i++ )
		if ( (options = arguments[ i ]) != null )
			for ( var name in options ) {
				if ( target === options[ name ] )
					continue;

				if ( deep &amp;&amp; options[ name ] &amp;&amp; typeof options[ name ] == &quot;object&quot; &amp;&amp; target[ name ] &amp;&amp; !options[ name ].nodeType )
//					target[ name ] = jQuery.extend( target[ name ], options[ name ] );
					target[ name ] = jQuery.extend_deep( true, target[ name ], options[ name ] );

				else if ( options[ name ] != undefined )
					target[ name ] = options[ name ];

			}

	return target;
};</code></pre></p>
]]></content:encoded>
			<wfw:commentRss>http://noteslog.com/post/how-to-force-jqueryextend-deep-recursion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Metaobjects 1.5 Released</title>
		<link>http://noteslog.com/post/metaobjects-15-released/</link>
		<comments>http://noteslog.com/post/metaobjects-15-released/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 22:10:23 +0000</pubDate>
		<dc:creator>Andrea Ercolino</dc:creator>
				<category><![CDATA[Metaobjects]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://noteslog.com/post/metaobjects-15-released/</guid>
		<description><![CDATA[Changes Added support for easy namespacing Added support for jQuery 1.2.3 cache Rewritten the manual from scratch Download You can download metaobjects from Google Code]]></description>
			<content:encoded><![CDATA[<h5>Changes</h5>
<ul>
<li>Added support for easy namespacing</li>
<li>Added support for jQuery 1.2.3 cache</li>
<li>Rewritten the <a href="metaobjects">manual</a> from scratch</li>
</ul>
<h5>Download</h5>
<p>You can <a href="http://code.google.com/p/jquery-metaobjects-js/" target="_blank">download metaobjects</a> from Google Code</p>
]]></content:encoded>
			<wfw:commentRss>http://noteslog.com/post/metaobjects-15-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chili 1.9 Released Today</title>
		<link>http://noteslog.com/post/chili-19-released-today/</link>
		<comments>http://noteslog.com/post/chili-19-released-today/#comments</comments>
		<pubDate>Mon, 24 Sep 2007 19:50:40 +0000</pubDate>
		<dc:creator>Andrea Ercolino</dc:creator>
				<category><![CDATA[Chili]]></category>
		<category><![CDATA[HotChili]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://noteslog.com/post/chili-19-released-today/</guid>
		<description><![CDATA[UPDATE: Chili 2.0 has been released Changes Circumvented an evil bottleneck Simplified the core clockwork Removed the bundled jQuery library Changed the plugin names to follow the naming convention of jQuery&#8217;s plugins Added a new example showing that Chili 1.9 is much faster Links chili.zip Quick Start Chili Central]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff0000;"><strong>UPDATE</strong>: <a href="http://noteslog.com/post/chili-20-released-today" target="_self">Chili 2.0</a> has been released</span></p>
<h5>Changes</h5>
<ul>
<li>Circumvented an evil bottleneck</li>
<li>Simplified the core clockwork</li>
<li>Removed the bundled jQuery library</li>
<li>Changed the plugin names to follow the naming convention of jQuery&#8217;s plugins</li>
<li>Added a new example showing that <a href="http://noteslog.com/personal/projects/chili/1.9/examples-special.html" target="_blank">Chili 1.9 is much faster</a></li>
</ul>
<h5>Links</h5>
<ul>
<li><span style="text-decoration: line-through;">chili.zip</span></li>
<li><span style="text-decoration: line-through;">Quick Start</span></li>
<li><a href="http://noteslog.com/chili/">Chili Central</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://noteslog.com/post/chili-19-released-today/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>How to fix the resize event in IE</title>
		<link>http://noteslog.com/post/how-to-fix-the-resize-event-in-ie/</link>
		<comments>http://noteslog.com/post/how-to-fix-the-resize-event-in-ie/#comments</comments>
		<pubDate>Sun, 23 Sep 2007 21:45:46 +0000</pubDate>
		<dc:creator>Andrea Ercolino</dc:creator>
				<category><![CDATA[Fixing]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://noteslog.com/post/how-to-fix-the-resize-event-in-ie/</guid>
		<description><![CDATA[In IE the window resize event is fired multiple times per actual resize: it is a well known issue for IE6 and IE7, but they misbehave along different patterns. Actually it seems that IE6 is worse than IE7. After quite a long session of R&#38;D, I&#8217;ve got to a pretty good solution, in the form [...]]]></description>
			<content:encoded><![CDATA[<p>In IE the window resize event is fired multiple times per actual resize: it is a well known issue for IE6 and IE7, but they misbehave along different patterns. Actually it seems that IE6 is worse than IE7.</p>
<p>After quite a long session of R&amp;D, I&#8217;ve got to a pretty good solution, in the form of a jQuery plugin: <a href="http://noteslog.com/personal/projects/wresize/1.1/jquery.wresize.js" target="_blank">jquery.wresize.js</a></p>
<p>/*  
===============================================================================
WResize is the jQuery plugin for fixing the IE window resize bug
...............................................................................
                                               Copyright 2007 / Andrea Ercolino
-------------------------------------------------------------------------------
LICENSE: http://www.opensource.org/licenses/mit-license.php
WEBSITE: http://noteslog.com/
===============================================================================
*/

( function( $ ) 
{
	$.fn.wresize = function( f ) 
	{
		version = '1.1';
		wresize = {fired: false, width: 0};

		function resizeOnce() 
		{
			if ( $.browser.msie )
			{
				if ( ! wresize.fired )
				{
					wresize.fired = true;
				}
				else 
				{
					var version = parseInt( $.browser.version, 10 );
					wresize.fired = false;
					if ( version < 7 )
					{
						return false;
					}
					else if ( version == 7 )
					{
						//a vertical resize is fired once, an horizontal resize twice
						var width = $( window ).width();
						if ( width != wresize.width )
						{
							wresize.width = width;
							return false;
						}
					}
				}
			}

			return true;
		}

		function handleWResize( e ) 
		{
			if ( resizeOnce() )
			{
				return f.apply(this, [e]);
			}
		}

		this.each( function() 
		{
			if ( this == window )
			{
				$( this ).resize( handleWResize );
			}
			else
			{
				$( this ).resize( f );
			}
		} );

		return this;
	};

} ) ( jQuery );</p>
<p>If you want to try it, here is a <a href="http://noteslog.com/personal/projects/wresize/1.1/test-wresize.html" target="_blank">test page</a>, where a div is automatically resized when the window is resized.</p>
<p><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" style="overflow:hidden;">
 <head>
  <title> test window resize </title>

<script type="text/javascript" src="http://jquery.com/src/jquery-latest.pack.js"></script>
<script type="text/javascript" src="jquery.wresize.js"></script>


<script type="text/javascript">
jQuery( function( $ ) 
{
	function content_resize() 
	{
		var w = $( window );
		var H = w.height();
		var W = w.width();
		$( '#content' ).css( {width: W-20, height: H-20} );
	}

	$( window ).wresize( content_resize );

	content_resize();
} );
</script>

 </head>

 <body>
 
<div id="content" style="border: 1px dashed silver; position:absolute; overflow:auto;">
test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test 
</div>

 </body>
</html></p>
<p>References:</p>
<blockquote><p><a href="http://dev.jquery.com/ticket/1625" target="_blank">http://dev.jquery.com</a><br />
<a href="http://snook.ca/archives/javascript/ie6_fires_onresize/" target="_blank"> http://snook.ca</a><br />
<a href="http://ecmascript.stchur.com/2006/08/20/beating-the-ie-resize-bug/" target="_blank"> http://ecmascript.stchur.com</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://noteslog.com/post/how-to-fix-the-resize-event-in-ie/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Differences between jQuery Selections</title>
		<link>http://noteslog.com/post/differences-between-jquery-selections/</link>
		<comments>http://noteslog.com/post/differences-between-jquery-selections/#comments</comments>
		<pubDate>Sun, 16 Sep 2007 21:05:52 +0000</pubDate>
		<dc:creator>Andrea Ercolino</dc:creator>
				<category><![CDATA[Examples]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://noteslog.com/post/differences-between-jquery-selections/</guid>
		<description><![CDATA[The most basic action for a jQuery script is to select elements to act upon later. I&#8217;ve just made up a little page for testing the differences between jQuery selections.]]></description>
			<content:encoded><![CDATA[<p>The most basic action for a jQuery script is to select elements to act upon later.</p>
<p>I&#8217;ve just made up a little page for testing the <a href="http://noteslog.com/personal/projects/jquery/selections/test.html">differences between jQuery selections</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://noteslog.com/post/differences-between-jquery-selections/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Chili 1.8c Released Today</title>
		<link>http://noteslog.com/post/chili-18c-released-today/</link>
		<comments>http://noteslog.com/post/chili-18c-released-today/#comments</comments>
		<pubDate>Sat, 21 Jul 2007 23:37:07 +0000</pubDate>
		<dc:creator>Andrea Ercolino</dc:creator>
				<category><![CDATA[Chili]]></category>
		<category><![CDATA[HotChili]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://noteslog.com/post/chili-18c-released-today/</guid>
		<description><![CDATA[UPDATE: Chili 1.9 has been released Changes Fixed the single chunk limitation. Now any element should be properly highlighted by Chili, even if it contains many chunks, even if it is already highlighted. Updated the bundled jQuery library to version 1.1.3.1 Removed the examples from the distribution zip Added a quick start guide, with a [...]]]></description>
			<content:encoded><![CDATA[<h4><span><span style="color: #ff0000;"><strong>UPDATE</strong>: <a href="/post/chili-19-released-today" target="_self">Chili 1.9</a> has been released</span></span></h4>
<h5>Changes</h5>
<ul>
<li>Fixed the single chunk limitation. Now any element should be properly highlighted by Chili, even if it contains many chunks, even if it is already highlighted.</li>
<li>Updated the bundled jQuery library to version 1.1.3.1</li>
<li>Removed the examples from the distribution zip</li>
<li>Added a quick start guide, with a 3 steps Chili installation, all the examples, and a simple how-to for HotChili</li>
</ul>
<h5>Links</h5>
<ul>
<li>chili.zip</li>
<li><a href="/personal/projects/chili/">Quick Start</a></li>
<li><a href="/chili/">Chili Central</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://noteslog.com/post/chili-18c-released-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing HotChili</title>
		<link>http://noteslog.com/post/introducing-hotchili/</link>
		<comments>http://noteslog.com/post/introducing-hotchili/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 12:07:35 +0000</pubDate>
		<dc:creator>Andrea Ercolino</dc:creator>
				<category><![CDATA[Chili]]></category>
		<category><![CDATA[HotChili]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://noteslog.com/post/introducing-hot-chili/</guid>
		<description><![CDATA[The rationale behind Chili is that I need highlighted code to understand a program listing. I developed Chili to make it really easy for every blogger to add highlighting to their own code snippets. The rationale behind HotChili is that many sites still don&#8217;t use any highlighting at all, and that bothers me. I developed [...]]]></description>
			<content:encoded><![CDATA[<p>The rationale behind Chili is that I need highlighted code to understand a program listing. I developed Chili to make it really easy for every blogger to add highlighting to their own code snippets.</p>
<p>The rationale behind HotChili is that many sites still don&#8217;t use any highlighting at all, and that bothers me. I developed HotChili to make it really easy for every internet user to add highlighting to someone else&#8217;s code snippets.</p>
<p>HotChili is a <a href="http://www.greasespot.net/" target="_blank">Greasemonkey</a> user script (plugin), so it runs on any FireFox browser with that extension installed. HotChili is very easy to install and easier to use. Just click on a dull snippet and spice it up by selecting a language off the popup menu. If you change your mind, click again and undo it. That&#8217;s all!!</p>
<p align="center"><strong><a href="http://userscripts.org/scripts/show/10676" target="_blank">Install HotChili</a></strong></p>
<p>After installing HotChili, you can browse the web as usual. If you want to test it, here is a short list of good programming pages that lack any highlighting: <a href="http://www.fluffycat.com/PHP-Design-Patterns/Iterator/" target="_blank">1</a>, <a href="http://dev.mysql.com/doc/refman/5.1/en/twin-pool.html" target="_blank">2</a>, <a href="http://www.onlamp.com/pub/a/php/2007/04/26/code-as-data-reflection-in-php.html" target="_blank">3</a>, <a href="http://javascript.crockford.com/inheritance.html" target="_blank">4</a>, <a href="http://yuiblog.com/" target="_blank">5</a> &#8230;</p>
<p>As you see, HotChili is very simple to use and adds quite a readability factor to code. My advise is to turn it off during normal browsing, and turn it on when you really need it.</p>
]]></content:encoded>
			<wfw:commentRss>http://noteslog.com/post/introducing-hotchili/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chili 1.8b Released Today</title>
		<link>http://noteslog.com/post/chili-18b-released-today/</link>
		<comments>http://noteslog.com/post/chili-18b-released-today/#comments</comments>
		<pubDate>Sun, 27 May 2007 19:56:43 +0000</pubDate>
		<dc:creator>Andrea Ercolino</dc:creator>
				<category><![CDATA[Chili]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://noteslog.com/post/chili-18b-released-today/</guid>
		<description><![CDATA[UPDATE: Chili 1.8c has been released Changes Fixed a bug that showed up when the content of an element to highlight was not a single chunk: in that case the content was erased. Now such an element won&#8217;t be highlighted by Chili. Content without markup is one chunk, which makes it possible to apply Chili&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<h4><span style="color: #ff0000;"><strong>UPDATE</strong>: <a href="/post/chili-18c-released-today" target="_self">Chili 1.8c</a> has been released</span></h4>
<h5>Changes</h5>
<ul>
<li>Fixed a bug that showed up when the content of an element to highlight was not a single chunk: in that case the content was erased. Now such an element won&#8217;t be highlighted by Chili.<br />
Content without markup is one chunk, which makes it possible to apply Chili&#8217;s markup.</li>
</ul>
<h5>Files</h5>
<ul>
<li>download all in a zip</li>
<li><a href="/chili/">read the manual</a></li>
<li>Examples
<ul>
<li>bundled languages<br />
this page shows how Chili highlights the bundled languages: JavaScript, PHP, MySQL, XHTML, Java, C++, C#, Delphi, and LotusScript (BTW, using the dynamic and automatic setup)</li>
<li>static, automatic, adhoc: this page shows how to setup Chili for
<ul>
<li>downloading recipes and stylesheets all at once, using HTML</li>
<li>highlighting code sections automatically</li>
<li>highlighting code sections ad-hoc</li>
</ul>
</li>
<li>dynamic, automatic, adhoc: this page shows how to setup Chili for
<ul>
<li>downloading recipes and stylesheets as needed, using AJAX</li>
<li>highlighting code sections automatically</li>
<li>highlighting code sections ad-hoc</li>
</ul>
</li>
<li>dynamic, automatic, adhoc, metaobjects: this page shows how to setup Chili for
<ul>
<li>downloading recipes and stylesheets as needed, using AJAX</li>
<li>highlighting code sections automatically</li>
<li>highlighting code sections ad-hoc</li>
<li>highlighting code sections using special recipes and stylesheets, by means of <a href="/metaobjects/">metaobjects</a></li>
</ul>
</li>
</ul>
<ul>
<li>all the other combinations: this page shows all the other possible combinations</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://noteslog.com/post/chili-18b-released-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
