<?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>Guiabreve &#187; Javascript</title>
	<atom:link href="http://guiabreve.com/tag/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://guiabreve.com</link>
	<description>Red Bull-based programming</description>
	<lastBuildDate>Thu, 26 Jan 2012 10:00:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Usando las expresiones regulares (III)</title>
		<link>http://guiabreve.com/usando-las-expresiones-regulares-iii.html</link>
		<comments>http://guiabreve.com/usando-las-expresiones-regulares-iii.html#comments</comments>
		<pubDate>Wed, 25 Jan 2012 10:58:37 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Expresiones Regulares]]></category>
		<category><![CDATA[Comprobar]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Usar]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1559</guid>
		<description><![CDATA[Indice de la serie: Creando y entendiendo expresiones regulares Expresiones regulares comunes Usando las expresiones regulares Este es el último artículo de esta Guia de Expresiones Regulares. En el primer capítulo vimos las palabras reservadas para crear nuestras propias expresiones regulares. En el segundo, vimos y explicamos algunas de las expresiones más comunes. Por último, <a href="http://guiabreve.com/usando-las-expresiones-regulares-iii.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<div class="izquierda indice" style="text-align:left;">
<h3>Indice de la serie:</h3>
<ol>
<li><a href="http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html" title="Creando y entendiendo las Expresiones regulares (I)">Creando y entendiendo expresiones regulares</a></li>
<li><a href="http://guiabreve.com/expresiones-regulares-mas-comunes-ii.html" title="Expresiones regulares más comunes (II)">Expresiones regulares comunes</a></li>
<li><a href="http://guiabreve.com/usando-las-expresiones-regulares.html" title="Usando las expresiones regulares">Usando las expresiones regulares</a></li>
</ol>
</div>
<p>Este es el último artículo de esta <strong><a href="http://guiabreve.com/categoria/guias/expresiones-regulares" title="Guia de Expresiones Regulares">Guia de Expresiones Regulares</a></strong>. En el primer capítulo vimos las palabras reservadas para <a href="http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html" title="Creando y entendiendo las Expresiones regulares (I)">crear nuestras propias expresiones regulares</a>. En el segundo, <a href="http://guiabreve.com/expresiones-regulares-mas-comunes-ii.html" title="Expresiones regulares más comunes (II)">vimos y explicamos algunas de las expresiones más comunes</a>.</p>
<p>Por último, en este tercer capítulo, aprenderemos a usar las expresiones regulares que hemos aprendido a crear o hemos visto anteriormente.</p>
<h4>Usar expresiones en PHP</h4>
<p>En PHP disponemos de la función <a href="http://www.php.net/preg_match">preg_match</a>:</p>
<pre class="brush:php">preg_match ( string $pattern , string $subject [, array &#038;$matches [, int $flags = 0 [, int $offset = 0 ]]] )</pre>
<p>Esta función dispone de 2 parámetros obligatorios y tres opcionales, pero, por lo general con los tres primeros nos será más que suficiente:</p>
<ol>
<li><strong>pattern</strong>, aqui irá nuestra expresión regular.</li>
<li><strong>subject</strong>, será un <code>string</code> en donde se buscará la expresión regular.</li>
<li><strong>matches</strong>, nos devolverá las coincidencias. En <code>matches[0]</code> contendrá el texto completo coincidente con la expresión. En <code>matches[1]</code> la primera parte de la expresión, etc.</li>
</ol>
<p>También podemos usar <a href="http://php.net/manual/en/function.preg-replace.php"><code>preg_replace</code></a> en caso de que queramos buscar y remplazar algo.</p>
<h4>En Javascript</h4>
<p>En javascript usamos <code>match</code>. Como podemos ver en el siguiente código:</p>
<ol>
<li>Definimos la expresión regular (en este caso comprobaremos un email).</li>
<li>Creamos la variable que queremos comprobar.</li>
<li>Y usando <code>email.match(RegExPattern)</code> devolverá true o false dependiendo si coincide o no y entrará a la sección del <em>if</em> correspondiente.</li>
</ol>
<pre class="brush:js">    var RegExPattern = /[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/;
    var email = 'victoor89@gmail.com';

    if ((email.match(RegExPattern))) {
        alert('Email correcto');
    } else {
        alert('Incorrecto');
    } </pre>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/usando-las-expresiones-regulares-iii.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visitors.js, personaliza tu página para cada usuario</title>
		<link>http://guiabreve.com/visitors-js-personaliza-tu-pagina-para-cada-usuario.html</link>
		<comments>http://guiabreve.com/visitors-js-personaliza-tu-pagina-para-cada-usuario.html#comments</comments>
		<pubDate>Sat, 14 Jan 2012 14:10:47 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[visitors.js]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1496</guid>
		<description><![CDATA[Visitors.js es un pequeño javascript que nos da información del usuario y así podremos personalizar nuestra página dependiendo de este. De esta forma conseguiremos hacer nuestra página más personal y puede que así consigamos mejorar las ventas. Imaginaos que entrais a una tienda online y esta os avisa de los gastos de envio a vuestra <a href="http://guiabreve.com/visitors-js-personaliza-tu-pagina-para-cada-usuario.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/visitorsjs.png" alt="" title="visitorsjs" width="298" height="98" class="noborder semifull" /><a href="http://www.visitorjs.com/details" title="visitors.js">Visitors.js</a> es un pequeño <a href="http://guiabreve.com/tag/javascript" title="Javascript en Guiabreve">javascript</a> que nos da información del usuario y así podremos personalizar nuestra página dependiendo de este.</p>
<p>De esta forma conseguiremos hacer nuestra página más personal y puede que así consigamos mejorar las ventas. Imaginaos que entrais a una tienda online y esta os avisa de los gastos de envio a vuestra casa gracias a la información que obtiene. Esta es solo una de las posibilidades que se me ocurren.</p>
<p>Algunos de los datos que obtendremos son:</p>
<ol>
<li>País y ciudad</li>
<li>Fecha de la última visita</li>
<li>Si viene de un buscador, sabremos desde cual y que ha buscado para llegar.</li>
<li>Tiempo que pasa en la web</li>
<li>Navegador y sistema operativo</li>
<li>Si viene desde un dispositivo móvil sabremos desde cual.</li>
<li><a href="http://www.visitorjs.com/details/api/variables">Y mucho más…</a></li>
</ol>
<h3>El uso no puede ser más sencillo.</h3>
<p>Después de registrarnos, es necesario para obtener una clave, agregamos la librería a nuestra página con la clave que nos den:</p>
<pre class="brush:js"><script type="text/javascript" src="http://www.visitorjs.com/visitor.js?key=TU_CLAVE"></script>
</pre>
<p>Hecho esto, ya podremos obtener datos de los usuarios con las <a href="http://www.visitorjs.com/details/api/variables">variables que podemos ver en la documentación</a>. Por ejemplo, de esta forma escribimos en la caja <code>#visitor-locale-countryCode</code> el país al que pertenece el visitante:</p>
<pre class="brush:js">$('#visitor-locale-countryCode').text(getValueText(visitor.locale.countryCode));</pre>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/visitors-js-personaliza-tu-pagina-para-cada-usuario.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Humane.Js, alertas y notificaciones</title>
		<link>http://guiabreve.com/humane-js-alertas-y-notificaciones.html</link>
		<comments>http://guiabreve.com/humane-js-alertas-y-notificaciones.html#comments</comments>
		<pubDate>Mon, 19 Dec 2011 07:10:38 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[HumaneJs]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Notificaciones]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1321</guid>
		<description><![CDATA[HumaneJs es un pequeño framework independiente en javascript que nos ayudara a generar alertas y notifiaciones. Tenemos tres estilos de alertas predefinidas: Informativas, Satisfactorias y de Errores. Cada una de ellas tiene su estilo para difenciarse del resto. HumaneJs no necesita de ninguna librería para funcionar y es configurable el tiempo de duración de la <a href="http://guiabreve.com/humane-js-alertas-y-notificaciones.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/Humanejs-e1324243132661.png" alt="" title="Humanejs" width="225" class="encuadre alignright size-full wp-image-1324" /><a href="http://wavded.github.com/humane-js/" title="HumaneJs">HumaneJs</a> es un pequeño <a href="http://guiabreve.com/tag/framework" title="Frameworks en Guiabreve">framework</a> independiente en <a href="http://guiabreve.com/tag/javascript" title="Javascript en Guiabreve">javascript</a> que nos ayudara a generar alertas y notifiaciones.</p>
<p>Tenemos tres estilos de alertas predefinidas: Informativas, Satisfactorias y de Errores. Cada una de ellas tiene su estilo para difenciarse del resto.</p>
<p><strong>HumaneJs</strong> no necesita de ninguna librería para funcionar y es configurable el tiempo de duración de la alerta, la forma de cerrar la alerta, etc.</p>
<p>Personalmente preferiría algún plugin sencillo para jQuery y así no lidiar con muchas librerías distintas pero esta es otra buena opción.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/humane-js-alertas-y-notificaciones.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creando y entendiendo las Expresiones regulares (I)</title>
		<link>http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html</link>
		<comments>http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html#comments</comments>
		<pubDate>Thu, 01 Dec 2011 13:37:50 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Expresiones Regulares]]></category>
		<category><![CDATA[Productividad]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1291</guid>
		<description><![CDATA[Indice de la serie: Creando y entendiendo expresiones regulares Expresiones regulares comunes Usando las expresiones regulares Las expresiones regulares, o patrones, son una de las cosas m&#225;s difíciles de entender debido a su complejidad, pero no nos asustemos. Una vez que las entendamos y les cojamos el tranquillo nos ser&#225;n de muchísima utilidad. &#191;Que son? <a href="http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<div class="izquierda indice" style="text-align:left;">
<h3>Indice de la serie:</h3>
<ol>
<li><a href="http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html" title="Creando y entendiendo las Expresiones regulares (I)">Creando y entendiendo expresiones regulares</a></li>
<li><a href="http://guiabreve.com/expresiones-regulares-mas-comunes-ii.html" title="Expresiones regulares más comunes (II)">Expresiones regulares comunes</a></li>
<li><a href="http://guiabreve.com/usando-las-expresiones-regulares.html" title="Usando las expresiones regulares">Usando las expresiones regulares</a></li>
</ol>
</div>
<p>Las expresiones regulares, o patrones, son una de las cosas m&aacute;s difíciles de entender debido a su complejidad, pero no nos asustemos. Una vez que las entendamos y les cojamos el tranquillo nos ser&aacute;n de muchísima utilidad.</p>
<h3>&iquest;Que son?</h3>
<p>Las expresiones regulares son patrones que permiten buscar coincidencias con combinaciones de caracteres dentro de cadenas de texto. </p>
<h4>Caracteres especiales:</h4>
<p>Para definir el patr&oacute;n usamos una combinaci&oacute;n de caracteres especiales que nos ayudar&aacute;n a crear la expresion. Los caracteres especiales m&aacute;s comunes son:<span id="more-1291"></span></p>
<table style="width:640px;margin: 5px 0 0px -180px;display:block" CELLSPACING=8>
<tbody>
<tr>
<th width="1%" valign="top"></th>
<th width="50%" valign="top">Significado</th>
<th width="49%" valign="top">Ejemplo</th>
</tr>
<tr>
<td><strong>\</strong></td>
<td>Indica que el siguiente<br />
	caracter normal debe ser considerado como especial. Tambi&eacute;n se utiliza como caracter de<br />
	escape para los caracteres especiales.</td>
<td><strong>/\n/</strong><br />
	encuentra un salto de l&iacute;ena. Si se desea buscar el caracter &#8216;\&#8217;, habr&aacute; que utilizar <strong>/\\/</strong></td>
</tr>
<tr class="alt">
<td><strong>^</strong></td>
<td>Se utiliza para<br />
	encontrar el comienzo de una l&iacute;nea.</td>
<td><strong>/a/</strong><br />
	encuentra una &#8216;a&#8217; en cualquier lugar, pero <strong>/^a/</strong> haya una<br />
	coincidencia con el caracter &#8216;a&#8217; si se encuentra al comienzo de una l&iacute;nea.</td>
</tr>
<tr>
<td><strong>$</strong></td>
<td>Se utiliza<br />
	para encontrar el final de una l&iacute;nea.</td>
</tr>
<tr class="alt">
<td><strong>*</strong></td>
<td>Encuentra coincidencia<br />
	del caracter que le precede cuando aparece 0 o m&aacute;s veces en la cadena.</td>
<td><strong>/hola*/</strong><br />
	encuentra coincidencias en las cadena &quot;hol&quot;, &quot;hola&quot; y<br />
	&quot;holaaaa&quot;.</td>
</tr>
<tr>
<td><strong>+</strong></td>
<td>Igual que<br />
	el &#8216;*&#8217;, pero cuando el caracter aparece 1 o m&aacute;s veces.</td>
</tr>
<tr class="alt">
<td><strong>?</strong></td>
<td>Igual que<br />
	el &#8216;*&#8217;, pero cuando el caracter aparece 0 o 1 vez.</td>
<td></td>
</tr>
<tr>
<td><strong>.</strong></td>
<td>Se utiliza para<br />
	encontrar cualquier caracter que no sea un caracter de nueva l&iacute;nea.</td>
<td><strong>/.sa/</strong><br />
	encontrar&aacute; coincidencias en las cadenas &quot;casa&quot;, &quot;cosa&quot; y<br />
	&quot;cesa&quot;, pero no en &quot;asa&quot;.</td>
</tr>
<tr class="alt">
<td><strong>(x)</strong></td>
<td>Encuentra<br />
	coincidencias con &#8216;x&#8217;, y recuerda el patr&oacute;n para su posterior utilizaci&oacute;n.</td>
<td></td>
</tr>
<tr>
<td><strong>x|y</strong></td>
<td>Encuentra<br />
	coincidencia si aparece el caracter &#8216;x&#8217; o el caracter &#8216;y&#8217;.</td>
</tr>
<tr class="alt">
<td><strong>{n}</strong></td>
<td>Encuentra coincidencia<br />
	si hay exactamente n apariciones del caracter que precede.</td>
<td>Por ejemplo, <strong>/a{3}/</strong> encuentra coincidencia en &quot;holaaa&quot;, pero no en<br />
	&quot;holaa&quot;.</td>
</tr>
<tr>
<td><strong>{n,}</strong></td>
<td>Encuentra<br />
	coincidencia si hay al menos n apariciones del caracter que precede.</td>
</tr>
<tr class="alt">
<td><strong>{n,m}</strong></td>
<td>Encuentra<br />
	coincidencia si hay como m&iacute;nimo n y com m&aacute;ximo m apariciones del caracter que precede.</td>
<td></td>
</tr>
<tr>
<td><strong>[xyz]</strong></td>
<td>Representa un conjunto<br />
	de caracteres individuales.</td>
<td><strong>/[aeiou]/</strong><br />
	encuentra coincidencias con cualquier vocal. Si se utiliza el caracter &#8216;-&#8217; se pueden<br />
	definir rangos. Por ejemplo, <strong>/[0-3]/</strong> encuentra coincidencias<br />
	si aparecen en la cadena los caracteres &#8217;0&#8242;, &#8217;1&#8242;, &#8217;2&#8242; o &#8217;3&#8242;.</td>
</tr>
<tr class="alt">
<td><strong>[^xyz]</strong></td>
<td>Representa<br />
	un conjunto de caracteres individuales complementario. Encunetra coincidencias con<br />
	aquellos caracteres que NO aparezcan en el conjunto. Al igual que en el caso anterior, con<br />
	el &#8216;-&#8217; se pueden definir rangos.</td>
<td></td>
</tr>
<tr>
<td><strong>[\b]</strong></td>
<td>Encuentra<br />
	coincidencia con el caracter de retroceso.</td>
</tr>
<tr class="alt">
<td><strong>\b</strong></td>
<td>Encuentra coincidencias<br />
	con los l&iacute;mites de las palabras.</td>
<td>Por ejemplo, <strong>/\bola/</strong> encuentra la cadena &quot;ola&quot; en &quot;Viene una<br />
	ola&quot;, pero no en &quot;Viene una cola&quot;.</td>
</tr>
</tbody>
</table>
<p><!--</p>
<h4>Expresiones populares explicadas:</h4>
<p>A continuaci&oacute;n analizaremos algunas de las m&aacute;s populares para entender el uso de los caracteres especiales en ellas.<br />
&#8211;><br />
<!-- A&ntilde;adir algunas expresiones regulares populares EXPLICADAS --></p>
<p>Y con estoy ya podemos crear nuestras pr&oacute;pias expresiones regulares. </p>
<p>En el próximo capítulo enseñaré algunas de las expresiones regulares más comunes explicándolas para que además de sernos utiles las entendamos.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/creando-y-entendiendo-las-expresiones-regulares-i.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Countdown.js, Calculando el tiempo entre dos fechas</title>
		<link>http://guiabreve.com/countdown-js-calculando-el-tiempo-entre-dos-fechas.html</link>
		<comments>http://guiabreve.com/countdown-js-calculando-el-tiempo-entre-dos-fechas.html#comments</comments>
		<pubDate>Wed, 30 Nov 2011 07:09:58 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Countdown.js]]></category>
		<category><![CDATA[Cuenta Atras]]></category>
		<category><![CDATA[Diferencia]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Libreria]]></category>
		<category><![CDATA[Tiempo]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1271</guid>
		<description><![CDATA[Countdown.js es una librería pensada para calcular y mostrar el tiempo que hay entre dos fechas. La librería calcula el tiempo continuamente, teniendo en cuenta que el tiempo avanza, por lo tanto es ideal para mostrar cuentas atras para eventos o fechas especificas. También podemos configurar el formato en el que nos devuelve la fecha <a href="http://guiabreve.com/countdown-js-calculando-el-tiempo-entre-dos-fechas.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/CountDownjs-684x129.png" alt="" title="CountDownjs" width="684" height="129" class="aligncenter size-large wp-image-1273 encuadre" /><a href="http://countdownjs.org/">Countdown.js</a> es una librería pensada para calcular y mostrar el tiempo que hay entre dos fechas.</p>
<p>La librería calcula el tiempo continuamente, teniendo en cuenta que el tiempo avanza, por lo tanto es ideal para mostrar cuentas atras para eventos o fechas especificas.</p>
<p>También podemos configurar el formato en el que nos devuelve la fecha pudiendo añadir milisegundos, segundos, minutos, horas, días, semanas, etc.</p>
<p>Aqui podemos encontrar toda <a href="http://countdownjs.org/readme.html">la documentación</a> necesaria y una <a href="http://countdownjs.org/demo.html">demostración</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/countdown-js-calculando-el-tiempo-entre-dos-fechas.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Mobile 1.0 ya está disponible</title>
		<link>http://guiabreve.com/jquery-mobile-1-0-ya-esta-disponible.html</link>
		<comments>http://guiabreve.com/jquery-mobile-1-0-ya-esta-disponible.html#comments</comments>
		<pubDate>Tue, 29 Nov 2011 13:28:17 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jQuery Mobile]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1265</guid>
		<description><![CDATA[Ha pasado casi un año desde el lanzamiento de la primera versión beta de jQuery Mobile y ahora ya disponemos de la versión 1.0 estable. Si no conocéis jQuery Mobile, se trata de un framework que es compatible con la mayoría de navegadores webs de móviles. Además de, estar bien documentado y de poder generar <a href="http://guiabreve.com/jquery-mobile-1-0-ya-esta-disponible.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/logo-de-jquery-150x150.png" alt="" title="jQuery" width="150" height="150" class="encuadre alignright size-thumbnail wp-image-623" />Ha pasado casi un año desde el lanzamiento de la primera versión beta de <a href="http://jquerymobile.com/" title="jQuery Mobile">jQuery Mobile</a> y ahora ya disponemos de la <a href="http://jquerymobile.com/blog/2011/11/16/announcing-jquery-mobile-1-0/" title="Anuncio de la versión estable">versión 1.0 estable</a>.</p>
<p>Si no conocéis jQuery Mobile, se trata de un <em>framework</em> que es compatible con la mayoría de navegadores webs de móviles. Además de, estar bien documentado y de poder generar themes con <a href="http://jquerymobile.com/themeroller/">ThemeRoller</a>, incluye también numerosos widgets optimizados para pantallas tactiles así como botones, barras de herramientas, listas, etc que nos ayudarán a comenzar nuestro proyecto móvil.</p>
<p>Sin duda, como mínimo, se merece un vistazo</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/jquery-mobile-1-0-ya-esta-disponible.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keypad, teclado virtual en pantalla con jQuery</title>
		<link>http://guiabreve.com/keypad-teclado-virtual-en-pantalla-con-jquery.html</link>
		<comments>http://guiabreve.com/keypad-teclado-virtual-en-pantalla-con-jquery.html#comments</comments>
		<pubDate>Wed, 09 Nov 2011 15:30:04 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Keypad]]></category>
		<category><![CDATA[Teclado virtual]]></category>
		<category><![CDATA[TVP]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1216</guid>
		<description><![CDATA[Ultimamente, en el trabajo, estoy desarrollando una herramienta para gestionar las tiendas de la empresa. Facturas, Albaranes, Ventas de productos, Stocks, etc. nada especialmente interesante. Una de las peculiaridades del proyecto es que en las tiendas, por lo general, los ordenadores o TPVs no disponen de teclado y rat&#243;n ya que usan pantallas t&#225;ctiles por <a href="http://guiabreve.com/keypad-teclado-virtual-en-pantalla-con-jquery.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p>Ultimamente, en el trabajo, estoy desarrollando una herramienta para gestionar las tiendas de la empresa. Facturas, Albaranes, Ventas de productos, Stocks, etc. nada especialmente interesante.</p>
<p>Una de las peculiaridades del proyecto es que en las tiendas, por lo general, los ordenadores o TPVs no disponen de teclado y rat&oacute;n ya que usan pantallas t&aacute;ctiles por lo que me vi obligado a inclu&iacute;r un teclado en pantalla para los <em>inputs</em> de texto.</p>
<p>Para ello encontre dos soluciones en la web. Por un lado estaba <a href="http://keith-wood.name/keypad.html">jQuery Keypad</a> y por otro lado <a href="http://mottie.github.com/Keyboard/">Virtual Keyboard</a>.<span id="more-1216"></span></p>
<p>Yo decid&iacute; usar la primera por su sencillez. Para implementar jQuery Keypad en cualquier p&aacute;gina necesitamos. Primero que nada, agregar las librer&iacute;as necesarias por el plugin as&iacute; como <a href="http://guiabreve.com/tag/jQuery">jQuery</a>:</p>
<pre class="brush:html">
<!-- jQuery -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<!-- jQuery Keypad y el archivo de idioma Español -->
<script type="text/javascript" src="js/keypad/jquery.keypad.js"></script>
<script type="text/javascript" src="js/keypad/jquery.keypad-es.js"></script>
<!-- CSS -->
<link href="js/keypad/jquery.keypad.css" rel="stylesheet" type="text/css" />
</pre>
<p>Luego iniciamos el plugin:</p>
<pre class="brush:js">
	<script type="text/javascript">
		$(document).ready(function(){
			// Layaut de teclado Qwerty
			var qwertyLayout = [ 
			    $.keypad.qwertyAlphabetic[0] + $.keypad.CLOSE, 
			    $.keypad.HALF_SPACE + $.keypad.qwertyAlphabetic[1] + 
			    $.keypad.HALF_SPACE + $.keypad.CLEAR, 
			    $.keypad.SPACE + $.keypad.qwertyAlphabetic[2] + 
			    $.keypad.SHIFT + $.keypad.BACK
			];
			// Todos los inputs tipo texto con la clase "text" incluirán
			// un teclado QWERTY
			$('input[type=text].text').keypad({keypadOnly: false, layout: qwertyLayout});
			// Inputs de texto con clase "num" incluirán un 
			// teclado numerico
			$('input[type=text].num').keypad();
		});
	</script>
</pre>
<p>Con esto ser&aacute; suficiente para tener el teclado virtual en los <em>inputs</em> que queramos. Para ello, si queremos un teclado <em>Qwerty</em> incluiremos la clase <code>text</code>. Si solo queremos un teclado num&eacute;rico, a&ntilde;adimos la clase <code>num</code> al input.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/keypad-teclado-virtual-en-pantalla-con-jquery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jsMessage, alertas y notificaciones</title>
		<link>http://guiabreve.com/jsmessage-alertas-y-notificaciones.html</link>
		<comments>http://guiabreve.com/jsmessage-alertas-y-notificaciones.html#comments</comments>
		<pubDate>Fri, 04 Nov 2011 15:31:52 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Alertas]]></category>
		<category><![CDATA[Confirmaciones]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jsMessages]]></category>
		<category><![CDATA[Notificaciones]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1210</guid>
		<description><![CDATA[jsMessage es una pequeña librería javascript que nos facilitará la tarea de mostrar alertas, notificaciones o mensajes de confirmación con estilo. La librería pesa solo 3kb es su versión comprimida y no necesita de otras librerías para funcionar. Podremos personalizar el aspecto de las alertas y notificaciones además de el tiempo de duración de estas. <a href="http://guiabreve.com/jsmessage-alertas-y-notificaciones.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/jsmessages.png" alt="" title="jsmessages" width="327" height="189" class="alignright size-full wp-image-1212 encuadre" /><a href="http://dhtmlx.github.com/message/">jsMessage</a> es una pequeña librería <a href="http://guiabreve.com/tag/javascript" title="Javascript en Guiabreve">javascript</a> que nos facilitará la tarea de mostrar alertas, notificaciones o mensajes de confirmación con estilo.</p>
<p>La librería pesa solo 3kb es su versión comprimida y no necesita de otras librerías para funcionar.</p>
<p>Podremos personalizar el aspecto de las alertas y notificaciones además de el tiempo de duración de estas. También podemos permitir la interacción del usuario y recibir las respuestas de estos a los mensajes de confirmación.</p>
<p>Personalmente preferiría un plugin de <a href="http://guiabreve.com/tag/jquery" title="jQuery en Guiabreve">jQuery</a>, pero, esta no es una mala opción</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/jsmessage-alertas-y-notificaciones.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>List.js, mejorando las listas HTML</title>
		<link>http://guiabreve.com/list-js-mejorando-las-listas-html.html</link>
		<comments>http://guiabreve.com/list-js-mejorando-las-listas-html.html#comments</comments>
		<pubDate>Mon, 24 Oct 2011 15:30:41 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[List]]></category>
		<category><![CDATA[Listas]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1121</guid>
		<description><![CDATA[Do you want a 7 KB cross-browser native JavaScript that makes your plain HTML lists super flexible, searchable, sortable and filterable? Yeah! Do you also want the possibility to add, edit and remove items by dead simple templating? Hell yeah! Esta es la descripción que encontramos en la propia web de List.js. Un script sencillo, <a href="http://guiabreve.com/list-js-mejorando-las-listas-html.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/listjs-logo.png" alt="" title="listjs-logo" width="344" height="318" class="alignright size-full wp-image-1124" /><br />
<blockquote>Do you want a 7 KB cross-browser native JavaScript that makes your plain HTML lists super flexible, searchable, sortable and filterable? Yeah! Do you also want the possibility to add, edit and remove items by dead simple templating? Hell yeah!</p></blockquote>
<p>Esta es la descripción que encontramos en la propia web de <a href="http://listjs.com/" title="List.js">List.js</a>. Un script sencillo, de solo <code>7 kb</code> que nos permite mejorar las listas <a href="http://guiabreve.com/tag/html" title="HTML en Guiabreve">HTML</a> que permite buscar en listas y reordenarlas. Además permite añadir, editar o eliminar elementos dinamicamente por medio de <a href="http://guiabreve.com/tag/javascript" title="Javascript en Guiabreve">Javascript</a>.</p>
<p>No hace falta explicar su uso, si entramos a la página vemos ejemplos y es muy sencillo de implementar.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/list-js-mejorando-las-listas-html.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jwerty, accesos de teclado con jQuery</title>
		<link>http://guiabreve.com/jwerty-accesos-de-teclado-con-jquery.html</link>
		<comments>http://guiabreve.com/jwerty-accesos-de-teclado-con-jquery.html#comments</comments>
		<pubDate>Fri, 07 Oct 2011 08:31:55 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[accesos directos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jwerty]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[teclado]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=1050</guid>
		<description><![CDATA[Jwerty es un plugin jQuery que nos ayudará y facilitará el uso de accesos de teclado en nuestra web. Como podemos ver en la demo de jwerty, por ejemplo, si apretamos Ctrl + Alt + Z, por ejemplo, descargamos el plugin. Lo mejor de todo es que es realmente sencillo de usar: jwerty.key('ctrl+shift+P', function () <a href="http://guiabreve.com/jwerty-accesos-de-teclado-con-jquery.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1052 encuadre" title="qwerty" src="http://guiabreve.com/wp-content/uploads/qwerty.png" alt="" width="365" height="69" /><a href="http://keithamus.github.com/jwerty/" title="jWerty">Jwerty</a> es un plugin <a href="http://guiabreve.com/tag/jquery" title="jQuery en Guiabreve">jQuery</a> que nos ayudará y facilitará el uso de <strong>accesos de teclado</strong> en nuestra web.</p>
<p>Como podemos ver en la demo de jwerty, por ejemplo, si apretamos Ctrl + Alt + Z, por ejemplo, descargamos el plugin.</p>
<p>Lo mejor de todo es que es realmente sencillo de usar:</p>
<pre class="brush:js">jwerty.key('ctrl+shift+P', function () { [...] });
jwerty.key('⌃+⇧+P', function () { [...] });</pre>
<p>Sencillo, ¿verdad?</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/jwerty-accesos-de-teclado-con-jquery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiselect con jQuery</title>
		<link>http://guiabreve.com/multiselect-con-jquery.html</link>
		<comments>http://guiabreve.com/multiselect-con-jquery.html#comments</comments>
		<pubDate>Tue, 20 Sep 2011 11:00:01 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Multipleselect]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Select multiple]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=958</guid>
		<description><![CDATA[Los elementos &#8220;multiselect&#8221; de HTML son poco usables ya que obligan al usuario a presionar Ctrl o Mayus para elegir varios elementos. Con jQuery podemos mejorarlos. Con el plugin Multiselect cambia el diseño y mejora la usabilidad de estos elementos. Usando este plugin permitiremos al usuario seleccionar varios elementos usando solo el ratón. Además estos <a href="http://guiabreve.com/multiselect-con-jquery.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/select-multiple-multiselect-jquery-300x67.png" alt="" title="select-multiple-multiselect-jquery" width="380" class="alignright size-medium wp-image-960" />Los elementos &#8220;multiselect&#8221; de <a href="http://guiabreve.com/tag/html" title="HTML en Guiabreve">HTML</a> son poco usables ya que obligan al usuario a presionar Ctrl o Mayus para elegir varios elementos.</p>
<p>Con <a href="http://guiabreve.com/tag/jquery" title="jQuery en Guiabreve">jQuery</a> podemos mejorarlos. Con el plugin <a href="http://corydorning.com/demos/multiselect" title="Multiselect jQuery Plugin">Multiselect</a> cambia el diseño y mejora la usabilidad de estos elementos.</p>
<p>Usando este plugin permitiremos al usuario seleccionar varios elementos usando solo el ratón. Además estos elementos se mostrarán en una lista teniendo la posibilidad de eliminarlos pulsando la <code>x</code> situada a la derecha.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/multiselect-con-jquery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>9 librerías javascript para crear presentaciones basadas en web</title>
		<link>http://guiabreve.com/9-librerias-javascript-para-crear-presentaciones-basadas-en-web.html</link>
		<comments>http://guiabreve.com/9-librerias-javascript-para-crear-presentaciones-basadas-en-web.html#comments</comments>
		<pubDate>Mon, 19 Sep 2011 10:00:04 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Deck.js]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Presentaciones]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=943</guid>
		<description><![CDATA[Además de Microsoft Powerpoint o Keynote podemos crear presentaciones en web. Estas 9 librerías están pensadas para crear presentaciones por medio de HTML y Javascript. Aqui ya hablé de deck.js pero además, tenemos otras 8 librerías similares. Transiciones, pantalla completa o acceso con el teclado son algunas de las cosas que podemos hacer. La ventaja <a href="http://guiabreve.com/9-librerias-javascript-para-crear-presentaciones-basadas-en-web.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/Pure-CSS-Slideshow-300x108.jpg" alt="" title="Pure CSS Slideshow" width="350" class="alignright size-medium wp-image-949" />Además de <strong>Microsoft Powerpoint</strong> o <strong>Keynote</strong> podemos crear presentaciones en web. <strong>Estas <a href="http://www.webresourcesdepot.com/9-free-javascript-libraries-templates-for-beautiful-web-based-presentations/" title="9 Free JavaScript Libraries &#038; Templates For Beautiful Web-Based Presentations">9 librerías</a> están pensadas para crear presentaciones por medio de HTML y Javascript.</strong></p>
<p>Aqui ya hablé de <a href="http://guiabreve.com/deck-js-presentaciones-web-en-html.html" title="Deck.js, presentaciones web en HTML">deck.js</a> pero además, tenemos otras 8 librerías similares.</p>
<p>Transiciones, pantalla completa o acceso con el teclado son algunas de las cosas que podemos hacer. La ventaja es que al estar realizadas vía web simplemente tendremos que acceder a la URL donde subamos la presentación y no tenemos que asegurarnos de que el ordenador en cuestión tenga instalado el software necesario.</p>
<p>Además son ideales para presentar y explicar un servicio a nuevos visitantes de una forma original.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/9-librerias-javascript-para-crear-presentaciones-basadas-en-web.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Efectos 3D con jQuery</title>
		<link>http://guiabreve.com/efectos-3d-con-jquery.html</link>
		<comments>http://guiabreve.com/efectos-3d-con-jquery.html#comments</comments>
		<pubDate>Wed, 14 Sep 2011 11:00:45 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[2d]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Transform.js]]></category>
		<category><![CDATA[Transformaciones]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=909</guid>
		<description><![CDATA[Transform.js es un plugin para jQuery que nos añade la capacidad de realizar transformaciones y efectos en 3D y 2D usando propiedades de CSS y del framework en sí. Como vemos en el web del plugin, este aún se encuentra en versión beta pero funciona y se puede usar. $(document).ready(function() { $('#forward').click(function() { $('#test').animate({ translateX:'-=150', <a href="http://guiabreve.com/efectos-3d-con-jquery.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://transformjs.strobeapp.com/" title="Transform.js">Transform.js</a> es un plugin para <a href="http://guiabreve.com/tag/jquery" title="jQuery">jQuery</a> que nos añade la capacidad de realizar <strong>transformaciones y efectos en 3D y 2D</strong> usando propiedades de <a href="http://guiabreve.com/tag/css" title="CSS">CSS</a> y del framework en sí.</p>
<p>Como vemos en el web del plugin, este aún se encuentra en versión beta pero funciona y se puede usar.</p>
<pre class="brush:js">$(document).ready(function() {
$('#forward').click(function() {
  $('#test').animate({
	translateX:'-=150',
	translateY:'+=150',
	scale:'+=2',
	rotateY: '+='+(2*Math.PI),
	rotateX: '+='+Math.PI,
	rotateZ: '+='+Math.PI
  },1500);
});  

$('#backward').click(function() {
  $('#test').animate({
	translateX:'+=150',
	translateY:'-=150',
	scale:'-=2',
	rotateY: '-='+(2*Math.PI),
	rotateX: '-='+Math.PI,
	rotateZ: '-='+Math.PI
  },1500);
})
});</pre>
<p>El código anterior crea dos animaciones. Una al cliquear el elemento <code>#forward</code> que aumenta la imagen usando un efecto 3D. Y la otra, #backward, reduce la imagen usando el mismo efecto. Podemos ver este efecto en <a href="http://transformjs.strobeapp.com/#demo" title="Demostración de Transform.js">la web</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/efectos-3d-con-jquery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recurly.js plantilla para realizar cobros</title>
		<link>http://guiabreve.com/recurly-js-plantilla-para-realizar-cobros.html</link>
		<comments>http://guiabreve.com/recurly-js-plantilla-para-realizar-cobros.html#comments</comments>
		<pubDate>Fri, 26 Aug 2011 08:00:33 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Cobros]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Libreria]]></category>
		<category><![CDATA[Recurly.js]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=848</guid>
		<description><![CDATA[Recurly.js es una librería javascript que hace uso de jQuery para realizar cobros, transacciones o almacenar información sobre tarjetas de créditos, etc. El diseño esta muy bien conseguido pero además son dinámicas y personalizables por medio de CSS. Como podemos ver en los ejemplos, la librería incluye validación de formularios, cálculos en tiempo real y <a href="http://guiabreve.com/recurly-js-plantilla-para-realizar-cobros.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><iframe style="float:right;margin:0 0 8px 8px" src="http://player.vimeo.com/video/27926433?title=0&amp;byline=0&amp;portrait=0" width="400" height="225" frameborder="0"></iframe><a href="http://js.recurly.com/">Recurly.js</a> es una librería <a href="http://guiabreve.com/tag/javascript" title="Etiqueta: Javascript">javascript</a> que hace uso de <a href="http://guiabreve.com/tag/jquery" title="Etiqueta: jQuery">jQuery</a> para realizar cobros, transacciones o almacenar información sobre tarjetas de créditos, etc. </p>
<p>El diseño esta muy bien conseguido pero además son dinámicas y personalizables por medio de <a href="http://guiabreve.com/tag/css">CSS</a>.</p>
<p>Como podemos ver en <a href="https://js.recurly.com/examples/" title="Ejemplos de Recurly.js">los ejemplos</a>, la librería <strong>incluye validación de formularios</strong>, <strong>cálculos en tiempo real</strong> y <strong>manejo de errores</strong>. Además se verifica la información de la tarjeta de crédito en los servidores de Recurly entando así uso de nuestra CPU.</p>
<p>Para usar la librería en nuestra web necesitamos llamar a la hoja de estilos, a jQuery y al archivo <code>recurly.js</code>. Después solo nos queda iniciar la librería y definir los parámetros de configuración:<span id="more-848"></span></p>
<pre class="brush:html"><!-- Llamamos a los archivos necesarios -->
<link rel="stylesheet" href="/style/recurly.css" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script src="/lib/recurly.js"></script>
</pre>
<pre class="brush:js"><!-- Inicializamos y configuramos -->
<script>
  $(function() {
    Recurly.config({
        subdomain: 'mycompany' 
      , environment: 'sandbox' // or 'production'
      , currency: 'USD' // GBP | CAD | EUR, etc...
    });

    Recurly.buildSubscriptionForm({
      target: '#recurly-subscribe' // Elemento donde saldra el formulario
    , planCode: 'simpleplan'
    });
  });
</script></pre>
<p>Luego solo nos queda añadir el <coede>div</code> donde saldrá el formulario en nuestro HTML.</p>
<pre class="brush:html">
<div id="recurly-subscribe"></div>
</pre>
<p>Con esto debería de ser suficiente para empezar.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/recurly-js-plantilla-para-realizar-cobros.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deck.js, presentaciones web en HTML</title>
		<link>http://guiabreve.com/deck-js-presentaciones-web-en-html.html</link>
		<comments>http://guiabreve.com/deck-js-presentaciones-web-en-html.html#comments</comments>
		<pubDate>Thu, 25 Aug 2011 08:00:45 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Deck.js]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Presentaciones]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=839</guid>
		<description><![CDATA[Deck.js nos permite crear presentaciones web en HTML. Como podemos ver en la web del script las presentaciones lucen a pantalla completa y podemos usar las fechas para desplazarnos a través de ellas. El código de una presentación con 3 diapositivas sería el siguiente: My Presentation Slide Header Here is a list of points: Point <a href="http://guiabreve.com/deck-js-presentaciones-web-en-html.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/Captura-de-pantalla-2011-08-24-a-las-23.30.54.png" alt="" title="Deck.js" width="323" class="alignright size-full wp-image-841 encuadre" /><a href="http://imakewebthings.github.com/deck.js/">Deck.js</a> nos permite crear presentaciones web en <a href="http://guiabreve.com/tag/html" title="Etiqueta: HTML">HTML</a>. Como podemos ver en <a href="http://imakewebthings.github.com/deck.js/">la web del script</a> las presentaciones lucen a pantalla completa y podemos usar las fechas para desplazarnos a través de ellas.</p>
<p>El código de una presentación con 3 diapositivas sería el siguiente:</p>
<div class="clear"></div>
<pre class="brush:html"><body class="deck-container on-slide-1">
<div class="slide deck-previous">
<h1>My Presentation</h1>
</div>
<div class="slide deck-current">
<h2>Slide Header</h2>

Here is a list of points:
<ul>
<li>Point 1</li>
<li>Point 2</li>
<li>Point 3</li>
</ul></div>
<div class="slide deck-next">
<h2>Another Slide</h2>
<blockquote cite="http://example.com">

Lorem ipsum dolor sit amet.

<cite>Cicero</cite>
</blockquote></div>

</body></pre>
<p>Cada diapositiva sería un <code>div</code> con la clase <code>slide</code> con lo cual, crear presentaciones es muy sencillo. Además podemos definir efectos de transición entre cada diapositiva, así como la diapositiva de inicio (no tiene por que ser la primera).<span id="more-839"></span></p>
<p>También nos da la opción de agregar elementos como el número de diapositiva en el que nos encontramos, y controles visuales para navegar por las diapositivas o ir directamente a una.</p>
<p>Este tipo de técnicas es <strong>perfecto para presentar una web o herramienta a un visitante</strong>. Para esos <em>tours</em> que suelen hacer las webs 2.0 que explican las capacidades de su web.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/deck-js-presentaciones-web-en-html.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mobilize.js, genera una versión móvil de tu web</title>
		<link>http://guiabreve.com/mobilize-js-genera-una-version-movil-de-tu-web.html</link>
		<comments>http://guiabreve.com/mobilize-js-genera-una-version-movil-de-tu-web.html#comments</comments>
		<pubDate>Mon, 22 Aug 2011 08:45:39 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Mobilize.js]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=800</guid>
		<description><![CDATA[Mobilize.js es un framework que nos permite, de forma sencilla, generar una versión móvil de nuestra web. Lo que hace es comprobar el navegador (dispositivo) que usa el visitante para acceder a nuestra web. Si este se trata de un móvil sigue el siguiente proceso: Detiene la carga de imágenes, vídeos, etc. Carga los recursos <a href="http://guiabreve.com/mobilize-js-genera-una-version-movil-de-tu-web.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/Captura-de-pantalla-2011-08-21-a-las-12.05.01-684x109.png" alt="" title="Captura de pantalla 2011-08-21 a la(s) 12.05.01" width="684" height="109" class="aligncenter size-large wp-image-802" /><a href="http://mobilizejs.com/" title="Mobilize.js">Mobilize.js</a> es un <em>framework</em> que nos permite, de forma sencilla, generar una versión móvil de nuestra web.</p>
<p>Lo que hace es comprobar el navegador (dispositivo) que usa el visitante para acceder a nuestra web. Si este se trata de un móvil sigue el siguiente proceso:</p>
<ol>
<li>Detiene la carga de imágenes, vídeos, etc.</li>
<li>Carga los recursos que Mobilize necesita.</li>
<li>Y adapta el contenido para ser visto desde un móvil.</li>
</ol>
<p>En la <a href="http://cdn.mobilizejs.com/docs/trunk/manual/index.html" title="Documentación Mobilize.js">documentación</a> podemos ver un ejemplo del <a href="http://cdn.mobilizejs.com/docs/trunk/manual/introduction.html#how-it-works">resultado que podemos obtener</a>.</p>
<p>Para <a href="http://cdn.mobilizejs.com/docs/trunk/manual/installation.html"><strong>instalar Mobilize.js</strong> en nuestra web</a> tenemos varios métodos. Pero, si usamos WordPress lo muy sencillo. Simplemente tenemos que instalar el <a href="http://cdn.mobilizejs.com/docs/trunk/manual/integrations/wordpress.html" title="Mobilize.js Plugin WordPress">plugin oficial</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/mobilize-js-genera-una-version-movil-de-tu-web.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Genera círculos de carga con Spin.js</title>
		<link>http://guiabreve.com/genera-circulos-de-carga-con-spin-js.html</link>
		<comments>http://guiabreve.com/genera-circulos-de-carga-con-spin-js.html#comments</comments>
		<pubDate>Fri, 19 Aug 2011 08:00:07 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Carga]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Spin.js]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=775</guid>
		<description><![CDATA[Spin.js es una librería javascript que nos permite generar imágenes de carga como la que podemos ver en el ejemplo de la derecha. Es compatible con Chrome, Safari 4+, Firefox 3.5+, IE 6,7,8,9+, Opera 10.6+ e incluso Mobile Safari (iOS 4). Además todo se genera sin usar ninguna imagen. Todo por medio de HTML y <a href="http://guiabreve.com/genera-circulos-de-carga-con-spin-js.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/Captura-de-pantalla-2011-08-18-a-las-15.38.38-300x140.png" alt="" title="Spin.js" width="300" height="140" class="encuadre alignright size-medium wp-image-776" /><a href="http://fgnass.github.com/spin.js/" title="Spin.js">Spin.js</a> es una librería <a href="http://guiabreve.com/tag/javascript" title="Etiqueta: Javascript">javascript</a> que nos permite <a href="http://www.webappers.com/2011/08/18/create-spinning-progress-indicator-with-spin-js/?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+Webappers+%28WebAppers%29&#038;utm_content=Google+Reader" title="WebAppers">generar imágenes de carga</a> como la que podemos ver en el ejemplo de la derecha.</p>
<p>Es compatible con Chrome, Safari 4+, Firefox 3.5+, IE 6,7,8,9+, Opera 10.6+ e incluso Mobile Safari (iOS 4). Además todo se genera sin usar ninguna imagen. <strong>Todo por medio de HTML y CSS3</strong>. </p>
<p>Para iniciar el script simplemente definimos las opciones y el elemento donde se mostrara el círculo de carga. En esta caso en <code>#foo</code>.</p>
<pre class="brush:js"> var opts = {
  lines: 12, // The number of lines to draw
  length: 7, // The length of each line
  width: 5, // The line thickness
  radius: 10, // The radius of the inner circle
  color: '#000', // #rbg or #rrggbb
  speed: 1, // Rounds per second
  trail: 100, // Afterglow percentage
  shadow: true // Whether to render a shadow
};
var target = document.getElementById('foo');
var spinner = new Spinner(opts).spin(target); </pre>
<p>Para detener el círculo disponemos del método <code>Stop()</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/genera-circulos-de-carga-con-spin-js.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usa reCaptcha con PHP</title>
		<link>http://guiabreve.com/usa-recaptcha-con-php.html</link>
		<comments>http://guiabreve.com/usa-recaptcha-con-php.html#comments</comments>
		<pubDate>Tue, 09 Aug 2011 15:43:02 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Programación y Diseño]]></category>
		<category><![CDATA[Captcha]]></category>
		<category><![CDATA[Formulario]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[reCaptcha]]></category>
		<category><![CDATA[Validacion]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=705</guid>
		<description><![CDATA[reCaptcha es un servicio de validación que nos permite evitar robots que rellenan automáticamente formularios. Además de evitar spam, con reCaptcha ayudaremos a transcribir libros con mayor precisión gracias a la ayuda de los usuarios. Podemos implementar reCaptcha en cualquier formulario de forma sencilla. Para empezar necesitamos la librería para PHP que podemos obtener desde <a href="http://guiabreve.com/usa-recaptcha-con-php.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><a title="reCaptcha" href="http://www.google.com/recaptcha"><img class="alignright size-full wp-image-706" title="recaptcha-example-300x119" src="http://guiabreve.com/wp-content/uploads/recaptcha-example-300x119.gif" alt="" width="300" height="119" />reCaptcha</a> es un servicio de validación que nos permite evitar robots que rellenan automáticamente formularios. Además de evitar <em>spam</em>, con <strong>reCaptcha</strong> ayudaremos a transcribir libros con mayor precisión gracias a la ayuda de los usuarios.</p>
<p>Podemos implementar <strong>reCaptcha </strong>en cualquier formulario de forma sencilla. Para empezar necesitamos la librería para PHP que podemos obtener desde <a title="Librería PHP para reCAPTCHA" href="http://code.google.com/p/recaptcha/downloads/list?q=label:phplib-Latest">aquí</a>.</p>
<p>Antes de empezar, necesitamos <a href="http://www.google.com/recaptcha/whyrecaptcha">registrarnos</a> para obtener las claves necesarias.<span id="more-705"></span></p>
<p>Primero <strong>añadimos el captcha al formulario</strong>, tenemos dos formas:</p>
<ol>
<li>Usando el plugin (Recomendado):
<pre class="brush:php">require_once('recaptchalib.php');
  $publickey = "your_public_key"; // you got this from the signup page
  echo recaptcha_get_html($publickey);</pre>
</li>
<li>O sin usar ningún plugin:
<pre class="brush:js">&lt;script type="text/javascript"
     src="http://www.google.com/recaptcha/api/challenge?k=<span style="color: red;">your_public_key</span>"&gt;
  &lt;/script&gt;
  &lt;noscript&gt;
     &lt;iframe src="http://www.google.com/recaptcha/api/noscript?k=<span style="color: red;">your_public_key</span>"
         height="300" width="500" frameborder="0"&gt;&lt;/iframe&gt;&lt;br&gt;
     &lt;textarea name="recaptcha_challenge_field" rows="3" cols="40"&gt;
     &lt;/textarea&gt;
     &lt;input type="hidden" name="recaptcha_response_field"
         value="manual_challenge"&gt;
  &lt;/noscript&gt;</pre>
</li>
</ol>
<p>A continuación, solo nos queda el código para comprobar si el captcha se ha rellenado correctamente o no:</p>
<pre class="brush:php">&lt;?php
// Agregamos la librería
require_once('recaptchalib.php');
// Agregamos las claves
$publickey = "----";
$privatekey = "----";
$error = null;

if ($_POST) {
   $re_ip = $_SERVER["REMOTE_ADDR"];
   $re_challenge = $_POST["recaptcha_challenge_field"];
   $re_response = $_POST["recaptcha_response_field"];
   $re_valid = recaptcha_check_answer($privatekey, $re_ip, $re_challenge, $re_response);

   if ($re_valid-&gt;is_valid) {
      // El Captcha ha sido rellenado correctamente

   } else {
      // Error, captcha erroneo
      $error = $resp-&gt;error;
   }
}
?&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/usa-recaptcha-con-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chosen, Mejorando los campos Select con jQuery</title>
		<link>http://guiabreve.com/chosen-mejorando-los-campos-select-con-jquery.html</link>
		<comments>http://guiabreve.com/chosen-mejorando-los-campos-select-con-jquery.html#comments</comments>
		<pubDate>Mon, 01 Aug 2011 13:55:08 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Chose]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Select]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=659</guid>
		<description><![CDATA[Chosen, es un plugin para jQuery que nos permite mejorar la usabilidad de los campos select además de hacerlos más atractivos visualmente. Cuando tenemos que usar un select con muchos elementos siempre es bueno ofrecer la posibilidad de buscar al usuario para filtrar elementos de forma sencilla y encontrar la opción que desea. En los <a href="http://guiabreve.com/chosen-mejorando-los-campos-select-con-jquery.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://guiabreve.com/wp-content/uploads/Chosen.jpg" alt="" title="Chosen" width="353" height="259" class="alignright size-full wp-image-664" /><a href="http://harvesthq.github.com/chosen/">Chosen</a>, es un plugin para <a href="http://guiabreve.com/tag/jquery">jQuery</a> que nos permite mejorar la usabilidad de los campos <code>select</code> además de hacerlos más atractivos visualmente.</p>
<p>Cuando tenemos que usar un <code>select</code> con muchos elementos siempre es bueno ofrecer la <strong>posibilidad de buscar</strong> al usuario para filtrar elementos de forma sencilla y encontrar la opción que desea. En los campos select multiples, no solo estaría bien ofrecer esa misma opción de filtrado si no que también es buena idea mostrar los elementos seleccionados y permitir que el usuario selecciones varios sin tener que pulsar la tecla control o mayus.</p>
<p>Todo esto lo conseguimos con <strong>Chosen</strong> de forma sencilla.<span id="more-659"></span></p>
<h4>Instalación:</h4>
<ol>
<li>Añadimos los archivos necesarios e inicializamos el plugin:
<pre class="brush:html"><!-- CSS -->
<link rel="stylesheet" href="chosen/chosen.css" />
<!-- Javascript -->
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"
type="text/javascript"></script>
<script src="../chosen/chosen.jquery.js"
type="text/javascript"></script>
<script type="text/javascript">
$(".chzn-select").chosen(); </script></pre>
</li>
<li>A continuación, solo nos queda añadir la clase <code>chzn-select</code> a los elementos selects que queramos tratar con Chosen.</li>
<li>¡Listo!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/chosen-mejorando-los-campos-select-con-jquery.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CodeMirror, editor de código desde el navegador</title>
		<link>http://guiabreve.com/codemirror-editor-de-codigo-desde-el-navegador.html</link>
		<comments>http://guiabreve.com/codemirror-editor-de-codigo-desde-el-navegador.html#comments</comments>
		<pubDate>Tue, 26 Jul 2011 10:56:50 +0000</pubDate>
		<dc:creator>Víctor Falcón Ruiz</dc:creator>
				<category><![CDATA[Recursos]]></category>
		<category><![CDATA[CodeMirror]]></category>
		<category><![CDATA[Editor Online]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Libreria]]></category>
		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://guiabreve.com/?p=645</guid>
		<description><![CDATA[CodeMirror es una librería javascript que podemos usar para crear una interfaz de edición de código en el navegador. Tiene funciones tan interesantes como, colorear código dependiendo del lenguaje en el que estemos escribiendo. Además identa el código automáticamente, podemos añadirle autocompletado, buscar y remplazar, vista previa del resultado, etc. También podemos cambiar el diseño por <a href="http://guiabreve.com/codemirror-editor-de-codigo-desde-el-navegador.html">Continuar &#8594;</a>]]></description>
			<content:encoded><![CDATA[<p><a title="CodeMirror" href="http://codemirror.net/"><img class="alignright size-full wp-image-647 encuadre" title="CodeMirror" src="http://guiabreve.com/wp-content/uploads/Captura-de-pantalla-2011-07-25-a-las-11.53.34.png" alt="" width="294" height="240" />CodeMirror</a> es una librería <a title="Etiqueta: Javascript" href="http://guiabreve.com/tag/javascript">javascript</a> que podemos usar para crear una interfaz de edición de código en el navegador.</p>
<p>Tiene funciones tan interesantes como, colorear código dependiendo del lenguaje en el que estemos escribiendo. Además identa el código automáticamente, podemos añadirle autocompletado, buscar y remplazar, vista previa del resultado, etc. También podemos cambiar el diseño por medio de themes.</p>
<p>El script es compatible con:</p>
<ul>
<li>Firefox 2 o superior.</li>
<li>Chrome.</li>
<li>Safari 3 o superior.</li>
<li>Internet Explorer 6 o superior.</li>
<li>Opera 9 o superior (tiene algunos problemas con la versión de OS X)</li>
</ul>
<div>Es el editor de código que usa <a title="jsFiddle" href="http://jsfiddle.net/">JsFiddle</a> y funciona de maravilla.</div>
]]></content:encoded>
			<wfw:commentRss>http://guiabreve.com/codemirror-editor-de-codigo-desde-el-navegador.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

