<?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>Joel Gómez</title>
	<atom:link href="http://joelgomez.org.ve/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://joelgomez.org.ve</link>
	<description>GNU/Linux y mucho mas...</description>
	<lastBuildDate>Tue, 08 Jun 2010 16:23:37 +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>Una imagen &#8220;Geek&#8221; habla por si sola&#8230;.</title>
		<link>http://joelgomez.org.ve/?p=255</link>
		<comments>http://joelgomez.org.ve/?p=255#comments</comments>
		<pubDate>Tue, 08 Jun 2010 16:23:37 +0000</pubDate>
		<dc:creator>Joel Gómez</dc:creator>
				<category><![CDATA[Geek's]]></category>
		<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://joelgomez.org.ve/?p=255</guid>
		<description><![CDATA[





LOL&#8230;.
]]></description>
			<content:encoded><![CDATA[<div class="mceTemp mceIEcenter">
<dl id="attachment_256" class="wp-caption aligncenter" style="width: 414px;">
<dt class="wp-caption-dt"><a href="http://joelgomez.org.ve/wp-content/uploads/2010/06/toctoc2.png"><img class="size-full wp-image-256" title="toctoc2" src="http://joelgomez.org.ve/wp-content/uploads/2010/06/toctoc2.png" alt="toctoc2" width="404" height="134" /></a></dt>
<dd class="wp-caption-dd"></dd>
</dl>
</div>
<p>LOL&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://joelgomez.org.ve/?feed=rss2&amp;p=255</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Catalyst Web Framework – Segunda Parte</title>
		<link>http://joelgomez.org.ve/?p=187</link>
		<comments>http://joelgomez.org.ve/?p=187#comments</comments>
		<pubDate>Fri, 26 Mar 2010 16:58:54 +0000</pubDate>
		<dc:creator>Joel Gómez</dc:creator>
				<category><![CDATA[Catalyst]]></category>

		<guid isPermaLink="false">http://joelgomez.org.ve/?p=187</guid>
		<description><![CDATA[En el Post anterior jugamos un poco con la creación del proyecto, controladora y vista. Ahora vamos a divertirnos con la modificación de nuestro Helper (Ayudante o Auxiliar de Vistas) TTSite para la inclusión de Javascript y Css.
Helper TTSite encapsula los trozos de lógica correspondientes a la presentación y al acceso a datos y componentes [...]]]></description>
			<content:encoded><![CDATA[<p>En el Post anterior jugamos un poco con la creación del proyecto, controladora y vista. Ahora vamos a divertirnos con la modificación de nuestro Helper (Ayudante o Auxiliar de Vistas) TTSite para la inclusión de Javascript y Css.</p>
<p>Helper <a href="http://search.cpan.org/~bobtfish/Catalyst-View-TT-0.33/lib/Catalyst/Helper/View/TTSite.pm">TTSite</a> encapsula los trozos de lógica correspondientes a la presentación y al acceso a datos y componentes que necesite una vista, haciendo que la vista permanezca de esta forma mucho más simple, reutilizable y mantenible. La lógica de presentación se encarga de formatear datos a través de Template Toolkit para que sean visualizados en una página, mientras que el acceso a datos o componentes implica la obtención de datos. TTSite tiene como debilidad que no podemos incluir Javascript&#8217;s o Css&#8217;s de manera razonable a una vista en particular (digo razonable porque si tratan de incluirlo entonces éste quedará fuera de la etiqueta <head> de nuestro html generado). Por tal motivo tendremos que hacer unas pequeñas y sencillas modificaciones al Helper.</p>
<p>Antes de proseguir con el ejemplo práctico es obligatorio explicar los <strong>Actions Types</strong><br />
Los Actions Types es la forma mediante el cual Catalyst puede leer a la URL en la Controladora para luego hacer Match con los métodos dentro de ella. Los diferentes Actions son los siguientes:</p>
<p><strong>Path</strong><br />
sub metodo : Path(&#8217;save&#8217;) { }<br />
Hace Match con el método save de la controladora http://localhost:3000/controlador/save esta también se puede usar de forma relativa al controlador en uso<br />
sub metodo :  Path(&#8216;/save&#8217;) { }<br />
Hace Match con http://localhost:3000/save</p>
<p><strong>Local</strong><br />
sub metodo : Local { }<br />
Hace Match con http://localhost:3000/controlador/metodo no hace falta colocarle los argumentos</p>
<p><strong>Global</strong><br />
sub metodo : Global { }<br />
Es similar a la anterior solo que nuestra URL es http://localhost:3000/metodo se ignora el nombre de la controladora</p>
<p><strong>Regex</strong><br />
sub metodo : Regexp(^save) { }<br />
Este hace uso de expresiones regulares para hacer match con la URL de manera Global, el resultado puede ser el siguiente:</p>
<p>http://localhost:3000/save</p>
<p>http://localhost:3000/save_usuario</p>
<p>http://localhost:3000/save_evento</p>
<p><strong>LocalRegexp</strong><br />
sub metodo : LocalRegexp(^save) { }<br />
Igual que el anterior pero ahora de manera local, la URL puede ser</p>
<p>http://localhost:3000/controlador/save</p>
<p>http://localhost:3000/controlador/save_usuario</p>
<p>http://localhost:3000/controlador/save_evento</p>
<p><strong>Private</strong><br />
sub metodo : Private { }<br />
Este nunca hará Match por la URL, es decir, no se puede acceder a este método mediante la URL, es privado de la controladora.</p>
<p><strong>Buildin-in Actions Special</strong><br />
Estas son acciones predefinida por Catalyst, las cuales son: index, auto, begin, end y default</p>
<p><strong>default</strong><br />
Si Catalyst no consigue o no hace Match con un método en la controladora entonces el método default será ejecutado</p>
<p><strong>index</strong><br />
Este método se ejecuta si el usuario trata de acceder a un método solo colocando en la URL el nombre de la controladora.<br />
Ej, http://localhost:3000/controlador</p>
<p><strong>begin</strong><br />
Una vez que el nombre del controlador ha sido identificado y antes de hacer Match con cualquier otro entonces el método begin se ejecutará</p>
<p><strong>end</strong><br />
Catalyst llamará al método end luego que hace Match con el método pasado por URL y ejecute su contenido</p>
<p><strong>auto</strong><br />
Este método se ejecuta exactamente después del begin pero justo antes de procesar el método que hace Match con la URL</p>
<p><strong>Ahora si podemos para a la práctica</strong><br />
Por ejemplo, Si quiero usar la vista error.tt2 (ubicada en root/src) la cual es propia de TTSite que se utiliza principalmente para cuando se produce algún error en nuestra aplicación entonces debemos hacer lo siguiente:</p>
<p>1.- Modificación al archivo html (ubicado en root/lib/site)<br />
<font face="monospace"><br />
<font color="#a52a2a">&nbsp;1 </font>[%#<br />
<font color="#a52a2a">&nbsp;2 </font><br />
<font color="#a52a2a">&nbsp;3 </font>Parametros (en orden de aparición):<br />
<font color="#a52a2a">&nbsp;4 </font>&nbsp;&nbsp; js_local&nbsp;&nbsp;&nbsp;&nbsp; : un bloque de javascript que se incluye inline en head<br />
<font color="#a52a2a">&nbsp;5 </font>&nbsp;&nbsp; js_ext&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : un arreglo de archivos de js a enlazar<br />
<font color="#a52a2a">&nbsp;6 </font>&nbsp;&nbsp; css_ext&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: un arreglo de archivos de CSS a enlazar<br />
<font color="#a52a2a">&nbsp;7 </font>&nbsp;&nbsp; ccs_local&nbsp;&nbsp;&nbsp;&nbsp;: un bloque de CSS que se incluye en línea<br />
<font color="#a52a2a">&nbsp;8 </font>&nbsp;&nbsp; title&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;: titulo personalizado de la vista<br />
<font color="#a52a2a">&nbsp;9 </font><br />
<font color="#a52a2a">10 </font>-%]<br />
</font></p>
<p>Este es un comentario al principio del archivo para los momentos de olvidos <img src='http://joelgomez.org.ve/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
<font face="monospace"><br />
<font color="#a52a2a">12 </font><font color="#0000ff">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;</font><br />
<font color="#a52a2a">13 </font><font color="#008b8b">&lt;</font><font color="#a52a2a"><b>html</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">14 </font>&nbsp;<font color="#008b8b">&lt;</font><font color="#a52a2a"><b>head</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">15 </font><font color="#a020f0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#008b8b">&lt;</font><font color="#a52a2a"><b>title</b></font><font color="#008b8b">&gt;</font><font color="#ff00ff"><b>[% title %]</b></font><font color="#008b8b">&lt;/</font><font color="#a52a2a"><b>title</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">16 </font><font color="#a020f0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#008b8b">&lt;</font><font color="#a52a2a"><b>meta</b></font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>http-equiv</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;Content-Type&quot;</font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>content</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;text/html; charset=utf-8&quot;</font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">17 </font><font color="#a020f0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[% FOR sc = js_ext %]</font><br />
<font color="#a52a2a">18 </font><font color="#a020f0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#008b8b">&lt;</font><font color="#a52a2a"><b>script</b></font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>type</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;text/javascript&quot;</font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>src</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;[% sc %]&quot;</font><font color="#008b8b">&gt;</font><font color="#008b8b">&lt;/</font><font color="#a52a2a"><b>script</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">19 </font><font color="#a020f0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[% END %] </font><br />
<font color="#a52a2a">20 </font><br />
<font color="#a52a2a">21 </font><font color="#a020f0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[% IF js_local %]</font><br />
<font color="#a52a2a">22 </font><font color="#a020f0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#008b8b">&lt;</font><font color="#a52a2a"><b>script</b></font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>type</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;text/javascript&quot;</font><font color="#008b8b">&gt;</font><font color="#008b8b">[</font><font color="#6a5acd">% js_local %</font><font color="#008b8b">]</font><font color="#008b8b">&lt;/</font><font color="#a52a2a"><b>script</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">23 </font><font color="#a020f0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[% END %]</font><br />
<font color="#a52a2a">24 </font><br />
<font color="#a52a2a">25 </font><font color="#a020f0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[% FOR sc = css_ext %]</font><br />
<font color="#a52a2a">26 </font><font color="#a020f0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#008b8b">&lt;</font><font color="#a52a2a"><b>link</b></font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>rel</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;stylesheet&quot;</font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>type</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;text/css&quot;</font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>media</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;screen&quot;</font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>href</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;[% sc %]&quot;</font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">27 </font><font color="#a020f0">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[% END %] </font><br />
<font color="#a52a2a">28 </font><br />
<font color="#a52a2a">29 </font><font color="#a020f0">&nbsp;</font><font color="#008b8b">&lt;/</font><font color="#a52a2a"><b>head</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">30 </font>&nbsp;<font color="#008b8b">&lt;</font><font color="#a52a2a"><b>body</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">31 </font>[% content %]<br />
<font color="#a52a2a">32 </font>&nbsp;<font color="#008b8b">&lt;/</font><font color="#a52a2a"><b>body</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">33 </font><font color="#008b8b">&lt;/</font><font color="#a52a2a"><b>html</b></font><font color="#008b8b">&gt;</font></font></p>
<p>Nótese que el archivo tiene bastante sintaxis de <a href="http://template-toolkit.org/">Template Toolkit</a>, el cual nos hace el pase de valores desde la vista hacia la controladora a través del Helper. Además, con esto lo que en realidad estamos haciendo es que en cualquier vista puedo incluir Javascript y/o Css y no tenemos que incluirlo en todas las vistas de la aplicación.</p>
<p>2.- Modificación al archivo error.tt2 (ubicado root/src)<br />
<font face="monospace"><br />
<font color="#a52a2a">&nbsp;1 </font>[% js_local = BLOCK %]<br />
<font color="#a52a2a">&nbsp;2 </font>&nbsp;&nbsp; $(&quot;document&quot;).ready(function(){<br />
<font color="#a52a2a">&nbsp;3 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(&quot;div#mainerror&quot;).corner();<br />
<font color="#a52a2a">&nbsp;4 </font>&nbsp;&nbsp;&nbsp;&nbsp;});<br />
<font color="#a52a2a">&nbsp;5 </font>[% END %]<br />
<font color="#a52a2a">&nbsp;6 </font>[% js_ext = [ <br />
<font color="#a52a2a">&nbsp;7 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'/static/js/jquery-1.4.2.js',<br />
<font color="#a52a2a">&nbsp;8 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'/static/js/jquery.corner.js'<br />
<font color="#a52a2a">&nbsp;9 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br />
<font color="#a52a2a">10 </font>%]<br />
<font color="#a52a2a">11 </font><br />
<font color="#a52a2a">12 </font>[% css_ext = [ <br />
<font color="#a52a2a">13 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'/src/ttsite.css',<br />
<font color="#a52a2a">14 </font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br />
<font color="#a52a2a">15 </font>%]<br />
<font color="#a52a2a">16 </font><br />
<font color="#a52a2a">17 </font>[% title = &quot;Mi T&iacute;tulo&quot; %]</p>
<p>El código que acabamos de ver lo ubicaremos en la primera línea del archivo,  éste cumple con la finalidad de utlizar las variables con formato de <a href="http://template-toolkit.org/">Template Toolkit</a> que habiamos colocado en el archivo html (ubicado root/lib/site)</p>
<p><font color="#a52a2a">19 </font><font color="#008b8b">&lt;</font><font color="#a52a2a"><b>div</b></font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>id</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;mainerror&quot;</font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">20 </font><font color="#008b8b">&nbsp;&nbsp;&nbsp;&lt;</font><font color="#a52a2a"><b>img</b></font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>src</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;/static/images/warning80&#215;67.png&quot;&nbsp;&nbsp;</font><font color="#2e8b57"><b>alt</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;error&quot;</font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">21 </font><font color="#008b8b">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</font><font color="#a52a2a"><b>p</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">22 </font>&nbsp;&nbsp;An error has occurred.&nbsp;&nbsp;We&#8217;re terribly sorry about that, but it&#8217;s <br />
<font color="#a52a2a">23 </font>&nbsp;&nbsp;one of those things that happens from time to time.&nbsp;&nbsp;Let&#8217;s just <br />
<font color="#a52a2a">24 </font>&nbsp;&nbsp;hope the developers test everything properly before release&#8230;<br />
<font color="#a52a2a">25 </font><font color="#008b8b">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/</font><font color="#a52a2a"><b>p</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">26 </font><font color="#008b8b">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;</font><font color="#a52a2a"><b>p</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">27 </font>&nbsp;&nbsp;Here&#8217;s the error message, on the off-chance that it means something<br />
<font color="#a52a2a">28 </font>&nbsp;&nbsp;to you: <font color="#008b8b">&lt;</font><font color="#a52a2a"><b>span</b></font><font color="#008b8b">&nbsp;</font><font color="#2e8b57"><b>class</b></font><font color="#008b8b">=</font><font color="#ff00ff">&quot;error&quot;</font><font color="#008b8b">&gt;&lt;</font><font color="#a52a2a"><b>a</b></font><font color="#008b8b">&gt;</font>[% error %]<font color="#008b8b">&lt;/</font><font color="#a52a2a"><b>a</b></font><font color="#008b8b">&gt;&lt;/</font><font color="#a52a2a"><b>span</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">29 </font><font color="#008b8b">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/</font><font color="#a52a2a"><b>p</b></font><font color="#008b8b">&gt;</font><br />
<font color="#a52a2a">30 </font><font color="#008b8b">&lt;/</font><font color="#a52a2a"><b>div</b></font><font color="#008b8b">&gt;</font><br />
</font></body></p>
<p>Nótese que he creado una carpeta en root/static llamada js donde se almacenarán todos los javascript y descargué una imagen y la coloqué en la carpeta root/static/images</p>
<p>3.- Modificación al archivo ttsite.css (ubicacion root/src)<br />
En este archivo es donde esté escrito en <a href="http://template-toolkit.org/">Template Toolkit</a> lo reemplazamos por el valor que deseado, En mi archivo ttsite.css modifiqué lo siguiente:<br />
<font color="#6a5acd">[</font>% site.col.page %<font color="#6a5acd">]</font>&nbsp;<font color="#a52a2a"></font>&nbsp;del body&nbsp;reemplazado por <font color="#008b8b">#FFFFFF</font><br />
<font color="#6a5acd">[</font>% site.col.head %<font color="#6a5acd">]</font>&nbsp;<font color="#a52a2a"></font>&nbsp;del header reemplazado por <font color="#008b8b">#E3E6EA</font><br />
<font color="#6a5acd">[</font>% site.col.line %<font color="#6a5acd">]</font>&nbsp;<font color="#a52a2a"></font>&nbsp;del header reemplazado por <font color="#008b8b">#F08900</font><br />
<font color="#6a5acd">[</font>% site.col.head %<font color="#6a5acd">]</font>&nbsp;<font color="#a52a2a"></font>&nbsp;del footer reemplazado por <font color="#008b8b">#E3E6EA</font><br />
<font color="#6a5acd">[</font>% site.col.line %<font color="#6a5acd">]</font>&nbsp;<font color="#a52a2a"></font>&nbsp;del footer reemplazado por <font color="#008b8b">#F08900</font><br />
<font color="#6a5acd">[</font>% site.col.message %<font color="#6a5acd">]</font>&nbsp;<font color="#a52a2a"></font>&nbsp;del message reemplazado por  <font color="#008b8b">#66AA66</font><br />
<font color="#6a5acd">[</font>% site.col.error %<font color="#6a5acd">]</font>&nbsp;<font color="#a52a2a"></font>&nbsp;del error reemplazado por <font color="#008b8b">#CC4444</font></p>
<p>Este es el estilo que aplico a un div que coloqué en el archivo error.tt2 y conjuntamente con el Framework Javascript <a href="http://jquery.com/">jQuery</a> y con la librería <a href="http://www.malsup.com/jquery/corner/">jquery-corner.js</a> saldrá un div centrado en la página con los bordes redondeados</p>
<p><font color="#a52a2a">47 </font><font color="#a52a2a"><b>div</b></font><font color="#008b8b">#mainerror</font><font color="#008b8b">{</font><br />
<font color="#a52a2a">48 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#2e8b57"><b>background-color</b></font>: <font color="#ff00ff">#E3E6EA</font>;<br />
<font color="#a52a2a">49 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#2e8b57"><b>padding</b></font>: <font color="#ff00ff">15px</font>;<br />
<font color="#a52a2a">50 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#2e8b57"><b>width</b></font>: <font color="#ff00ff">60%</font>;<br />
<font color="#a52a2a">51 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#2e8b57"><b>left</b></font>: <font color="#ff00ff">20%</font>;<br />
<font color="#a52a2a">52 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#2e8b57"><b>top</b></font>: <font color="#ff00ff">20%</font>;<br />
<font color="#a52a2a">53 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#2e8b57"><b>position</b></font>: <font color="#2e8b57"><b>absolute</b></font>;<br />
<font color="#a52a2a">54 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#2e8b57"><b>border</b></font>: <font color="#ff00ff">1px</font>&nbsp;<font color="#2e8b57"><b>solid</b></font>&nbsp;<font color="#ff00ff">#000000</font>;<br />
<font color="#a52a2a">55 </font><font color="#008b8b">}</font></p>
<p>4.- Modificamos nuestra controladora llamada Root.pm ubicada en lib/evento/Controller<br />
En el método default eliminamos o comentamos con # la dos líneas que aparecen allí y nuestro método quedará así:</p>
<p><font color="#a52a2a">36 </font><font color="#a52a2a"><b>sub</b></font><font color="#008b8b">&nbsp;</font><font color="#008b8b">default</font><font color="#008b8b">&nbsp;: </font><font color="#008b8b">Path</font><font color="#008b8b">&nbsp;</font>{<br />
<font color="#a52a2a">37 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#a52a2a"><b>my</b></font>&nbsp;( <font color="#008b8b">$self</font>, <font color="#008b8b">$c</font>&nbsp;) = <font color="#008b8b">@_</font>;<br />
<font color="#a52a2a">38 </font><br />
<font color="#a52a2a">39 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008b8b">$c</font>-&gt;stash-&gt;{error}&nbsp;&nbsp;&nbsp;&nbsp;= <font color="#ff00ff">&#8216;</font><font color="#ff00ff">Not Found (404)</font><font color="#ff00ff">&#8216;</font>;<br />
<font color="#a52a2a">40 </font>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008b8b">$c</font>-&gt;stash-&gt;{template} = <font color="#ff00ff">&#8216;</font><font color="#ff00ff">error.tt2</font><font color="#ff00ff">&#8216;</font>;<br />
<font color="#a52a2a">41 </font><br />
<font color="#a52a2a">42 </font>}</p>
<p>Con esto, lo que estamos haciendo es pasarle a la vista error.tt2 la variable error, luego guardamos y solo resta colocar en nuestro navegador una URL que no exista como por ejemplo http://localhost:3000/registro/adios</p>
<p><a href="http://joelgomez.org.ve/wp-content/uploads/2010/03/evento4.png"><img src="http://joelgomez.org.ve/wp-content/uploads/2010/03/evento4.png" alt="" title="evento4" width="600" height="335" class="aligncenter size-full wp-image-213" /></a></p>
<p>Con esto considero suficiente la segunda parte del tuto, en la siguiente entrega (haré una pausa por la semana mayor) vamos hacer una página de acceso a usuarios usando base de datos.<br />
Descargue el ejemplo <a href="http://joelgomez.org.ve/catalyst/examples/evento_2p.tar.gz">Aqu&iacute;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://joelgomez.org.ve/?feed=rss2&amp;p=187</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Catalyst Web Framework &#8211; Primera Parte</title>
		<link>http://joelgomez.org.ve/?p=93</link>
		<comments>http://joelgomez.org.ve/?p=93#comments</comments>
		<pubDate>Tue, 16 Mar 2010 15:47:00 +0000</pubDate>
		<dc:creator>Joel Gómez</dc:creator>
				<category><![CDATA[Catalyst]]></category>

		<guid isPermaLink="false">http://joelgomez.org.ve/?p=93</guid>
		<description><![CDATA[¿Qué es un Framework?
Es un conjunto de herramientas que están integradas o hacen comunicación entre sí para la resolución de un trabajo en
particular.
¿Qué es MVC?
Es una metodología o estilo para construir aplicaciones que divide la implementación en &#8220;Modelo&#8221;, &#8220;Vista&#8221; y &#8220;Controlador&#8221;. El modelo es la representación de la información con el cual el sistema opera. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>¿Qué es un Framework?</strong><br />
Es un conjunto de herramientas que están integradas o hacen comunicación entre sí para la resolución de un trabajo en<br />
particular.</p>
<p><strong>¿Qué es MVC?</strong><br />
Es una metodología o estilo para construir aplicaciones que divide la implementación en &#8220;Modelo&#8221;, &#8220;Vista&#8221; y &#8220;Controlador&#8221;. El modelo es la representación de la información con el cual el sistema opera. La vista representa el modelo en un formato de salida para interactuar con el usuario (GUI). El controlador es la parte del sistema que responde a eventos del usuario e interactúa con el modelo con la información de entrada.</p>
<p><strong>¿Qué es Catalyst Web Framework?</strong><br />
Es un Framework de código libre para aplicaciones web programado en Perl y hace uso de MVC. Catalyst no es un lenguaje de programación, es un Framework que integra un sin fin de módulos de Perl.</p>
<p><strong>Instalando<a title="Catalyst Web Framework" href="http://www.catalystframework.org/" target="_blank"> Catalyst Web Framework</a></strong><br />
Existen al menos dos maneras de instalarlo:<br />
1.- Haciendo uso de los repositorios de su distribución:</p>
<pre># aptitude install libcatalyst-perl libcatalyst-engine-apache-perl
libcatalyst-model-cdbi-perl libcatalyst-modules-extra-perl
libcatalyst-modules-perl libcatalyst-view-tt-perl</pre>
<p>Con el comando anterior estamos instalando tanto el Framework como algunos módulos extras para la conexión a bases de datos y generadores de vistas como Helpers</p>
<p>2.- Haciendo uso de CPAN</p>
<pre>cpan -i Catalyst::Runtime Catalyst::Devel Task::Catalyst
Catalyst::Model::DBIC::Schema Catalyst::View::TT
DBD::SQLite DBIx::Class</pre>
<p>Si es la primera vez que ejecutas CPAN entonces, éste le hará una serie de preguntas que no son del otro mundo y a las mayoría de las preguntas basta con darle &lt;enter&gt; <img src='http://joelgomez.org.ve/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Comencemos entonces usar Catalyst <img src='http://joelgomez.org.ve/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Lo primero que debemos hacer es ejecutar el siguiente comando para crear nuestro proyecto (por seguridad, no ejecute ningún comando de Catalyst como root ni tampoco edite los archivos como root):</p>
<pre># catalyst.pl evento</pre>
<p>Tendremos como resultado lo siguiente:</p>
<pre>created "evento"
created "evento/script"
created "evento/lib"
created "evento/root"
created "evento/root/static"
created "evento/root/static/images"
created "evento/t"
created "evento/lib/evento"
created "evento/lib/evento/Model"
created "evento/lib/evento/View"
created "evento/lib/evento/Controller"
created "evento/evento.conf"
created "evento/lib/evento.pm"
created "evento/lib/evento/Controller/Root.pm"
created "evento/README"
created "evento/Changes"
created "evento/t/01app.t"
created "evento/t/02pod.t"
created "evento/t/03podcoverage.t"
created "evento/root/static/images/catalyst_logo.png"
created "evento/root/static/images/btn_120x50_built.png"
created "evento/root/static/images/btn_120x50_built_shadow.png"
created "evento/root/static/images/btn_120x50_powered.png"
created "evento/root/static/images/btn_120x50_powered_shadow.png"
created "evento/root/static/images/btn_88x31_built.png"
created "evento/root/static/images/btn_88x31_built_shadow.png"
created "evento/root/static/images/btn_88x31_powered.png"
created "evento/root/static/images/btn_88x31_powered_shadow.png"
created "evento/root/favicon.ico"
created "evento/Makefile.PL"
created "evento/script/evento_cgi.pl"
created "evento/script/evento_fastcgi.pl"
created "evento/script/evento_server.pl"
created "evento/script/evento_test.pl"
created "evento/script/evento_create.pl"</pre>
<p>Nos cambiamos a la carpeta que nos acaba de crear que es el mismo nombre del proyecto que se creó en el catalyst</p>
<pre># cd evento</pre>
<pre># tree</pre>
<pre>.
|-- Changes
|-- Makefile.PL
|-- README
|-- evento.conf
|-- lib
|   |-- evento
|   |   |-- Controller
|   |   |   `-- Root.pm
|   |   |-- Model
|   |   `-- View
|   `-- evento.pm
|-- root
|   |-- favicon.ico
|   `-- static
|       `-- images
|           |-- btn_120x50_built.png
|           |-- btn_120x50_built_shadow.png
|           |-- btn_120x50_powered.png
|           |-- btn_120x50_powered_shadow.png
|           |-- btn_88x31_built.png
|           |-- btn_88x31_built_shadow.png
|           |-- btn_88x31_powered.png
|           |-- btn_88x31_powered_shadow.png
|           `-- catalyst_logo.png
|-- script
|   |-- evento_cgi.pl
|   |-- evento_create.pl
|   |-- evento_fastcgi.pl
|   |-- evento_server.pl
|   `-- evento_test.pl
`-- t
|-- 01app.t
|-- 02pod.t
`-- 03podcoverage.t</pre>
<p>Con el comando &#8220;tree&#8221; nos muestra un árbol de directorios y archivos que están dentro de la carpeta evento (si no tienes el comando &#8220;tree&#8221; basta con instalarlo con: aptitude install tree)</p>
<p>En este momento ya podremos ver nuestro servidor de Catalyst ejecutando, hacemos el siguiente comando:</p>
<pre># script/evento_server -r</pre>
<p style="text-align: center;"><a href="http://joelgomez.org.ve/wp-content/uploads/2010/03/evento.png"><img class="size-full wp-image-166 aligncenter" title="evento_server" src="http://joelgomez.org.ve/wp-content/uploads/2010/03/evento.png" alt="screenshot del servidor" width="270" height="375" /></a></p>
<p>En nuestro navegador colocamos la siguiente direccion: http://localhost:3000 y nos mostrará la página de bienvenida de Catalyst</p>
<p>La opción -r es para que cuando modifiquemos un archivo del Framework que requiera reiniciar el servidor no lo tengamos que hacer nosotros mismo sino que Catalyst lo reiniciará automáticamente.</p>
<p>Pasemos ahora a crear un Controlador:</p>
<pre># script/evento_create.pl Controller registro</pre>
<pre>exists "/home/joelgomez/evento/script/../lib/evento/Controller"
exists "/home/joelgomez/evento/script/../t"
created "/home/joelgomez/evento/script/../lib/evento/Controller/registro.pm"
created "/home/joelgomez/evento/script/../t/controller_registro.t"</pre>
<p>Con nuestro servidor iniciado podremos colocar la siguiente dirección: http://localhost:3000/registro y nos mostrará una página web con:<br />
Matched evento::Controller::registro in registro.</p>
<p><a href="http://joelgomez.org.ve/wp-content/uploads/2010/03/evento33.png"><img class="aligncenter size-full wp-image-176" title="evento33" src="http://joelgomez.org.ve/wp-content/uploads/2010/03/evento33.png" alt="" width="500" height="287" /></a></p>
<p>Esto, a parte de decirnos que vamos por buen camino, nos está diciendo lo que está programado en la controladora registro en el método index:</p>
<p><span style="color: #a52a2a;">24 </span><span style="color: #a52a2a;"><strong>sub </strong></span><span style="color: #008b8b;">index</span><span style="color: #008b8b;"> : </span><span style="color: #008b8b;">Path</span><span style="color: #008b8b;"> : </span><span style="color: #008b8b;">Args</span><span style="color: #008b8b;">(0)</span><span style="color: #008b8b;"> </span>{<br />
<span style="color: #a52a2a;">25&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #a52a2a;"><strong>my</strong></span> ( <span style="color: #008b8b;">$self</span>, <span style="color: #008b8b;">$c</span> ) = <span style="color: #008b8b;">@_</span>;<br />
<span style="color: #a52a2a;">26</span><br />
<span style="color: #a52a2a;">27&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008b8b;">$c</span>-&gt;response-&gt;body(<span style="color: #ff00ff;">&#8216;</span><span style="color: #ff00ff;">Matched evento::Controller::registro in registro.</span><span style="color: #ff00ff;">&#8216;</span>);<br />
<span style="color: #a52a2a;">28 </span>}</p>
<p>Nuestra controladora creada está ubicada en lib/evento/Controller y desde allí vamos a crear todos los método necesarios para nuestra aplicación.</p>
<p>Creación de vistas.<br />
Para crear una vista es algo parecido a como hemos creado la controladora, vamos a usar TTSite como Helper, puesto que éste es mas flexible y usarlo es divertido, aunque tiene algunas limitaciones que más adelante iré detallando <img src='http://joelgomez.org.ve/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<pre># script/evento_create.pl View participante TTSite</pre>
<pre>exists "/home/joelgomez/evento/script/../lib/evento/View"
exists "/home/joelgomez/evento/script/../t"
created "/home/joelgomez/evento/script/../lib/evento/View/participante.pm"
created "/home/joelgomez/evento/script/../root/lib"
created "/home/joelgomez/evento/script/../root/src"
created "/home/joelgomez/evento/script/../root/lib/config"
created "/home/joelgomez/evento/script/../root/lib/config/main"
created "/home/joelgomez/evento/script/../root/lib/config/col"
created "/home/joelgomez/evento/script/../root/lib/config/url"
created "/home/joelgomez/evento/script/../root/lib/site"
created "/home/joelgomez/evento/script/../root/lib/site/wrapper"
created "/home/joelgomez/evento/script/../root/lib/site/layout"
created "/home/joelgomez/evento/script/../root/lib/site/html"
created "/home/joelgomez/evento/script/../root/lib/site/header"
created "/home/joelgomez/evento/script/../root/lib/site/footer"
created "/home/joelgomez/evento/script/../root/src/welcome.tt2"
created "/home/joelgomez/evento/script/../root/src/message.tt2"
created "/home/joelgomez/evento/script/../root/src/error.tt2"
created "/home/joelgomez/evento/script/../root/src/ttsite.css"</pre>
<p>Debemos aclarar varias cositas hasta ahora: nuestros templates o vistas se almacenarán en root/src allí podremos crear las carpetas que nos sean necesarias para organizar mejor las vistas en caso de que la aplicación sea bastante grande. Vamos a crear un template llamado participante.tt2 y lo vamos a guardar en root/src/participante, por supuesto que la carpeta participante la tenemos que crear</p>
<pre># mkdir root/src/participante
# cd root/src/participante
# vim participante.tt2</pre>
<p>Dentro de archivo participante.tt2 escribimos lo siguiente:<br />
<span style="font-family: monospace;"><br />
<span style="color: #a52a2a;">1 </span><span style="color: #008b8b;">&lt;</span><span style="color: #a52a2a;"><strong>p</strong></span><span style="color: #008b8b;">&gt;</span>Hola: [% nombre %] <span style="color: #008b8b;">&lt;/</span><span style="color: #a52a2a;"><strong>p</strong></span><span style="color: #008b8b;">&gt;</span></span></p>
<p>[% nombre %] Template Toolkit, esto nos ayudará bastante en el pase de variables desde la controlador hacia la vista, pueden echarle un vistazo desde su sitio oficial: http://template-toolkit.org/docs/index.html</p>
<p>Ahora, en nuestra controladora registro.pm ubicada en lib/evento/Controller escribimos el siguiente código debajo de la subrutina index:</p>
<p><span style="color: #a52a2a;">30 </span><span style="color: #a52a2a;"><strong>sub</strong></span><span style="color: #008b8b;"> </span><span style="color: #008b8b;">saludo</span><span style="color: #008b8b;"> : </span><span style="color: #008b8b;">Local</span><span style="color: #008b8b;"> </span>{<br />
<span style="color: #a52a2a;">31&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #a52a2a;"><strong>my</strong></span> ( <span style="color: #008b8b;">$self</span>, <span style="color: #008b8b;">$c</span>) = <span style="color: #008b8b;">@_</span>;<br />
<span style="color: #a52a2a;">32 </span><br />
<span style="color: #a52a2a;">33&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #008b8b;">$c</span>-&gt;stash-&gt;{template} = <span style="color: #ff00ff;">&#8220;</span><span style="color: #ff00ff;">participante/participante.tt2</span><span style="color: #ff00ff;">&#8220;</span>;<br />
<span style="color: #a52a2a;">34&nbsp;&nbsp;&nbsp;&nbsp;</span> <span style="color: #008b8b;">$c</span>-&gt;stash-&gt;{nombre}   = <span style="color: #ff00ff;">&#8220;</span><span style="color: #ff00ff;">Joel Gómez</span><span style="color: #ff00ff;">&#8220;</span>;<br />
<span style="color: #a52a2a;">35 </span>}</p>
<p>En nuestro navegador colocamos la siguiente dirección: http://localhost:3000/registro/saludo Nótese que la url se descompone como servidor/controlador/método.</p>
<p><a href="http://joelgomez.org.ve/wp-content/uploads/2010/03/evento22.png"><img class="aligncenter size-full wp-image-173" title="registro/saludo" src="http://joelgomez.org.ve/wp-content/uploads/2010/03/evento22.png" alt="" width="500" height="279" /></a></p>
<p>En nuestra subrutina saludo lo que estamos haciendo es diciéndole a Catalyst cual es la vista que va a usar para ese método y paso una variable llamada nombre para la vista.</p>
<p>Hasta aquí el primer tutorial de Catalyst Web Framework, en la siguente entrega voy a modificar el Helper TTSite y empezaremos a programar las vistas.</p>
<p>Descargue el ejemplo <a href="http://joelgomez.org.ve/catalyst/examples/evento.tar.gz">Aquí</a></p>
]]></content:encoded>
			<wfw:commentRss>http://joelgomez.org.ve/?feed=rss2&amp;p=93</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Pack de 240 Plugins jQuery</title>
		<link>http://joelgomez.org.ve/?p=82</link>
		<comments>http://joelgomez.org.ve/?p=82#comments</comments>
		<pubDate>Fri, 05 Mar 2010 16:38:46 +0000</pubDate>
		<dc:creator>Joel Gómez</dc:creator>
				<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://joelgomez.org.ve/?p=82</guid>
		<description><![CDATA[
Googleando me he topado con una lista de 240 plugins jQuery (Write Less, Do More) que nos facilitarán muchisimo las tareas a la hora de realizar nuestras aplicaciones web. jQuery no es más que un conjunto de librerías Javascript que permite simplificar la manera de interactuar con los documentos HTML, permitiendo manejar eventos,desarrollar animaciones, y [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Googleando me he topado con una lista de 240 plugins jQuery (Write Less, Do More) que nos facilitarán muchisimo las tareas a la hora de realizar nuestras aplicaciones web.<a title="Jquery" href="http://jquery.com" target="_blank"> jQuery</a> no es más que un conjunto de librerías Javascript que permite simplificar la manera de interactuar con los documentos HTML, permitiendo manejar eventos,desarrollar animaciones, y agregar interacción con la tecnología AJAX a nuestras páginas web.</p>
<p>Sin más palabras acá mismo se los dejo:</p></div>
<h3>File upload</h3>
<p><a href="http://www.phpletter.com/Demo/AjaxFileUpload-Demo/" target="_blank">Ajax File Upload</a><br />
<a href="http://www.pixeline.be/experiments/jqUploader/" target="_blank">jQUploader</a><br />
<a href="http://www.fyneworks.com/jquery/multiple-file-upload/" target="_blank">Multiple File Upload plugin</a><br />
<a href="http://www.appelsiini.net/projects/filestyle" target="_blank">jQuery File Style</a><br />
<a href="http://jquery.com/plugins/project/InputFileCSS" target="_blank">Styling an input type file</a><br />
<a href="http://digitalbush.com/projects/progress-bar-plugin" target="_blank">Progress Bar Plugin</a></p>
<h3>Form Validation</h3>
<p><a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/" target="_blank">jQuery Validation</a><br />
<a href="http://www.dyve.net/jquery/?autohelp" target="_blank">Auto Help</a><br />
<a href="http://www.willjessup.com/sandbox/jquery/form_validator/form_validate.html" target="_blank">Simple jQuery form validation</a><br />
<a href="http://letmehaveblog.blogspot.com/2007/08/easy-client-side-web-forms-validations.html" target="_blank">jQuery XAV – form validations</a><br />
<a href="http://itgroup.com.ph/alphanumeric/" target="_blank">jQuery AlphaNumeric</a><br />
<a href="http://digitalbush.com/projects/masked-input-plugin" target="_blank">Masked Input</a><br />
<a href="http://www.dennydotnet.com/post/TypeWatch-jQuery-Plugin.aspx" target="_blank">TypeWatch Plugin</a><br />
<a href="http://jquery.com/plugins/project/TextLimiter" target="_blank">Text limiter for form fields</a><br />
<a href="http://www.shawngo.com/gafyd/index.html" target="_blank">Ajax Username Check with jQuery</a></p>
<h3>Form – Select Box stuff</h3>
<p><a href="http://jquery.sanchezsalvador.com/page/jquerycombobox.aspx" target="_blank">jQuery Combobox</a><br />
<a href="http://www.ajaxray.com/blog/2007/11/08/jquery-controlled-dependent-or-cascading-select-list-2/" target="_blank">jQuery controlled dependent  (or Cascadign) Select List</a><br />
<a href="http://code.google.com/p/jqmultiselects/" target="_blank">Multiple Selects</a><br />
<a href="http://www.texotela.co.uk/code/jquery/select/" target="_blank">Select box manipulation</a><br />
<a href="http://code.google.com/p/jqueryselectcombo/" target="_blank">Select Combo Plugin</a><br />
<a href="http://www.msxhost.com/jquery/linked-selects/json/%20target=">jQuery – LinkedSelect</a><br />
<a href="http://remysharp.com/2007/09/18/auto-populate-multiple-select-boxes/" target="_blank">Auto-populate multiple select boxes</a><br />
<a href="http://www.sitespotting.it/esempi/002/" target="_blank">Choose Plugin (Select Replacement)</a></p>
<h3>Form Basics, Input Fields, Checkboxes etc.</h3>
<p><a href="http://www.malsup.com/jquery/form/" target="_blank">jQuery Form Plugin</a><br />
<a href="http://code.handlino.com/wiki/jquery-form" target="_blank">jQuery-Form</a><br />
<a href="http://envero.org/jlook/" target="_blank">jLook Nice Forms</a><br />
<a href="http://www.whitespace-creative.com/jquery/jNice/" target="_blank">jNice</a><br />
<a href="http://www.brainfault.com/2007/07/07/pin-plugin-reloaded/" target="_blank">Ping Plugin</a><br />
<a href="http://grzegorz.frydrychowicz.net/jquery_toggleformtext/" target="_blank">Toggle Form Text</a><br />
<a href="http://thoughts.kuzemchak.net/entry/toggleval-for-jquery/" target="_blank">ToggleVal</a><br />
<a href="http://www.pengoworks.com/workshop/jquery/field.plugin.htm" target="_blank">jQuery Field Plugin</a><br />
<a href="http://code.befruit.com/" target="_blank">jQuery Form’n Field plugin</a><br />
<a href="http://www.texotela.co.uk/code/jquery/checkboxes/" target="_blank">jQuery Checkbox manipulation</a><br />
<a href="http://www.alcoholwang.cn/jquery/jTaggingDemo.htm" target="_blank">jTagging</a><br />
<a href="http://code.google.com/p/labelcheck/" target="_blank">jQuery labelcheck</a><br />
<a href="http://scott.sauyet.com/thoughts/archives/2007/03/31/overlabel-with-jquery/" target="_blank">Overlabel</a><br />
<a href="http://blog.amicoimmaginario.it/2007/08/28/jquery-plugin-3-state-radio-buttons/" target="_blank">3 state radio buttons</a><br />
<a href="http://sanisoft-demo.com/jquery/plugins/shiftcheckbox/" target="_blank">ShiftCheckbox jQuery Plugin</a><br />
<a href="http://digitalbush.com/projects/watermark-input-plugin" target="_blank">Watermark Input</a><br />
<a href="http://kawika.org/jquery/checkbox/" target="_blank">jQuery Checkbox (checkboxes with imags)</a><br />
<a href="http://www.softwareunity.com/sandbox/jqueryspinbtn/" target="_blank">jQuery SpinButton Control</a><br />
<a href="http://www.phpletter.com/form_builder/demo.html" target="_blank">jQuery Ajax Form Builder</a><br />
<a href="http://www.texotela.co.uk/code/jquery/focusfields/" target="_blank">jQuery Focus Fields</a><br />
<a href="http://home.iprimus.com.au/kbwood/jquery/timeEntry.html" target="_blank">jQuery Time Entry</a></p>
<h3>Time, Date and Color Picker</h3>
<p><a href="http://marcgrabanski.com/code/ui-datepicker/" target="_blank">jQuery UI Datepicker</a><br />
<a href="http://kelvinluck.com/assets/jquery/datePicker/" target="_blank">jQuery date picker plugin</a><br />
<a href="http://code.google.com/p/jquery-timepicker/" target="_blank">jQuery Time Picker</a><br />
<a href="http://www.texotela.co.uk/code/jquery/timepicker/" target="_blank">Time Picker</a><br />
<a href="http://www.oakcitygraphics.com/jquery/clockpick/ClockPick.cfm" target="_blank">ClickPick</a><br />
<a href="http://labs.perifer.se/timedatepicker/" target="_blank">TimePicker</a><br />
<a href="http://acko.net/dev/farbtastic" target="_blank">Farbtastic jQuery Color Picker Plugin</a><br />
<a href="http://www.intelliance.fr/jquery/color_picker/" target="_blank">Color Picker by intelliance.fr</a></p>
<h3>Rating Plugins</h3>
<p><a href="http://www.phpletter.com/Demo/Jquery-Star-Rating-Plugin/" target="_blank">jQuery Star Rating Plugin</a><br />
<a href="http://www.m3nt0r.de/devel/raterDemo/" target="_blank">jQuery Star Rater</a><br />
<a href="http://riderdesign.com/articles/displayarticle.aspx?articleid=21" target="_blank">Content rater with asp.net, ajax and jQuery</a><br />
<a href="http://www.learningjquery.com/2007/05/half-star-rating-plugin" target="_blank">Half-Star Rating Plugin</a></p>
<h3>Search Plugins</h3>
<p><a href="http://www.cineasalyha.net/autocomplete/" target="_blank">Autocomplete Box</a><br />
<a href="http://www.vulgarisoip.com/2007/08/06/jquerysuggest-11/" target="_blank">jQuery Suggest</a><br />
<a href="http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/" target="_blank">jQuery Autocomplete</a><br />
<a href="http://www.pengoworks.com/workshop/jquery/autocomplete.htm" target="_blank">jQuery Autocomplete Mod</a><br />
<a href="http://www.ajaxdaddy.com/demo-jquery-autocomplete.html" target="_blank">jQuery Autocomplete by AjaxDaddy</a><br />
<a href="http://dev.reach1to1.net/saurabh/jplugins/autocomplete/" target="_blank">jQuery Autocomplete Plugin with HTML formatting</a><br />
<a href="http://interface.eyecon.ro/docs/autocomplete" target="_blank">jQuery Autocompleter</a><br />
<a href="http://nodstrum.com/2007/09/19/autocompleter/" target="_blank">AutoCompleter (Tutorial with PHP&amp;MySQL)</a><br />
<a href="http://rikrikrik.com/jquery/quicksearch/" target="_blank">quick Search jQuery Plugin</a></p>
<h3>Inline Edit &amp; Editors</h3>
<p><a href="http://www.jaysalvat.com/jquery/jtageditor/" target="_blank">jTagEditor</a><br />
<a href="http://demo.wymeditor.org/demo.html" target="_blank">WYMeditor</a><br />
<a href="http://garage.pimentech.net/scripts_doc_jquery_jframe/" target="_blank">jQuery jFrame</a><br />
<a href="http://www.appelsiini.net/projects/jeditable" target="_blank">Jeditable – edit in place plugin for jQuery</a><br />
<a href="http://www.dyve.net/jquery/?editable" target="_blank">jQuery editable</a><br />
<a href="http://www.jdempster.com/category/jquery/disableTextSelect/" target="_blank">jQuery Disable Text Select Plugin</a><br />
<a href="http://15daysofjquery.com/edit-in-place-with-ajax-using-jquery-javascript-library/15/" target="_blank">Edit in Place with Ajax using jQuery</a><br />
<a href="http://davehauenstein.com/blog/archives/28" target="_blank">jQuery Plugin – Another In-Place Editor</a><br />
<a href="http://dev.iceburg.net/jquery/tableEditor/demo.php" target="_blank">TableEditor</a><br />
<a href="http://joshhundley.com/teditable-in-place-editing-for-tables/" target="_blank">tEditable – in place table editing for jQuery</a></p>
<h3>Audio, Video, Flash, SVG, etc</h3>
<p><a href="http://www.contentwithstructure.com/extras/jmedia" target="_blank">jMedia – accessible multi-media embedding</a><br />
<a href="http://sourceforge.net/projects/jbedit/" target="_blank">JBEdit – Ajax online Video Editor</a><br />
<a href="http://www.sean-o.com/jquery/jmp3/" target="_blank">jQuery MP3 Plugin</a><br />
<a href="http://malsup.com/jquery/media/" target="_blank">jQuery Media Plugin</a><br />
<a href="http://jquery.lukelutman.com/plugins/flash/index.html" target="_blank">jQuery Flash Plugin</a><br />
<a href="http://www.solitude.dk/archives/embedquicktime/" target="_blank">Embed QuickTime</a><br />
<a href="http://keith-wood.name/svg.html" target="_blank">SVG Integration</a><br />
<a href="http://www.openstudio.fr/jQuery-Multimedia-Portfolio.html" target="_blank">jQuery Multimedia Portfolio</a><br />
<a href="http://bijon.rightbrainsolution.com/youtube/" target="_blank">jQuery YouTube Plugin</a></p>
<h3>Photos/Images/Galleries</h3>
<p><a href="http://jquery.com/demo/thickbox/" target="_blank">ThickBox</a><br />
<a href="http://leandrovieira.com/projects/jquery/lightbox/" target="_blank">jQuery lightBox plugin</a><br />
<a title="Fancy Box" href="http://fancy.klade.lv/" target="_blank">jQuery FancyBox</a><br />
<a href="http://www.openstudio.fr/jQuery-Multimedia-Portfolio.html" target="_blank">jQuery Multimedia Portfolio</a><br />
<a href="http://blog.joshuaeichorn.com/archives/2007/01/11/jquery-image-strip/" target="_blank">jQuery Image Strip</a><br />
<a href="http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html" target="_blank">jQuery slideViewer</a><br />
<a href="http://benjaminsterling.com/2007/09/09/jquery-jqgalscroll-photo-gallery/" target="_blank">jQuery jqGalScroll 2.0</a><br />
<a href="http://benjaminsterling.com/2007/10/02/jquery-jqgalviewii-photo-gallery/" target="_blank">jQuery – jqGalViewII</a><br />
<a href="http://benjaminsterling.com/2007/10/21/jqgalviewiii-proof-of-concept/" target="_blank">jQuery – jqGalViewIII</a><br />
<a href="http://opiefoto.com/articles/photoslider" target="_blank">jQuery Photo Slider</a><br />
<a href="http://joanpiedra.com/jquery/thumbs/" target="_blank">jQuery Thumbs – easily create thumbnails</a><br />
<a href="http://www.texotela.co.uk/code/jquery/jQIR/" target="_blank">jQuery jQIR Image Replacement</a><br />
<a href="http://www.gmarwaha.com/jquery/jcarousellite/index.php#what" target="_blank">jCarousel Lite</a><br />
<a href="http://projects.sevir.org/storage/jpanview/index.html" target="_blank">jQPanView</a><br />
<a href="http://sorgalla.com/projects/jcarousel/#Examples" target="_blank">jCarousel</a><br />
<a href="http://www.intelliance.fr/jquery/imagebox/" target="_blank">Interface Imagebox</a><br />
<a href="http://www.getintothis.com/blog/2006/10/12/image-gallery-using-jquery-interface-reflections/" target="_blank">Image Gallery using jQuery, Interface &amp; Reflactions</a><br />
<a href="http://realazy.org/lab/jquery/j-gallery/" target="_blank">simple jQuery Gallery</a><br />
<a href="http://chicagosocial.com/gallery/" target="_blank">jQuery Gallery Module</a><br />
<a href="http://www.eogallery.com/" target="_blank">EO Gallery</a><br />
<a href="http://flesler.blogspot.com/search/label/jQuery.ScrollShow" target="_blank">jQuery ScrollShow</a><br />
<a href="http://www.malsup.com/jquery/cycle/" target="_blank">jQuery Cycle Plugin</a><br />
<a href="http://www.projectatomic.com/en/flickr.htm" target="_blank">jQuery Flickr</a><br />
<a href="http://www.appelsiini.net/2007/9/lazy-load-images-jquery-plugin" target="_blank">jQuery Lazy Load Images Plugin</a><br />
<a href="http://www.sunsean.com/zoomi/" target="_blank">Zoomi – Zoomable Thumbnails</a><br />
<a href="http://remysharp.com/2007/03/19/a-few-more-jquery-plugins-crop-labelover-and-pluck/#crop" target="_blank">jQuery Crop – crop any image on the fly</a><br />
<a href="http://jquery.com/plugins/project/reflection" target="_blank">Image Reflection</a></p>
<h3>Google Map</h3>
<p><a href="http://www.dyve.net/jquery/?googlemaps" target="_blank">jQuery Plugin googlemaps</a><br />
<a href="http://code.google.com/p/jmaps/" target="_blank">jMaps jQuery Maps Framework</a><br />
<a href="http://projects.sevir.org/storage/jqmaps/index.html" target="_blank">jQmaps</a><br />
<a href="http://olbertz.de/jquery/googlemap.html" target="_blank">jQuery &amp; Google Maps</a><br />
<a href="http://snippets.dzone.com/posts/show/4361" target="_blank">jQuery Maps Interface forr Google and Yahoo maps</a><br />
<a href="http://webrocket.ulmb.com/jmaps/" target="_blank">jQuery J Maps – by Tane Piper</a></p>
<h3>Games</h3>
<p><a href="http://fmarcia.info/jquery/tetris/tetris.html" target="_blank">Tetris with jQuery</a><br />
<a href="http://64squar.es/" target="_blank">jQuery Chess</a><br />
<a href="http://www.bennadel.com/blog/623-jQuery-Demo-Mad-Libs-Word-Game.htm" target="_blank">Mad Libs Word Game</a><br />
<a href="http://www.alexatnet.com/node/68" target="_blank">jQuery Puzzle</a><br />
<a href="http://www.willjessup.com/sandbox/jquery/solar_system/rotator.html" target="_blank">jQuery Solar System (not a game but awesome jQuery Stuff)</a><br />
<a href="http://fernando.com.ar/memo/" target="_blank">jQuery Memory</a></p>
<h3>Tables, Grids etc.</h3>
<p><a href="http://docs.jquery.com/Plugins/Tablesorter" target="_blank">UI/Tablesorter</a><br />
<a href="http://www.reconstrukt.com/ingrid/" target="_blank">jQuery ingrid</a><br />
<a href="http://www.trirand.com/blog/?p=13" target="_blank">jQuery Grid Plugin</a><br />
<a href="http://ideamill.synaptrixgroup.com/jquery/tablefilter/tabletest.htm" target="_blank">Table Filter – awesome!</a><br />
<a href="http://dev.iceburg.net/jquery/tableEditor/demo.php" target="_blank">TableEditor</a><br />
<a href="http://www.hanpau.com/jquery/unobtrusivetreetable.php" target="_blank">jQuery Tree Tables</a><br />
<a href="http://www.javascripttoolbox.com/jquery/#expandablerows" target="_blank">Expandable “Detail” Table Rows</a><br />
<a href="http://www.remotesynthesis.com/blog/index.cfm/2007/9/25/Sortable-Table-ColdFusion-Custom-Tag-with-jQueryUI" target="_blank">Sortable Table ColdFusion Costum Tag with jQuery UI</a><br />
<a href="http://flesler.blogspot.com/2007/10/jquerybubble.html" target="_blank">jQuery Bubble</a><br />
<a href="http://tablesorter.com/docs/" target="_blank">TableSorter</a><br />
<a href="http://www.webtoolkit.info/demo/jquery/scrollable/demo.html" target="_blank">Scrollable HTML Table</a><br />
<a href="http://p.sohei.org/stuff/jquery/columnmanager/demo/demo.html" target="_blank">jQuery column Manager Plugin</a><br />
<a href="http://p.sohei.org/stuff/jquery/tablehover/demo/demo.html" target="_blank">jQuery tableHover Plugin</a><br />
<a href="http://p.sohei.org/stuff/jquery/columnhover/demo/demo.html" target="_blank">jQuery columnHover Plugin</a><br />
<a href="http://makoomba.altervista.org/grid/" target="_blank">jQuery Grid</a><br />
<a href="http://motherrussia.polyester.se/jquery-plugins/tablesorter/" target="_blank">TableSorter plugin for jQuery</a><br />
<a href="http://joshhundley.com/teditable-in-place-editing-for-tables/" target="_blank">tEditable – in place table editing for jQuery</a><br />
<a href="http://www.hovinne.com/dev/jquery/chartotable/" target="_blank">jQuery charToTable Plugin</a><br />
<a href="http://www.ita.es/jquery/jquery.grid.columnSizing.htm" target="_blank">jQuery Grid Column Sizing</a><br />
<a href="http://www.ita.es/jquery/jquery.grid.rowSizing.htm" target="_blank">jQuery Grid Row Sizing</a></p>
<h3>Charts, Presentation etc.</h3>
<p><a href="http://code.google.com/p/flot/" target="_blank">Flot</a><br />
<a href="http://worcesterwideweb.com/2007/06/04/jquery-wizard-plugin/" target="_blank">jQuery Wizard Plugin </a><br />
<a href="http://www.reach1to1.com/sandbox/jquery/jqchart/" target="_blank">jQuery Chart Plugin</a><br />
<a href="http://ejohn.org/apps/speed/" target="_blank">Bar Chart</a><br />
<a href="http://www.filamentgroup.com/lab/creating_accessible_charts_using_canvas_and_jquery/" target="_blank">Accessible Charts using Canvas and jQuery</a></p>
<h3>Border, Corners, Background</h3>
<p><a href="http://www.malsup.com/jquery/corner/" target="_blank">jQuery Corner</a><br />
<a href="http://blue-anvil.com/archives/anti-aliased-rounded-corners-with-jquery" target="_blank">jQuery Curvy Corner</a><br />
<a href="http://dev.jquery.com/~paul/plugins/nifty/example.html" target="_blank">Nifty jQuery Corner</a><br />
<a href="http://illandril.net/jQuery/transparentCorners/" target="_blank">Transparent Corners</a><br />
<a href="http://www.methvin.com/jquery/jq-corner.html" target="_blank">jQuery Corner Gallery</a><br />
<a href="http://blog.brandonaaron.net/my-jquery-plugins/gradient/" target="_blank">Gradient Plugin</a></p>
<h3>Text and Links</h3>
<p><a href="http://wanderinghorse.net/computing/javascript/jquery/spoilers/demo.html" target="_blank">jQuery Spoiler plugin</a><br />
<a href="http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html" target="_blank">Text Highlighting</a><br />
<a href="http://www.jdempster.com/category/jquery/disableTextSelect/" target="_blank">Disable Text Select Plugin</a><br />
<a href="http://www.texotela.co.uk/code/jquery/newsticker/" target="_blank">jQuery Newsticker</a><br />
<a href="http://www.ollicle.com/2007/jun/03/jquery_lineheight_flexible.html" target="_blank">Auto line-height Plugin</a><br />
<a href="http://agencenp.net/textgrad/textgrad.html" target="_blank">Textgrad – a text gradient plugin</a><br />
<a href="http://kawika.org/jquery/linklook/" target="_blank">LinkLook – a link thumbnail preview</a><br />
<a href="http://rikrikrik.com/jquery/pager/#examples" target="_blank">pager jQuery Plugin</a><br />
<a href="http://rikrikrik.com/jquery/shortkeys/" target="_blank">shortKeys jQuery Plugin</a><br />
<a href="http://www.ollicle.com/eg/jquery/biggerlink" target="_blank">jQuery Biggerlink</a><br />
<a href="http://troy.dyle.net/linkchecker/" target="_blank">jQuery Ajax Link Checker</a><br />
<a href="http://noteslog.com/chili/" target="_blank">Chili jQuery code highlighter plugin</a><br />
<a href="http://jscroller.markusbordihn.de/example/left/" target="_blank">jScroller</a></p>
<h3>Tooltips</h3>
<p><a href="http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/" target="_blank">jQuery Plugin – Tooltip</a><br />
<a href="http://www.codylindley.com/blogstuff/js/jtip/" target="_blank">jTip – The jQuery Tool Tip</a><br />
<a href="http://examples.learningjquery.com/62/demo/index.html#examplesection" target="_blank">clueTip</a><br />
<a href="http://edgarverle.com/BetterTip/default.cfm" target="_blank">BetterTip</a><br />
<a href="http://ioreader.com/2007/05/15/flash-tooltips-using-jquery/" target="_blank">Flash Tooltips using jQuery</a><br />
<a href="http://www.texotela.co.uk/code/jquery/tooltipdemo/" target="_blank">ToolTip</a></p>
<h3>Menus, Navigations</h3>
<p><a href="http://stilbuero.de/jquery/tabs_3/" target="_blank">jQuery Tabs Plugin – awesome! </a> [<a href="http://stilbuero.de/jquery/tabs_3/nested.html" target="_blank">demo nested tabs</a>]<br />
<a href="http://blog.cutterscrossing.com/index.cfm/2007/6/15/Updated-JQuery-Nested-Tab-Set-with-Demo" target="_blank">another jQuery nested Tab Set example (based on jQuery Tabs Plugin)</a><br />
<a href="http://www.sunsean.com/idTabs/" target="_blank">jQuery idTabs</a><br />
<a href="http://jdsharp.us/jQuery/plugins/jdMenu/" target="_blank">jdMenu – Hierarchical Menu Plugin for jQuery</a><br />
<a href="http://be.twixt.us/jquery/suckerFish.php" target="_blank">jQuery SuckerFish Style</a><br />
<a href="http://bassistance.de/jquery-plugins/jquery-plugin-treeview/" target="_blank">jQuery Plugin Treeview</a><br />
<a href="http://be.twixt.us/jquery/treeView.php" target="_blank">treeView Basic</a><br />
<a href="http://labs.activespotlight.net/jQuery/menu_demo.html" target="_blank">FastFind Menu</a><br />
<a href="http://www.getintothis.com/blog/2006/09/26/my-first-jquery-plugin-a-sliding-menu/" target="_blank">Sliding Menu</a><br />
<a href="http://gmarwaha.com/blog/?p=7" target="_blank">Lava Lamp jQuery Menu</a><br />
<a href="http://icon.cat/wiki/IconDock_En#iconDock_jQuery_Plugin" target="_blank">jQuery iconDock</a><br />
<a href="http://cherne.net/brian/resources/jquery.variations.html" target="_blank">jVariations Control Panel</a><br />
<a href="http://www.trendskitchens.co.nz/jquery/contextmenu/" target="_blank">ContextMenu plugin</a><br />
<a href="http://p.sohei.org/jquery-plugins/clickmenu/" target="_blank">clickMenu</a><br />
<a href="http://www.ndesign-studio.com/blog/mac/css-dock-menu" target="_blank">CSS Dock Menu</a><br />
<a href="http://webexpose.org/2006/12/28/jquery-pop-up-menu-tutorial/" target="_blank">jQuery Pop-up Menu Tutorial</a><br />
<a href="http://www.getintothis.com/blog/2006/09/26/my-first-jquery-plugin-a-sliding-menu/" target="_blank">Sliding Menu</a></p>
<h3>Accordions, Slide and Toggle stuff</h3>
<p><a href="http://bassistance.de/jquery-plugins/jquery-plugin-accordion/" target="_blank">jQuery Plugin Accordion</a><br />
<a href="http://fmarcia.info/jquery/accordion.html" target="_blank">jQuery Accordion Plugin Horizontal Way</a><br />
<a href="http://letmehaveblog.blogspot.com/2007/10/haccordion-simple-horizontal-accordion.html" target="_blank">haccordion – a simple horizontal accordion plugin for jQuery</a><br />
<a href="http://dev.portalzine.de/index?/Horizontal_Accordion--print" target="_blank">Horizontal Accordion by portalzine.de</a><br />
<a href="http://berndmatzner.de/jquery/hoveraccordion/" target="_blank">HoverAccordion</a><br />
<a href="http://fmarcia.info/jquery/accordion.html" target="_blank">Accordion Example from fmarcia.info</a><br />
<a href="http://blog.evaria.com/wp-content/themes/blogvaria/jquery/index.php" target="_blank">jQuery Accordion Example</a><br />
<a href="http://jquery.com/files/demo/dl-done.html" target="_blank">jQuery Demo – Expandable Sidebar Menu</a><br />
<a href="http://www.andreacfm.com/examples/jQpanels/" target="_blank">Sliding Panels for jQuery</a><br />
<a href="http://jquery.andreaseberhard.de/toggleElements/" target="_blank">jQuery ToggleElements</a><br />
<a href="http://www.ndoherty.com/demos/coda-slider/" target="_blank">Coda Slider</a><br />
<a href="http://sorgalla.com/projects/jcarousel/#Examples" target="_blank">jCarousel</a><br />
<a href="http://www.reindel.com/accessible_news_slider/" target="_blank">Accesible News Slider Plugin</a><br />
<a href="http://icant.co.uk/sandbox/jquerycodeview/" target="_blank">Showing and Hiding code Examples</a><br />
<a href="http://gsgd.co.uk/sandbox/jquery/easing/" target="_blank">jQuery Easing Plugin</a><br />
<a href="http://sonspring.com/journal/jquery-portlets" target="_blank">jQuery Portlets</a><br />
<a href="http://jdsharp.us/jQuery/plugins/AutoScroll/" target="_blank">AutoScroll</a><br />
<a href="http://medienfreunde.com/lab/innerfade/" target="_blank">Innerfade</a><br />
<a href="http://maxb.net/blog/2008/05/11/ycodaslider-20/" target="_blank">CodaSlider</a></p>
<h3>Drag and Drop</h3>
<p><a href="http://docs.jquery.com/UI/Draggables" target="_blank">UI/Draggables</a><br />
<a href="http://fromvega.com/wordpress/2007/07/14/easydrag-jquery-plugin/" target="_blank">EasyDrag jQuery Plugin</a><br />
<a href="http://sonspring.com/journal/jquery-portlets" target="_blank">jQuery Portlets</a><br />
<a href="http://dev.iceburg.net/jquery/jqDnR/" target="_blank">jqDnR – drag, drop resize</a><br />
<a href="http://interface.eyecon.ro/demos/drag.html" target="_blank">Drag Demos</a></p>
<h3>XML XSL JSON Feeds</h3>
<p><a href="http://www.jongma.org/webtools/jquery/xslt/" target="_blank">XSLT Plugin</a><br />
<a href="http://cgaskell.wordpress.com/2006/11/02/jquery-ajax-call-and-result-xml-parsing/" target="_blank">jQuery Ajax call and result XML parsing</a><br />
<a href="http://jquery.com/plugins/project/xmlObjectifier" target="_blank">xmlObjectifier – Converts XML DOM to JSON</a><br />
<a href="http://jquery.glyphix.com/" target="_blank">jQuery XSL Transform</a><br />
<a href="http://malsup.com/jquery/taconite/" target="_blank">jQuery Taconite – multiple Dom updates</a><br />
<a href="http://www.hovinne.com/blog/index.php/2007/07/15/132-jfeed-jquery-rss-atom-feed-parser-plugin" target="_blank">RSS/ATOM Feed Parser Plugin</a><br />
<a href="http://www.malsup.com/jquery/gfeed/" target="_blank">jQuery Google Feed Plugin</a></p>
<h3>Browserstuff</h3>
<p><a href="http://noteslog.com/post/how-to-fix-the-resize-event-in-ie/" target="_blank">Wresize – IE Resize event Fix Plugin</a><br />
<a href="http://jquery.khurshid.com/ifixpng.php" target="_blank">jQuery ifixpng</a><br />
<a href="http://jquery.andreaseberhard.de/pngFix/" target="_blank">jQuery pngFix</a><br />
<a href="http://www.crismancich.de/jquery/plugins/linkscrubber/" target="_blank">Link Scrubber – removes the dotted line onfocus from links</a><br />
<a href="http://www.matthewjrichards.co.uk/articles/2007/06/25/jquery-perciformes-the-entire-suckerfish-familly-under-one-roof" target="_blank">jQuery Perciformes – the entire suckerfish familly under one roof</a><br />
<a href="http://blog.brandonaaron.net/my-jquery-plugins/background-iframe/" target="_blank">Background Iframe</a><br />
<a href="http://jquery.com/plugins/project/QinIE" target="_blank">QinIE – for proper display of Q tags  in IE</a><br />
<a href="http://webrocket.ulmb.com/ability/" target="_blank">jQuery Accessibility Plugin</a><br />
<a href="http://www.ogonek.net/mousewheel/jquery-demo.html" target="_blank">jQuery MouseWheel Plugin</a></p>
<h3>Alert, Prompt, Confirm Windows</h3>
<p><a href="http://trentrichardson.com/Impromptu/" target="_blank">jQuery Impromptu</a><br />
<a href="http://nadiaspot.com/jquery/confirm" target="_blank">jQuery Confirm Plugin</a><br />
<a href="http://dev.iceburg.net/jquery/jqModal/" target="_blank">jqModal</a><br />
<a href="http://www.ericmmartin.com/projects/simplemodal/" target="_blank">SimpleModal</a></p>
<h3>CSS</h3>
<p><a href="http://www.kelvinluck.com/article/switch-stylesheets-with-jquery" target="_blank">jQuery Style Switcher</a><br />
<a href="http://andykent.bingodisk.com/bingo/public/jss/" target="_blank">JSS – Javascript StyleSheets</a><br />
<a href="http://flesler.blogspot.com/2007/11/jqueryrule.html" target="_blank">jQuery Rule – creation/manipulation of CSS Rules</a><br />
<a href="http://www.designerkamal.com/jPrintArea/" target="_blank">jPrintArea</a></p>
<h3>DOM, Ajax and other jQuery plugins</h3>
<p><a href="http://flydom.socianet.com/" target="_blank">FlyDOM</a><br />
<a href="http://brandonaaron.net/docs/dimensions/#getting-started" target="_blank">jQuery Dimenion Plugin</a><br />
<a href="http://happygiraffe.net/blog/articles/2007/09/26/jquery-logging" target="_blank">jQuery Loggin</a><br />
<a href="http://jquery.com/plugins/project/metadata" target="_blank">Metadata – extract metadata from classes, attributes, elements</a><br />
<a href="http://johannburkard.de/blog/programming/javascript/inc-a-super-tiny-client-side-include-javascript-jquery-plugin.html" target="_blank">Super-tiny Client-Side Include Javascript jQuery Plugin</a><br />
<a href="http://humanized.com/weblog/2007/09/14/undo-made-easy-with-ajax-part-1/" target="_blank">Undo Made Easy with Ajax</a><br />
<a href="http://www.jasons-toolbox.com/JHeartbeat/" target="_blank">JHeartbeat – periodically poll the server</a><br />
<a href="http://www.appelsiini.net/projects/lazyload" target="_blank">Lazy Load Plugin</a><br />
<a href="http://blog.brandonaaron.net/2007/08/19/new-plugin-live-query/" target="_blank">Live Query</a><br />
<a href="http://jquery.offput.ca/every/" target="_blank">jQuery Timers</a><br />
<a href="http://www.joanpiedra.com/jquery/shareit/" target="_blank">jQuery Share it – display social bookmarking icons</a><br />
<a href="http://www.jdempster.com/category/code/jquery/cookiejar/" target="_blank">jQuery serverCookieJar</a><br />
<a href="http://ideamill.synaptrixgroup.com/?p=3" target="_blank">jQuery autoSave</a><br />
<a href="http://www.semicomplete.com/blog/geekery/jquery-interface-puffer.html" target="_blank">jQuery Puffer</a><br />
<a href="http://33rockers.com/jquery/iframe-demo/" target="_blank">jQuery iFrame Plugin</a><br />
<a href="http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/" target="_blank">Cookie Plugin for jQuery</a><br />
<a href="http://leftlogic.com/lounge/articles/jquery_spy2" target="_blank">jQuery Spy – awesome plugin</a><br />
<a href="http://www.learningjquery.com/2007/01/effect-delay-trick" target="_blank">Effect Delay Trick</a><br />
<a href="http://jquick.sullof.com/jquick/" target="_blank">jQuick – a quick tag creator for jQuery</a><a href="http://noteslog.com/post/metaobjects-11-released-today/" target="_blank"><br />
Metaobjects</a><br />
<a href="http://www.thunderguy.com/semicolon/2007/08/14/elementready-jquery-plugin/" target="_blank">elementReady</a></p>
]]></content:encoded>
			<wfw:commentRss>http://joelgomez.org.ve/?feed=rss2&amp;p=82</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Editar Braille en OpenOffice</title>
		<link>http://joelgomez.org.ve/?p=39</link>
		<comments>http://joelgomez.org.ve/?p=39#comments</comments>
		<pubDate>Wed, 29 Jul 2009 19:01:04 +0000</pubDate>
		<dc:creator>Joel Gómez</dc:creator>
				<category><![CDATA[OpenOffice]]></category>

		<guid isPermaLink="false">http://joelgomez.org.ve/?p=39</guid>
		<description><![CDATA[ Será posible que se pueda escribir en Braille desde un editor de texto, especialmente desde OpenOffice? esta pregunta tiene una fácil respuesta. Existe una fuente que nos permite escribir en Braille, solo debemos descargala e instalarla, a continuación se explica como:
Primero, debemos descargar la fuente desde Aquí, Nótese que la fuente tiene licencia GNU/GPL
Segundo, [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 514px"><img alt="Braille en OpenOffice" src="http://wiki.mundoaccesible.org.ve/images/2/23/Braille_openoffice.jpg" title="Braille OpenOffice" width="504" height="367" /><p class="wp-caption-text">Braille en OpenOffice</p></div>
<p> Será posible que se pueda escribir en Braille desde un editor de texto, especialmente desde OpenOffice? esta pregunta tiene una fácil respuesta. Existe una fuente que nos permite escribir en Braille, solo debemos descargala e instalarla, a continuación se explica como:</p>
<p>Primero, debemos descargar la fuente desde Aquí, Nótese que la fuente tiene licencia GNU/GPL</p>
<p>Segundo, debemos instalar la fuente.<br />
 Descomprimimos el archivo que descargamos (braille_font.zip) </p>
<p>Creamos una carpeta en el directorio: /usr/share/fonts/truetype<br />
Nombremos a esa carpeta: braille </p>
<p>Pegamos el archivo que descomprimimos en la carpeta braille</p>
<p>Por último</p>
<p>  Cambie los permisos con: chown usuario:usuario braille/</p>
<p>Y listo, hagan la prueba en su OpenOffice seleccionando la fuente que acabamos de instalar y automáticamente todo lo que editemos aparecerá en Braille.</p>
]]></content:encoded>
			<wfw:commentRss>http://joelgomez.org.ve/?feed=rss2&amp;p=39</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plugin de Firefox para listar los enlaces de una página web</title>
		<link>http://joelgomez.org.ve/?p=16</link>
		<comments>http://joelgomez.org.ve/?p=16#comments</comments>
		<pubDate>Thu, 11 Jun 2009 20:12:11 +0000</pubDate>
		<dc:creator>Joel Gómez</dc:creator>
				<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://joelgomez.org.ve/?p=16</guid>
		<description><![CDATA[Las personas con discapacidad visual que hacen uso de la Internet siempre se consiguen con el inconveniente de que la mayoría de los super-desarrolladores web hacen su trabajo solo para que los sitios tengan las siguientes características en estricto orden: belleza, funcionabilidad y si se acuerdan hacen depuración, por tal motivo los sitios poseen cierta [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_41" class="wp-caption alignleft" style="width: 281px"><a rel="attachment wp-att-41" href="http://joelgomez.org.ve/?attachment_id=41"><img class="size-full wp-image-41" title="1221842238" src="http://joelgomez.org.ve/wp-content/uploads/2009/06/1221842238.png" alt="Lista de Enlaces" width="271" height="320" /></a><p class="wp-caption-text">Lista de Enlaces</p></div>
<p>Las personas con discapacidad visual que hacen uso de la Internet siempre se consiguen con el inconveniente de que la mayoría de los super-desarrolladores web hacen su trabajo solo para que los sitios tengan las siguientes características en estricto orden: belleza, funcionabilidad y si se acuerdan hacen depuración, por tal motivo los sitios poseen cierta eficacia para las personas videntes pero las personas invidentes pasan por un viacrucis para navegar.</p>
<p>Imaginemos por un momento que una persona con discapacidad visual esté navegando en un sitio que contenga una cantidad considerable de enlaces, para poder navegarla tenemos que pulsar tabulador (tab) para ir pasando por los enlaces hasta llegar al link deseado y pulsar enter (bastante tedioso).</p>
<p>Me di a la tarea de estudiar un poquito de XUL (acrónimo de XML-based User-interface Language, lenguaje basado en XML para la interfaz de usuario) que entre muchas funcionabilidades permite la creación de Plugin para Firefox. Este plugin se denomina: Linkslist.</p>
<p>Para instalar el plugin en Firefox (Iceweasel en GNU/Linux Debian) lo descargamos <a href="https://addons.mozilla.org/es-ES/firefox/addon/8653">aquí</a> desde el proyecto Mozilla, reiniciamos el navegador y con el atajo control + shift + L mostrará una pequeña ventana con soporte para los lectores de pantalla en Linux, listando todos los enlaces que tiene el sitio, buscamos en enlace deseado y presionamos enter.</p>
<p>Todavía el plugin dentro del Proyecto Mozilla está en fase experimental pero ya se puede utilizar sin ningún problema ni riesgo.</p>
]]></content:encoded>
			<wfw:commentRss>http://joelgomez.org.ve/?feed=rss2&amp;p=16</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aprendiendo Chino como un verdadero Geek ;)</title>
		<link>http://joelgomez.org.ve/?p=27</link>
		<comments>http://joelgomez.org.ve/?p=27#comments</comments>
		<pubDate>Tue, 17 Mar 2009 21:21:06 +0000</pubDate>
		<dc:creator>Joel Gómez</dc:creator>
				<category><![CDATA[Geek's]]></category>

		<guid isPermaLink="false">http://joelgomez.org.ve/?p=27</guid>
		<description><![CDATA[Aprender el idioma chino no se ve tan difícil desde el punto de vista informático. Acá le dejo la prueba de esto:
目 &#8211; rack de servidores
鈕 - arbol de navidad al lado de un rack de servidores
器 &#8211; red de PCs
明 &#8211; 2 racks de servidores
員 &#8211; 2 servidores
管 &#8211; 2 servidores con cables por [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Aprender el idioma chino no se ve tan difícil desde el punto de vista informático. Acá le dejo la prueba de esto:</p>
<p><strong><span style="font-size: 130%; font-family: verdana;"><span style="font-size: 130%;">目</span></span></strong> &#8211; rack de servidores</p>
<p><span style="font-size: 130%; font-family: verdana;"><strong><span style="font-size: 130%;">鈕</span></strong> </span>- arbol de navidad al lado de un rack de servidores</p>
<p><strong><span style="font-size: 130%; font-family: verdana;"><span style="font-size: 180%;">器</span></span></strong> &#8211; red de PCs</p>
<p><strong><span style="font-size: 130%; font-family: verdana;"><span style="font-size: 180%;">明</span></span></strong> &#8211; 2 racks de servidores</p>
<p><strong><span style="font-size: 130%; font-family: verdana;"><span style="font-size: 180%;">員</span></span></strong> &#8211; 2 servidores</p>
<p><strong><span style="font-size: 130%; font-family: verdana;"><span style="font-size: 180%;">管</span></span></strong> &#8211; 2 servidores con cables por encima</p>
<p><span style="font-size: 130%; font-family: verdana;"><strong><span style="font-size: 180%;">自</span></strong> </span>- rack de servidores con una antena wifi</p>
<p><strong><span style="font-size: 130%; font-family: verdana;"><span style="font-size: 180%;">開</span></span></strong> &#8211; escritorio con 2 monitores</p>
<p>Visto en <strong> </strong><a href="http://www.lugsaju.com.ar/2008/07/chino-para-geeks.html">LugSaJu</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://joelgomez.org.ve/?feed=rss2&amp;p=27</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Debian Lenny  &#8211; Debian Squeeze</title>
		<link>http://joelgomez.org.ve/?p=13</link>
		<comments>http://joelgomez.org.ve/?p=13#comments</comments>
		<pubDate>Fri, 06 Mar 2009 16:28:30 +0000</pubDate>
		<dc:creator>Joel Gómez</dc:creator>
				<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://joelgomez.org.ve/?p=13</guid>
		<description><![CDATA[Siempre es de mi costumbre trabajar en Debian en la versión Testing o de prueba, debido a que Lenny ya pasó a ser stable entonces me tocó pasarme a squeeze que está para valientes todavia  
Editando nuestro /etc/apt/souces.list cambiamos la palabra lenny por squeeze
Antes
deb http://ftp.debian.org/debian/ lenny main non-free contrib
deb http://www.debian-multimedia.org/ lenny main
Después
deb http://ftp.debian.org/debian/ suqeeze [...]]]></description>
			<content:encoded><![CDATA[<p>Siempre es de mi costumbre trabajar en Debian en la versión Testing o de prueba, debido a que Lenny ya pasó a ser stable entonces me tocó pasarme a squeeze que está para valientes todavia <img src='http://joelgomez.org.ve/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Editando nuestro /etc/apt/souces.list cambiamos la palabra lenny por squeeze</p>
<p>Antes</p>
<p>deb http://ftp.debian.org/debian/ lenny main non-free contrib<br />
deb http://www.debian-multimedia.org/ lenny main</p>
<p>Después</p>
<p>deb http://ftp.debian.org/debian/ suqeeze main non-free contrib<br />
deb http://www.debian-multimedia.org/ squeeze main</p>
<p>Solo nos resta hacer:</p>
<p>aptitude update &amp;&amp; aptitude safe-upgrade</p>
<p>Listo, Debian Squeeze instalado.</p>
]]></content:encoded>
			<wfw:commentRss>http://joelgomez.org.ve/?feed=rss2&amp;p=13</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>OpenOffice 2.4 mas veloz</title>
		<link>http://joelgomez.org.ve/?p=8</link>
		<comments>http://joelgomez.org.ve/?p=8#comments</comments>
		<pubDate>Thu, 05 Mar 2009 01:12:54 +0000</pubDate>
		<dc:creator>Joel Gómez</dc:creator>
				<category><![CDATA[OpenOffice]]></category>

		<guid isPermaLink="false">http://joelgomez.org.ve/?p=8</guid>
		<description><![CDATA[Quien no ha tenido que pensar en demora antes de abrir OpenOffice? bueno, ahora podremos abrir cualquier archivo de OpenOffice mas rápido mediante unos pocos cambios en su configuración.
Abrimos cualquier programa de OpenOffice y nos ubicamos en el menú de Herramientas -&#62; Opciones
OpenOffice.org
 &#124;
 -&#62; Memoria de Trabajo
En esta opción colocamos lo siguiente: 
 Cantidad [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: trebuchet ms;">Quien no ha tenido que pensar en demora antes de abrir OpenOffice? bueno, ahora podremos abrir cualquier archivo de OpenOffice</span><span style="font-family: trebuchet ms;"> mas rápido mediante unos pocos cambios en su configuración.</span></p>
<p><span style="font-family: trebuchet ms;">Abrimos cualquier programa de OpenOffice y nos ubicamos e</span><span style="font-family: trebuchet ms;">n el menú de Herramientas -&gt; Opciones</span></p>
<p><span style="font-family: trebuchet ms;">OpenOffice.org</span><br />
<span style="font-family: trebuchet ms;"> |</span><br />
<span style="font-family: trebuchet ms;"> -&gt; Memoria de Trabajo</span></p>
<p><span style="font-family: trebuchet ms;">En esta opción colocamos lo siguiente: </span></p>
<p><span style="font-family: trebuchet ms;"> Cantidad de Pasos: 30</span><br />
<span style="font-family: trebuchet ms;"> Usar para OpenOffice.org: 128</span><br />
<span style="font-family: trebuchet ms;"> Memoria por Objeto: 20,0</span><br />
<span style="font-family: trebuchet ms;"> Eliminar de la memoria tras: 00:10</span><br />
<span style="font-family: trebuchet ms;"> Cantidad de Objetos: 20</span></p>
<p><span style="font-family: trebuchet ms;">Además, chequean la opción: Habilitar Quickstarter en bandeja del sistema</span></p>
<p><span style="font-family: trebuchet ms;">Por último, en el mismo nivel de la Sección OpenOffice.org está la sección Java, nos ubicamos allí y hacemos lo siguiente:</span></p>
<p><span style="font-family: trebuchet ms;">OpenOffice.org</span><br />
<span style="font-family: trebuchet ms;"> |</span><br />
<span style="font-family: trebuchet ms;"> -&gt; Memoria de Trabajo</span><br />
<span style="font-family: trebuchet ms;"> |</span><br />
<span style="font-family: trebuchet ms;"> |</span><br />
<span style="font-family: trebuchet ms;"> -&gt; Java</span></p>
<p><span style="font-family: trebuchet ms;">Chequean la opción: Usar un entorno de ejecución Java, Luego clickean en añadir y por último seleccionar la opción que aparecerá luego</span><br />
<span style="font-family: trebuchet ms;">de añadir un entorno llamada: Free Software Fundation, 1.4.2</span></p>
<p>Les mostraré mis screenshot&#8217;s del antes y después de las modificaciones al OpenOffice:</p>
<p><img class="aligncenter size-full wp-image-9" title="conf1" src="http://joelgomez.org.ve/wp-content/uploads/2009/03/conf1.png" alt="Antes" /></p>
<p><img class="aligncenter size-full wp-image-10" title="conf2" src="http://joelgomez.org.ve/wp-content/uploads/2009/03/conf2.png" alt="Después" /></p>
<p><span style="font-family: trebuchet ms;">Reinician su OpenOffice y Listo. Notarán la diferencia en cuanto a la velocidad de carga del OpenOffice. <img src='http://joelgomez.org.ve/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://joelgomez.org.ve/?feed=rss2&amp;p=8</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hello world!</title>
		<link>http://joelgomez.org.ve/?p=1</link>
		<comments>http://joelgomez.org.ve/?p=1#comments</comments>
		<pubDate>Wed, 04 Mar 2009 22:25:50 +0000</pubDate>
		<dc:creator>Joel Gómez</dc:creator>
				<category><![CDATA[OpenOffice]]></category>

		<guid isPermaLink="false">http://joelgomez.org.ve/?p=1</guid>
		<description><![CDATA[Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!
]]></description>
			<content:encoded><![CDATA[<p>Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!</p>
]]></content:encoded>
			<wfw:commentRss>http://joelgomez.org.ve/?feed=rss2&amp;p=1</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
