<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Colores Efímeros &#187; Web</title>
	<atom:link href="http://coloresefimeros.com/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://coloresefimeros.com</link>
	<description>Porque todo cambia...</description>
	<lastBuildDate>Wed, 26 Aug 2009 16:52:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Básicos: Sintaxis de CSS</title>
		<link>http://coloresefimeros.com/2009/08/12/basicos-sintaxis-de-css/</link>
		<comments>http://coloresefimeros.com/2009/08/12/basicos-sintaxis-de-css/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 15:32:39 +0000</pubDate>
		<dc:creator>Juan G. Hurtado</dc:creator>
				<category><![CDATA[Básicos]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[desarrollo web]]></category>

		<guid isPermaLink="false">http://coloresefimeros.com/?p=71</guid>
		<description><![CDATA[Con este primer &#8220;básico&#8221; quiero dar comienzo a una serie de artículos en los que explicar las cosas más básicas acerca de aquellos lenguajes y herramientas que usamos a la hora de desarrollar en el mundo web. Y una muy buena forma de comenzar es hablando sobre CSS y su sintaxis. Por si aún no [...]]]></description>
			<content:encoded><![CDATA[<p>Con este primer &#8220;básico&#8221; quiero dar comienzo a una serie de artículos en los que explicar las cosas <strong>más básicas</strong> acerca de aquellos lenguajes y herramientas que usamos a la hora de desarrollar en el mundo web. Y una muy buena forma de comenzar es hablando sobre <abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr> y su sintaxis.</p>
<p>Por si aún no lo tenéis claro, <abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr> es un lenguaje que se utiliza para aplicarle estilos al contenido de nuestras páginas web. ¿Qué significa eso de <q>dar estilos</q>? Muy sencillo, dar estilos significa poner bonita una página. Especificarle un tipo de letra, su color, su tamaño. Decir dónde se coloca cada bloque de textos, qué color de fondo van a llevar. Significa poner imágenes decorativas, bordes. En definitiva, todo lo que tenga que ver con el aspecto de una web se hace (o se debe hacer) mediante <abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr>.</p>
<p>A la hora de escribir todas las reglas que definirán todas estas cosas con las que pondremos bonita la web, se debe seguir una sintaxis concreta para que el navegador web pueda entender qué es lo que queremos decir con cada regla. Esta sintaxis está estandarizada por el <a href="http://www.w3.org/" title="World Wide Web Consortium - Web Standards">W3C</a>, y podéis leer todo lo que queráis sobre ella en el <a href="http://www.w3.org/TR/CSS21/" hreflang="en" title="Cascading Style Sheets Level 2 Revision 1 Specification">documento sobre <abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr> que tienen disponible</a>.</p>
<p>La sintaxis de <abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr> es muy sencilla, sigue la siguiente estructura:</p>
<pre><code>selector {
	propiedad: valor;
	propiedad: valor;
	propiedad: valor;
}</code></pre>
<p>En el trozo de código anterior vemos como hay agrupadas entre unos símbolos de llave (<code>{ }</code>) una serie de pares &#8220;propiedad-valor&#8221;. Estas propiedades se corresponderían con todo aquello que queramos definir en lo referente a aspecto (color de fondo, tamaño de letra, etc.) y deben estar separados por el símbolo de dos puntos (<code>:</code>). Además, después del valor asociado a una propiedad debe colocarse el símbolo de punto y coma (<code>;</code>) para dar por finalizada la asignación de valores a la propiedad.</p>
<p>Esta agrupación de propiedades se aplicará sólo sobre aquellos elementos que coincidan con lo especificado en el selector. Pongamos un ejemplo para verlo más claro: Imaginad que queremos que los enlaces de nuestra web sean rojos y no estén subrayados.</p>
<pre><code>a {
	color: red;
	text-decoration: none;
}</code></pre>
<p>Como podéis ver he definidos dos pares &#8220;propiedad-valor&#8221; que determinan el color de letra que quiero, en este caso <code>red</code> para el color rojo, y que no se quiere subrayado. Estas dos propiedades se encuentran englobadas dentro de un grupo con el selector que especifica que sólo se aplicará a todos los elementos que sean <code>A</code> (enlaces) en nuestra página web.</p>
<p>A primera vista puede parecer muy sencillo, pero hay varios conceptos algo más complicados de los que hablaré en próximos &#8220;básicos&#8221;, como pueden ser todos los tipos de selectores que hay, la especificidad de los mismos, la aplicación de propiedades en cascada, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://coloresefimeros.com/2009/08/12/basicos-sintaxis-de-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress para iPhone</title>
		<link>http://coloresefimeros.com/2009/08/06/wordpress-para-iphone/</link>
		<comments>http://coloresefimeros.com/2009/08/06/wordpress-para-iphone/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 17:43:04 +0000</pubDate>
		<dc:creator>Juan G. Hurtado</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://coloresefimeros.com/?p=75</guid>
		<description><![CDATA[Estoy probando la aplicación de WordPress para el iPhone, y qué mejor forma de hacerlo que escribiendo un post sobre ello. La aplicación está disponible, como toda las &#8220;legales&#8221;, desde la AppStore de Apple, pero tiene su propia página desde la que se puede bajar. Es totalmente gratuita, y actualmente la versión que se puede [...]]]></description>
			<content:encoded><![CDATA[<p>Estoy probando la aplicación de WordPress para el iPhone, y qué mejor forma de hacerlo que escribiendo un post sobre ello.</p>
<p>La aplicación está disponible, como toda las &#8220;legales&#8221;, desde la AppStore de Apple, pero tiene su propia <a href="http://iphone.wordpress.org">página desde la que se puede bajar</a>. Es totalmente gratuita, y actualmente la versión que se puede obtener es la 1.3.</p>
<p>No se puede decir que escribir un <span xml:lang="en" lang="en">post</span> aquí sea muy cómodo, pero la limitación viene dada por el soporte y no por la aplicación. El iPhone puede ser muy buen cacharro, pero para escribir textos medianamente largos apesta un poco. De hecho, la aplicación es excelente y te permite hacer prácticamente todo lo que se puede hacer desde el panel de administración de WordPress (escribir, categorizar, moderar comentarios&#8230;). En definitiva, te puede sacar de un apuro si necesitas escribir en tu blog pero no tienes un ordenador a mano.</p>
]]></content:encoded>
			<wfw:commentRss>http://coloresefimeros.com/2009/08/06/wordpress-para-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iteración 02: Primeros pasos con CSS</title>
		<link>http://coloresefimeros.com/2009/07/29/iteracion-02-primeros-pasos-con-css/</link>
		<comments>http://coloresefimeros.com/2009/07/29/iteracion-02-primeros-pasos-con-css/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 19:39:51 +0000</pubDate>
		<dc:creator>Juan G. Hurtado</dc:creator>
				<category><![CDATA[Iteraciones]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://coloresefimeros.com/?p=54</guid>
		<description><![CDATA[En esta iteración nos metemos en faena con el CSS. Nada complicado, sólo los primeros pasos para quitar esa falta de estilos tan fea que había hasta ahora y tener una base sobre la que comenzar a dar las pinceladas que conformarán el diseño final. Si observáis la hoja de estilos para esta iteración veréis [...]]]></description>
			<content:encoded><![CDATA[<p>En esta iteración nos metemos en faena con el <abbr title="Cascading Style Sheets" lang="en" xml:lang="en">CSS</abbr>. Nada complicado, sólo los primeros pasos para quitar esa falta de estilos tan fea que había hasta ahora y tener una base sobre la que comenzar a dar las pinceladas que conformarán el diseño final.</p>
<p>Si observáis <a lang="en" xml:lang="en" href="http://coloresefimeros.com/ejemplos/iteraciones/02/css/style.css" title="Hoja de estilos CSS para la iteración 02 del diseño del blog Colores Efímeros">la hoja de estilos para esta iteración</a> veréis que apenas hay unas pocas reglas en las que aplico la tipografía, algunos colores y muy poca cosa más. Pero todo lo que he definido en la hoja de estilos tiene su por qué.</p>
<h3>Tipografía</h3>
<p>Una de las primeras cosas que me gusta definir cuando comienzo a maquetar un diseño es su tipografía. En mi trabajo diario no soy yo el que define el tipo a utilizar, de eso se encarga el diseñador, y yo lo único que tengo que hacer es seguir sus instrucciones. Pero en este caso es distinto, porque el diseñador soy yo.</p>
<p>Para <a title="Página principal del blog Colores Efímeros" href="http://coloresefimeros.com/">Colores Efímeros</a> he decidido que la tipo a utilizar sea <a title="Helvética" href="http://es.wikipedia.org/wiki/Helvética">la famosísima Helvética</a>. Siempre me ha parecido muy precisa, muy cuidada y sobre todo <strong>muy legible</strong>, que es de lo que se trata. Así que en mi hoja de estilos definí la siguiente regla relativa a la tipografía para el <code>body</code> completo:</p>
<pre><code>font: 10px/1.6 Helvetica, Arial, sans-serif;</code></pre>
<p>Es probable que a muchos de vosotros os parezca chocante que use un tamaño en píxeles para el tipo, ya que <strong>nuestro querido Internet Explorer 6 no es capaz de permitirle al usuario cambiar el tamaño del texto si está definido en esa unidad de media</strong>. Pero como Colores Efímeros es mi blog personal, he decidido que voy a darle un tratamiento especial a este navegador, así que no tiene importancia que use un tamaño fijo de tipo.</p>
<p>Según la regla anterior, además de decidir que quiero Helvética (y las demás por si se da el caso de que alguien no la tenga en su máquina), defino que quiero un tamaño base de <code>10px</code> para el texto. Este número no es al azar, obviamente. Como en el interior del documento quiero usar unidades relativas de medida para (casi) todos los elementos, en concreto quiero usar <code>em</code>, me resulta mucho más fácil hacer los cálculos si sé de antemano que <code>1em</code> equivale a <code>10px</code>. Sobre todo teniendo en cuenta que más adelante quiero basar la maquetación del blog en base a una grilla elástica (hablando del tema, aquí os dejo un par de artículos de <a title="The Old Fashioned, blog de Rodrigo Galíndez" href="http://rodrigogalindez.com">Rodrigo Galíndez</a> sobre el tema: <a title="Artículo de Rodrigo Galíndez sobre el diseño con grillas (formato PDF, 1.6 Mb)" href="http://www.rodrigogalindez.com/files/12.pdf"><cite>Diseño con grillas</cite> (formato <abbr title="Portable Document Format" lang="en" xml:lang="en">PDF</abbr>, 1.6 Mb)</a> y <a title="Artículo de Rodrigo Galíndez sobre el uso de grillas (formato PDF, 2.4 Mb)" href="http://www.rodrigogalindez.com/files/13.pdf"><cite>Utilizando grillas</cite> (formato <abbr title="Portable Document Format" lang="en" xml:lang="en">PDF</abbr>, 2.4 Mb)</a>).</p>
<h3>Maquetación</h3>
<p>Para controlar la maquetación de los elementos he necesitado englobar todo el contenido del documento en un <code>&lt;div id="wrapper"&gt;&lt;/div&gt;</code> con el que poder jugar para centrar el bloque de texto. Para hacerlo he usado la técnica de aplicarle un ancho concreto, y determinar que sus márgenes laterales sean automáticos:</p>
<pre><code>
#wrapper {
	margin: 0 auto;
	min-width: 640px;
	width: 64em;
}
</code></pre>
<p>Además de eso, y para asegurarme de que el ancho nunca sea menor de lo que considero adecuado, he definido un ancho mínimo con <code>min-width</code> de <code>640px</code>, que se corresponden con los <code>64em</code> si tenemos en cuenta que el tamaño base del tipo es de <code>10px</code>.</p>
<h3><code>clearfix</code></h3>
<p>Algo que me gusta tener en todas mis hojas de estilos es el <a title="Clearing a float container without source markup" hreflang="en" href="http://www.positioniseverything.net/easyclearing.html">archiconocido <code>clearfix</code></a>. Este conjunto de reglas se utiliza para &#8220;limpiar&#8221; bloques que contienen elementos flotantes. ¿No entendéis un pimiento? Bueno, os lo explico en el siguiente gráfico:</p>
<p><img title="Explicación sobre el clearfix" src="http://coloresefimeros.com/wp-content/uploads/2009/07/explicacion-clearfix.gif" alt="Explicación sobre el uso de limpiado de cajas con elementos flotantes mediante CSS" width="438" height="159" /></p>
<p>En la figura de la izquierda, tenemos un <code>div</code> que contiene a otros dos elementos, uno flotando a la izquierda y otro a la derecha. Como nuestro <code>div</code> padre no tiene colocado el <code>class="clearfix"</code>, no es capaz de &#8220;entender&#8221; que tiene dos elementos contenidos dentro de si. Se comporta como si los elementos flotantes <em>no existieran</em> y por tanto no ocupa el alto que debería. Imaginad que debajo hubiera texto, el resultado sería desastroso, los elementos flotados pisarían el texto y no quedaría nada bien.</p>
<p>Por el contrario, en la figura de la derecha, donde nuestro <code>div</code> sí tiene el <code>class="clearfix"</code>, no ocurre nada raro, ya que al tenerlo colocado entiende que posee contenido flotante, y se ajusta a la altura del mismo, comportándose de manera lógica.</p>
<p>Hay otros sistemas para hacer esto mismo (<code>clear: both</code>, etc.), pero de entre todos ellos considero que el mejor es este, y por eso siempre lo tengo en mis hojas de estilo:</p>
<pre><code>
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clearfix {display: inline-block;}

/* HACK: Esconder de IE/Mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* FIN-HACK: Esconder de IE/Mac */
</code></pre>
<h3>Ocultaciones</h3>
<p>Otra de las cosas que siempre me gusta tener en mi hoja de estilos, y la de este blog no se escapa de tenerla, es una serie de reglas para ocultar elementos. Quizá os sorprenda, porque con un simple <code>display: none;</code> bastaría. Pero hay un problema con esta regla, <strong>con ella estamos ocultando los elementos sobre los que la usemos a los ojos de la gran mayoría de lectores de pantalla</strong>.</p>
<p>Y vosotros os preguntaréis: <q>¿Y a quién cojones le importan los lectores de pantalla?</q> Pues tenéis razón, ni siquiera a mi me importan, dudo mucho que alguien vaya a entrar a mi blog con uno de ellos… Pero como <strong>no me cuesta absolutamente nada</strong>, uso las siguientes reglas para ocultar elementos:</p>
<pre><code>
.ocultar {
	height: 1px;
	left: -9999px;
	position: absolute;
	top: -9999px;
	width: 1px;
}
</code></pre>
<h3>Captura de la iteración</h3>
<p>Y de nuevo, para los visitantes que vengan del futuro y quieran ver cómo estaba el diseño del blog en la iteración número 02, aquí os dejo una captura.</p>
<ul class="enlacesIteracion">
<li><a href="http://coloresefimeros.com/ejemplos/iteraciones/02/">Iteración 02</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://coloresefimeros.com/2009/07/29/iteracion-02-primeros-pasos-con-css/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Screencasts de ThinkWasabi</title>
		<link>http://coloresefimeros.com/2009/07/25/screencasts-de-thinkwasabi/</link>
		<comments>http://coloresefimeros.com/2009/07/25/screencasts-de-thinkwasabi/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 15:30:49 +0000</pubDate>
		<dc:creator>Juan G. Hurtado</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[screencasts]]></category>

		<guid isPermaLink="false">http://coloresefimeros.com/?p=48</guid>
		<description><![CDATA[Sigo el blog de ThinkWasabi desde hace algún tiempo, y no puedo dejar escapar la ocasión de recomendarlo, ya que su autor, Berto Pena, hace un trabajo excelente en cada uno de sus artículos. Pero no es del blog de lo que quería hablar en este momento, sino de los screencasts de ThinkWasabi. Para el [...]]]></description>
			<content:encoded><![CDATA[<p>Sigo el blog de <a href="http://thinkwasabi.com/" title="ThinkWasabi | Utilidades y Productividad para tu Mac">ThinkWasabi</a> desde hace algún tiempo, y no puedo dejar escapar la ocasión de recomendarlo, ya que su autor, <cite>Berto Pena</cite>, hace un trabajo excelente en cada uno de sus artículos. Pero no es del blog de lo que quería hablar en este momento, sino de los <a href="http://thinkwasabi.com/screencasts/" title="Screencasts | ThinkWasabi"><span xml:lang="en" lang="en">screencasts</span> de ThinkWasabi</a>.</p>
<p>Para el que no lo sepa, un <a href="http://es.wikipedia.org/wiki/Screencast" title="Screencast - Wikipedia, la enciclopedia libre">screencast</a> es una grabación en vídeo donde se muestra, por ejemplo, el funcionamiento de algún software, y en el que se ve el sistema operativo de la persona que está grabando el <span xml:lang="en" lang="en">screencast</span>, todo lo que está haciendo en cada momento, y se escuchan sus comentarios y explicaciones. Es un formato estupendo para explicar cosas en el ámbito de la informática, porque ves &#8220;en vivo&#8221; qué es lo que está haciendo en su máquina la persona que te está dando el tutorial.</p>
<p>En el caso de <a href="http://thinkwasabi.com/" title="ThinkWasabi | Utilidades y Productividad para tu Mac">ThinkWasabi</a>, los <span xml:lang="en" lang="en">screencasts</span> se centran en el uso de diversos programas de Mac, además de dedicar algunos capítulos a hablar sobre la metodología <a href="http://www.davidco.com/" hreflang="en" title="David Allen, Getting Things Done&reg; and GTD&reg;">GTD (Getting Things Done)</a>. Todos están explicados de una manera excelente, clara y amena. Así que ya sabéis, echadle un ojo a lo que cuenta el amigo <cite>Berto Pena</cite>.</p>
]]></content:encoded>
			<wfw:commentRss>http://coloresefimeros.com/2009/07/25/screencasts-de-thinkwasabi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iteración 01: El theme y el XHTML</title>
		<link>http://coloresefimeros.com/2009/07/22/iteracion-01-el-theme-y-el-xhtml/</link>
		<comments>http://coloresefimeros.com/2009/07/22/iteracion-01-el-theme-y-el-xhtml/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 15:07:59 +0000</pubDate>
		<dc:creator>Juan G. Hurtado</dc:creator>
				<category><![CDATA[Iteraciones]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://coloresefimeros.com/?p=28</guid>
		<description><![CDATA[Y aquí está la primera iteración sobre el diseño de este blog. Es una iteración bastante sencilla a nivel global, puesto que la única modificación real es la modificación del XHTML para obtener algo más acorde a mis consideraciones personales. Pero a nivel interno es la primera piedra de lo que será la construcción visual [...]]]></description>
			<content:encoded><![CDATA[<p>Y aquí está la primera iteración sobre el diseño de este blog. Es una iteración bastante sencilla a nivel global, puesto que la única modificación real es la modificación del <abbr title="eXtended HyperText Markup Language" xml:lang="en" lang="en">XHTML</abbr> para obtener algo más acorde a mis consideraciones personales. Pero a nivel interno es la primera piedra de lo que será la construcción visual de este sitio.</p>
<h3>Maqueta básica</h3>
<p>Lo primero por lo que empecé fue la maqueta <abbr title="eXtended HyperText Markup Language" xml:lang="en" lang="en">XHTML</abbr> básica. Con mi editor de código preferido, <a href="http://macromates.com/" title="TextMate — The Missing Editor for Mac OS X">TextMate</a>, creé una página simple con todo el contenido que, por ahora, tendrá el blog. Título del blog, artículos, acerca de, enlaces, <abbr title="etcétera">etc.</abbr> Y lo fui encerrando entre etiquetas, tratando de aportar un poco de semántica a cada contenido mediante el uso de los pertinentes elementos <code>h1</code>, <code>h2</code>, <code>ul</code> y demás amigos que <abbr title="eXtended HyperText Markup Language" xml:lang="en" lang="en">XHTML</abbr> pone a nuestra disposición, y con los que lidiamos normalmente.</p>
<p>En esta maqueta <strong>procuré evitar en la medida de lo posible el uso de elementos <code>div</code></strong>, ya que eso vendrá en una futura iteración, cuando tenga que empezar a pensar en el aspecto visual del blog, y no en su contenido. A pesar de todo, he usado alguno que otro, pero sólo para dividir conceptualmente algunos bloques muy concretos, como pueden ser los distintos artículos de los que se compone el contenido.</p>
<p>También he procurado evitar el uso de atributos <code>class</code> en los elementos, ya que de nuevo eso sólo será necesario cuando vaya a aplicarle los estilos al diseño. En este caso también he colocado alguno suelto para aportar algo más de semántica al contenido. No hay que confundirse, esta semántica <em>no es una semántica real</em>, para eso ya hay muchas tecnologías especializadas en las que por ahora no me quiero meter (sobre las que mi compañero <a href="http://twitter.com/wottam" title="Página de Antonio Santos en Twitter">Antonio Santos</a> sabe un montón, por cierto). A pesar de todo, me gusta ser lógico con los atributos <code>class</code>, y trato de aplicarlos coherentemente, pensando en lo que significa el contenido del elemento al que se lo pongo.</p>
<p>De una maqueta tan sencilla como este no se puede sacar mucha miga, pero aún así me gustaría comentar un par de detalles que considero importantes. El primero de ellos es el uso de los encabezados que pone a nuestra disposición <abbr title="eXtended HyperText Markup Language" xml:lang="en" lang="en">XHTML</abbr>. Sobre este <a href="http://www.iheni.com/html-5-to-the-h1-debate-rescue/" title="HTML 5 to the H1 debate rescue? &raquo; iheni :: making the web worldwide">tema puede haber algo de discusión</a>, ya que hay dos &#8220;corrientes de pensamiento&#8221; que no están de acuerdo en el uso del elemento <code>h1</code>. Unos dicen que debe ser el nombre del blog, y sólo debe haber uno por página, otros dicen que no, que para eso está el <code>title</code>, y que los <code>h1</code> deben usarse cuantas veces sea necesario según el número de títulos de primer nivel que posea el documento. Yo, por mi parte, no pienso entrar en discusiones absurdas y hago lo que considero más correcto, que en este caso es colocar el nombre de la página en un único <code>h1</code> para todo el documento.</p>
<p>El segundo detalle que quisiera comentar es el uso de listas para determinadas cosas. Por ejemplo, y como es natural, para los listados de enlaces y recomendaciones, no hay discusión en que se debe usar una lista desordenada. Espero que a estas alturas todos estemos de acuerdo en eso. Pero también he usado listas en otros elementos de la maqueta que no son tan obvios. Es el caso de los enlaces a los comentarios y a las distintas categorías de cada artículo. A mi entender son una lista de datos sobre el artículo, y por tanto deben ir etiquetados como tal, con <code>ul</code> y sus correspondientes <code>li</code>. Lo mismo ocurre con los enlaces de paginación para ver artículos antiguos, o artículos más recientes.</p>
<h3>Construcción del <span xml:lang="en" lang="en">theme</span></h3>
<p>Para construir el <span xml:lang="en" lang="en">theme</span> lo primero que hice fue duplicar el que trae <a href="http://wordpress.org/" title="WordPress &#8250; Blog Tool and Publishing Platform">WordPress</a> por defecto, el genial <a href="http://binarybonsai.com/wordpress/kubrick/" title="WordPress Kubrick - Binary Bonsai">Kubrick</a>. Pero para lo que yo necesito el <span xml:lang="en" lang="en">theme</span> de este blog, hay muchas cosas que Kubrick controla y que yo no quiero, así que fui borrando los ficheros que no me hacían falta, (<var>404.php</var>, <var>rtl.<abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr></var>, <var>links.php</var>, <abbr title="etcétera">etc.</abbr>). Una vez borrados los ficheros ya podía ponerme a tratar de pasar el código <abbr title="eXtended HyperText Markup Language" xml:lang="en" lang="en">XHTML</abbr> de mi maqueta a los fuentes <a href="http://www.php.net/" title="PHP: Hypertext Preprocessor">PHP</a> del <span xml:lang="en" lang="en">theme</span>.</p>
<p>Lo que sí me gustaría comentar por encima es la estructura básica de un <span xml:lang="en" lang="en">theme</span> de <a href="http://wordpress.org/" title="WordPress &#8250; Blog Tool and Publishing Platform">WordPress</a> en lo que a <abbr title="eXtended HyperText Markup Language" xml:lang="en" lang="en">XHTML</abbr> se refiere. Hay tres ficheros principales:</p>
<ul>
<li><var>header.php</var></li>
<li><var>index.php</var></li>
<li><var>footer.php</var></li>
</ul>
<p>En estos tres ficheros se compone la estructura básica de la portada del blog. Imaginemos que dividimos nuestro documento <abbr title="eXtended HyperText Markup Language" xml:lang="en" lang="en">XHTML</abbr> en tres zonas: cabecera, cuerpo y pie. Pues bien, cada una de esas zonas va en los respectivos ficheros PHP.</p>
<p>No voy a entrar a detallar las variables que pone <a href="http://wordpress.org/" title="WordPress &#8250; Blog Tool and Publishing Platform">WordPress</a> a nuestra disposición porque para eso ya hay infinidad de tutoriales, e incluso la propia documentación del proyecto que es de un valor incalculable. Pero lo que sí me gustaría destacar es que lo único que tenemos que ir haciendo es encajando las piezas de nuestro puzzle <abbr title="eXtended HyperText Markup Language" xml:lang="en" lang="en">XHTML</abbr> y sustituir los valores dinámicos del mismo (nombre del blog, artículos, <abbr title="etcétera">etc.</abbr>) por las variables correspondientes de <a href="http://wordpress.org/" title="WordPress &#8250; Blog Tool and Publishing Platform">WordPress</a>.</p>
<p>También quisiera aprovechar para lanzar una consulta pública sobre un asunto de <a href="http://wordpress.org/" title="WordPress &#8250; Blog Tool and Publishing Platform">WordPress</a> que no consigo averiguar. Si os fijáis en el contenido ahora que hay pocos artículos, aparecen dos <code>li</code> vacíos. Esos <code>li</code> se corresponden con los enlaces de paginación que, al haber sólo tres artículos, no se muestran. Lo que no consigo hacer es tener un condicional alrededor del <code>ul</code> que haga que sólo se pinte si se va a mostrar alguno de los enlaces, al mismo tiempo que otro condicional controla si se pintan los <code>li</code> según si hay enlace de &#8220;artículos anteriores&#8221; o de &#8220;artículos posteriores&#8221;. Coloco el código tal y como lo tengo ahora, comentado para que lo entendáis mejor:</p>
<pre><code>
&lt;!-- Aquí necesito un condicional que me muestre todo esto sólo si hay enlaces de anterior y siguiente --&gt;
&lt;p>Navegación entre artículos:&lt;/p&gt;
&lt;ul class="paginador"&gt;
	&lt;!-- Aquí necesito un condicional que me pinte el LI sólo si hay enlace de anterior --&gt;
	&lt;li&gt;
		&lt; ?php next_posts_link('Anteriores') ?&gt;
	&lt;/li&gt;
	&lt;!-- Aquí necesito un condicional que me pinte el LI sólo si hay enlace de siguiente --&gt;
	&lt;li&gt;
		&lt; ?php previous_posts_link('Siguientes') ?&gt;
	&lt;/li&gt;
&lt;/ul&gt;
</code></pre>
<h3>Captura de la iteración</h3>
<p>En cada artículo que escriba sobre cada iteración del diseño colocaré un enlace a una &#8220;captura&#8221; de la misma. Esta &#8220;captura&#8221; no será más que un fichero <abbr title="eXtended HyperText Markup Language" xml:lang="en" lang="en">XHTML</abbr> plano (y <abbr title="Cascading Style Sheets" xml:lang="en" lang="en">CSS</abbr> si es necesario) del estado del diseño en el momento de realizar la iteración. Así, en un futuro, se podrá seguir con un poco más de visión de primera mano lo que se realizó y cómo se hizo.</p>
<ul class="enlacesIteracion">
<li><a href="http://coloresefimeros.com/ejemplos/iteraciones/01/">Iteración 01</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://coloresefimeros.com/2009/07/22/iteracion-01-el-theme-y-el-xhtml/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Iteración 00: Comenzando</title>
		<link>http://coloresefimeros.com/2009/07/19/iteracion-00-comenzando/</link>
		<comments>http://coloresefimeros.com/2009/07/19/iteracion-00-comenzando/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 16:13:05 +0000</pubDate>
		<dc:creator>Juan G. Hurtado</dc:creator>
				<category><![CDATA[Iteraciones]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://coloresefimeros.com/?p=14</guid>
		<description><![CDATA[Desde hace mucho tiempo llevo queriendo volver a tener un lugar donde escribir sobre los temas que me gustan, pero la pereza siempre ha podido conmigo. Y es por eso que, dándole muchas vueltas, he llegado a la conclusión de que esta puede ser una forma correcta de involucrarme de nuevo en el desarrollo y [...]]]></description>
			<content:encoded><![CDATA[<p>Desde hace mucho tiempo llevo queriendo volver a tener un lugar donde escribir sobre los temas que me gustan, pero la pereza siempre ha podido conmigo. Y es por eso que, dándole muchas vueltas, he llegado a la conclusión de que esta puede ser una forma correcta de involucrarme de nuevo en el desarrollo y mantenimiento de un blog.</p>
<p>Me explico: Como soy tan flojo y me da tanta pereza ponerme a diseñar algo que me guste y me convenza, lo que voy a hacer es <strong>empezar el blog sin diseño</strong>. Sin nada de diseño. Nada de <abbr title="Cascading Style Sheets" lang="en" xml:lang="en">CSS</abbr>, nada de Javascript, y nada de <abbr title="eXtended HyperText Markup Language" lang="en" xml:lang="en">XHTML</abbr> estudiado y pensado. Voy a comenzar desde cero, como en cualquier otro diseño de los que me toca maquetar en la oficina, pero en este caso <strong>explicando en cada momento qué es lo que he hecho, y por qué</strong>. A modo de tutoriales, si queréis verlo así (aunque lo cierto es que para mi es una excusa con la que empezar el blog sin tener que comerme el coco sobre el diseño).</p>
<p>En esta primera iteración, lo que he hecho ha sido quitarle el <abbr title="Cascading Style Sheets" lang="en" xml:lang="en">CSS</abbr> al tema por defecto de <a title="WordPress &gt; Blog Tool and Publishing Platform" href="http://wordpress.org/">WordPress</a>, el <a title="Kubrick - Binary Bonsai" href="http://binarybonsai.com/wordpress/kubrick/">Kubrick</a>. No he tocado nada de <abbr title="eXtended HyperText Markup Language" lang="en" xml:lang="en">XHTML</abbr>, no he añadido Javascript, no he traducido los textos… Y es así como voy a empezar. En la próxima iteración comenzaré modificando el <abbr title="eXtended HyperText Markup Language" lang="en" xml:lang="en">XHTML</abbr>, para obtener una estructura básica que me convenza semántica y estructuralmente hablando, y así iré avanzando en el diseño &#8220;en directo&#8221;.</p>
<p>Ni que decir tiene que aceptaré cualquier sugerencia que queráis hacerme, puesto que estoy convencido de que la gran mayoría de los que estéis interesados en seguir esta &#8220;aventura&#8221; sabéis mucho más de diseño y desarrollo web que yo mismo. También acepto consejos sobre <a title="WordPress &gt; Blog Tool and Publishing Platform" href="http://wordpress.org/">WordPress</a>, plataforma de la que no soy un gran conocedor.</p>
<p>Espero que disfrutéis leyéndome, al mismo tiempo que espero disfrutar yo escribiendo.</p>
]]></content:encoded>
			<wfw:commentRss>http://coloresefimeros.com/2009/07/19/iteracion-00-comenzando/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
