<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>Bitacoras.com: comunidad de "wihe"</title>
	<atom:link href="http://bitacoras.com/usuario/wihe" rel="self" type="application/rss+xml" />
	<link>http://bitacoras.com/usuario/wihe</link>
	<description>Se muestran las ultimas 20 anotaciones de la comunidad de "wihe"</description>
	<copyright>Copyright 2008</copyright>
	<pubDate>Tue, 22 Jul 2008 16:08:31 +0200</pubDate>
	<generator>Bitacoras.com/2.0</generator>
	<image>
		<url>http://bitacoras.com/public/images/logo.png</url>
		<title>Bitacoras.com: comunidad de "wihe"</title>
		<link>http://bitacoras.com/usuario/wihe</link>
	</image>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>Recopilaci&#243;n de trucos para Wordpress 2.6</title>
		<link>http://www.anieto2k.com/2008/07/22/recopilacion-de-trucos-para-wordpress-26</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/22/recopilacion-de-trucos-para-wordpress-26</guid>
		<pubDate>Tue, 22 Jul 2008 16:08:31 +0200</pubDate>
		<category>asides</category>
		<category>wordpress</category>
		<category>hacks</category>
		<category>2 6</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 22 de julio de 2008 a las 16:08:31

Interesa recopilación de trucos para Worpdress 2.6 con los que podremos limitar las funcionalidades nuevas e innecesarias de esta nueva versión.Artículos relacionados5 buenos trucos para CSSElimina las wordpress news de tu dashboardRecopilación de Reglas MásculinasJsTheme, un theme 2.0 para nuestro WordpressRecopilació &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/22/recopilacion-de-trucos-para-wordpress-26">aNieto2K</a> el 22 de julio de 2008 a las 16:08:31</p>

Interesa <a href="http://www.labnol.org/internet/blogging/wordpress-tips-post-installation-hacks/3931/">recopilación de trucos para Worpdress 2.6</a> con los que podremos limitar las funcionalidades nuevas e innecesarias de esta nueva versión.<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2006/06/29/5-buenos-trucos-para-css/" rel="bookmark" title="Permanent Link: 5 buenos trucos para CSS">5 buenos trucos para CSS</a></li><li><a href="http://www.anieto2k.com/2006/05/19/1070/" rel="bookmark" title="Permanent Link: Elimina las wordpress news de tu dashboard">Elimina las wordpress news de tu dashboard</a></li><li><a href="http://www.anieto2k.com/2006/09/21/recopilacion-de-reglas-masculinas/" rel="bookmark" title="Permanent Link: Recopilación de Reglas Másculinas">Recopilación de Reglas Másculinas</a></li><li><a href="http://www.anieto2k.com/2006/09/28/jstheme-un-theme-20-para-nuestro-wordpress/" rel="bookmark" title="Permanent Link: JsTheme, un theme 2.0 para nuestro Wordpress">JsTheme, un theme 2.0 para nuestro Wordpress</a></li><li><a href="http://www.anieto2k.com/2006/03/11/recopilacion-de-plugins-para-wordpress/" rel="bookmark" title="Permanent Link: Recopilación de Plugins para Wordpress">Recopilación de Plugins para Wordpress</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5811&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5811" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=tZH0eA"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=tZH0eA" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=Tkr4wJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=Tkr4wJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=PQcuBJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=PQcuBJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/asides">asides</a>, <a href="http://bitacoras.com/canales/wordpress">wordpress</a>, <a href="http://bitacoras.com/canales/hacks">hacks</a>, <a href="http://bitacoras.com/canales/2+6">2 6</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>Mejora el aspecto de GMail con Stylish</title>
		<link>http://www.anieto2k.com/2008/07/22/mejora-el-aspecto-de-gmail-con-stylish</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/22/mejora-el-aspecto-de-gmail-con-stylish</guid>
		<pubDate>Tue, 22 Jul 2008 11:36:11 +0200</pubDate>
		<category>curiosidades</category>
		<category>webdev</category>
		<category>css</category>
		<category>firefox</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 22 de julio de 2008 a las 11:36:11

¿Estás cansado del aspecto blanco y azul de tu gMail? ¿Tu jefe ya relaciona ese juego de colores con tu lector de correos personal? Pues cambialó fácilmente con Stylish.Stylish, es una aplicación que nos permite definir ficheros CSS a ciertas páginas con las que podemos modificar el aspecto de las misma siempre que se  &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/22/mejora-el-aspecto-de-gmail-con-stylish">aNieto2K</a> el 22 de julio de 2008 a las 11:36:11</p>

¿Estás cansado del aspecto blanco y azul de tu gMail? ¿Tu jefe ya relaciona ese juego de colores con tu lector de correos personal? Pues cambialó fácilmente con <em>Stylish</em>.<br /><br /><br /><br /><a href="https://addons.mozilla.org/en-US/firefox/addon/2108">Stylish</a>, es una aplicación que nos permite definir ficheros CSS a ciertas páginas con las que podemos modificar el aspecto de las misma siempre que se vean desde el navegador en el que lo instalamos. Mediante este sistema es posible mejorar el aspecto de todas las páginas de Internet.<br /><br /><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2008/07/03.jpg"><img src="http://www.anieto2k.com/wp-content/uploads/2008/07/03-545x300.jpg" alt="03" /></a></p><br /><br /><br /><br />Esta vez le ha tocado a gMail, y el resultado es realmente increible.<br /><br /><h3>Instalación</h3><br /><br /><ol><br /><br />	<li>Asegurate que tu navegador es Firefox 3 (no es compatible con otras versiones ni otros navegadores).</li><br /><br />	<li>Instala <a href="https://addons.mozilla.org/en-US/firefox/addon/2108">Stylish</a>.</li><br /><br />	<li>Entra en <a href="http://www.globexdesigns.com/gmail/">Globex Designs</a> y selecciona el formato del CSS que quieras tener.</li><br /><br />	<li>Pulsa con el botón derecho sobre el código CSS y selecciona "Add File to Stylish".</li><br /><br />	<li>Disfruta del nuevo gMail :D</li><br /><br /></ol><br /><br /><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2008/07/04.jpg"><img src="http://www.anieto2k.com/wp-content/uploads/2008/07/04-545x300.jpg" alt="04" /></a></p><br /><br /><br /><br />El resultado es impresionante, muestra que las posibilidades son infinitas :D<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2008/02/06/25-utilidades-para-mejorar-gmail/" rel="bookmark" title="Permanent Link: 25 utilidades para mejorar gMail">25 utilidades para mejorar gMail</a></li><li><a href="http://www.anieto2k.com/2008/07/06/mejorando-google-calendar-con-stylish/" rel="bookmark" title="Permanent Link: Mejorando Google Calendar con Stylish">Mejorando Google Calendar con Stylish</a></li><li><a href="http://www.anieto2k.com/2007/01/29/usa-gmail-para-almacenar-tus-backups-de-mysql/" rel="bookmark" title="Permanent Link: Usa Gmail para almacenar tus backups de mySQL">Usa Gmail para almacenar tus backups de mySQL</a></li><li><a href="http://www.anieto2k.com/2006/06/16/mejora-el-aspecto-de-tus-tips-ayuda/" rel="bookmark" title="Permanent Link: Mejora el aspecto de tus tips (Ayuda)">Mejora el aspecto de tus tips (Ayuda)</a></li><li><a href="http://www.anieto2k.com/2007/02/16/el-funcionamiento-de-gmail-al-descubierto/" rel="bookmark" title="Permanent Link: El funcionamiento de Gmail al descubierto">El funcionamiento de Gmail al descubierto</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5808&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5808" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=LkNxco"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=LkNxco" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=Y6LrzJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=Y6LrzJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=9r8nRJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=9r8nRJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/curiosidades">curiosidades</a>, <a href="http://bitacoras.com/canales/webdev">webdev</a>, <a href="http://bitacoras.com/canales/css">css</a>, <a href="http://bitacoras.com/canales/firefox">firefox</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>Aplicaci&#243;n nativa de Worpdress para iPhone disponible</title>
		<link>http://www.anieto2k.com/2008/07/22/aplicacion-nativa-de-worpdress-para-iphone-disponible</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/22/aplicacion-nativa-de-worpdress-para-iphone-disponible</guid>
		<pubDate>Tue, 22 Jul 2008 09:35:08 +0200</pubDate>
		<category>asides</category>
		<category>wordpress</category>
		<category>iphone</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 22 de julio de 2008 a las 09:35:08

Ya tenemos la opción de descargar la aplicación nativa con la que podremos controlar nuestro Wordpress desde nuestro iPhone/iTouch.[Descargar]Artículos relacionadosLa primera aplicación para iPhoneFramework CSS y XHTML para desarrollar en iPhone y iPod TouchNovedades sobre el iPhoneAdministra tu blog nativamente desde  &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/22/aplicacion-nativa-de-worpdress-para-iphone-disponible">aNieto2K</a> el 22 de julio de 2008 a las 09:35:08</p>

Ya tenemos la opción de descargar la aplicación nativa con la que podremos <a href="http://iphone.wordpress.org/2008/07/22/wordpress-for-iphone-available now/">controlar nuestro Wordpress desde nuestro iPhone/iTouch</a>.[<a href="http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=285073074&mt=8">Descargar</a>]<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2007/06/28/la-primera-aplicacion-para-iphone/" rel="bookmark" title="Permanent Link: La primera aplicación para iPhone">La primera aplicación para iPhone</a></li><li><a href="http://www.anieto2k.com/2008/07/07/framework-css-y-xhtml-para-desarrollar-en-iphone-y-ipod-touch/" rel="bookmark" title="Permanent Link: Framework CSS y XHTML para desarrollar en iPhone y iPod Touch">Framework CSS y XHTML para desarrollar en iPhone y iPod Touch</a></li><li><a href="http://www.anieto2k.com/2007/06/19/novedades-sobre-el-iphone/" rel="bookmark" title="Permanent Link: Novedades sobre el iPhone">Novedades sobre el iPhone</a></li><li><a href="http://www.anieto2k.com/2008/07/11/administra-tu-blog-nativamente-desde-el-iphone/" rel="bookmark" title="Permanent Link: Administra tu blog nativamente desde el iPhone">Administra tu blog nativamente desde el iPhone</a></li><li><a href="http://www.anieto2k.com/2007/10/18/aplicaciones-de-terceros-nativas-para-el-iphone/" rel="bookmark" title="Permanent Link: Aplicaciones de terceros nativas para el iPhone">Aplicaciones de terceros nativas para el iPhone</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5807&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5807" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=IWnUqZ"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=IWnUqZ" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=eX55hJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=eX55hJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=a1DYUJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=a1DYUJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/asides">asides</a>, <a href="http://bitacoras.com/canales/wordpress">wordpress</a>, <a href="http://bitacoras.com/canales/iphone">iphone</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>A&#241;ade una imagen personalizada a tus posts</title>
		<link>http://www.anieto2k.com/2008/07/22/anade-una-imagen-personalizada-a-tus-posts</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/22/anade-una-imagen-personalizada-a-tus-posts</guid>
		<pubDate>Tue, 22 Jul 2008 02:41:49 +0200</pubDate>
		<category>php</category>
		<category>programacion</category>
		<category>wordpress</category>
		<category>hacks</category>
		<category>webdev</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 22 de julio de 2008 a las 02:41:49

Esta mañana con Ignacio Lledó hemos llegado a desarrollar un sistema con el que hacer que la primera imagen subida a nuestro post, pase ser la foto del post. Y todo ello sin plugins.AntecendentesComo vemos en la imagen queremos mostrar una imagen, en este caso en el sidebar de nuestro Wordpress y queremos ver una image &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/22/anade-una-imagen-personalizada-a-tus-posts">aNieto2K</a> el 22 de julio de 2008 a las 02:41:49</p>

Esta mañana con <em>Ignacio Lledó</em> hemos llegado a desarrollar un sistema con el que hacer que la primera imagen subida a nuestro post, pase ser la foto del post. Y todo ello sin plugins.<br /><br /><h3>Antecendentes</h3><br /><br /><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2008/07/auto_meta1.jpg"><img src="http://www.anieto2k.com/wp-content/uploads/2008/07/auto_meta1.jpg" alt="auto_meta1" /></a></p><br /><br /><br /><br />Como vemos en la imagen queremos mostrar una imagen, en este caso en el sidebar de nuestro Wordpress y queremos ver una imagen relacionada al artículo. Inicialmente se hacía de forma manual, el usuario insertaba la URL de la imagen en un campo personalizado al que le dama un nombre ya pactado con el resto de usuarios para así poder repescarlo en el sidebar.<br /><br /><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2008/07/auto_meta2.jpg"><img src="http://www.anieto2k.com/wp-content/uploads/2008/07/auto_meta2-600x115.jpg" alt="auto_meta2" /></a></p><br /><br /><br /><br />Una vez insertada la URL, unicamente había que indicar en el HTML del sidebar.php de nuestro theme la URL de la imagen que queremos que aparezca.<br /><br /><pre><code>....<br /><br /><ul class="sidebar"><br /><br /><li class="post"><br /><br /><img src="&#60;?php echo get_post_meta($post->ID, '<strong>KEY_DEFINIDA</strong>', true); ?&#62;" alt="&#60;?php the_title(); ?&#62;" class="align_left" /><br /><br />&#60;?php the_excerpt(); ?&#62;<br /><br /><a href="&#60;?php the_permalink(); ?&#62;#more-&#60;?php echo $post->ID?&#62;">Leer más</a><br /><br /></li><br /><br />....</code></pre><br /><br />El sistema funciona, pero ¿por que no hacerlo más fácil?<br /><br /><h3>Haciendoló más fácil al usuario</h3><br /><br />Para empezar dejamos el theme igual que el sistema anterior, seguimos leyendo la información de la misma <strong><code>KEY_DEFINIDA</code></strong> con la que los usuarios ya se han familiarizado. Ahora tendremos que hacerles el trabajo nosotros :D<br /><br /><br /><br />Para añadir la funcionalidad podemos elegir uno de los 3 posibles sistemas de los que podemos hacer uso para añadir funcionalidades a Wordpress.<br /><br /><ol><br /><br />	<li>Mediante <a href="http://www.anieto2k.com/2006/02/15/vamos-a-crear-un-plugin/">un plugin</a></li><br /><br />	<li>En el fichero <a href="http://www.anieto2k.com/2008/02/19/el-fichero-my-hacksphp-en-wordpress/">my-hacks.php</a></li><br /><br />	<li>En el fichero functions.php de nuestro theme</li><br /><br /></ol><br /><br />En este caso hemos optado por el fichero <code>functions.php</code> de nuestro theme ya que esta funcionalidad está ligada completamente al diseño y si cambiamos de diseño, quizas no necesitemos que siga ejecutandosé.<br /><br /><br /><br />Así que añadimos el siguiente código:<br /><br /><pre><code>// Cambia el nombre del META<br /><br /><strong>define ("META_KEY", "KEY_DEFINIDA");<br /><br /></strong><br /><br />function auto_add_meta_images($postID) {<br /><br />    // Solo añadirá la primera imagen como Meta<br /><br />    $post = get_post( $postID );<br /><br />    if (!get_post_meta($postID, <strong>META_KEY</strong>, true))<br /><br />        add_post_meta($post->post_parent, <strong>META_KEY</strong>, $post->guid);<br /><br />    return $postID;<br /><br />}<br /><br /><br /><br />add_action('add_attachment', 'auto_add_meta_images');</code></pre><br /><br /><h3>¿Como funciona?</h3><br /><br />Con este sistema, únicamente tendremos que dedicarnos a subir imágenes mediante el sistema de subidas de Wordpress 2.5 o superior y el automáticamente almacenará en el Campo personalizado definido previamente con la dirección de la primera imagen que subamos.<br /><br /><h3>Conclusión</h3><br /><br />Con wordpress podemos hacer lo que queramos y la imaginación es el límite. Las cosas más simples a veces pueden serlo todavía más :D<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2006/09/06/¿que-formato-de-imagen-usar/" rel="bookmark" title="Permanent Link: ¿Que formato de imagen usar?">¿Que formato de imagen usar?</a></li><li><a href="http://www.anieto2k.com/2006/07/18/encripta-el-contenidos-de-tus-posts/" rel="bookmark" title="Permanent Link: Encripta el contenidos de tus posts">Encripta el contenidos de tus posts</a></li><li><a href="http://www.anieto2k.com/2008/06/05/mis-posts-favoritos-plugin-para-wordpress/" rel="bookmark" title="Permanent Link: Mis posts favoritos, plugin para Wordpress">Mis posts favoritos, plugin para Wordpress</a></li><li><a href="http://www.anieto2k.com/2007/06/27/el-universo-en-una-imagen/" rel="bookmark" title="Permanent Link: El universo en una imagen">El universo en una imagen</a></li><li><a href="http://www.anieto2k.com/2007/09/27/anade-etiquetas-a-tus-paginas/" rel="bookmark" title="Permanent Link: Añade etiquetas a tus páginas">Añade etiquetas a tus páginas</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5801&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5801" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=KUvTge"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=KUvTge" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=eTDy3J"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=eTDy3J" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=fz7KxJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=fz7KxJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/php">php</a>, <a href="http://bitacoras.com/canales/programacion">programacion</a>, <a href="http://bitacoras.com/canales/wordpress">wordpress</a>, <a href="http://bitacoras.com/canales/hacks">hacks</a>, <a href="http://bitacoras.com/canales/webdev">webdev</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>InKiLiNo</dc:creator>
		<title>Como crear un theme para Wordpress</title>
		<link>http://www.inkilino.com/2008/07/21/como-crear-un-theme-para-wordpress</link>
		<guid isPermaLink="true">http://www.inkilino.com/2008/07/21/como-crear-un-theme-para-wordpress</guid>
		<pubDate>Mon, 21 Jul 2008 13:12:27 +0200</pubDate>
		<category>disea</category>
		<category>wordpress</category>
		<category>screencast</category>
		<category>theme</category>
		<category>themes</category>
		<description><![CDATA[Por InKiLiNo en  el 21 de julio de 2008 a las 13:12:27

Hace tiempo que quiero explicar como crear un theme para Wordpress desde cero, pero la verdad es que no tengo mucho tiempo para dedicarle al blog ultimamente.Bueno el caso es que los chicos de CSS Tricks se me han adelantado y de que manera porque se han currado un theme desde cero y han hecho tres Screencast con los que cualq &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">InKiLiNo</a> en <a href="http://bitacoras.com/bitacora/www.inkilino.com/2008/07/21/como-crear-un-theme-para-wordpress"></a> el 21 de julio de 2008 a las 13:12:27</p>

<p>Hace tiempo que quiero explicar<strong> como crear un theme para Wordpress desde cero</strong>, pero la verdad es que no tengo mucho tiempo para dedicarle al blog ultimamente.</p><br /><br /><p><a href='http://www.inkilino.com/wp-content/uploads/2008/07/personalhomepagetheme.jpg' rel='lightbox' title='Creando un theme para Wordpress' ><img src='http://www.inkilino.com/wp-content/uploads/2008/07/personalhomepagetheme.thumbnail.jpg' alt='Creando un theme para Wordpress' class='centro'/></a></p><br /><br /><p>Bueno el caso es que los chicos de <strong>CSS Tricks</strong> se me han adelantado y de que manera porque se han currado<strong> un theme desde cero</strong> y han hecho <a href="http://css-tricks.com/designing-for-wordpress-complete-series-downloads/"  target="_blank" >tres Screencast</a> con los que cualquiera será capaz de crearse <strong>un buen theme para Wordpress</strong> a su completo gusto.</p><br /><br /><p>Vía | <a href="http://www.leandrodonofrio.com/recursos/dise

<p>Etiquetas: <a href="http://bitacoras.com/canales/disea">disea</a>, <a href="http://bitacoras.com/canales/wordpress">wordpress</a>, <a href="http://bitacoras.com/canales/screencast">screencast</a>, <a href="http://bitacoras.com/canales/theme">theme</a>, <a href="http://bitacoras.com/canales/themes">themes</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>Sergio G&#243;mez</dc:creator>
		<title>Gmail y Calendar podr&#237;an tener soporte offline este a&#241;o</title>
		<link>http://bitelia.com/2008/07/21/gmail-y-calendar-podrian-tener-soporte-offline-este-ano</link>
		<guid isPermaLink="true">http://bitelia.com/2008/07/21/gmail-y-calendar-podrian-tener-soporte-offline-este-ano</guid>
		<pubDate>Mon, 21 Jul 2008 19:43:02 +0200</pubDate>
		<category>destacadas</category>
		<category>gears</category>
		<category>gmail</category>
		<category>google calendar</category>
		<category>offline</category>
		<description><![CDATA[Por Sergio Gómez en  el 21 de julio de 2008 a las 19:43:02

Muchos lo estamos esperando desde hace un tiempo, y la impaciencia va aumentando cada vez que mas servicios de Google van incorporando soporte offline mediante su Gears.El último en hacerlo fué Google Docs y los próximos que muy probablemente den el salto y permitan ser usados sin conexión a internet será los dos grandes q &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">Sergio Gómez</a> en <a href="http://bitacoras.com/bitacora/bitelia.com/2008/07/21/gmail-y-calendar-podrian-tener-soporte-offline-este-ano"></a> el 21 de julio de 2008 a las 19:43:02</p>

<p><img src="http://bitelia.com/wp-content/uploads/2008/07/87119e0c-60e5-4d99-974e-537f3d27df5a.jpg" alt="87119E0C-60E5-4D99-974E-537F3D27DF5A.jpg" border="0" width="153" height="43" class="izquierda" />Muchos lo estamos esperando desde hace un tiempo, y la impaciencia va aumentando cada vez que mas servicios de Google van incorporando soporte offline mediante su <a href="http://gears.google.com/">Gears</a>.</p><br /><br /><br /><br /><p><a href="http://bitelia.com/2008/04/01/¡albricias-google-docs-offline-ya-disponible/">El último en hacerlo fué Google Docs</a> y los próximos que muy probablemente den el salto y permitan ser usados sin conexión a internet será los dos grandes que faltaban, <strong>Gmail y Google Calendar</strong>. Lo cual, según <em>Andrew Fogg</em>, ingeniero de Google, <strong>podría suceder en unos 6 meses</strong></p><br /><br /><br /><br /><p><img src="http://bitelia.com/wp-content/uploads/2008/07/879b5d11-244c-473c-84e4-7e004e3f0a19.jpg" alt="879B5D11-244C-473C-84E4-7E004E3F0A19.jpg" border="0" width="578" height="360" class="centro-borde" /><br /><br />Aunque ojo, en un movimiento extraño, <strong>Adrew Fogg, borro los twitts de su Twitter (valga la redundancia) en donde comentaba esas novedades</strong>. Afortunadamente en <a href="http://googlesystem.blogspot.com">G.O.S.</a> hicieron una captura, así que ahí quedan sus palabras. No creo que este rumor sea falso por esta acción, <strong>el soporte offline de Gmail y Google Calendar es un paso lógico y necesario para acercar las aplicaciones de Google al escritorio</strong>. Y porque vamos, <strong>es algo que esperamos muchos ¿no?</strong>.</p><br /><br /><br /><br /><p>Vía y screenshot: <a href="http://googlesystem.blogspot.com/2008/07/gmail-and-google-calendar-to-add.html">G.O.S.</a></p><br /><br /><p class="akst_link"><a href="http://bitelia.com/?p=13351&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_13351" class="akst_share_link" rel="nofollow">Comparte esta anotación</a><br /><br /></p><br /><br /><p><a href="http://feeds.hipertextual.com/~a/bitelia?a=C9AiXc"><img src="http://feeds.hipertextual.com/~a/bitelia?i=C9AiXc" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.hipertextual.com/~f/bitelia?a=mN9ukJ"><img src="http://feeds.hipertextual.com/~f/bitelia?i=mN9ukJ" border="0"></img></a> <a href="http://feeds.hipertextual.com/~f/bitelia?a=lasBGJ"><img src="http://feeds.hipertextual.com/~f/bitelia?i=lasBGJ" border="0"></img></a> <a href="http://feeds.hipertextual.com/~f/bitelia?a=iEOq6J"><img src="http://feeds.hipertextual.com/~f/bitelia?i=iEOq6J" border="0"></img></a><br /><br /></div><img src="http://feeds.hipertextual.com/~r/bitelia/~4/341699179" height="1" width="1"/>

<p>Etiquetas: <a href="http://bitacoras.com/canales/destacadas">destacadas</a>, <a href="http://bitacoras.com/canales/gears">gears</a>, <a href="http://bitacoras.com/canales/gmail">gmail</a>, <a href="http://bitacoras.com/canales/google+calendar">google calendar</a>, <a href="http://bitacoras.com/canales/offline">offline</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>9 de 10: Entrevista a Miguel Ford(Adseok)</title>
		<link>http://www.anieto2k.com/2008/07/21/9-de-10-entrevista-a-miguel-fordadseok</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/21/9-de-10-entrevista-a-miguel-fordadseok</guid>
		<pubDate>Mon, 21 Jul 2008 17:27:50 +0200</pubDate>
		<category>general</category>
		<category>entrevistas</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 21 de julio de 2008 a las 17:27:50

Miguel Ford (aka Adseok), es una referente en cuanto a SEO se refiere. Como administrador de Adseok, un blog destinado a difundir las novedades del mundo del posicionamiento web nos ayuda a conseguir que nuestras aplicaciones web gozen de mejores posiciones en las páginas de resultados de los buscadores.Ficha técnica:	 &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/21/9-de-10-entrevista-a-miguel-fordadseok">aNieto2K</a> el 21 de julio de 2008 a las 17:27:50</p>

<strong>Miguel Ford (aka Adseok)</strong>, es una referente en cuanto a SEO se refiere. Como administrador de Adseok, un blog destinado a difundir las novedades del mundo del posicionamiento web nos ayuda a conseguir que nuestras aplicaciones web gozen de mejores posiciones en las páginas de resultados de los buscadores.<br /><br /><h3>Ficha técnica:</h3><br /><br /><ul><br /><br />	<li><strong>Nombre</strong>: Miguel Ford</li><br /><br />	<li><strong>Url Blog</strong>: <a href="http://www.adseok.com/">http://www.adseok.com/</a></li><br /><br />	<li><strong>Proyectos</strong>: <a href="http://www.adseok.com/">Adseok</a></li><br /><br /></ul><br /><br /><br /><br /><br /><br /><strong>1. ¿Como se inició Miguel en el mundo de la informática?</strong><br /><br /><br /><br />La primera vez que me puse delante de un ordenador fue en la escuela y recuerdo que me llamó mucho la atención, a pesar de que solo intorducíamos unos comandos que luego formaban líneas en la pantalla. Después de aquello siempre he tenido contacto con los ordenadores, aunque recuerdo con un cariño especial los juegos que se cargaban en cintas en el Spectrum.<br /><br /><br /><br />Pero no es hasta que entré en la universidad cuando empezó a crecer mi interés por internet. Recuerdo que los primeros años en Físicas me pasaba más horas conectado con el Netscape en unos ordenadores para estudiantes que yendo clase, y ya entonces empecé a hacer mis primeras webs más que nada como pequeños experimentos.<br /><br /><br /><br /><strong>2. ¿SEO? ¿Qué es y como llegó a enamorarte?</strong><br /><br /><br /><br />Sí, SEO, y como hace tiempo leí en algún sitio, nadie, por lo menos hasta ahora, estudia pensando en ser SEO, es algo en lo que acabas por casualidad. En mi caso concreto, en una empresa que trabajaba hace tiempo se enteraron que tenía mis propias webs y que entendía algo de buscadores. Ahí me quedé y me fue enganchando.<br /><br /><br /><br />El SEO no es más que optimizar una página web, y todo lo que eso conlleva,  para que aparezca lo más alto posible en Google (y si queremos en otros buscadores). Desde sus inicios, siempre me  ha llamado la atención el funcionamiento de los buscadores, ha sido y sigue siendo una curiosidad irrefrenable. Si a esto le añades el placer que supone entender algo y ver que funciona al aplicarlo, en forma de miles de visitas, ya tenemos todo lo necesario.<br /><br /><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2008/07/adseok.jpg"><img src="http://www.anieto2k.com/wp-content/uploads/2008/07/adseok-587x300.jpg" alt="adseok" /></a></p><br /><br /><br /><br /><strong>3. El SEO actualmente es una (por no decir la más) importante parte de las aplicaciones web, ¿como crees que será esto en un futuro?</strong><br /><br /><br /><br />El SEO ha evolucionado mucho estos úlimos años hasta convertirse en algo que todas las empresas tienen en cuenta, aunque todavía tiene que avanzar mucho más. De momento, el SEO es casi todo trabajar con contenido viejo y adaptarlo a las reglas actuales del posicionamiento. Yo diría que en un futuro una empresa grande primero contratará al SEO y después al resto de trabajadores (diseñadores, programadores, etc.).<br /><br /><br /><br />También me gustaría dar mi opinión sobre el futuro del SEO como disciplina. Se habla ya mucho, sobre todo en foros anglosajones, de que<em> el SEO está cambiando y que cambiará más todavía</em>. Hasta hace unos años, los enlaces eran prácticamente lo único relevante para posicionar una web. Actualmente, Google está intentando quitar relevancia a los enlaces, de hecho ya se nota en ciertos casos, y dar más importancia al contenido y a la accesibilidad. Sin embargo, sustuir la tecnología PageRank por otra no basada en enlaces creo que está muy lejos.<br /><br /><br /><br /><strong>4. Google tiene monopolizado el mundo del SEO, ¿no tienes miedo de que se convierta en el Microsoft del SEO? ¿Por qué?</strong><br /><br /><br /><br />El problema de un Google  enorme no es el dominio de su buscador,  sino la cantidad de datos personales de los usuarios que podrá almacenar con todos sus servicios. Llama la atención, por poner un ejemplo, el reciente lanzamiento de Google Heatlh, donde un usuario podrá introducir todo su historial médico.<br /><br /><br /><br />El SEO ahora se hace para Google porque tiene el 90% de cuota de los buscadores. Esto es así porque Google funciona, sus resultados son buenos y satisfacen al usuario. Cuando dejen de hacerlo, el usuario utilizará otro buscador y el SEO se hará para ese otro buscador. Pero no creo que esto pase en muchos años. La salida natural del SEO será a las redes sociales y no a otros buscadores.<br /><br /><br /><br /><strong> 5. ¿Que hace Miguel cuando no está delante del ordenador?</strong><br /><br /><br /><br />Paso más horas de las que me gustaría delante del ordenador, pero siempre me ha gustado practicar  deporte, sobre todo fútbol. La lectura de clasicos, que no sean novelas o ficción, ver series americanas de televisón y películas, aunque la calidad de éstas últimamente anda un poco escasa, y montarme alguna fiesta con los amigos de vez en cuando.<br /><br /><br /><br /><strong>6. ¿Algún consejo para esos inciados que quieran seguir tus pasos?</strong><br /><br /><br /><br />Calma, lo más importante. Leer todo lo que se publique sobre el tema pero fiarte sobre todo de tu experiencia y de los experimentos que hagas.<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/10-entrevistas-de-la-blogosfera/" rel="bookmark" title="Permanent Link: 10 Entrevistas de la blogosfera">10 Entrevistas de la blogosfera</a></li><li><a href="http://www.anieto2k.com/2008/02/04/entrevista-en-ayuda-wordpress/" rel="bookmark" title="Permanent Link: Entrevista en Ayuda Wordpress">Entrevista en Ayuda Wordpress</a></li><li><a href="http://www.anieto2k.com/2008/06/23/entrevista-en-spam-vs-hombre/" rel="bookmark" title="Permanent Link: Entrevista en Spam vs Hombre">Entrevista en Spam vs Hombre</a></li><li><a href="http://www.anieto2k.com/2007/07/09/anieto2k-entrevistado-d/" rel="bookmark" title="Permanent Link: aNieto2k entrevistado  :D">aNieto2k entrevistado  :D</a></li><li><a href="http://www.anieto2k.com/2006/12/20/entrevista-en-tuexpertocom/" rel="bookmark" title="Permanent Link: Entrevista en TuExperto.com">Entrevista en TuExperto.com</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5761&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5761" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=uGhcab"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=uGhcab" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=3EZ8pJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=3EZ8pJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=UokaWJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=UokaWJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/general">general</a>, <a href="http://bitacoras.com/canales/entrevistas">entrevistas</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>StatPress, estad&#237;sticas en tiempo real para tu Wordpress</title>
		<link>http://www.anieto2k.com/2008/07/21/statpress-estadisticas-en-tiempo-real-para-tu-wordpress</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/21/statpress-estadisticas-en-tiempo-real-para-tu-wordpress</guid>
		<pubDate>Mon, 21 Jul 2008 10:24:34 +0200</pubDate>
		<category>wordpress</category>
		<category>plugins</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 21 de julio de 2008 a las 10:24:34

Hace unos días me preguntaron por estado de PopStats, y desde que Luis Sancho dejara de darle soporte este gran plugin ha ido soportando versiones de Wordpress hasta chocarse de frente con Wordpress 2.6, que al parecer no funciona correctamente (no lo he probado).Pensé en tomar las riendas del proyecto y usarlo de base &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/21/statpress-estadisticas-en-tiempo-real-para-tu-wordpress">aNieto2K</a> el 21 de julio de 2008 a las 10:24:34</p>

Hace unos días me preguntaron por estado de <a href="http://www.anieto2k.com/2005/12/03/modificacion-de-wp-popstats/">PopStats</a>, y desde que Luis Sancho dejara de darle soporte este gran plugin ha ido soportando versiones de Wordpress hasta chocarse de frente con Wordpress 2.6, que al parecer no funciona correctamente (no lo he probado).<br /><br /><br /><br />Pensé en tomar las riendas del proyecto y usarlo de base para crear un plugin nuevo compatible con esta última versión, pero esta mañana en <a href="http://ayudawordpress.com/statpress-estadisticas-en-tiempo-real-y-mas/">AyudaWordpress me he encontrado StatPress</a>. Un plugin de estadísticas en tiempo real que me ha llamado mucho la atención.<br /><br /><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2008/07/statpress1.png"><img src="http://www.anieto2k.com/wp-content/uploads/2008/07/statpress1-554x300.png" alt="statpress1" /></a></p><br /><br /><br /><br />No he podido probar que tal se porta contando estadísticas pero la primera impresión es que ofrece una buena cantidad de datos e información relevante para observar el crecimiento/decrecimiento del blog.<br /><br /><br /><br /><strong>Página del autor</strong> | <strong><a href="http://www.irisco.it/?page_id=28">Daniele Lipi</a> </strong>/ <strong>Descargar </strong>| <a href="http://wordpress.org/extend/plugins/statpress/">Wordpress.org</a><h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2006/06/01/live-para-wordpress-el-fisgon-mejorado/" rel="bookmark" title="Permanent Link: Live, para wordpress el fisgon mejorado">Live, para wordpress el fisgon mejorado</a></li><li><a href="http://www.anieto2k.com/2006/09/07/barras-para-estadisticas-con-css/" rel="bookmark" title="Permanent Link: Barras para estadísticas con CSS">Barras para estadísticas con CSS</a></li><li><a href="http://www.anieto2k.com/2006/11/30/css-spy-las-css-no-podran-ocultarte-nada/" rel="bookmark" title="Permanent Link: CSS Spy, las CSS no podrán ocultarte nada">CSS Spy, las CSS no podrán ocultarte nada</a></li><li><a href="http://www.anieto2k.com/2006/10/14/graficos-animados-con-javascript/" rel="bookmark" title="Permanent Link: Graficos animados con Javascript">Graficos animados con Javascript</a></li><li><a href="http://www.anieto2k.com/2007/08/07/feedstats-entre-los-mejores-plugins-de-estadisticas-para-wordpress/" rel="bookmark" title="Permanent Link: FeedStats entre los mejores plugins de estadísticas para Wordpress">FeedStats entre los mejores plugins de estadísticas para Wordpress</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5796&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5796" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=uDygIZ"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=uDygIZ" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=rlU94J"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=rlU94J" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=GHCm4J"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=GHCm4J" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/wordpress">wordpress</a>, <a href="http://bitacoras.com/canales/plugins">plugins</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>Muestra tu contenido tabulado en Wordpress con jQuery</title>
		<link>http://www.anieto2k.com/2008/07/20/muestra-tu-contenido-tabulado-en-wordpress-con-jquery</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/20/muestra-tu-contenido-tabulado-en-wordpress-con-jquery</guid>
		<pubDate>Mon, 21 Jul 2008 00:38:31 +0200</pubDate>
		<category>programacion</category>
		<category>wordpress</category>
		<category>hacks</category>
		<category>javascript</category>
		<category>themes</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 21 de julio de 2008 a las 00:38:31

NETTUTS ha publicado un artículo bastante claro y explicativo en el que nos muestra como mostrar el contenido de nuestro blog usando un sistema de tabs, al que dotaremos de dinamismo con jQuery.En este artículo, pretendo hacer una traducción propia (osea que me saldré del guión seguro) para los que no tengan mucha idea &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/20/muestra-tu-contenido-tabulado-en-wordpress-con-jquery">aNieto2K</a> el 21 de julio de 2008 a las 00:38:31</p>

<strong>NETTUTS</strong> ha publicado un artículo bastante claro y explicativo en el que nos muestra <a href="http://nettuts.com/javascript-ajax/tabbed-content-using-jquery-and-wp_query/">como mostrar el contenido de nuestro blog usando un sistema de tabs</a>, al que dotaremos de dinamismo con jQuery.<br /><br /><br /><br />En este artículo, pretendo hacer una traducción propia (osea que me saldré del guión seguro) para los que no tengan mucha idea de Inglés y desarrollo web.<br /><br /><br /><br /><br /><br /><h3>Paso 1: ¿Donde he de modificar el theme?</h3><br /><br />Para empezar a tocar el código de un theme de Wordpress, os voy a recomendar unos artículos antiguos en los que explico los puntos más importantes a tener en cuenta para que los pasos siguientes no sean un problema.<br /><br /><ul><br /><br />	<li><a href="http://www.anieto2k.com/2006/04/21/si-no-haces-un-theme-es-por-que-no-quieres/">Si no haces un theme es por que no quieres</a></li><br /><br />	<li><a href="http://www.anieto2k.com/2006/04/21/si-no-haces-un-theme-es-por-que-no-quieres/">El Loop de Wordpress en Acción</a></li><br /><br />	<li><a href="http://www.anieto2k.com/2008/01/13/query_posts-personalizando-nuestros-blogs/">query_posts(), personalizando nuestros blogs</a></li><br /><br /></ul><br /><br /><h3>Paso 2: Modificar la estructura HTML</h3><br /><br />Una vez tomado contacto con la estructura de un theme de Wordpress ya podemos ponernos manos a la obra y empezar a darle forma a nuestro diseño.<br /><br /><br /><br />Generalmente un theme de Wordpress contiene la funcionalidad necesaria para mostrar el contenido en el fichero index.php alojado en la carpeta <strong>wp-content/themes/TU_THEME/.</strong><br /><br /><br /><br />Si tu theme no tiene este fichero seguro que dentro de él te indicará de donde está incluyendo la funcionalidad.<br /><br /><br /><br />Veamos la estructura HTML que queremos montar para mostrar nuestro HTML.<br /><br /><pre><code><div id="tabsAndContent"><br /><br />			<ul id="tabsNav"><br /><br />				<li><a href="#recentArticles">Recent Articles</a></li><br /><br />				<li><a href="#monthlyArchives">Monthly Archives</a></li><br /><br />				<li><a href="#searchArea">Search</a></li><br /><br />			</ul><br /><br />			<ul id="tabContent"><br /><br />				<li id="recentArticles"><br /><br />					<ul><br /><br /><br /><br />						<!-- WP_QUERY GOES HERE --><br /><br /><br /><br />					</ul><br /><br />				</li><br /><br /><br /><br />				<li id="monthlyArchives"><br /><br />					<ul><br /><br /><br /><br />						<!-- WP_ARCHIVES GOES HERE --><br /><br /><br /><br />					</ul><br /><br />				</li><br /><br /><br /><br />				<li id="searchArea"><br /><br /><br /><br />					<!-- WP SEARCH GOES HERE --><br /><br /><br /><br />				</li><br /><br />			</ul><br /><br />		</div> <!-- div#tabsAndContent --></code></pre><br /><br />Como podemos ver, vamos a usar una estructura de listas para mostrar nuestro contenido.<br /><br /><h3>Paso 3: Integrar funcionalidades de Wordpress</h3><br /><br />Ahora ya tenemos el HTML que necesitamos, pero así ahora no estamos mostrando nada absolutamente, tendremos que darle un poco de contenido para que tenga algo de sentido todo este cambio :D<br /><br /><pre><code><div id="tabsAndContent"><br /><br />			<ul id="tabsNav"><br /><br />				<li><a href="#recentArticles">Recent Articles</a></li><br /><br />				<li><a href="#monthlyArchives">Monthly Archives</a></li><br /><br />				<li><a href="#searchArea">Search</a></li><br /><br />			</ul><br /><br />			<ul id="tabContent"><br /><br />				<li id="recentArticles"><br /><br />					<ul><br /><br />					<strong>&#60;?php $recent = new WP_Query("showposts=5");<br /><br />						while($recent->have_posts()) : $recent->the_post();?&#62;<br /><br />							<li><br /><br />							<a href="&#60;?php the_permalink();?&#62;" title="Link to &#60;?php the_title(); ?&#62;">&#60;?php the_title(); ?&#62;</a><br /><br />							</li><br /><br />					&#60;?php endwhile; ?&#62;</strong><br /><br />					</ul><br /><br />				</li><br /><br /><br /><br />				<li id="monthlyArchives"><br /><br />					<ul><br /><br />				<strong>		&#60;?php wp_get_archives('type=monthly&limit=5'); ?&#62;<br /><br />				</strong>	</ul><br /><br />				</li><br /><br /><br /><br />				<li id="searchArea"><br /><br />				<strong><form method="get" id="searchForm" action="&#60;?php bloginfo('home'); ?&#62;"><br /><br />					<p><br /><br />						<input type="text" value="&#60;?php echo wp_specialchars($s, 1); ?&#62;" name="s" id="s" /><br /><br />						<input type="submit" id="searchSubmit" value="Search!" /><br /><br />					</p><br /><br />				</form></strong><br /><br />				</li><br /><br />			</ul><br /><br />		</div> <!-- div#tabsAndContent --></code></pre><br /><br />Con este código hemos definido las 3 tabs con un contenido bastante necesario en todo blog.<br /><br /><ol><br /><br />	<li>5 últimos posts (únicamente Título)</li><br /><br />	<li>Archivo de los últimos 5 meses</li><br /><br />	<li>Formulario de busqueda.</li><br /><br /></ol><br /><br />Ahora empieza a tener algo nuestro nuevo proyecto, aunque aún le falta algo de diseño para que la gente no se asuste al ver tanto texto.<br /><br /><h3>Paso 4: Estilizando el contenido</h3><br /><br />En este paso, el CSS va a tomar una especial relevancia ya que nos va a permitir darle un aspecto elegantea nuestro contenido.<br /><br /><pre><code>/*------TABS------*/<br /><br /><br /><br />#container{<br /><br />	width: 600px;<br /><br />	margin: 0 auto;<br /><br />}<br /><br /><br /><br />h1{<br /><br />	font-size: 1.3em;<br /><br />	text-transform: uppercase;<br /><br />	color: #949494;<br /><br />	letter-spacing: 1px;<br /><br />}<br /><br /><br /><br />#tabsAndContent ul, #tabsAndContent li{<br /><br />	padding: 0<br /><br />}<br /><br /><br /><br />ul#tabsNav{<br /><br />	float: left;<br /><br />	width: 200px;<br /><br />	list-style: none;<br /><br />}<br /><br /><br /><br />ul#tabsNav li{<br /><br />	background: url(images/tabsNavBg.png) no-repeat center #a8a8a8;<br /><br />}<br /><br /><br /><br />ul#tabsNav li:hover{<br /><br />	background: url(images/tabsNavHover.png) no-repeat center #eee;<br /><br />}<br /><br /><br /><br />ul#tabsNav li.active{<br /><br />	background: url(images/tabsNavActive.png) no-repeat center #fff;<br /><br />}<br /><br /><br /><br />ul#tabsNav li.active a{<br /><br />	color: #303030;<br /><br />}<br /><br /><br /><br />ul#tabsNav li a{<br /><br />	padding: 1em 15px;<br /><br />	margin: 0 0 1em 0;<br /><br />	display: block;<br /><br />	width: 170px;<br /><br />	text-decoration: none;<br /><br />	color: #7e7e7e;<br /><br />	font: 11px/20px Georgia;<br /><br />	text-transform: uppercase;<br /><br />}<br /><br /><br /><br />ul#tabsNav a:hover{<br /><br />	color: #0a0a0a<br /><br />}<br /><br /><br /><br />ul#tabContent{<br /><br />	margin: 1em 0 0;<br /><br />	background: url(images/tabContent.png) no-repeat top right#fff;<br /><br />	min-height: 180px;<br /><br />	width: 350px;<br /><br />	float: left;<br /><br />	list-style: none;<br /><br />	padding: 0 25px;<br /><br />	font-family: "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;<br /><br />}<br /><br /><br /><br />#tabContent>li{<br /><br />	width: 350px;<br /><br />	list-style: none;<br /><br />	padding: 0 25px 20px 0;<br /><br />}<br /><br /><br /><br />#tabContent li ul li{<br /><br />	list-style: none;<br /><br />}<br /><br /><br /><br />#tabContent li ul li a{<br /><br />	display: block;<br /><br />	border-bottom: 1px solid #e7e7e7;<br /><br />	padding: 10px 0;<br /><br />}<br /><br /><br /><br />#tabContent li ul li a:hover{<br /><br />	background: url(images/tabContentHover.png) no-repeat center bottom;<br /><br />}<br /><br /><br /><br />form{<br /><br />	padding: 30px;<br /><br /><br /><br />}<br /><br /><br /><br />form input{<br /><br />	background: url(images/searchInputBg.png) repeat-x #ddd;<br /><br />	border: 2px solid #cbc6c9;<br /><br />	border-right: 0;<br /><br />	padding: 5px;<br /><br />	margin-right: 0;<br /><br />	color: #fff;<br /><br />	font: 16px Georgia, "Times New Roman", Times, serif;<br /><br />}<br /><br /><br /><br />#searchSubmit{<br /><br />	border-left: 0;<br /><br />	border-right: 2px solid #cbc6c9;<br /><br />	margin-left: 0;<br /><br />	position: relative;<br /><br />	left: -3px;<br /><br />	color: #00416c;<br /><br />}<br /><br /><br /><br />#searchSubmit:hover{<br /><br />	background: url(images/tabContentHover.png) no-repeat center;<br /><br />	color: #003459;<br /><br />	cursor: pointer;<br /><br />}</code></pre><br /><br /><em>Si queremos que el diseño sea perfecto, os recomiendo que useis las imagenes que <strong>NETTUTS</strong> publican en su artículo.</em><br /><br /><h3>Paso 5: Ocultando y darle dinamismo a nuestro código</h3><br /><br />Así tenemos todo más o menos colocado, el contenido tiene un poco más de estructura y nos permite leerlo más fácilmente. Pero así y todo necesitamos poder añadirle una funcionalidad muy necesaria, que es la de poder seleccionar una opción u otra para ver el contenido si necesidad de tener que tener todo el contenido visible.<br /><br /><pre><code>$('#tabContent>li:gt(0)').hide();<br /><br />	$('#tabsNav li:first').addClass('active');<br /><br />	$('#tabsAndContent #tabsNav li').bind('click', function() {<br /><br />		$('li.active').removeClass('active');<br /><br />		$(this).addClass('active');<br /><br />		var target = $('a', this).attr('href');<br /><br />		$(target).slideDown(400).siblings().slideUp(300);<br /><br />		return false;<br /><br />	});</code></pre><br /><br />Como podemos ver, en la primera línea, ocultamos a los usuarios con Javascript todas las opciones excepto la primera, dejando los 5 primeros posts como primer contenido que el usuario verá al entrar a la página.<br /><br /><br /><br />Seleccionado las opciones podremos cambiar el contenido visible en nuestra página. Un resultado realmente intesante para tener en cuenta para nuestros diseños.<br /><br /><br /><br />Podeis ver <a href="http://nettuts.s3.amazonaws.com/024_Tabbed/preview/preview.html">una demo que la gente de NETTUTS han montado</a> para ilustrar su artículo.<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2008/04/10/los-37-mejores-plugins-para-jquery/" rel="bookmark" title="Permanent Link: Los 37 mejores plugins para jQuery">Los 37 mejores plugins para jQuery</a></li><li><a href="http://www.anieto2k.com/2006/10/28/nueva-version-jquery-103/" rel="bookmark" title="Permanent Link: Nueva version jQuery 1.0.3">Nueva version jQuery 1.0.3</a></li><li><a href="http://www.anieto2k.com/2008/07/02/wordpress-26-beta-2-disponible/" rel="bookmark" title="Permanent Link: Wordpress 2.6 beta 2 disponible">Wordpress 2.6 beta 2 disponible</a></li><li><a href="http://www.anieto2k.com/2007/02/28/jquery-112-ha-visto-la-luz/" rel="bookmark" title="Permanent Link: jQuery 1.1.2, ha visto la luz">jQuery 1.1.2, ha visto la luz</a></li><li><a href="http://www.anieto2k.com/2006/09/22/visual-jquery-documentation-aun-mas-facil/" rel="bookmark" title="Permanent Link: Visual jQuery Documentation, aún más fácil">Visual jQuery Documentation, aún más fácil</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5794&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5794" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=5TJy1Y"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=5TJy1Y" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=II6zzJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=II6zzJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=fJ7OmJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=fJ7OmJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/programacion">programacion</a>, <a href="http://bitacoras.com/canales/wordpress">wordpress</a>, <a href="http://bitacoras.com/canales/hacks">hacks</a>, <a href="http://bitacoras.com/canales/javascript">javascript</a>, <a href="http://bitacoras.com/canales/themes">themes</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>10 extensiones para Firefox con las que mejorar nuestra privacidad</title>
		<link>http://www.anieto2k.com/2008/07/20/10-extensiones-para-firefox-con-las-que-mejorar-nuestra-privacidad</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/20/10-extensiones-para-firefox-con-las-que-mejorar-nuestra-privacidad</guid>
		<pubDate>Sun, 20 Jul 2008 19:44:22 +0200</pubDate>
		<category>webdev</category>
		<category>firefox</category>
		<category>plugins</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 20 de julio de 2008 a las 19:44:22

Firefox no es únicamente un gran navegador sinó que la puerta de salida de una comunidad de desarrolladores volcados en ampliar las funcionalidades que el navegador ya ofrece.Este listado de 10 extensiones con las que podremos mejorar la seguridad y privacidad de nuestra navegación con Firefox es una muestra de ello.No &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/20/10-extensiones-para-firefox-con-las-que-mejorar-nuestra-privacidad">aNieto2K</a> el 20 de julio de 2008 a las 19:44:22</p>

Firefox no es únicamente un gran navegador sinó que la puerta de salida de una comunidad de desarrolladores volcados en ampliar las funcionalidades que el navegador ya ofrece.<br /><br /><br /><br />Este listado de <a href="http://www.linux.com/feature/121738">10 extensiones con las que podremos mejorar la seguridad y privacidad de nuestra navegación con Firefox</a> es una muestra de ello.<br /><br /><br /><br /><strong>NoScript</strong><br /><br /><a href="https://addons.mozilla.org/es-ES/firefox/addon/722" target="_blank">https://addons.mozilla.org/es-ES/firefox/addon/722</a><br /><br /><br /><br /><strong>FoxTor</strong><br /><br /><a href="https://addons.mozilla.org/es-ES/firefox/addon/3606" target="_blank">https://addons.mozilla.org/es-ES/firefox/addon/3606</a><br /><br /><br /><br /><strong>SafeHistory</strong><br /><br /><a href="https://addons.mozilla.org/es-ES/firefox/addon/1502" target="_blank">https://addons.mozilla.org/es-ES/firefox/addon/1502</a><br /><br /><br /><br /><strong>GMail S/MIME</strong><br /><br /><a href="https://addons.mozilla.org/es-ES/firefox/addon/592" target="_blank">https://addons.mozilla.org/es-ES/firefox/addon/592</a><br /><br /><br /><br /><strong>Petname Tool</strong><br /><br /><a href="https://addons.mozilla.org/es-ES/firefox/addon/957" target="_blank">https://addons.mozilla.org/es-ES/firefox/addon/957</a><br /><br /><br /><br /><strong>SecurePassword Generator</strong><br /><br /><a href="https://addons.mozilla.org/es-ES/firefox/addon/135" target="_blank">https://addons.mozilla.org/es-ES/firefox/addon/135</a><br /><br /><br /><br /><strong>FormFox</strong><br /><br /><a href="https://addons.mozilla.org/es-ES/firefox/addon/1579" target="_blank">https://addons.mozilla.org/es-ES/firefox/addon/1579</a><br /><br /><br /><br /><strong>TrashMail.net</strong><br /><br /><a href="https://addons.mozilla.org/es-ES/firefox/addon/1813" target="_blank">https://addons.mozilla.org/es-ES/firefox/addon/1813</a><br /><br /><br /><br /><strong>Page Title Eraser</strong><br /><br /><a href="https://addons.mozilla.org/es-ES/firefox/addon/2363" target="_blank">https://addons.mozilla.org/es-ES/firefox/addon/2363</a><br /><br /><br /><br /><strong>TrackMeNot</strong><br /><br /><a href="https://addons.mozilla.org/es-ES/firefox/addon/3173" target="_blank">https://addons.mozilla.org/es-ES/firefox/addon/3173</a><br /><br /><br /><br /><strong>Fuente</strong> | <a href="http://www.linux.com/feature/121738">Linux.com</a> / <strong>Via</strong> | <a href="http://edusanver.wordpress.com/2008/07/20/extensiones-firefox-para-navegar-con-privacidad-y-seguridad/">Edusanver.com</a><h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2007/01/24/21-extensiones-para-firefox-divertidas/" rel="bookmark" title="Permanent Link: 21 extensiones para Firefox divertidas">21 extensiones para Firefox divertidas</a></li><li><a href="http://www.anieto2k.com/2006/06/05/manual-para-crear-extensiones-para-firefox/" rel="bookmark" title="Permanent Link: Manual para crear extensiones para Firefox">Manual para crear extensiones para Firefox</a></li><li><a href="http://www.anieto2k.com/2008/07/01/4-extensiones-para-complementar-firebug/" rel="bookmark" title="Permanent Link: 4 extensiones para complementar Firebug">4 extensiones para complementar Firebug</a></li><li><a href="http://www.anieto2k.com/2007/04/15/reduce-el-consumo-de-memoria-de-firefox/" rel="bookmark" title="Permanent Link: Reduce el consumo de memoria de Firefox">Reduce el consumo de memoria de Firefox</a></li><li><a href="http://www.anieto2k.com/2007/11/27/canvas-3d-para-firefox-3-mediante-una-extension/" rel="bookmark" title="Permanent Link: Canvas 3D para Firefox 3 mediante una extensión">Canvas 3D para Firefox 3 mediante una extensión</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5793&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5793" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=m9DwW7"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=m9DwW7" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=TyHdeJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=TyHdeJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=2O1M9J"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=2O1M9J" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/webdev">webdev</a>, <a href="http://bitacoras.com/canales/firefox">firefox</a>, <a href="http://bitacoras.com/canales/plugins">plugins</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>Consejos para mejorar la usabilidad de tus formularios</title>
		<link>http://www.anieto2k.com/2008/07/18/consejos-para-mejorar-la-usabilidad-de-tus-formularios</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/18/consejos-para-mejorar-la-usabilidad-de-tus-formularios</guid>
		<pubDate>Fri, 18 Jul 2008 21:24:09 +0200</pubDate>
		<category>usabilidad</category>
		<category>webdev</category>
		<category>forms</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 18 de julio de 2008 a las 21:24:09

Los formularios han sido, y son, las llaves para conseguir que la web 2.0 sea una realidad. Por ese motivo hemos de cuidar los detalles para conseguir que su uso sea el más cómodo y rápido posible, teniendo en cuenta los siguientes consejos será más que suficiente para que nuestros usuarios los usen:	Añade sugerencias	 &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/18/consejos-para-mejorar-la-usabilidad-de-tus-formularios">aNieto2K</a> el 18 de julio de 2008 a las 21:24:09</p>

Los formularios han sido, y son, las llaves para conseguir que <a href="http://www.anieto2k.com/2007/08/03/consecuencias-de-la-web-20-y-la-llegada-de-la-web-30/">la web 2.0</a> sea una realidad. Por ese motivo hemos de cuidar los detalles para conseguir que su uso sea el más cómodo y rápido posible, teniendo en cuenta los siguientes consejos será más que suficiente para que nuestros usuarios los usen:<br /><br /><ul><br /><br />	<li>Añade sugerencias</li><br /><br />	<li>Añade AutoSuggest  (<a href="http://www.anieto2k.com/2006/01/23/crea-tu-propio-suggest/">Crealo tu mismo</a> o <a href="http://www.anieto2k.com/2006/11/11/recopilacion-de-autocomplete-y-suggest/">usa uno ya hecho</a>)</li><br /><br />	<li>Crea validaciones simples en tus inputs</li><br /><br />	<li>Muestra elementos ocultos mediante un radiobutton</li><br /><br /></ul><br /><br /><a href="http://woork.blogspot.com/2008/07/useful-tips-to-enrich-your-html-forms.html">Via</a> (Código explicativo en la fuente)<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2007/05/24/8-consejos-para-mejorar-la-usabilidad/" rel="bookmark" title="Permanent Link: 8 consejos para mejorar la usabilidad">8 consejos para mejorar la usabilidad</a></li><li><a href="http://www.anieto2k.com/2007/12/13/herramientas-para-mejorar-sustancialmente-tus-formularios/" rel="bookmark" title="Permanent Link: Herramientas para mejorar sustancialmente tus formularios">Herramientas para mejorar sustancialmente tus formularios</a></li><li><a href="http://www.anieto2k.com/2006/11/20/8-utilidades-para-mejorar-tus-formularios/" rel="bookmark" title="Permanent Link: 8 utilidades para mejorar tus formularios">8 utilidades para mejorar tus formularios</a></li><li><a href="http://www.anieto2k.com/2007/07/01/50-herramientas-online-de-accesibilidad-y-usabilidad/" rel="bookmark" title="Permanent Link: 50 herramientas online de accesibilidad y usabilidad">50 herramientas online de accesibilidad y usabilidad</a></li><li><a href="http://www.anieto2k.com/2006/07/20/20-consejos-para-ser-un-gran-disenador-web/" rel="bookmark" title="Permanent Link: 20 consejos para ser un gran diseñador web">20 consejos para ser un gran diseñador web</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5790&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5790" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=b4VOGj"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=b4VOGj" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=7TKhhJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=7TKhhJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=3HEEZJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=3HEEZJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/usabilidad">usabilidad</a>, <a href="http://bitacoras.com/canales/webdev">webdev</a>, <a href="http://bitacoras.com/canales/forms">forms</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>Firebug pasa a ser parte del Proyecto Mozilla</title>
		<link>http://www.anieto2k.com/2008/07/18/firebug-pasa-a-ser-parte-del-proyecto-mozilla</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/18/firebug-pasa-a-ser-parte-del-proyecto-mozilla</guid>
		<pubDate>Fri, 18 Jul 2008 15:00:12 +0200</pubDate>
		<category>actualidad</category>
		<category>asides</category>
		<category>red</category>
		<category>webdev</category>
		<category>firebug</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 18 de julio de 2008 a las 15:00:12

Han tardado, pero por fin se ha anunciado, atraves de John Resig,  que Firebug pasa a ser un proyecto de la compañía Mozilla, al igual que Dragonfly en Opera, Firefox tendrá su aplicación de debugueo propia de la casa, lo que seguro nos aportará importantes y interesantes sorpresas :DArtículos relacionadosPor fin!, Fir &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/18/firebug-pasa-a-ser-parte-del-proyecto-mozilla">aNieto2K</a> el 18 de julio de 2008 a las 15:00:12</p>

Han tardado, pero por fin <a href="http://ejohn.org/blog/firebuggin/">se ha anunciado, atraves de John Resig,  que Firebug pasa a ser un proyecto de la compañía Mozilla</a>, al igual que <a href="http://www.anieto2k.com/2008/05/06/probando-opera-dragonfly-beta/">Dragonfly en Opera</a>, Firefox tendrá<a href="http://www.anieto2k.com/2008/07/02/un-firebug-para-cada-navegador/"> su aplicación de debugueo</a> propia de la casa, lo que seguro nos aportará importantes y interesantes sorpresas :D<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2008/05/22/por-fin-firebug-en-mozilla-firefox-30/" rel="bookmark" title="Permanent Link: Por fin!, Firebug en Mozilla Firefox 3.0">Por fin!, Firebug en Mozilla Firefox 3.0</a></li><li><a href="http://www.anieto2k.com/2007/11/27/detecta-si-firebug-esta-activo/" rel="bookmark" title="Permanent Link: Detecta si Firebug está activo">Detecta si Firebug está activo</a></li><li><a href="http://www.anieto2k.com/2006/12/09/firebug-screencast/" rel="bookmark" title="Permanent Link: Firebug ScreenCast">Firebug ScreenCast</a></li><li><a href="http://www.anieto2k.com/2006/04/01/firebug-mejora-tu-firefox/" rel="bookmark" title="Permanent Link: Firebug, mejora tu firefox">Firebug, mejora tu firefox</a></li><li><a href="http://www.anieto2k.com/2006/12/04/firebug-10-public-beta-por-fin/" rel="bookmark" title="Permanent Link: Firebug 1.0 public beta, por fin!!">Firebug 1.0 public beta, por fin!!</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5789&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5789" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=LQ7Tjv"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=LQ7Tjv" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=djNaYJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=djNaYJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=3UaArJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=3UaArJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/actualidad">actualidad</a>, <a href="http://bitacoras.com/canales/asides">asides</a>, <a href="http://bitacoras.com/canales/red">red</a>, <a href="http://bitacoras.com/canales/webdev">webdev</a>, <a href="http://bitacoras.com/canales/firebug">firebug</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>Firebug pasa a ser parte del Proyecto Mozilla</title>
		<link>http://www.anieto2k.com/2008/07/18/firebug-pasa-a-ser-parte-del-proyecto-mozilla</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/18/firebug-pasa-a-ser-parte-del-proyecto-mozilla</guid>
		<pubDate>Fri, 18 Jul 2008 15:00:12 +0200</pubDate>
		<category>actualidad</category>
		<category>asides</category>
		<category>red</category>
		<category>webdev</category>
		<category>firebug</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 18 de julio de 2008 a las 15:00:12

Han tardado, pero por fin se ha anunciado, atraves de John Resig,  que Firebug pasa a ser un proyecto de la compañía Mozilla, al igual que Dragonfly en Opera, Firefox tendrá su aplicación de debugueo propia de la casa, lo que seguro nos aportará importantes y interesantes sorpresas :DArtículos relacionadosPor fin!, Fir &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/18/firebug-pasa-a-ser-parte-del-proyecto-mozilla">aNieto2K</a> el 18 de julio de 2008 a las 15:00:12</p>

Han tardado, pero por fin <a href="http://ejohn.org/blog/firebuggin/">se ha anunciado, atraves de John Resig,  que Firebug pasa a ser un proyecto de la compañía Mozilla</a>, al igual que <a href="http://www.anieto2k.com/2008/05/06/probando-opera-dragonfly-beta/">Dragonfly en Opera</a>, Firefox tendrá<a href="http://www.anieto2k.com/2008/07/02/un-firebug-para-cada-navegador/"> su aplicación de debugueo</a> propia de la casa, lo que seguro nos aportará importantes y interesantes sorpresas :D<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2008/05/22/por-fin-firebug-en-mozilla-firefox-30/" rel="bookmark" title="Permanent Link: Por fin!, Firebug en Mozilla Firefox 3.0">Por fin!, Firebug en Mozilla Firefox 3.0</a></li><li><a href="http://www.anieto2k.com/2007/11/27/detecta-si-firebug-esta-activo/" rel="bookmark" title="Permanent Link: Detecta si Firebug está activo">Detecta si Firebug está activo</a></li><li><a href="http://www.anieto2k.com/2006/12/09/firebug-screencast/" rel="bookmark" title="Permanent Link: Firebug ScreenCast">Firebug ScreenCast</a></li><li><a href="http://www.anieto2k.com/2006/04/01/firebug-mejora-tu-firefox/" rel="bookmark" title="Permanent Link: Firebug, mejora tu firefox">Firebug, mejora tu firefox</a></li><li><a href="http://www.anieto2k.com/2006/12/04/firebug-10-public-beta-por-fin/" rel="bookmark" title="Permanent Link: Firebug 1.0 public beta, por fin!!">Firebug 1.0 public beta, por fin!!</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5789&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5789" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=LQ7Tjv"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=LQ7Tjv" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=djNaYJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=djNaYJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=3UaArJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=3UaArJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/actualidad">actualidad</a>, <a href="http://bitacoras.com/canales/asides">asides</a>, <a href="http://bitacoras.com/canales/red">red</a>, <a href="http://bitacoras.com/canales/webdev">webdev</a>, <a href="http://bitacoras.com/canales/firebug">firebug</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>Muestra los usuarios que cumplen a&#241;os en tu web</title>
		<link>http://www.anieto2k.com/2008/07/18/muestra-los-usuarios-que-cumplen-anos-en-tu-web</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/18/muestra-los-usuarios-que-cumplen-anos-en-tu-web</guid>
		<pubDate>Fri, 18 Jul 2008 13:34:55 +0200</pubDate>
		<category>php</category>
		<category>programacion</category>
		<category>wordpress</category>
		<category>plugins</category>
		<category>webdev</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 18 de julio de 2008 a las 13:34:55

Hace ya tiempo que la BlogoEdad está recopilando datos de los usuarios registrados, actualmente hay 2125 usuarios registrados, y ya hemos llegado al punto en el que al día hay varios usuarios que cumplen años y he pensado que podría estar bien explicar como usar el API para integrarlo en nuestros blogs.Desde PHP&#60;?ph &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/18/muestra-los-usuarios-que-cumplen-anos-en-tu-web">aNieto2K</a> el 18 de julio de 2008 a las 13:34:55</p>

Hace ya tiempo que la <a href="http://edad.anieto2k.com/">BlogoEdad </a>está recopilando datos de los usuarios registrados, actualmente hay <a href="http://edad.anieto2k.com/list.php">2125 usuarios registrados</a>, y ya hemos llegado al punto en el que al día hay varios usuarios que cumplen años y he pensado que podría estar bien explicar como <a href="http://edad.anieto2k.com/api_desc.php">usar el API</a> para integrarlo en nuestros blogs.<br /><br /><h3>Desde PHP</h3><br /><br /><pre><code>&#60;?php<br /><br />class BlogoEdadApi {<br /><br />	var $xmlFile = 'xml/'; // Indicamos el directorio<br /><br /><br /><br />	function show($dia, $mes) {<br /><br />			echo $this->felicitaciones($this->get($dia, $mes));<br /><br />  	}<br /><br /><br /><br />	  function get($dia, $mes) {<br /><br />	  	$this->xmlFile .= $dia.$mes.'.xml';<br /><br />	  	  if (file_exists($this->xmlFile) && filemtime($this->xmlFile) < 86400 + time())<br /><br />				$xml = $this->getFromFile($this->xmlFile);<br /><br />			else<br /><br />				$xml = $this->getFromUrl('http://edad.anieto2k.com/api.php?d='.$dia.'&m='.$mes);<br /><br />			return $this->parseXML($xml);<br /><br />	  }<br /><br /><br /><br />	  function getFromFile($xmlFile) {<br /><br />	  	if (!function_exists("file_get_contents")) {<br /><br />	  		$gestor = fopen($xmlFile, "r");<br /><br />				$xml = fread($gestor, filesize($xmlFile));<br /><br />				fclose($gestor);<br /><br />	  	} else {<br /><br />	  			$xml = file_get_contents($xmlFile);<br /><br />	  	}<br /><br />	  	return $xml;<br /><br />	  }<br /><br /><br /><br />	  function getFromUrl($url, $cache = true){<br /><br />	  	if (!function_exists("file_get_contents")) {<br /><br />	  			$ch = curl_init();<br /><br />					curl_setopt($ch, CURLOPT_URL, $url);<br /><br />					curl_setopt($ch, CURLOPT_HEADER, 0);<br /><br />					$file = curl_exec($ch);<br /><br />					curl_close($ch);<br /><br />	  	}else {<br /><br />	  		$file = file_get_contents($url);<br /><br />	  	}<br /><br />	  	if ($cache) $this->saveCache($this->xmlFile, $file);<br /><br />	  	return $file;<br /><br />	  }<br /><br /><br /><br />	  function saveCache($xmlFile, $str) {<br /><br /> 	 		if(!is_writable(dirname($xmlFile))) die("Imposible almacenar el fichero XML, prueba darle permisos de escritura a la carpeta donde se alojan.");<br /><br />	  		$fh = fopen($xmlFile ,"w");<br /><br />	    	fwrite($fh,$str);<br /><br />	    	fclose($fh);<br /><br />	   }<br /><br /><br /><br />	  function parseXML($xml) {<br /><br />	  	// Parseo de XML<br /><br />			$doc = new DOMDocument();<br /><br />			$doc->loadXML($xml);<br /><br />			$nodes = $doc->getElementsByTagName("user");<br /><br /><br /><br />			$usuarios = array();<br /><br />			if ($nodes->length > 0) { // Hay usuarios<br /><br />	        for ($i = 0; $i < $nodes->length; $i++) {<br /><br />	        		array_push($usuarios, array(<br /><br />	        				'id' => $nodes->item($i)->getElementsByTagName('id')->item(0)->nodeValue,<br /><br />	        				'name' => $nodes->item($i)->getElementsByTagName('nombre')->item(0)->nodeValue,<br /><br />	        				'url' => $nodes->item($i)->getElementsByTagName('url')->item(0)->nodeValue<br /><br />	        		));<br /><br />	       }<br /><br />			}<br /><br />			return $usuarios;<br /><br />	  }<br /><br /><br /><br />		function felicitaciones($usuarios) {<br /><br />			if (!is_array($usuarios) || sizeof($usuarios) == 0) return '<ul><li>No hay felicitiaciones hoy</li></ul>';<br /><br />			$salida = '<ul>';<br /><br />			foreach ($usuarios as $user) {<br /><br />						$salida .= '<li><a href="'.$user["url"].'">'.$user["name"].'</a></li>';<br /><br />			}<br /><br />			$salida .= '</ul>';<br /><br />			return $salida;<br /><br />		}<br /><br />}<br /><br />?&#62;</code></pre><br /><br />He pensado que para evitar saturación de peticiones, use un sistema de caché almacenando un fichero cada día y así por sitio web se lanzará un petición por día. Para ello hay que definir una carpeta con permisos descritura donde alojar estos ficheros XML.<br /><br /><pre><code>anieto2k@eNToR:~/public_html$ mkdir xml<br /><br />anieto2k@eNToR:~/public_html$ chmod 777 xml</code></pre><br /><br />Para usar esta clase, únicamente tendremos que insertar donde queramos el siguiente código.<br /><br /><pre><code>&#60;?php<br /><br />include ("class.blogoedad.php");<br /><br /><br /><br />$edad = new BlogoEdadApi();<br /><br />$edad->show(date("d"), date ("m")); //Día actual del sistema.<br /><br />// Devolver un Array<br /><br />$arrayUsuarios = array();<br /><br />$arrayUsuarios = $edad->get(03, 11); // Un array de los nacidos el 3 de noviembre.<br /><br />foreach ($arrayUsuarios as $user)<br /><br />....<br /><br />?&#62;</code></pre><br /><br />Descargar <a href="http://www.anieto2k.com/demo/api_edad/class.blogoedad.txt">class.blogoedad.php</a>. Tambien teneis una <a href="http://www.anieto2k.com/demo/api_edad/">demo del resultado</a>.<br /><br /><h3>Plugin Wordpress</h3><br /><br />Si eres un usuario de Wordpress, he pensado que sería más fácil simplemente activar un plugin y tener un par de funciones disponibles para insertarlo fácilmente en nuestro theme.<br /><br /><h4>Instalación</h4><br /><br /><ol><br /><br />	<li>Descargar <a href="http://www.anieto2k.com/downloads/mirror.php?id=105">el plugin</a></li><br /><br />	<li>Descomprimir y subir a la carpeta <strong>wp-content/plugins/</strong> de nuestro Wordpress</li><br /><br />	<li>Crear la carpeta <strong>xml/</strong> dentro del directorio <strong>blogoedad/</strong> de <strong>wp-content/plugins/</strong></li><br /><br />	<li>Aplicarle estilos de escritura al directorio <strong>xml/ </strong></li><br /><br />	<li>Activar el plugin</li><br /><br /></ol><br /><br /><h4>Modo de empleo</h4><br /><br />En nuestro theme podremos usar 2 funcione que nos mostrarán los datos que solicitemos.<br /><br /><pre><code>&#60;?php if (function_exists("BlogoEdad"))<br /><br />               BlogoEdad(); //Por defecto HTML, cualquier otro valor devolverá un array ?&#62;</code></pre><br /><br />Insertamos la línea anterior donde quereamos que aparezca un listado de los Bloggers que cumplen años hoy.<br /><br /><pre><code>&#60;?php if (function_exists("BlogoEdadDay"))<br /><br />               BlogoEdadDay(14, 08); //Por defecto HTML, cualquier otro valor devolverá un array ?&#62;</code></pre><br /><br />Nos devolverá un listado con los usuarios que cumplan años el día <em>14 de agosto</em>.<br /><br /><br /><br />Tambien podemos trabajar con array haciendo que la función devuelva un <code>array</code> en lugar de la estructura HTML y así formarla nosotros mismos.<br /><br /><pre><code>&#60;?php if (function_exists("BlogoEdad")) BlogoEdad('array');<br /><br />      //  o<br /><br />      if (function_exists("BlogoEdadDay")) BlogoEdadDay(14, 08, 'array'); ?&#62;</code></pre><h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2007/10/09/felicidades-obokaman-rompiendo-la-estadistica-d/" rel="bookmark" title="Permanent Link: Felicidades Obokaman, rompiendo la estadística :D">Felicidades Obokaman, rompiendo la estadística :D</a></li><li><a href="http://www.anieto2k.com/2007/08/31/blogday-07/" rel="bookmark" title="Permanent Link: BlogDay 07">BlogDay 07</a></li><li><a href="http://www.anieto2k.com/2007/04/03/blogoedad-primer-dia/" rel="bookmark" title="Permanent Link: BlogoEdad, primer día">BlogoEdad, primer día</a></li><li><a href="http://www.anieto2k.com/2006/07/28/playboy-31-anos/" rel="bookmark" title="Permanent Link: Playboy 31 años">Playboy 31 años</a></li><li><a href="http://www.anieto2k.com/2006/08/21/scarlett-johansson-los-anos-la-estan-mejorando/" rel="bookmark" title="Permanent Link: Scarlett Johansson, los años la están mejorando">Scarlett Johansson, los años la están mejorando</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5788&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5788" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=gtrmTq"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=gtrmTq" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=Uh4y7J"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=Uh4y7J" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=kHmB2J"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=kHmB2J" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/php">php</a>, <a href="http://bitacoras.com/canales/programacion">programacion</a>, <a href="http://bitacoras.com/canales/wordpress">wordpress</a>, <a href="http://bitacoras.com/canales/plugins">plugins</a>, <a href="http://bitacoras.com/canales/webdev">webdev</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>Muestra los usuarios que cumplen a&#241;os en tu web</title>
		<link>http://www.anieto2k.com/2008/07/18/muestra-los-usuarios-que-cumplen-anos-en-tu-web</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/18/muestra-los-usuarios-que-cumplen-anos-en-tu-web</guid>
		<pubDate>Fri, 18 Jul 2008 13:34:55 +0200</pubDate>
		<category>php</category>
		<category>programacion</category>
		<category>wordpress</category>
		<category>plugins</category>
		<category>webdev</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 18 de julio de 2008 a las 13:34:55

Hace ya tiempo que la BlogoEdad está recopilando datos de los usuarios registrados, actualmente hay 2125 usuarios registrados, y ya hemos llegado al punto en el que al día hay varios usuarios que cumplen años y he pensado que podría estar bien explicar como usar el API para integrarlo en nuestros blogs.Desde PHP&#60;?ph &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/18/muestra-los-usuarios-que-cumplen-anos-en-tu-web">aNieto2K</a> el 18 de julio de 2008 a las 13:34:55</p>

Hace ya tiempo que la <a href="http://edad.anieto2k.com/">BlogoEdad </a>está recopilando datos de los usuarios registrados, actualmente hay <a href="http://edad.anieto2k.com/list.php">2125 usuarios registrados</a>, y ya hemos llegado al punto en el que al día hay varios usuarios que cumplen años y he pensado que podría estar bien explicar como <a href="http://edad.anieto2k.com/api_desc.php">usar el API</a> para integrarlo en nuestros blogs.<br /><br /><h3>Desde PHP</h3><br /><br /><pre><code>&#60;?php<br /><br />class BlogoEdadApi {<br /><br />	var $xmlFile = 'xml/'; // Indicamos el directorio<br /><br /><br /><br />	function show($dia, $mes) {<br /><br />			echo $this->felicitaciones($this->get($dia, $mes));<br /><br />  	}<br /><br /><br /><br />	  function get($dia, $mes) {<br /><br />	  	$this->xmlFile .= $dia.$mes.'.xml';<br /><br />	  	  if (file_exists($this->xmlFile) && filemtime($this->xmlFile) < 86400 + time())<br /><br />				$xml = $this->getFromFile($this->xmlFile);<br /><br />			else<br /><br />				$xml = $this->getFromUrl('http://edad.anieto2k.com/api.php?d='.$dia.'&m='.$mes);<br /><br />			return $this->parseXML($xml);<br /><br />	  }<br /><br /><br /><br />	  function getFromFile($xmlFile) {<br /><br />	  	if (!function_exists("file_get_contents")) {<br /><br />	  		$gestor = fopen($xmlFile, "r");<br /><br />				$xml = fread($gestor, filesize($xmlFile));<br /><br />				fclose($gestor);<br /><br />	  	} else {<br /><br />	  			$xml = file_get_contents($xmlFile);<br /><br />	  	}<br /><br />	  	return $xml;<br /><br />	  }<br /><br /><br /><br />	  function getFromUrl($url, $cache = true){<br /><br />	  	if (!function_exists("file_get_contents")) {<br /><br />	  			$ch = curl_init();<br /><br />					curl_setopt($ch, CURLOPT_URL, $url);<br /><br />					curl_setopt($ch, CURLOPT_HEADER, 0);<br /><br />					$file = curl_exec($ch);<br /><br />					curl_close($ch);<br /><br />	  	}else {<br /><br />	  		$file = file_get_contents($url);<br /><br />	  	}<br /><br />	  	if ($cache) $this->saveCache($this->xmlFile, $file);<br /><br />	  	return $file;<br /><br />	  }<br /><br /><br /><br />	  function saveCache($xmlFile, $str) {<br /><br /> 	 		if(!is_writable(dirname($xmlFile))) die("Imposible almacenar el fichero XML, prueba darle permisos de escritura a la carpeta donde se alojan.");<br /><br />	  		$fh = fopen($xmlFile ,"w");<br /><br />	    	fwrite($fh,$str);<br /><br />	    	fclose($fh);<br /><br />	   }<br /><br /><br /><br />	  function parseXML($xml) {<br /><br />	  	// Parseo de XML<br /><br />			$doc = new DOMDocument();<br /><br />			$doc->loadXML($xml);<br /><br />			$nodes = $doc->getElementsByTagName("user");<br /><br /><br /><br />			$usuarios = array();<br /><br />			if ($nodes->length > 0) { // Hay usuarios<br /><br />	        for ($i = 0; $i < $nodes->length; $i++) {<br /><br />	        		array_push($usuarios, array(<br /><br />	        				'id' => $nodes->item($i)->getElementsByTagName('id')->item(0)->nodeValue,<br /><br />	        				'name' => $nodes->item($i)->getElementsByTagName('nombre')->item(0)->nodeValue,<br /><br />	        				'url' => $nodes->item($i)->getElementsByTagName('url')->item(0)->nodeValue<br /><br />	        		));<br /><br />	       }<br /><br />			}<br /><br />			return $usuarios;<br /><br />	  }<br /><br /><br /><br />		function felicitaciones($usuarios) {<br /><br />			if (!is_array($usuarios) || sizeof($usuarios) == 0) return '<ul><li>No hay felicitiaciones hoy</li></ul>';<br /><br />			$salida = '<ul>';<br /><br />			foreach ($usuarios as $user) {<br /><br />						$salida .= '<li><a href="'.$user["url"].'">'.$user["name"].'</a></li>';<br /><br />			}<br /><br />			$salida .= '</ul>';<br /><br />			return $salida;<br /><br />		}<br /><br />}<br /><br />?&#62;</code></pre><br /><br />He pensado que para evitar saturación de peticiones, use un sistema de caché almacenando un fichero cada día y así por sitio web se lanzará un petición por día. Para ello hay que definir una carpeta con permisos descritura donde alojar estos ficheros XML.<br /><br /><pre><code>anieto2k@eNToR:~/public_html$ mkdir xml<br /><br />anieto2k@eNToR:~/public_html$ chmod 777 xml</code></pre><br /><br />Para usar esta clase, únicamente tendremos que insertar donde queramos el siguiente código.<br /><br /><pre><code>&#60;?php<br /><br />include ("class.blogoedad.php");<br /><br /><br /><br />$edad = new BlogoEdadApi();<br /><br />$edad->show(date("d"), date ("m")); //Día actual del sistema.<br /><br />// Devolver un Array<br /><br />$arrayUsuarios = array();<br /><br />$arrayUsuarios = $edad->get(03, 11); // Un array de los nacidos el 3 de noviembre.<br /><br />foreach ($arrayUsuarios as $user)<br /><br />....<br /><br />?&#62;</code></pre><br /><br />Descargar <a href="http://www.anieto2k.com/demo/api_edad/class.blogoedad.txt">class.blogoedad.php</a>. Tambien teneis una <a href="http://www.anieto2k.com/demo/api_edad/">demo del resultado</a>.<br /><br /><h3>Plugin Wordpress</h3><br /><br />Si eres un usuario de Wordpress, he pensado que sería más fácil simplemente activar un plugin y tener un par de funciones disponibles para insertarlo fácilmente en nuestro theme.<br /><br /><h4>Instalación</h4><br /><br /><ol><br /><br />	<li>Descargar <a href="http://www.anieto2k.com/downloads/mirror.php?id=105">el plugin</a></li><br /><br />	<li>Descomprimir y subir a la carpeta <strong>wp-content/plugins/</strong> de nuestro Wordpress</li><br /><br />	<li>Crear la carpeta <strong>xml/</strong> dentro del directorio <strong>blogoedad/</strong> de <strong>wp-content/plugins/</strong></li><br /><br />	<li>Aplicarle estilos de escritura al directorio <strong>xml/ </strong></li><br /><br />	<li>Activar el plugin</li><br /><br /></ol><br /><br /><h4>Modo de empleo</h4><br /><br />En nuestro theme podremos usar 2 funcione que nos mostrarán los datos que solicitemos.<br /><br /><pre><code>&#60;?php if (function_exists("BlogoEdad"))<br /><br />               BlogoEdad(); //Por defecto HTML, cualquier otro valor devolverá un array ?&#62;</code></pre><br /><br />Insertamos la línea anterior donde quereamos que aparezca un listado de los Bloggers que cumplen años hoy.<br /><br /><pre><code>&#60;?php if (function_exists("BlogoEdadDay"))<br /><br />               BlogoEdadDay(14, 08); //Por defecto HTML, cualquier otro valor devolverá un array ?&#62;</code></pre><br /><br />Nos devolverá un listado con los usuarios que cumplan años el día <em>14 de agosto</em>.<br /><br /><br /><br />Tambien podemos trabajar con array haciendo que la función devuelva un <code>array</code> en lugar de la estructura HTML y así formarla nosotros mismos.<br /><br /><pre><code>&#60;?php if (function_exists("BlogoEdad")) BlogoEdad('array');<br /><br />      //  o<br /><br />      if (function_exists("BlogoEdadDay")) BlogoEdadDay(14, 08, 'array'); ?&#62;</code></pre><h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2007/10/09/felicidades-obokaman-rompiendo-la-estadistica-d/" rel="bookmark" title="Permanent Link: Felicidades Obokaman, rompiendo la estadística :D">Felicidades Obokaman, rompiendo la estadística :D</a></li><li><a href="http://www.anieto2k.com/2007/08/31/blogday-07/" rel="bookmark" title="Permanent Link: BlogDay 07">BlogDay 07</a></li><li><a href="http://www.anieto2k.com/2007/04/03/blogoedad-primer-dia/" rel="bookmark" title="Permanent Link: BlogoEdad, primer día">BlogoEdad, primer día</a></li><li><a href="http://www.anieto2k.com/2006/07/28/playboy-31-anos/" rel="bookmark" title="Permanent Link: Playboy 31 años">Playboy 31 años</a></li><li><a href="http://www.anieto2k.com/2006/08/21/scarlett-johansson-los-anos-la-estan-mejorando/" rel="bookmark" title="Permanent Link: Scarlett Johansson, los años la están mejorando">Scarlett Johansson, los años la están mejorando</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5788&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5788" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=gtrmTq"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=gtrmTq" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=Uh4y7J"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=Uh4y7J" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=kHmB2J"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=kHmB2J" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/php">php</a>, <a href="http://bitacoras.com/canales/programacion">programacion</a>, <a href="http://bitacoras.com/canales/wordpress">wordpress</a>, <a href="http://bitacoras.com/canales/plugins">plugins</a>, <a href="http://bitacoras.com/canales/webdev">webdev</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>JavaScript Micro-Templating</title>
		<link>http://www.anieto2k.com/2008/07/17/javascript-micro-templating</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/17/javascript-micro-templating</guid>
		<pubDate>Thu, 17 Jul 2008 14:42:23 +0200</pubDate>
		<category>programacion</category>
		<category>javascript</category>
		<category>webdev</category>
		<category>templates</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 17 de julio de 2008 a las 14:42:23

John Resig, ha desarrollado un pequeño sistema de micro-templating para Javascript. Algo que poco a poco parece que se va integrando más en las páginas debido a la relevancia que está cogiendo este lenguaje.// Simple JavaScript Templating// John Resig - http://ejohn.org/ - MIT Licensed(function(){  var cache = {};  thi &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/17/javascript-micro-templating">aNieto2K</a> el 17 de julio de 2008 a las 14:42:23</p>

<a href="http://ejohn.org/blog/">John Resig</a>, ha desarrollado un pequeño <a href="http://ejohn.org/blog/javascript-micro-templating/">sistema de micro-templating para Javascript</a>. Algo que <a href="http://www.anieto2k.com/2007/02/27/templates-en-javascript/">poco a poco</a> parece que <a href="http://www.anieto2k.com/2007/04/11/jstl-mas-templates-en-javascript/">se va integrando más en las páginas</a> debido a la relevancia que está cogiendo este lenguaje.<br /><br /><pre><code>// Simple JavaScript Templating<br /><br />// John Resig - http://ejohn.org/ - MIT Licensed<br /><br />(function(){<br /><br />  var cache = {};<br /><br /><br /><br />  this.tmpl = function tmpl(str, data){<br /><br />    // Figure out if we're getting a template, or if we need to<br /><br />    // load the template - and be sure to cache the result.<br /><br />    var fn = !/\W/.test(str) ?<br /><br />      cache[str] = cache[str] ||<br /><br />        tmpl(document.getElementById(str).innerHTML) :<br /><br /><br /><br />      // Generate a reusable function that will serve as a template<br /><br />      // generator (and which will be cached).<br /><br />      new Function("obj",<br /><br />        "var p=[],print=function(){p.push.apply(p,arguments);};"  <br /><br /><br /><br />        // Introduce the data as local variables using with(){}<br /><br />        "with(obj){p.push('"  <br /><br /><br /><br />        // Convert the template into pure JavaScript<br /><br />        str<br /><br />          .replace(/[\r\t\n]/g, " ")<br /><br />          .split("<%").join("\t")<br /><br />          .replace(/((^|%>)[^\t]*)'/g, "$1\r")<br /><br />          .replace(/\t=(.*?)%>/g, "',$1,'")<br /><br />          .split("\t").join("');")<br /><br />          .split("%>").join("p.push('")<br /><br />          .split("\r").join("\\'")<br /><br />        "');}return p.join('');");<br /><br /><br /><br />    // Provide some basic currying to the user<br /><br />    return data ? fn( data ) : fn;<br /><br />  };<br /><br />})();</code></pre><br /><br />Una vez cargado este código, podremos usarlo de la siguiente manera:<br /><br /><pre><code><strong>//HTML</strong><br /><br />/* Sin procesamiento en el template */<br /><br /><script type="text/html" id="item_tmpl"><br /><br />  <div id="<%=id%>" class="<%=(i % 2 == 1 ? " even" : "")%>"><br /><br />    <div class="grid_1 alpha right"><br /><br />      <img class="righted" src="<%=profile_image_url%>"/><br /><br />    </div><br /><br />    <div class="grid_6 omega contents"><br /><br />      <p><b><a href="/<%=from_user%>"><%=from_user%></a>:</b> <%=text%></p><br /><br />    </div><br /><br />  </div><br /><br /></script><br /><br />/* Con procesamiento en el template */<br /><br /><script type="text/html" id="user_tmpl"><br /><br />  <% for ( var i = 0; i < users.length; i   ) { %><br /><br />    <li><a href="<%=users[i].url%>"><%=users[i].name%></a></li><br /><br />  <% } %><br /><br /></script><br /><br /><br /><br /><strong>// JAVACRIPT </strong><br /><br />var results = document.getElementById("results");<br /><br />results.innerHTML = tmpl("item_tmpl", dataObject);<br /><br /><br /><br />var show_user = tmpl("item_tmpl"), html = "";<br /><br />for ( var i = 0; i < users.length; i   ) {<br /><br />  html  = show_user( users[i] );<br /><br />}</code></pre><br /><br />Como curiosidad, John comenta que el definir los <code><script type="text/html" /></code> provoca que el navegador los omita y por consecuente podamos usarlos sin problemas de javascript que podría detectar carácteres no válidos entre estos tags.<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2006/03/19/lo-ultimo-de-lo-ultimo-en-ajax/" rel="bookmark" title="Permanent Link: Lo último de lo último en Ajax">Lo último de lo último en Ajax</a></li><li><a href="http://www.anieto2k.com/2006/05/25/poo-en-javascript/" rel="bookmark" title="Permanent Link: POO en Javascript">POO en Javascript</a></li><li><a href="http://www.anieto2k.com/2007/02/22/herramientas-javascript/" rel="bookmark" title="Permanent Link: Herramientas Javascript">Herramientas Javascript</a></li><li><a href="http://www.anieto2k.com/2007/08/05/javascript-libraries-el-lugar-donde-viven-las-librerias-javascript/" rel="bookmark" title="Permanent Link: Javascript Libraries, el lugar donde viven las librerías javascript">Javascript Libraries, el lugar donde viven las librerías javascript</a></li><li><a href="http://www.anieto2k.com/2006/12/31/javascript-3d-animaciones-posibles/" rel="bookmark" title="Permanent Link: Javascript   3D, animaciones posibles">Javascript   3D, animaciones posibles</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5787&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5787" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=NV1NOD"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=NV1NOD" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=8lN2rJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=8lN2rJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=eFw83J"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=eFw83J" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/programacion">programacion</a>, <a href="http://bitacoras.com/canales/javascript">javascript</a>, <a href="http://bitacoras.com/canales/webdev">webdev</a>, <a href="http://bitacoras.com/canales/templates">templates</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>IEPNGFix, ahora con CSS background-position y background-repeat</title>
		<link>http://www.anieto2k.com/2008/07/17/iepngfix-ahora-con-css-background-position-y-background-repeat</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/17/iepngfix-ahora-con-css-background-position-y-background-repeat</guid>
		<pubDate>Thu, 17 Jul 2008 13:13:27 +0200</pubDate>
		<category>asides</category>
		<category>css</category>
		<category>programacion</category>
		<category>estandares</category>
		<category>javascript</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 17 de julio de 2008 a las 13:13:27

Ajaxian anuncia hoy que IEPNGFix, el script encargado de paliar los problemas con imagenes PNG en Internet Explorer 6, ha añadido compatibilidad con las propiedades backgrond-position y background-repeat entre las que ya tenía. [Demo][Descargar]Artículos relacionadosEl Grid que te ayuda a diseñarCSS Masks, ya disponibl &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/17/iepngfix-ahora-con-css-background-position-y-background-repeat">aNieto2K</a> el 17 de julio de 2008 a las 13:13:27</p>

<a href="http://ajaxian.com/archives/iepngfix-2-now-supports-css-background-position-and-repeat">Ajaxian </a>anuncia hoy que <a href="http://www.twinhelix.com/css/iepngfix/">IEPNGFix</a>, el script encargado de paliar los problemas con imagenes <a href="http://www.anieto2k.com/2006/08/28/png-internet-explorer-soluciones-varias/">PNG en Internet Explorer 6</a>, ha añadido <a href="http://www.twinhelix.com/cgi-bin/forum.pl/iepngfix/299">compatibilidad con las propiedades backgrond-position y background-repeat</a> entre las que ya tenía. [<a href="http://www.twinhelix.com/css/iepngfix/demo/">Demo</a>][<a href="http://www.twinhelix.com/css/iepngfix/iepngfix.zip">Descargar</a>]<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2006/07/21/el-grid-que-te-ayuda-a-disenar/" rel="bookmark" title="Permanent Link: El Grid que te ayuda a diseñar">El Grid que te ayuda a diseñar</a></li><li><a href="http://www.anieto2k.com/2008/04/24/css-masks-ya-disponibles-en-webkit/" rel="bookmark" title="Permanent Link: CSS Masks, ya disponibles en WebKit">CSS Masks, ya disponibles en WebKit</a></li><li><a href="http://www.anieto2k.com/2007/12/05/moo3dcircle-un-nuevo-sistema-de-galerias-de-imagenes-dinamicas/" rel="bookmark" title="Permanent Link: Moo3DCircle, un nuevo sistema de galerías de imagenes dinámicas">Moo3DCircle, un nuevo sistema de galerías de imagenes dinámicas</a></li><li><a href="http://www.anieto2k.com/2006/07/12/haciendo-pruebas-otra-vez-d/" rel="bookmark" title="Permanent Link: Haciendo pruebas … otra vez :D">Haciendo pruebas … otra vez :D</a></li><li><a href="http://www.anieto2k.com/2008/04/15/kwicks-para-jquery/" rel="bookmark" title="Permanent Link: Kwicks para jQuery">Kwicks para jQuery</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5786&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5786" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=ZO2FxI"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=ZO2FxI" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=Jks3jJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=Jks3jJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=NZeHdJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=NZeHdJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/asides">asides</a>, <a href="http://bitacoras.com/canales/css">css</a>, <a href="http://bitacoras.com/canales/programacion">programacion</a>, <a href="http://bitacoras.com/canales/estandares">estandares</a>, <a href="http://bitacoras.com/canales/javascript">javascript</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>jQuery Sparklines, gr&#225;ficas sencillas con jQuery</title>
		<link>http://www.anieto2k.com/2008/07/17/jquery-sparklines-graficas-sencillas-con-jquery</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/17/jquery-sparklines-graficas-sencillas-con-jquery</guid>
		<pubDate>Thu, 17 Jul 2008 12:21:25 +0200</pubDate>
		<category>programacion</category>
		<category>javascript</category>
		<category>webdev</category>
		<category>jquery</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 17 de julio de 2008 a las 12:21:25

jQuery Sparklines, nos permiten crear pequeñas gráficas basadas en líneas desarrolladas en javascript sobre jQuery.Las opciones con las que podemos personalizar nuestras gráficas son realmente sorprendentes:Opciones comunes:	type - line (default), bar o tristate	width - Ancho de la gráfica, por defecto "auto".	height - &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/17/jquery-sparklines-graficas-sencillas-con-jquery">aNieto2K</a> el 17 de julio de 2008 a las 12:21:25</p>

<span><a href="http://omnipotent.net/jquery.sparkline/#usage">jQuery Sparklines</a>, nos permiten crear pequeñas gráficas basadas en líneas desarrolladas en javascript sobre jQuery.</span><br /><br /><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2008/07/jquery-sparklines.jpg"><img src="http://www.anieto2k.com/wp-content/uploads/2008/07/jquery-sparklines.jpg" alt="jquery-sparklines" /></a></p><br /><br /><br /><br />Las opciones con las que podemos personalizar nuestras gráficas son realmente sorprendentes:<br /><br /><h4>Opciones comunes:</h4><br /><br /><ul><br /><br />	<li><strong>type</strong> - line (default), bar o tristate</li><br /><br />	<li><strong>width</strong> - Ancho de la gráfica, por defecto "auto".</li><br /><br />	<li><strong>height</strong> - Altura de la gráfica, por defecto "auto".</li><br /><br />	<li><strong>lineColor</strong> - Color de la línea<strong><br /><br /></strong></li><br /><br />	<li><strong>fillColor</strong> - Color del relleno<strong><br /><br /></strong></li><br /><br /></ul><br /><br /><h4>Opciones de gráficas tipo línea:</h4><br /><br /><ul><br /><br />	<li><strong>spotColor</strong> - Oculta o muestra el color del valor final.</li><br /><br />	<li><strong>spotRadius</strong> - En pixels (default: 2)</li><br /><br /></ul><br /><br /><h4>Opciones de gráficas tipo Bar:</h4><br /><br /><ul><br /><br />	<li><strong>barColor</strong> - Color de los valores positivos</li><br /><br />	<li><strong>negBarColor</strong> - Color de los valores negativos</li><br /><br />	<li><strong>barWidth</strong> - Tamaño de cada barra, en pixels</li><br /><br />	<li><strong>barSpacing</strong> -Separación entre barras, en pixels.</li><br /><br />	<li><strong>zeroAxis</strong> - Centro del eje Y.</li><br /><br /></ul><br /><br /><h4>Opciones de gráficas tipo Tristate:</h4><br /><br /><ul><br /><br />	<li><strong>posBarColor</strong> - Colores valores positivos</li><br /><br />	<li><strong>negBarColor</strong> - Colores valores negativos</li><br /><br />	<li><strong>zeroBarColor</strong> - Colores para valores cero.</li><br /><br />	<li><strong>barSpacing</strong> - Separación entre barras, en pixels</li><br /><br />	<li><strong>zeroAxis</strong> - Centro del eje Y</li><br /><br /></ul><br /><br /><h3>Paso de valores</h3><br /><br />El script está pensado para recibir los valores de 2 formas completamente diferentes.<br /><br /><h4>Mediante HTML</h4><br /><br />Mediante HTML, indicaremos en la llamada que recoja los datos directamente desde el HTML contendor de la gráfica, de esta forma dejamos visible estos datos en caso de no tener capacidad de ejcutar Javascript.<br /><br /><pre><code><strong>//HTML<br /><br /></strong><span class="sparklines">1,2,3,4,5,4,3,2,1</span><br /><br /><strong>//Javascript<br /><br /></strong>$('.sparklines').sparkline('html');</code></pre><br /><br /><h3>Mediante Array de datos</h3><br /><br />La otra opción sería la de pasarle los datos mediante un array directamente en la llamada.<br /><br /><pre><code><strong>//HTML<br /><br /></strong><span id="ticker"">Loading..</span><br /><br /><strong>//Javascript<br /><br /></strong>$('#ticker').sparkline([1,2,3,4,5,4,3,2,1]);</code></pre><br /><br /><h3>Ejemplo de uso</h3><br /><br /><pre><code><br /><br /><strong>//HTML<br /><br /></strong><span class="line">8,4,0,0,0,0,1,4,4,10,10,10,10,0,0,0,4,6,5,9,10</span><br /><br /><strong>//Javascript<br /><br /></strong>$('#linecustom').sparkline('html', {<br /><br />				height: '1.5em', <br /><br />				width: '8em', <br /><br />				lineColor: '#f00', <br /><br />				fillColor: '#ffa', <br /><br />				spotColor: '#77f', <br /><br />				spotRadius: 3}<br /><br />			);<br /><br /></code></pre><br /><br />[<a href="http://omnipotent.net/jquery.sparkline/jquery.sparkline.js"></a><a href="http://omnipotent.net/jquery.sparkline/jquery.sparkline.js">Descargar</a>]<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2007/02/28/jquery-112-ha-visto-la-luz/" rel="bookmark" title="Permanent Link: jQuery 1.1.2, ha visto la luz">jQuery 1.1.2, ha visto la luz</a></li><li><a href="http://www.anieto2k.com/2006/10/28/nueva-version-jquery-103/" rel="bookmark" title="Permanent Link: Nueva version jQuery 1.0.3">Nueva version jQuery 1.0.3</a></li><li><a href="http://www.anieto2k.com/2008/02/08/jquery-123-jquery-ui-15-y-jquery-enchant-10-recien-salidos-del-horno/" rel="bookmark" title="Permanent Link: jQuery 1.2.3, jQuery UI 1.5 y jQuery Enchant 1.0 recien salidos del horno">jQuery 1.2.3, jQuery UI 1.5 y jQuery Enchant 1.0 recien salidos del horno</a></li><li><a href="http://www.anieto2k.com/2006/10/10/jquery-102-nueva-release/" rel="bookmark" title="Permanent Link: jQuery 1.0.2, nueva release">jQuery 1.0.2, nueva release</a></li><li><a href="http://www.anieto2k.com/2007/09/17/jquery-121/" rel="bookmark" title="Permanent Link: jQuery 1.2.1">jQuery 1.2.1</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5784&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5784" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=ubmBcw"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=ubmBcw" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=qagQ3J"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=qagQ3J" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=09ogkJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=09ogkJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/programacion">programacion</a>, <a href="http://bitacoras.com/canales/javascript">javascript</a>, <a href="http://bitacoras.com/canales/webdev">webdev</a>, <a href="http://bitacoras.com/canales/jquery">jquery</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>Opera Mobile 9.5, la visi&#243;n del desarrollador</title>
		<link>http://www.anieto2k.com/2008/07/17/opera-mobile-95-la-vision-del-desarrollador</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/17/opera-mobile-95-la-vision-del-desarrollador</guid>
		<pubDate>Thu, 17 Jul 2008 11:38:28 +0200</pubDate>
		<category>accesibilidad</category>
		<category>programacion</category>
		<category>estandares</category>
		<category>web</category>
		<category>webdev</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 17 de julio de 2008 a las 11:38:28

Opera anunció hace unos días la versión final de Opera 9.5. Una versión que venía marcada por un cambio de aspecto bastante importante y la mejora en el tratamiento de los estandares web.Ahora le toca actualizarse a la versión Mobile, una versión destinada a los dispositivos móviles y que promete mejorar el actual Oper &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/17/opera-mobile-95-la-vision-del-desarrollador">aNieto2K</a> el 17 de julio de 2008 a las 11:38:28</p>

<a href="http://www.anieto2k.com/2008/07/04/opera-publica-la-version-951/">Opera anunció hace unos días la versión final de Opera 9.5</a>. Una versión que venía marcada por un <a href="http://www.anieto2k.com/2008/06/06/opera-mejora-su-imagen-en-la-ultima-version/">cambio de aspecto</a> bastante importante y <a href="http://www.anieto2k.com/2008/06/12/opera-95-y-el-movimiento-hacia-los-nuevos-estandares-web/">la mejora en el tratamiento de los estandares web</a>.<br /><br /><br /><br />Ahora le toca actualizarse a la versión Mobile, una versión destinada a los dispositivos móviles y que promete <a href="http://dev.opera.com/articles/view/opera-mobile-9-5-the-developer-angle/">mejorar el actual Opera Mobile</a>. Actualmente la versión 9.5 beta 1, únicamente está disponible para Pocket PC, aunque en breve se actualizarán las diferentes versiónes para los diferentes sistemas operativos móviles.<br /><br /><h3>Interface</h3><br /><br /><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2008/07/mobile95ui.gif"><img src="http://www.anieto2k.com/wp-content/uploads/2008/07/mobile95ui-225x300.gif" alt="mobile95ui" /></a></p><br /><br /><br /><br />La interface es uno de los cambios que esta versión (la 9.5) está siendo más notable en todas las versiones del navegador, como podemos ver el interface ha cambiado considerablemente usando la estructura de Safari para el iPhone, un acierto por parte de Opera que se sube al carro de la popularidad del iPhone y hace que <a href="http://www.anieto2k.com/2007/07/04/trucos-y-consejos-para-desarrollar-para-el-iphone/">los desarrolladores no tengan que adaptar sus aplicaciones para varios navegadores móviles</a>.<br /><br /><h3>CSS Media Querys</h3><br /><br />Otra novedad interesante es la capacidad de usar media query en nuestros CSS, que al igual que Safari para iPhone, nos permite especificar que CSS cargar dependiendo del tamaño de la pantalla de nuestro dispositivo.<br /><br /><pre><code>img {<br /><br />  margin: 0 0 10px 10px;<br /><br />  float: right;<br /><br />}<br /><br /><br /><br />@media all and (max-device-width: 480px) {<br /><br />  img {<br /><br />    margin: 10px auto;<br /><br />    float: none;<br /><br />    display: block;<br /><br />  }<br /><br />}</code></pre><br /><br /><h3>Viewport</h3><br /><br /><pre><code><meta name="viewport" content="width=device-width, height=device-height" /></code></pre><br /><br />Usando el meta "<code>viewport</code>" podemos especificar entre cosas cosas:<br /><br /><ul><br /><br />	<li><code>width</code> y <code>height</code>: Nos permite espeficificar el tamaño de la página en pixels [200 - 10.000]. (Por defecto el valor <code>height </code>está calculado en relación al especificado en <code>width</code>).</li><br /><br />	<li><code>initial-scale</code>: Indica el nivel de escalado inicial con el que los usuarios se encontrarán al abrir la página.</li><br /><br />	<li><code>minimum-scale</code> y <code>maximum-scale</code>: Especifica el rango de escalados posibles dentro de una página específica y el rango en el que el usuario puede escalar la página.</li><br /><br />	<li><code>user-scalable</code>: Especifica si el usuario tiene la capacidad de poder cambiar el escalado de la página, dentro del rango de valores especificados.</li><br /><br /></ul><br /><br /><h3>Opera Dragonfly para Opera Mobile</h3><br /><br />Tambien disponemos de la posiblidad de <a href="http://www.anieto2k.com/2008/05/06/probando-opera-dragonfly-beta/">depurar nuestras aplicaciones con Opera Dragonfly</a>, Opera nos muestra <a href="http://dev.opera.com/articles/view/remote-debugging-with-opera-dragonfly/">como hacerlo para estos dispositivos</a>.<br /><br /><h3>Opinión</h3><br /><br />Hoy se ha creado un nuevo estandar que el iPhone inició que los demás navegadores para dispositivos móviles deberían empezar a implementar. Esperemos que el futuro sea igual de utópico como lo veo ahora mismo en mi cabeza.<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2006/03/04/wordpress-mobile-para-wordpress-20/" rel="bookmark" title="Permanent Link: Wordpress Mobile para Wordpress 2.0">Wordpress Mobile para Wordpress 2.0</a></li><li><a href="http://www.anieto2k.com/2006/11/04/wordpress-mobile-edition-tu-blog-para-moviles/" rel="bookmark" title="Permanent Link: Wordpress Mobile Edition, tu blog para móviles">Wordpress Mobile Edition, tu blog para móviles</a></li><li><a href="http://www.anieto2k.com/2008/06/27/opera-dragonfly-alpha-2-firebug-para-opera-cada-vez-mas-cerca/" rel="bookmark" title="Permanent Link: Opera DragonFly alpha 2, firebug para Opera cada vez más cerca">Opera DragonFly alpha 2, firebug para Opera cada vez más cerca</a></li><li><a href="http://www.anieto2k.com/2008/07/04/opera-publica-la-version-951/" rel="bookmark" title="Permanent Link: Opera publica la versión 9.51">Opera publica la versión 9.51</a></li><li><a href="http://www.anieto2k.com/2008/06/12/opera-95-y-el-movimiento-hacia-los-nuevos-estandares-web/" rel="bookmark" title="Permanent Link: Opera 9.5 y el movimiento hacia los nuevos estandares web">Opera 9.5 y el movimiento hacia los nuevos estandares web</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5782&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5782" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=dQVke7"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=dQVke7" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=ipTxsJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=ipTxsJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=EfUEhJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=EfUEhJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/accesibilidad">accesibilidad</a>, <a href="http://bitacoras.com/canales/programacion">programacion</a>, <a href="http://bitacoras.com/canales/estandares">estandares</a>, <a href="http://bitacoras.com/canales/web">web</a>, <a href="http://bitacoras.com/canales/webdev">webdev</a></p>]]></content:encoded>
	</item>
	<item>
		<dc:creator>aNieto2k</dc:creator>
		<title>Controla tus minuaturas de una vez por todas 2.5&#8230;</title>
		<link>http://www.anieto2k.com/2008/07/16/controla-tus-minuaturas-de-una-vez-por-todas-25</link>
		<guid isPermaLink="true">http://www.anieto2k.com/2008/07/16/controla-tus-minuaturas-de-una-vez-por-todas-25</guid>
		<pubDate>Wed, 16 Jul 2008 16:56:58 +0200</pubDate>
		<category>php</category>
		<category>programacion</category>
		<category>wordpress</category>
		<category>hacks</category>
		<category>javascript</category>
		<description><![CDATA[Por aNieto2k en aNieto2K el 16 de julio de 2008 a las 16:56:58

Llevo unos días mirando de montar un sistema con el que permitir crear miniaturas desde Wordpress 2.5+ indicandoles el tamaño de las mismas, osea que además de los tamaños que podemos definir en Opciones > Miscelanea, tambien nos permite crear unas miniaturas con el tamaño especificado en el momento de subir las imagen &#91;&#8230;&#93;]]></description>
		<content:encoded><![CDATA[<p>Por <a href="http://bitacoras.com/usuario/anieto2k">aNieto2k</a> en <a href="http://bitacoras.com/bitacora/www.anieto2k.com/2008/07/16/controla-tus-minuaturas-de-una-vez-por-todas-25">aNieto2K</a> el 16 de julio de 2008 a las 16:56:58</p>

Llevo unos días mirando de montar un sistema con el que permitir crear miniaturas desde Wordpress 2.5+ indicandoles el tamaño de las mismas, osea que además de <a href="http://www.anieto2k.com/2008/03/17/wordpress-25-trabajando-con-imagenes/">los tamaños que podemos definir</a> en Opciones > Miscelanea, tambien nos permite crear unas miniaturas con el tamaño especificado en el momento de subir las imagenes.<br /><br /><br /><br />Por el momento me las crea sin problemas, ahora solo necesito <a href="http://www.anieto2k.com/2007/05/18/controla-tus-minuaturas-de-una-vez-por-todas-22/">encontrar una forma de introducir las medidas de una forma cómoda y usable para los usuarios</a> y poder recuperar el nombre de la imagen redimensionada a nuestra voluntad.<br /><br /><br /><br />Os dejo un ejemplo de como redimensionar las imagenes.<br /><br /><pre><code>function change_sizes($sizes = array()) {<br /><br />	update_option('<strong>NUEVO</strong>_size_w', 400);<br /><br />	update_option('<strong>NUEVO</strong>_size_h', 400);<br /><br />	return array_push($sizes, '<strong>NUEVO</strong>');<br /><br />}<br /><br /><br /><br />add_filter('intermediate_image_sizes', 'change_sizes');</code></pre><br /><br />Añadiendo este código al fichero <code>functions.php</code> de nuestro theme o al <a href="http://www.anieto2k.com/2008/02/19/el-fichero-my-hacksphp-en-wordpress/">my-<code>hacks.php</code></a>, añadirá un nuevo perfil de imagenes llamada "<strong>NUEVO</strong>" y que creará imagenes de 400x400 pixeles además de las que ya está creando actualmente.<br /><br /><br /><br />Iré contando cosillas de como evolucionan las cosas ;)<h3>Artículos relacionados</h3><br /><br /><ul><li><a href="http://www.anieto2k.com/2007/05/18/controla-tus-minuaturas-de-una-vez-por-todas-22/" rel="bookmark" title="Permanent Link: Controla tus minuaturas de una vez por todas 2.2">Controla tus minuaturas de una vez por todas 2.2</a></li><li><a href="http://www.anieto2k.com/2007/07/06/imagescontrolsize-somete-tus-miniaturas-a-voluntad/" rel="bookmark" title="Permanent Link: ImagesControlSize, somete tus miniaturas a voluntad">ImagesControlSize, somete tus miniaturas a voluntad</a></li><li><a href="http://www.anieto2k.com/plugins-themes/mis-plugins/imagescontrolsize-somete-tus-miniaturas-a-voluntad/" rel="bookmark" title="Permanent Link: ImagesControlSize, somete tus miniaturas a voluntad">ImagesControlSize, somete tus miniaturas a voluntad</a></li><li><a href="http://www.anieto2k.com/2006/06/12/creador-de-miniaturas-online/" rel="bookmark" title="Permanent Link: Creador de miniaturas online">Creador de miniaturas online</a></li><li><a href="http://www.anieto2k.com/2007/05/06/redimensiona-las-imagenes-de-tus-posts/" rel="bookmark" title="Permanent Link: Redimensiona las imagenes de tus posts">Redimensiona las imagenes de tus posts</a></li></ul><p><a href="http://www.anieto2k.com" id="66.150.96.121"><img rel="66.150.96.121" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><p class="akst_link"><a href="http://www.anieto2k.com/?p=5780&akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_5780" class="akst_share_link" rel="nofollow">Compártelo</a><br /><br /></p><br /><br /><p><a href="http://feeds.feedburner.com/~a/anieto2k/MtKP?a=UQhP5L"><img src="http://feeds.feedburner.com/~a/anieto2k/MtKP?i=UQhP5L" border="0"></img></a></p><div class="feedflare"><br /><br /><a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=FtFsAJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=FtFsAJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/anieto2k/MtKP?a=qTa6CJ"><img src="http://feeds.feedburner.com/~f/anieto2k/MtKP?i=qTa6CJ" border="0"></img></a><br /><br /></div>

<p>Etiquetas: <a href="http://bitacoras.com/canales/php">php</a>, <a href="http://bitacoras.com/canales/programacion">programacion</a>, <a href="http://bitacoras.com/canales/wordpress">wordpress</a>, <a href="http://bitacoras.com/canales/hacks">hacks</a>, <a href="http://bitacoras.com/canales/javascript">javascript</a></p>]]></content:encoded>
	</item>
	</channel>
</rss>