<?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>Obiter Dicta &#187; Webmaestría</title>
	<atom:link href="http://www.obiterdicta.net/category/informatica-y-tecnologia/webmaestria/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.obiterdicta.net</link>
	<description></description>
	<lastBuildDate>Tue, 17 Jan 2012 14:56:23 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Cómo sí debe ser una transferencia de un dominio</title>
		<link>http://www.obiterdicta.net/2008/07/27/como-si-debe-ser-una-transferencia-de-un-dominio/</link>
		<comments>http://www.obiterdicta.net/2008/07/27/como-si-debe-ser-una-transferencia-de-un-dominio/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 21:55:28 +0000</pubDate>
		<dc:creator>Defero</dc:creator>
				<category><![CDATA[Informática y tecnología]]></category>
		<category><![CDATA[Webmaestría]]></category>

		<guid isPermaLink="false">http://www.obiterdicta.net/2008/07/27/como-si-debe-ser-una-transferencia-de-un-dominio/</guid>
		<description><![CDATA[Hace casi un par de años alojé una web en un ISP español al módico precio de 30 euros al año. Lo que ofrecía no estaba nada mal, y tener a alguien que hable mi idioma al otro lado del e-mail me daba confianza, además de poder pagar en euros. Al final resultó ser un [...]<div style=\"background-color: #ddddcc; margin-left: 60px; margin-right: 60px; padding: 20px;\">
No hay artículos relacionados.  </div>]]></description>
			<content:encoded><![CDATA[<p>Hace casi un par de años alojé una web en un ISP español al módico precio de 30 euros al año. Lo que ofrecía no estaba nada mal, y tener a alguien que hable mi idioma al otro lado del e-mail me daba confianza, además de poder pagar en euros. Al final resultó ser un revendedor de un ISP alemán, y el servicio daba más problemas de lo deseable, además de tener un servicio técnico incapaz de responder con soltura ante las incidencias.<span id="more-89"></span></p>
<p>Así que tomé la decisión de irme, y contraté un año de <a href="http://www.obiterdicta.net/alojado-en-dreamhost/" target="_blank">alojamiento en DreamHost</a>. Y a la hora de pedir la transferencia del dominio&#8230; ¡oh, sorpresa!, el <a href="http://en.wikipedia.org/wiki/Transfer_secret"  target="_blank"><em>auth-code</em></a> no funcionaba. Me ponía en contacto con mi ISP, y aunque todo era amabilidad y buena voluntad, el <em>auth-code</em> seguía sin rular. No pude quedarme quieto, así que vía WHOIS averigüé que el dominio estaba registrado en GoDaddy.com, y les di la brasa hasta que me dejaron recuperar mi dominio, previo registro en GoDaddy, demostración de que yo era quien decía ser (aunque no tenía acceso al dominio, estaba registrado a mi nombre, así que les tuve que enviar una copia de mi DNI por e-mail), y transferencia a mi propia cuenta. Feliz por haber tomado el control sobre mi propio dominio, me dispuse a transferirlo a mi cuenta de <a href="http://www.dreamhost.com/r.cgi?358401" target="_blank">DreamHost</a>&#8230; y me encontré con que no podía, porque debía dejar pasar al menos 60 días después de haberlo transferido desde una cuenta de GoDaddy a otra cuenta de GoDaddy. Así que nada, configuré los DNS de DreamHost, y seguí registrado en GoDaddy.</p>
<p>Hasta hoy. Aunque aún me quedan unos meses de registro en GoDaddy, he decidido estirarme y gastarme <a href="http://es.finance.yahoo.com/conversor-divisas/convert?amt=9%2C95&#038;from=USD&#038;to=EUR&#038;submit=Convertir" target="_blank">9&#8217;95 dólares</a> y hacer la transferencia desde ya. El procedimiento ha sido sencillo a más no poder:</p>
<ul>
<li>Ir a GoDaddy, y solicitar que me recuerden la clave de usuario por e-mail.</li>
<li><strong>22:55 h.</strong> Entrar al panel de control, y desbloquear el dominio (GoDaddy me avisa por e-mail del desbloqueo).</li>
<li><strong>22:56 h.</strong> En el mismo panel de control, solicitar que me envíen el <em>auth-code</em> por correo.</li>
<li>Entrar al panel de DreamHost, y meter el nombre del dominio a transferir.</li>
<li>Introducir el <em>auth-code</em> facilitado por GoDaddy. DreamHost me dice que el proceso puede tardar hasta siete días.</li>
<li><strong>22:59 h.</strong> Recibir un e-mail de DreamHost en la cuenta de correo especificada como dirección de contacto administrativo para el dominio, pidiéndome confirmación. Si no contesto al e-mail, no se realizará la transferencia.</li>
<li>Entrar a la URL que me dan en el e-mail de DreamHost, y confirmar.</li>
<li><strong>23:08 h.</strong> Recibir un e-mail de GoDaddy diciéndome que han recibido la solicitud de transferencia del dominio. Si antes del 31/07/2008 no digo nada, se procederá a la transferencia. Aprovechan para agradecerme el haber confiado en ellos y recordarme lo buenos que son sus servicios.</li>
<li><strong>23:40 h.</strong> Como soy un <em>cagaprisas</em>, entro al panel de GoDaddy y confirmo la transferencia. Me ha costado un poco encontrar dónde debo pinchar para confirmar, porque soy un cegato. Me informan por e-mail.</li>
<li><strong>23:40 h.</strong> DreamHost me envía un e-mail confirmándome la transferencia del dominio, que ya se refleja en el panel de control.</li>
</ul>
<p>En total, 45 minutos, de los que la mayor parte  he consumido comprobando el buzón de correo y buscando la opción de confirmación en el panel de control de GoDaddy. Como curiosidad, yo pensaba que no me iban a respetar los meses de registro que me quedan en GoDaddy (lo entendería y asumiría), pero el panel de control de DreamHost me dice que el dominio expira el 01/11/2009. Y también curioso que GoDaddy te envía el <em>auth-code</em> por correo tras pedirlo, mientras que DreamHost te lo muestra directamente en el panel de control. Así da gusto.</p>
<p>Ya que estoy, aprovecho para activar la renovación automática para mis dominios. Por cierto, el 9/11/2008 me caduca el dominio <a href="http://preguntas.barrapunto.com/~Defero/journal/28077" target="_blank">obiterdicta.info</a>, y no lo quiero para nada. ¿Alguien está interesado en comprarlo? A lo mejor le pongo algo para subirle el PR de aquí a noviembre, seguro que así saco mejor precio. <img src='http://www.obiterdicta.net/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
<p class="akst_link"><a href="http://www.obiterdicta.net/?p=89&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_89" class="akst_share_link" rel="nofollow">Compártelo</a>
</p><div style=\"background-color: #ddddcc; margin-left: 60px; margin-right: 60px; padding: 20px;\"><p>No hay artículos relacionados.  </p></div>]]></content:encoded>
			<wfw:commentRss>http://www.obiterdicta.net/2008/07/27/como-si-debe-ser-una-transferencia-de-un-dominio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reinvertir los ingresos de Google Adsense en Google Adwords</title>
		<link>http://www.obiterdicta.net/2008/07/12/reinvertir-los-ingresos-de-google-adsense-en-google-adwords/</link>
		<comments>http://www.obiterdicta.net/2008/07/12/reinvertir-los-ingresos-de-google-adsense-en-google-adwords/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 16:53:22 +0000</pubDate>
		<dc:creator>Defero</dc:creator>
				<category><![CDATA[Informática y tecnología]]></category>
		<category><![CDATA[Webmaestría]]></category>

		<guid isPermaLink="false">http://www.obiterdicta.net/?p=60</guid>
		<description><![CDATA[Hace algo más de un lustro una mediocre pero no obstante simpática canción de M-Clan me convenció de que sin carisma ni página web no eres nadie, así que hoy, al igual que todo pichichi, tengo un blog. ¡Por favor, por favor, ahorraos los aplausos y los elogios, y dejadme hablar! A lo que voy [...]<div style="background-color: #ddddcc; margin-left: 80px; padding: 20px;">
Artículos relacionados:  <ol>
<li><a href='http://www.obiterdicta.net/2008/04/25/senor-google-no-me-cuente-viejas-historias/' rel='bookmark' title='Señor Google, no me cuente viejas historias'>Señor Google, no me cuente viejas historias</a> <small>¿Os ha pasado alguna vez que buscabais cómo hacer funcionar...</small></li>
</ol></div>]]></description>
			<content:encoded><![CDATA[<p>Hace algo más de un lustro una mediocre pero no obstante simpática <a href="http://www.letrascanciones.org/m-clan/defectos-personales/antiheroe.php" target="_blank">canción de M-Clan</a> me convenció de que sin carisma ni página web no eres nadie, así que hoy, al igual que todo pichichi, <a href="http://www.obiterdicta.net/" target="_blank">tengo un blog</a>. ¡Por favor, por favor, ahorraos los aplausos y los elogios, y dejadme hablar!</p>
<p><span id="more-60"></span></p>
<p>A lo que voy es a que el sueño de todo gañán es vivir sin dar ni palo, o en su defecto, que su afición se convierta en una abundante fuente de ingresos, así que el paso natural después de montar un blog es meterle publicidad. Y como la originalidad sale cara, lo mejor es ir a lo fácil, y meterle lo que todo el mundo usa, <a href="http://www.google.com/adsense" target="_blank">Google Adsense</a>.</p>
<p>Seguro que hay mil sitios de publicidad un millón de veces mejores, pero no quiero comerme la cabeza, en esto prefiero seguir a la manada. Además, seamos realistas: eso de vivir del blog está al alcance únicamente de cuatro mentes privilegiadas que manejan nuestros hilos con soltura. El resto usamos la publicidad únicamente para jugar. Si pretendiera hacerme rico con la publicidad, lo llevaba claro. Desde enero de este año hasta hoy llevo acumuladas unas ganancias de 20 dólares, y teniendo en cuenta que Google no paga hasta que tengas al menos 100 dólares, me puedo aburrir de esperar. Y mientras tanto ellos, ¡hala, a forrarse con los intereses de mi dinero! Dentro de dos años, cuando haya reunido los 100 dólares mínimos, no sabré en qué gastarme semejante <em>fortuna</em>.</p>
<p>Así que se me ha ocurrido, ¿no habría un modo de disponer de ese dinero antes de llegar a la mágica cifra de 100 dólares, para invertirlo en <a href="https://adwords.google.com/" target="_blank">Google Adwords</a>? Eso me brindaría nuevos modos de jugar con la publicidad: yo permitiría a Google poner anuncios de otras personas en mi blog para que Google me pagara, y con el dinero que Google me debiera a mí, yo pagaría a Google para que pusiera anuncios míos en las webs de otras personas. Es decir, que yo no llegaría a ver un duro. Sería como un sistema de intercambio de enlaces, pero con Google de por medio llevándose tajada del invento.</p>
<p>La idea no es nueva, hace tiempo que <a href="http://www.ypnblog.com/blog/2006/04/27/did-you-know-3/" target="_blank">Yahoo permite algo así</a>. Sin embargo, hace años que los usuarios de Google AdSense/AdWords <a href="http://www.webmasterworld.com/forum89/1033.htm" target="_blank">esperan que la gran G haga lo mismo</a>, pero Google dice que <a href="http://www.seroundtable.com/archives/012937.html" target="_blank">de momento <em>nones</em></a>, que las <a href="https://adwords.google.com/support/bin/answer.py?answer=6390" target="_blank">formas de pago</a> son las que son, y punto pelota. Así que quien quiera invertir sus ingresos de AdSense en campañas publicitarias de AdWords, tendrá que pedir a Google que le envíe el dinero mediante cheque o transferencia bancaria, luego cogerá ese dinero, y volverá a enviárselo a Google en pago por los servicios de publicidad recibidos.</p>
<p>En otro orden de cosas, <a href="http://www.biggnuts.com/adsense-plugin/" target="_blank">el <em>plugin</em> que utilizo para gestionar la publicidad del blog</a> me permite alternar aleatoriamente publicidad de Google y de Yahoo. Teniendo en cuenta que Yahoo sí me permite transferir los dineros de un servicio a otro, a lo mejor le doy una oportunidad.</p>
<p><b>Post-edición:</b> Parece ser que no voy a poder usar la publicidad de Yahoo, ya que ésta <a href="http://publisher.yahoo.com/sell/ContentMatch.php?loc=USYPN0026" target="_blank">exige</a> que la web esté en inglés y enfocada hacia la audiencia norteamericana. Otra vez será.</p>
<p class="akst_link"><a href="http://www.obiterdicta.net/?p=60&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_60" class="akst_share_link" rel="nofollow">Compártelo</a>
</p><div style="background-color: #ddddcc; margin-left: 80px; padding: 20px;"><p>Artículos relacionados:  </p><ol>
<li><a href='http://www.obiterdicta.net/2008/04/25/senor-google-no-me-cuente-viejas-historias/' rel='bookmark' title='Señor Google, no me cuente viejas historias'>Señor Google, no me cuente viejas historias</a> <small>¿Os ha pasado alguna vez que buscabais cómo hacer funcionar...</small></li>
</ol></div>]]></content:encoded>
			<wfw:commentRss>http://www.obiterdicta.net/2008/07/12/reinvertir-los-ingresos-de-google-adsense-en-google-adwords/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Interfaz WYSIWYG para MediaWiki</title>
		<link>http://www.obiterdicta.net/2008/05/25/interfaz-wysiwyg-para-mediawiki/</link>
		<comments>http://www.obiterdicta.net/2008/05/25/interfaz-wysiwyg-para-mediawiki/#comments</comments>
		<pubDate>Sun, 25 May 2008 20:15:52 +0000</pubDate>
		<dc:creator>Defero</dc:creator>
				<category><![CDATA[Informática y tecnología]]></category>
		<category><![CDATA[Mundo Wiki]]></category>
		<category><![CDATA[Webmaestría]]></category>

		<guid isPermaLink="false">http://www.obiterdicta.net/?p=56</guid>
		<description><![CDATA[Hace ya dos años (¡cómo pasa el tiempo!) me interesé por los distintos motores wiki existentes, con la idea de materializar una muy buena idea que al final se quedó en agua de borrajas. Llegué a probar un buen puñado, y estuve intentando cambiar la estética de varios de ellos a fin de adaptarlos a [...]<div style=\"background-color: #ddddcc; margin-left: 60px; margin-right: 60px; padding: 20px;\">
No hay artículos relacionados.  </div>]]></description>
			<content:encoded><![CDATA[<p>Hace ya <a href="http://barrapunto.com/~Defero/journal/20596" target="_blank">dos años</a> (¡cómo pasa el tiempo!) me interesé por los distintos motores <a href="http://es.wikipedia.org/wiki/Wiki" target="_blank">wiki</a> existentes, con la idea de materializar una muy buena idea que al final se quedó en agua de borrajas. Llegué a probar un buen puñado, y estuve intentando cambiar la estética de varios de ellos a fin de adaptarlos a mi gusto, pero no encontré el software ideal. Y hoy vuelve a despertar en mí el interés por el software wiki.<br />
<span id="more-56"></span><br />
Pero en esta ocasión mi proyecto involucrará a terceras personas que no están precisamente familiarizadas con el uso de wikis, y mucho menos con su sintaxis de edición, así que me gustaría encontrar algo que integrara edición <a href="http://es.wikipedia.org/wiki/WYSIWYG" target="_blank">WYSIWYG</a>, con una interfaz al estilo de <a href="http://es.wikipedia.org/wiki/TinyMCE" target="_blank">TinyMCE</a>. Consultando diversas <a href="http://en.wikipedia.org/wiki/List_of_wiki_software#PHP-based" target="_blank">fuentes</a>, en Wikipedia me entero de la existencia de <a href="http://en.wikipedia.org/wiki/WackoWikiQuickStart" target="_blank">WackoWikiQuickStart</a>, un wiki que integra eso mismo que yo ando buscando. Pero, ¡oh, desgracia!, la <a href="http://qs.janvarev.ru/HomePage" target="_blank">web del proyecto</a> está en ruso, y yo en ese idioma sólo sé decir <em>tovarich, vodka, ruleta y ensaladilla</em>. Por lo visto es un <a href="http://es.wikipedia.org/wiki/Bifurcación_(desarrollo_de_software)" target="_blank">fork</a> de <a href="http://wackowiki.com/HomePage" target="_blank">WackoWiki</a> que integra, entre otras cosas, el editor <a href="http://www.solmetra.com/en/disp.php/en_products/en_spaw/en_spaw_intro" target="_blank">Spaw Editor</a>, que como TinyMCE, tiene muy buena pinta. En fin, otra vez será.</p>
<p>Ay, ojalá alguien se hubiera tomado la molestia de integrar TinYMCE o cualquier otro editor WYSIWYG en <a href="http://es.wikipedia.org/wiki/MediaWiki" target="_blank">MediaWiki</a>&#8230; eso me vendría genial. Porque eso no se le habrá ocurrido a nadie, ¿verdad que no? Pues resulta que <a href="http://www.google.es/search?q=mediawiki+wysiwyg" target="_blank">sí</a>. Y no sólo TinyMCE, sino también <a href="http://www.mediawiki.org/wiki/WYSIWYG_editor#Proof_of_concept:_WYSIWYG_Editors" target="_blank">algunos otros</a>, como por ejemplo <a href="http://mediawiki.fckeditor.net/index.php/Main_Page" target="_blank">FCKeditor</a>. Echad un vistazo a <a href="http://mediawiki.fckeditor.net/index.php?title=Troubleshooting&amp;action=edit" target="_blank">una página de edición cualquiera</a>. ¿No se os hace la boca agua?</p>
<p>Creo que ya sé por dónde empezaré el proyecto. <img src='http://www.obiterdicta.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p class="akst_link"><a href="http://www.obiterdicta.net/?p=56&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_56" class="akst_share_link" rel="nofollow">Compártelo</a>
</p><div style=\"background-color: #ddddcc; margin-left: 60px; margin-right: 60px; padding: 20px;\"><p>No hay artículos relacionados.  </p></div>]]></content:encoded>
			<wfw:commentRss>http://www.obiterdicta.net/2008/05/25/interfaz-wysiwyg-para-mediawiki/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Plantilla básica HTML+CSS</title>
		<link>http://www.obiterdicta.net/2008/02/24/plantilla-basica-html-css/</link>
		<comments>http://www.obiterdicta.net/2008/02/24/plantilla-basica-html-css/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 10:11:34 +0000</pubDate>
		<dc:creator>Defero</dc:creator>
				<category><![CDATA[Informática y tecnología]]></category>
		<category><![CDATA[Webmaestría]]></category>

		<guid isPermaLink="false">http://www.obiterdicta.net/2008/02/24/plantilla-basica-html-css/</guid>
		<description><![CDATA[Cada vez que me da por jugar con el HTML y el CSS me da una pereza enorme escribir las primeras líneas de código. Así como el novelista debe enfrentarse a la hoja en blanco exprimiéndose la imaginación, el aficionado al HTML se enfrenta al documento en blanco con grandes dosis de rutina. Porque las [...]<div style="background-color: #ddddcc; margin-left: 80px; padding: 20px;">
Artículos relacionados:  <ol>
<li><a href='http://www.obiterdicta.net/2005/06/26/html-y-vocales-acentuadas-mi-primer-script/' rel='bookmark' title='HTML y vocales acentuadas: mi primer script'>HTML y vocales acentuadas: mi primer script</a> <small>Estaba yo ayer retocando una cuasi-web que monté casi de...</small></li>
<li><a href='http://www.obiterdicta.net/2005/11/29/convirtiendo-txt-en-html-conociendo-expresiones-regulares/' rel='bookmark' title='Convirtiendo TXT en HTML. Conociendo expresiones regulares.'>Convirtiendo TXT en HTML. Conociendo expresiones regulares.</a> <small>El otro día llegaron a mis manos por medio de...</small></li>
</ol></div>]]></description>
			<content:encoded><![CDATA[<p>Cada vez que me da por jugar con el <a href="http://es.wikipedia.org/wiki/HTML" target="_blank">HTML</a> y el <a href="http://es.wikipedia.org/wiki/CSS" target="_blank">CSS</a> me da una pereza enorme escribir las primeras líneas de código. Así como el novelista debe enfrentarse a la <em>hoja en blanco</em> exprimiéndose la imaginación, el aficionado al HTML se enfrenta al <em>documento en blanco</em> con grandes dosis de rutina. Porque las primeras líneas siempre son aburridas. Sobre todo para alguien que sigue el modelo de desarrollo <em>frankenstein</em>, esto es, escribir código <em>a cachos</em> cogidos de aquí y de allá. Para que me entendáis, yo nunca recuerdo cómo narices debo enlazar el documento CSS en el HTML, o cómo centro la <em>capa maestra</em> en el documento sin que se vea mal en <a href="http://es.wikipedia.org/wiki/MSIE" target="_blank">MSIE</a>, lo que hago es recordar dónde tengo un documento en el que haya hecho algo así. Por lo tanto, mi enfrentamiento con el <em>documento en blanco</em> siempre consiste en un repetitivo proceso de (1) decidir qué quiero poner, (2) recordar en qué documento he utilizado algo así, (3) buscar ese documento, (4) copiar la parte de código que necesito, y repetir una y otra vez hasta reunir todos los elementos necesarios para tener un documento con un aspecto digno. El problema es que siempre se me olvida algo (como por ejemplo declarar el <a href="http://es.wikipedia.org/wiki/DOCTYPE">DOCTYPE</a> o poner título al documento), por lo que se pierde bastante tiempo en probatinas evitables.</p>
<p><span id="more-48"></span></p>
<p>Pues resulta que el otro día estaba yo compilando una lista de <a href="http://es.wikipedia.org/wiki/Software_libre" target="_blank">software libre</a> para <a href="http://es.wikipedia.org/wiki/Windows" target="_blank">MS Windows</a>, cuando me dio por pensar que a lo mejor, qué sé yo, mi lista le puede ser útil a alguien. Así que, ¿por qué no publicarla en forma de web? Y de esa idea ha nacido <a href="http://liberadawindows.webcindario.com/"><em>Liberad a Windows</em></a> (los contenidos aún no están completos). El proceso de diseño de la web al <em>estilo frankenstein</em> me hizo pensar; si estoy utilizando una y otra vez la misma base para los diseños, en vez de dedicarme a rebuscar por mi disco duro el código que necesito, ¿por qué no aprovecho y escribo una plantilla básica con más o menos todo lo que suelo usar, para poder utilizarla como punto de partida a partir de ahora?</p>
<p>Pues nada, dicho y hecho. Aquí tenéis la <a href="http://www.obiterdicta.net/plantilla.html" target="_blank">plantilla</a>. No es tan estupentástica y fantabulosa como las <a href="http://www.google.com/search?q=plantillas+html" target="_blank">plantillas</a> listas para usar que encontraréis en un montón de webs, pero es que ésta no es un producto final, ésta es un lienzo en blanco para rellenar con vuestra creatividad. Es como un trozo de arcilla listo para ser moldeado, un tarugo listo para ser tallado. Para que cuando la inspiración os asalte, no perdáis el tiempo en escribir las aburridas primeras líneas, y podáis poneros manos a la obra con el color y la imagen desde el principio.</p>
<p>Que las musas os acompañen.</p>
<p class="akst_link"><a href="http://www.obiterdicta.net/?p=48&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_48" class="akst_share_link" rel="nofollow">Compártelo</a>
</p><div style="background-color: #ddddcc; margin-left: 80px; padding: 20px;"><p>Artículos relacionados:  </p><ol>
<li><a href='http://www.obiterdicta.net/2005/06/26/html-y-vocales-acentuadas-mi-primer-script/' rel='bookmark' title='HTML y vocales acentuadas: mi primer script'>HTML y vocales acentuadas: mi primer script</a> <small>Estaba yo ayer retocando una cuasi-web que monté casi de...</small></li>
<li><a href='http://www.obiterdicta.net/2005/11/29/convirtiendo-txt-en-html-conociendo-expresiones-regulares/' rel='bookmark' title='Convirtiendo TXT en HTML. Conociendo expresiones regulares.'>Convirtiendo TXT en HTML. Conociendo expresiones regulares.</a> <small>El otro día llegaron a mis manos por medio de...</small></li>
</ol></div>]]></content:encoded>
			<wfw:commentRss>http://www.obiterdicta.net/2008/02/24/plantilla-basica-html-css/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Presuponiendo el blanco, ¿error de diseño?</title>
		<link>http://www.obiterdicta.net/2007/11/09/presuponiendo-el-blanco-%c2%bferror-de-diseno/</link>
		<comments>http://www.obiterdicta.net/2007/11/09/presuponiendo-el-blanco-%c2%bferror-de-diseno/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 09:55:41 +0000</pubDate>
		<dc:creator>Defero</dc:creator>
				<category><![CDATA[Informática y tecnología]]></category>
		<category><![CDATA[Webmaestría]]></category>

		<guid isPermaLink="false">http://www.obiterdicta.info/2007/11/10/presuponiendo-el-blanco-%c2%bferror-de-diseno/</guid>
		<description><![CDATA[Buscando el modo de montar un blog bilingüe, me he encontrado con una web que comete (en mi opinión) un error de diseño demasiado extendido: presuponer que el navegador del usuario mostrará con fondo blanco los espacios en los que la hoja de estilo no especifique color de fondo. Resultado: una web a petachos, que [...]<div style=\"background-color: #ddddcc; margin-left: 60px; margin-right: 60px; padding: 20px;\">
No hay artículos relacionados.  </div>]]></description>
			<content:encoded><![CDATA[<p>Buscando el modo de <a href="http://www.google.com/search?q=%22blog+biling%C3%BCe%22">montar un blog bilingüe</a>, me he encontrado con <a href="http://blog.traduim.com/arxius/2004/06/22/blog-bilinge/">una web</a> que comete (en mi opinión) un error de diseño demasiado extendido: presuponer que el navegador del usuario mostrará con fondo blanco los espacios en los que la hoja de estilo no especifique color de fondo. Resultado: una <a href="http://img240.imageshack.us/img240/6793/site4ca8.jpg">web a petachos</a>, que aquí, allá y acullá muestra parches de fondo gris. Todo porque prefiero usar tonos grises en mi escritorio, porque el blanco me resulta demasiado brillante.</p>
<p>El problema es que son tantísimas las webs que cometen este error de bulto, que harto de darme de bruces con diseños en los que alguien ha olvidado especificar que quiere que esto y aquello se vea blanco, al final me he rendido, y he optado por poner el blanco en mi escritorio. Total, todo por olvidarse añadir un <strong>body { background-color: white; }</strong> en el CSS.</p>
<p>Post-data: Que no lo digo yo, que <a href="http://www.w3.org/QA/Tips/color">lo dice el W3C</a>.</p>
<p class="akst_link"><a href="http://www.obiterdicta.net/?p=32&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_32" class="akst_share_link" rel="nofollow">Compártelo</a>
</p><div style=\"background-color: #ddddcc; margin-left: 60px; margin-right: 60px; padding: 20px;\"><p>No hay artículos relacionados.  </p></div>]]></content:encoded>
			<wfw:commentRss>http://www.obiterdicta.net/2007/11/09/presuponiendo-el-blanco-%c2%bferror-de-diseno/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convirtiendo TXT en HTML. Conociendo expresiones regulares.</title>
		<link>http://www.obiterdicta.net/2005/11/29/convirtiendo-txt-en-html-conociendo-expresiones-regulares/</link>
		<comments>http://www.obiterdicta.net/2005/11/29/convirtiendo-txt-en-html-conociendo-expresiones-regulares/#comments</comments>
		<pubDate>Tue, 29 Nov 2005 15:03:55 +0000</pubDate>
		<dc:creator>Defero</dc:creator>
				<category><![CDATA[Informática y tecnología]]></category>
		<category><![CDATA[Webmaestría]]></category>

		<guid isPermaLink="false">http://www.obiterdicta.info/2005/11/29/convirtiendo-txt-en-html-conociendo-expresiones-regulares/</guid>
		<description><![CDATA[El otro día llegaron a mis manos por medio de un amigo unos CDs de formularios. Los formularios vienen en formato Word y en texto plano, para que cada cual elija el formato que prefiera. Yo me quedaré con los de texto plano. Cada formulario (algunos cientos) es un archivo distinto cuyo nombre es un [...]<div style="background-color: #ddddcc; margin-left: 80px; padding: 20px;">
Artículos relacionados:  <ol>
<li><a href='http://www.obiterdicta.net/2008/02/24/plantilla-basica-html-css/' rel='bookmark' title='Plantilla básica HTML+CSS'>Plantilla básica HTML+CSS</a> <small>Cada vez que me da por jugar con el HTML...</small></li>
<li><a href='http://www.obiterdicta.net/2005/06/26/html-y-vocales-acentuadas-mi-primer-script/' rel='bookmark' title='HTML y vocales acentuadas: mi primer script'>HTML y vocales acentuadas: mi primer script</a> <small>Estaba yo ayer retocando una cuasi-web que monté casi de...</small></li>
</ol></div>]]></description>
			<content:encoded><![CDATA[<p>El otro día llegaron a mis manos por medio de un amigo unos CDs de formularios. Los formularios vienen en <i>formato Word</i> y en texto plano, para que cada cual elija el formato que prefiera. Yo me quedaré con los de texto plano. Cada formulario (algunos cientos) es un archivo distinto cuyo nombre es un número de tres cifras seguido de la partícula <i>eu</i> (formulario en euskara) o <i>es</i> (formulario en castellano) y la extensión .TXT, así que para facilitar la búsqueda del formulario que necesitamos se incluye un índice que nos dice qué contiene cada archivo. La idea es que primero uses el índice para saber qué número corresponde al formulario que necesitas (por ejemplo, el formulario 115 en castellano), y una vez localizado el número recurras al archivo correspondiente (115es.txt). Y visto esto me he dicho a mí mismo, <i>&#8220;no debe de costar mucho pasar este índice a HTML para que sea un poco más fácil usar los formularios&#8221;</i>. Y me he puesto manos a la obra.</p>
<p><span id="more-40"></span></p>
<p>Una opción sencilla pero tediosa sería editar el texto a mano, convirtiendo cada línea de texto plano en un hipervínculo que enlazara al correspondiente archivo TXT, pero eso sería un desperdicio de tiempo impresionante. Mejor vamos a buscar una manera algo más automatizada de conseguir el mismo efecto, vamos a utilizar la opción de reemplazo de texto de <i>Kwrite</i>, que es el editor de texto que suelo usar. Y para ello me voy a adentrar un poquito más en el apasionante mundo de las expresiones regulares, ya que mi contacto con él hasta ahora ha sido bastante tímido.</p>
<p>Lo primero, planificar el <i>modus operandi</i>. En realidad no he planificado nada, he ido improvisando en todo momento mediante la técnica de ensayo y error (sobre todo error), pero como quiero que esta explicación sea medianamente útil y además me siento incapaz de recordar la mayor parte de los errores que he cometido en el proceso, lo voy a explicar a toro pasado como si desde un principio la cosa hubiera estado clara. Así que vamos a echar un vistazo a la estructura del índice, que afortunadamente no es nada del otro jueves:</p>
<blockquote><p><i>1.- Epígrafe Gordo<br />
1.1.- Epígrafe mediano<br />
001. Primer formulario<br />
002. Segundo formulario<br />
003. Tercer formulario<br />
1.2.- Otro epígrafe mediano<br />
1.2.1.- Sección<br />
004. Cuarto formulario<br />
1.2.2.- Otra sección<br />
1.2.2.1.- Sub-sección<br />
005. Quinto formulario<br />
</i></p></blockquote>
<p>Más o menos quiero que quede así:</p>
<blockquote>
<ul>
<li>1.- Epígrafe Gordo</li>
</ul>
<ul>
<li>1.1.- Epígrafe mediano</li>
</ul>
<ul>
<li><a href="enlace_a_primer_formulario">001. Primer formulario</a></li>
<li><a href="enlace_a_segundo_formulario">002. Segundo formulario</a></li>
<li><a href="enlace_a_tercer_formulario">003. Tercer formulario</a></li>
</ul>
<li>1.2.- Otro epígrafe mediano</li>
<ul>
<li>1.2.1.- Sección</li>
</ul>
<ul>
<li><a href="enlace_a_cuarto_formulario">004. Cuarto formulario</a></li>
</ul>
<li>1.2.2.- Otra sección</li>
<ul>
<li>1.2.2.1.- Sub-sección</li>
</ul>
<ul>
<li><a href="enlace_a_quinto_formulario">005. Quinto formulario</a></li>
</ul>
</blockquote>
<p>Primera decisión: los Epígrafes Gordos irán entre &lt;h2&gt; y &lt;/h2&gt;, los epígrafes medianos irán entre &lt;h3&gt; y &lt;/h3&gt;, las secciones entre &lt;h4&gt; y &lt;/h4&gt;, las sub-secciones entre &lt;h5&gt; y &lt;/h5&gt;, y en la ultimísima clasificación, es decir, en los formularios, usaremos &lt;p&gt; y &lt;/p&gt;. Luego nos curraremos una hoja de estilo chachi-guay para que quede clara la jerarquía.</p>
<p>Vamos a convertir en párrafos todas las líneas que contienen los números y nombres de los formularios, y vamos a hacerlo de manera automática usando el reemplazo de texto. Vamos a pedirle a <i>Kwrite</i> que identifique todas las líneas que empiecen por un número de tres cifras, y les añada las etiquetas de inicio y fin de párrafo. Vamos a ello: <i>Editar &#8211;> Reemplazar</i>, en <i>Texto a encontrar</i> marcamos la casilla <i>expresión regular</i>, y en <i>reemplazar con</i> marcamos la casilla <i>usar contenedores</i>. Y entramos de lleno en el uso de las expresiones regulares, en el que soy un completo novato, así que lo explicaré como mejor pueda sin comprometerme a ser exacto ni mucho menos exhaustivo. En la casilla <i>texto a encontrar</i> deberemos introducir el criterio que queremos que se use para seleccionar las líneas. El primero, todas empiezan por un número del 0 al 9. O sea, <b>[0-9]</b>. Después viene otro número más, y otro más. Es decir:</p>
<blockquote><p>[0-9][0-9][0-9]</p></blockquote>
<p>Pero ojo, he dicho que <b>empiezan</b> con esos números, que no es lo mismo que decir que <b>contienen</b> esos números. Para marcar el inicio de una línea se usa el símbolo <b>^</b>, así que nuestro principio de línea queda así:</p>
<blockquote><p>^[0-9][0-9][0-9]</p></blockquote>
<p>¿Y qué viene después? La verdad es que nos es indiferente, porque con esto nos basta para identificar todas las líneas que queríamos, así que vamos a terminarla de la manera más sencilla: el punto. El punto es algo así como el comodín, si ponemos un punto estamos indicando que se acepte cualquier caracter, sea el que sea. Si además de un punto le añadimos un asterisco estaremos indicando que se deberán tener en cuenta tantos caracteres como haya que cumplan el anterior criterio, con lo cual de esta manera estamos abarcando toda la línea hasta el final. Y para marcar el final de línea usaremos el símbolo del dólar:</p>
<blockquote><p><b>^[0-9][0-9][0-9].*$</b></p></blockquote>
<p>Esto será suficiente para identificar las líneas que queremos modificar, pero ¿qué escribiremos en su lugar? No olvidemos que estamos <b>sustituyendo</b>, no añadiendo ni modificando. Si queremos que en el texto que les sustituya aparezca el texto original vamos a tener que especificar <i>contenedores</i>, o sea, porciones de texto que vamos a reutilizar en el reemplazo. Los contenedores se determinan con paréntesis, y yo voy a determinar dos por un motivo que explicaré más adelante. Así que ésta es la combinación definitiva para la casilla <i>texto a encontrar</i>:</p>
<blockquote><p>^([0-9][0-9][0-9])(.*)$</p></blockquote>
<p>Vamos ahora al <i>texto de reemplazo</i>. Queremos que el texto sea reemplazado por sí mismo, pero con las etiquetas de párrafo (&lt;p&gt; y &lt;/p&gt;) al principio y al final. Lo primero, volver a escribir el texto que reemplazamos. Hemos definido dos <i>contenedores</i> cuyos identificadores serán una barra oblícua y el número de contenedor que le corresponde. Es decir, al contenedor ([0-9][0-9][0-9]) le corresponde \1, y al contenedor (.*) le corresponde \2. Para que se copie tal cual tendremos que escribir \1\2, y si queremos invertir el orden de los elementos escribiremos \2\1. Incluso podemos repetirlos, por ejemplo, de esta manera: \1\2\1. Esto escribirá el número de tres cifras, luego todo el texto que viene después de los números, y de nuevo las tres cifras. Incluso podemos intercalar texto entre ambos elementos. Pero no vamos a complicarnos tanto, nos limitaremos a poner las etiquetas de párrafo a ambos extremos del texto:</p>
<blockquote><p><b>&lt;p&gt; \1\2&lt;/p&gt;</b></p></blockquote>
<p>Ahora, pulsa <i>Reemplazar</i>. Sí, así de simple es, hemos convertido nuestras líneas de insulso texto plano en párrafos de un proto-documento HTML. Pero ojo, la cosa no acaba aquí, porque vamos a hacer algo más: vamos a convertir cada línea en un enlace a su correspondiente documento. Y aquí es donde daremos utilidad al hecho de haber definido dos <i>contenedores</i> en vez de uno. No es casual que hayamos aislado del resto de la línea las tres primeras cifras, que coinciden con parte del nombre del archivo al que hacen referencia. Es decir, la línea con el texto <i><b>001</b>.No-sé-qué</i> hace referencia al archivo <i><b>001</b>es.txt</i> (en el índice en euskara haría referencia al archivo <i><b>001</b>eu.txt</i>). Así que volvemos a empezar, rellenamos la casilla <i>texto a encontrar</i> exactamente de la misma manera, y hacemos la siguiente modificación a la casilla <i>texto de reemplazo</i>:</p>
<blockquote><p>&lt;p&gt;<b>&lt;a href=&#8221;"&gt;</b>\1\2<b>&lt;/a&gt;</b>&lt;/p&gt;</p></blockquote>
<p>¡Acabamos de convertir nuestros párrafos en hipervínculos! Sí, pero, ¿hipervínculos a dónde? Si <i><b>001</b>.No-sé-qué</i> nos debería llevar hasta <i><b>001</b>es.txt</i>, y <i><b>001</b></i> lo expresamos mediante el <i>contenedor <b>\1</b></i>, adivinar la ruta de nuestro enlace no resultará complicado al barrapuntero medio:</p>
<blockquote><p>&lt;p&gt;&lt;a href=&#8221;<b>\1es.txt</b>&#8220;&gt;\1\2&lt;/a&gt;&lt;/p&gt;</p></blockquote>
<p>Además le he añadido un <i>target=&#8221;_blank&#8221;</i> al enlace, y en vez de enlazarlo al TXT he puesto extensión HTML y luego he renombrado los archivos, pero bueno, para simplificar lo he omitido en la explicación. La cuestión es que con esto ya hemos convertido en párrafos con enlace las referencias a los formularios, tal y como queríamos. Pero ojo, no hemos terminado: nos quedan los epígrafes, secciones y subsecciones. Una vez asimilado lo anterior esto ya resultará sencillo, aunque hay un par de variaciones. Empecemos por <i>Epígrafes Gordos</i>, que habíamos dicho que los identificaríamos mediante &lt;h2&gt; y &lt;/h2&gt;. La característica que identifica a los <i>Epígrafes Gordos</i> y los diferencia del resto de elementos es que empiezan por un número de una o dos cifras (hay hasta 12), después hay un punto, después un guión, y luego ya el texto. Empecemos por las cifras. Si usamos la expresión <b>[0-9]</b> estaremos restringiendo la expresión a números de una sola cifra excluyendo los de dos o más, y si usamos la expresión <b>[0-9][0-9]</b> estaremos restringiendo la expresión a números de dos cifras excluyendo los de una, tres y más de tres cifras. Si usamos la expresión <b>[0-9]*</b> estaremos seleccionando las cadenas que consten de cualquier número de cifras, incluso cero cifras, cosa que no queremos. Solución: <b>[0-9][0-9]*</b>, que selecciona todas las cadenas en las que haya al menos una cifra, y potestativamente una, dos, tres, o mil más. Ojo: esto incluiría en nuestro criterio de búsqueda las cadenas que tuvieran tres cifras, es decir, todas las líneas que hemos marcado como párrafos mediante la anterior sustitución. Para evitar eso especificaremos que queremos que las cifras estén al principio de la línea:</p>
<blockquote><p>^[0-9][0-9]*</p></blockquote>
<p>Después de las cifras debe ir siempre un punto, pero el punto en las expresiones regulares es un <i>comodín</i> que puede representa cualquier caracter, así que para que deje de ser un <i>comodín</i> y se comporte como un punto normal y corriente lo precederemos de una barra oblícua. Algo parecido pasa con el guión, así que también lo precederemos con una barra:</p>
<blockquote><p>^[0-9][0-9]*<b>\.\-</b></p></blockquote>
<p>¿Y qué viene después? Después viene todo el texto que no sigue ningún patrón identificable, ni falta que nos hace. Usaremos el punto y el asterisco, y a correr. Añadimos la marca de final de línea, envolvemos todo entre paréntesis para que forme un <i>contenedor</i>, y tenemos listo nuestro <i>texto a encontrar</i>.</p>
<blockquote><p><b>^([0-9][0-9]*\.\-.*)$</b></p></blockquote>
<p>Y sin complicaciones, lo sustituimos por el mismo texto envuelto entre las etiquetas de apertura y cierre &lt;h2&gt; y &lt;/h2&gt; de una manera sencillísima, dado que sólo tenemos un contenedor que abarca toda la línea:</p>
<blockquote><p><b>&lt;h2&gt;\1&lt;/h2&gt;</b></p></blockquote>
<p>Ahora vamos a por los epígrafes medianos, que llegado este punto resultarán sencillísimos. Dado que empieza por un número de una o dos cifras, un punto, otro número de una o dos cifras, un punto y un guión, donde antes pusimos &#8220;cifra-cifra-punto-guión&#8221; ahora pondremos &#8220;cifra-cifra-punto-cifra-cifra-punto-guión&#8221;. O sea, <b>[0-9][0-9]*\.[0-9][0-9]*\.\-</b></p>
<blockquote><p>^([0-9][0-9]*\.<b>[0-9][0-9]*\.</b>\-.*)$</p></blockquote>
<p>Y el texto de reemplazo será prácticamente igual, dado que seguimos teniendo un solo contenedor. Lo único que cambian son las etiquetas de apertura y cierre:</p>
<blockquote><p><b>&lt;h3&gt;\1&lt;/h3&gt;</b></p></blockquote>
<p>Para los epígrafes inferiores el procedimiento es similar, sólo hay que añadir al <i>texto a encontrar</i> otra sesión de <b>[0-9][0-9]*\.</b>. Y ahora pasamos a otro grupo de formularios&#8230; ups&#8230; aquí los epígrafes se numeran con números romanos&#8230; Bueno, no hay problema: como los han escrito con mayúsculas cambiaremos <b>[0-9][0-9]*</b> por <b>[A-Z][A-Z]*</b>, y el resto igual.</p>
<p>En fin, iba a explicar un par de pijadillas más, como el modo en el que he montado un índice abreviado al principio del documento y metido <i>anclas</i> en los títulos de los epígrafes, el modo en que he renombrado todos los <i>100es.txt</i> a <i>prefijo100es.html</i> y he convertido todas las líneas de los mismos en párrafos (&lt;p&gt;&lt;/p&gt;), pero veo que me estoy alargando demasiado, y esto va a resultar ser un tocho infumable. Así que esto se acaba aquí, si le es útil a alguien, genial, y si no, no haber entrado. A mí me será útil tener esto aquí para cuando no recuerde tal o cual cosa y quiera repasarlo, ya que Barrapunto está más ordenado que mis notas. Y si alguien quiere comentar o sugerir algo, bienvenido sea. Un saludo.</p>
<blockquote><p>PD: Me acabo de dar cuenta de que quizás alguien quiera mejorar y reproducir estas explicaciones, así que allá va: <i><b>Copyright 2005 Daniel Martínez</b>. Se otorga permiso para copiar, distribuir y/o modificar el  texto bajo los términos de la <b>Licencia de Documentación Libre GNU</b>, Versión 1.2 o cualquier otra versión posterior publicada por la <a href="http://www.fsf.org/">Free Software Foundation</a>; sin Secciones Invariantes, sin Cubierta Frontal, y sin<br />
Cubierta Posterior. Se puede obtener una copia de la licencia de <a href="http://www.gnu.org/licenses/fdl.html">gnu.org</a>, también <a href="http://gugs.sindominio.net/licencias/fdl-es.html">traducida al castellano</a>, y <a href="http://es.wikipedia.org/wiki/Licencia_de_documentaci%C3%B3n_libre_GNU">comentada en la Wikipedia</a>.</i></p></blockquote>
<p><a href="http://barrapunto.com/~Defero/journal/18136">Publicado en Barrapunto</a></p>
<p class="akst_link"><a href="http://www.obiterdicta.net/?p=40&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_40" class="akst_share_link" rel="nofollow">Compártelo</a>
</p><div style="background-color: #ddddcc; margin-left: 80px; padding: 20px;"><p>Artículos relacionados:  </p><ol>
<li><a href='http://www.obiterdicta.net/2008/02/24/plantilla-basica-html-css/' rel='bookmark' title='Plantilla básica HTML+CSS'>Plantilla básica HTML+CSS</a> <small>Cada vez que me da por jugar con el HTML...</small></li>
<li><a href='http://www.obiterdicta.net/2005/06/26/html-y-vocales-acentuadas-mi-primer-script/' rel='bookmark' title='HTML y vocales acentuadas: mi primer script'>HTML y vocales acentuadas: mi primer script</a> <small>Estaba yo ayer retocando una cuasi-web que monté casi de...</small></li>
</ol></div>]]></content:encoded>
			<wfw:commentRss>http://www.obiterdicta.net/2005/11/29/convirtiendo-txt-en-html-conociendo-expresiones-regulares/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML y vocales acentuadas: mi primer script</title>
		<link>http://www.obiterdicta.net/2005/06/26/html-y-vocales-acentuadas-mi-primer-script/</link>
		<comments>http://www.obiterdicta.net/2005/06/26/html-y-vocales-acentuadas-mi-primer-script/#comments</comments>
		<pubDate>Sun, 26 Jun 2005 15:12:07 +0000</pubDate>
		<dc:creator>Defero</dc:creator>
				<category><![CDATA[Informática y tecnología]]></category>
		<category><![CDATA[Webmaestría]]></category>

		<guid isPermaLink="false">http://www.obiterdicta.info/2005/06/26/html-y-vocales-acentuadas-mi-primer-script/</guid>
		<description><![CDATA[Estaba yo ayer retocando una cuasi-web que monté casi de casualidad, a base de HTML en Quanta (otras veces uso BlueFish, aunque la mayoría de las veces prefiero usar Kwrite), y como de costumbre, al visualizarla en el navegador, me encontré con el siguiente problema: las palabras acentuadas se ven mal. Y es que en [...]<div style="background-color: #ddddcc; margin-left: 80px; padding: 20px;">
Artículos relacionados:  <ol>
<li><a href='http://www.obiterdicta.net/2005/11/29/convirtiendo-txt-en-html-conociendo-expresiones-regulares/' rel='bookmark' title='Convirtiendo TXT en HTML. Conociendo expresiones regulares.'>Convirtiendo TXT en HTML. Conociendo expresiones regulares.</a> <small>El otro día llegaron a mis manos por medio de...</small></li>
<li><a href='http://www.obiterdicta.net/2008/02/24/plantilla-basica-html-css/' rel='bookmark' title='Plantilla básica HTML+CSS'>Plantilla básica HTML+CSS</a> <small>Cada vez que me da por jugar con el HTML...</small></li>
</ol></div>]]></description>
			<content:encoded><![CDATA[<p>Estaba yo ayer retocando <a href="http://gimpeando.iespana.es">una cuasi-web que monté casi de casualidad</a>, a base de HTML en <a href="http://quanta.kdewebdev.org">Quanta</a> (otras veces uso <a href="http://bluefish.openoffice.nl">BlueFish</a>, aunque la mayoría de las veces prefiero usar <a href="http://www.kde-apps.org/content/show.php?content=9901">Kwrite</a>), y como de costumbre, al visualizarla en el navegador, me encontré con el siguiente problema: las palabras acentuadas se ven mal. Y es que en el HTML, como la mayoría ya sabréis, para escribir &#8220;á&#8221; hay que poner &#8220;<b>&amp;aacute;</b>&#8220;, y por mucho que lo intento, según escribo se me olvida utilizar esos códigos tan <i>poco humanos</i>. Así que me dispongo a hacer el cambio en todo el documento&#8230; lo cual supone sustituir todas las &#8220;á&#8221; por &#8220;<b>&amp;aacute;</b>&#8220;, &#8220;é&#8221; por &#8220;<b>&amp;eacute;</b>&#8220;&#8230; así las cinco vocales, tanto en mayúscula como en minúscula; y también, cómo no, la eñe, en mayúscula y minúscula también. Es la parte que más odio. ¿No existirá en GNU/Linux alguna herramienta capaz de hacer el cambio por mí? Pues sí, existe, y se llama <a href="http://www.mail-archive.com/lugar-gral@linux.org.ar/msg05756.html">sed</a>. Su uso es <i>a priori</i> bastante simple: si en un archivo de nombre &#8220;archivo.txt&#8221; queremos sustituir todas las &#8220;a&#8221; por &#8220;e&#8221;, tecleamos lo siguiente en la consola:</p>
<blockquote><p>cat archivo.txt | sed -e &#8216;s/a/e/g&#8217; > archivo2.txt</p></blockquote>
<p><span id="more-41"></span></p>
<p>Así que para cambiar las &#8220;á&#8221; por &#8220;<b>&amp;aacute;</b>&#8221; en un archivo HTML, debería bastar con lo siguiente:</p>
<blockquote><p>cat archivo.html | sed -e &#8216;s/á/&amp;aacute;/g&#8217; > archivo2.html</p></blockquote>
<p>Pues nooooo señor&#8230; porque resulta que &#8220;<b>&amp;</b>&#8221; es un caracter especial que <i>sed</i> [<a href="http://barrapunto.com/comments.pl?sid=54173&#038;cid=538940"><i>corrección</i></a>] interpeta <i>a su modo</i>, y el resultado es desastroso. <a href="http://www.forosdelweb.com/showthread.php?t=311092">Pregunté en Forosdelweb</a> (dudé si preguntarlo en Barrapunto), pero al final fue Google quien me dio la solución: preceder el caracter &#8220;<b>&amp;</b>&#8221; por una barra oblícua (\), para que sea leído tal cual. El código queda así:</p>
<blockquote><p>cat archivo.html | sed -e &#8216;s/á/\&amp;aacute;/g&#8217; > archivo2.html</p></blockquote>
<p>Tras comprobar que el método funciona, vamos a cambiar en una sola línea todas las vocales acentuadas y las eñes (mayúsculas y minúsculas) por su correspondiente código. Tal que así:</p>
<blockquote><p>cat archivo.html | sed -e &#8216;s/á/\&amp;aacute;/g&#8217; -e &#8216;s/é/\&amp;eacute;/g&#8217; -e &#8216;s/í/\&amp;iacute;/g&#8217; -e &#8216;s/ó/\&amp;oacute;/g&#8217; -e &#8216;s/ú/\&amp;uacute;/g&#8217; -e &#8216;s/ñ/\&amp;ntilde;/g&#8217; -e &#8216;s/Á/\&amp;Aacute;/g&#8217; -e &#8216;s/É/\&amp;Eacute;/g&#8217; -e &#8216;s/Í/\&amp;Iacute;/g&#8217; -e &#8216;s/Ó/\&amp;Oacute;/g&#8217; -e &#8216;s/Ú/\&amp;Uacute;/g&#8217; -e &#8216;s/Ñ/\&amp;Ntilde;/g&#8217; > archivo2.html</p></blockquote>
<p>Y funciona! Vaya que si funciona! Esto me va a ahorrar algo de trabajo a la hora de perder el tiempo escribiendo HTML. Aunque es un engorro eso de tener que andar usando una cadena tan larga&#8230; tendría que tenerla siempre a mano apuntada en algún lado, y queda demasiado cutre&#8230; ¿y si intento crear un script que automatice la tarea? Vale que soy <i>de letras</i> y me estoy metiendo en un campo que no me corresponde&#8230; pero no hago daño a nadie. Venga, el mundo es para los valientes! Encuentro en Google un <a href="http://www.demiurgo.org/doc/shell/shell.html">tutorial de programación en shell</a>, y me pongo a leerlo&#8230; hmmm&#8230; he de admitirlo, es un pelín lioso para mí, yo soy bastante más elemental. Pero al final consigo teclear un script sencillito que más o menos hace lo que quiero:</p>
<blockquote><p>#!/bin/bash<br />
archivo=$1<br />
cat $archivo | sed -e &#8216;s/á/\&amp;aacute;/g&#8217; -e &#8216;s/é/\&amp;eacute;/g&#8217; -e &#8216;s/í/\&amp;iacute;/g&#8217; -e &#8216;s/ó/\&amp;oacute;/g&#8217; -e &#8216;s/ú/\&amp;uacute;/g&#8217; -e &#8216;s/ñ/\&amp;ntilde;/g&#8217; -e &#8216;s/Á/\&amp;Aacute;/g&#8217; -e &#8216;s/É/\&amp;Eacute;/g&#8217; -e &#8216;s/Í/\&amp;Iacute;/g&#8217; -e &#8216;s/Ó/\&amp;Oacute;/g&#8217; -e &#8216;s/Ú/\&amp;Uacute;/g&#8217; -e &#8216;s/Ñ/\&amp;Ntilde;/g&#8217; > ${archivo}.txt</p></blockquote>
<p>Lo guardo con el nombre <i>acentos</i>, le doy permisos de ejecución, lo llevo a <i>/usr/bin</i>, y listo, ya tengo mi script totalmente operativo. El funcionamiento es un tanto rudimentario, pero resulta funcional: en la consola tecleas <i>acentos archivo.html</i>, y te crea un nuevo archivo de nombre <i>archivo.html.txt</i> corregido (luego habrá que cambiar la extensión, tras comprobar que es correcto). Permitidme que me sienta orgulloso de mi modesta creación. Es poco más que un <i>&#8220;Hola, mundo&#8221;</i>, pero oye, es de cierta utilidad. A mí me va a ahorrar tiempo y tedio. Aunque&#8230; no me termina de convencer. Voy a hacerle un par de cambios: en vez de crear un archivo de extensión .txt con el resultado, voy a hacer que primero cree una copia de respaldo con extensión .bak, y luego a partir del mismo haga las correcciones y las guarde con el nombre del archivo original, sobreescribiéndolo. Además, voy a añadir más correcciones, para que no sólo me corrija los acentos y las eñes, sino también otros <a href="http://es.selfhtml.org/html/referenz/zeichen.htm">caracteres especiales</a> (no todos, porque estropearía el código HTML del documento). El resultado es éste:</p>
<blockquote><p>#!/bin/bash<br />
archivo=$1<br />
cp $archivo ${archivo}.bak &amp;&amp; cat ${archivo}.bak | sed -e &#8216;s/á/\&amp;aacute;/g&#8217; -e &#8216;s/é/\&amp;eacute;/g&#8217; -e &#8216;s/í/\&amp;iacute;/g&#8217; -e &#8216;s/ó/\&amp;oacute;/g&#8217; -e &#8216;s/ú/\&amp;uacute;/g&#8217; -e &#8216;s/ñ/\&amp;ntilde;/g&#8217; -e &#8216;s/Á/\&amp;Aacute;/g&#8217; -e &#8216;s/É/\&amp;Eacute;/g&#8217; -e &#8216;s/Í/\&amp;Iacute;/g&#8217; -e &#8216;s/Ó/\&amp;Oacute;/g&#8217; -e &#8216;s/Ú/\&amp;Uacute;/g&#8217; -e &#8216;s/Ñ/\&amp;Ntilde;/g&#8217; -e &#8216;s/©/\&amp;copy;/g&#8217; -e &#8216;s/¡/\&amp;iexcl;/g&#8217; -e &#8216;s/§/\&amp;sect;/g&#8217; -e &#8216;s/ª/\&amp;ordf;/g&#8217; -e &#8216;s/«/\&amp;laquo;/g&#8217; -e &#8216;s/®/\&amp;reg;/g&#8217; -e &#8216;s/±/\&amp;plusmn;/g&#8217; -e &#8216;s/²/\&amp;sup2;/g&#8217; -e &#8216;s/³/\&amp;sup3;/g&#8217; -e &#8216;s/¶/\&amp;para;/g&#8217; -e &#8216;s/º/\&amp;ordm;/g&#8217; -e &#8216;s/»/\&amp;raquo;/g&#8217; -e &#8216;s/¿/\&amp;iquest;/g&#8217; -e &#8216;s/Æ/\&amp;AElig;/g&#8217; -e &#8216;s/Ç/\&amp;Ccedil;/g&#8217; -e &#8216;s/æ/\&amp;aelig;/g&#8217; -e &#8216;s/ç/\&amp;ccedil;/g&#8217; -e &#8216;s/Ü/\&amp;Uuml;/g&#8217; -e &#8216;s/ü/\&amp;uuml;/g&#8217; > $archivo</p></blockquote>
<p>El modo de uso sigue siendo el mismo, pero no el resultado: en la consola vuelves a teclear <i>acentos archivo.html</i>, y crea una copia de seguridad de nombre <i>archivo.html.bak</i>, para luego modificarlo y guardarlo como <i>archivo.html</i>. De esta manera no hace falta andar renombrando archivos para poder usarlos, y por si acaso tomamos la precaución de guardar una copia del original.</p>
<p>Aunque el script es perfectamente usable, tengo varias ideas para añadirle funcionalidad, como por ejemplo poder procesar varios archivos escribiendo una sola línea (<i>acentos archivo1.html archivo2.html archivo3.html</i>) en vez de tener que modificarlos uno a uno; poder utilizar comodines para modificar (por ejemplo) todos los archivos que tengan extensión HTML (<i>acentos *.html</i>); añadir una explicación del funcionamiento del script (<i>acentos &#8211;help</i>), mensajes de error para cuando no se encuentra el archivo indicado o no se indica nombre de archivo&#8230; pero para eso ya habrá tiempo. De momento que el script funcione, aunque sea muy rudimentario, para mí ya es un gran logro.</p>
<p>Por cierto, esto es demasiado simple como para poder poseer ningún tipo de <i>copyright</i> sobre el mismo y poder licenciarlo bajo la GPL, ¿verdad? Es absurdo que os diga que podéis utilizarlo, modificarlo, distribuirlo y demás como os dé la santísima gana siempre que otorguéis las mismas libertades a quien lo reciba de vuestra mano. Espero que al menos a alguien le sea de ayuda. <img src='http://www.obiterdicta.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://barrapunto.com/~Defero/journal/14429">Publicado en Barrapunto</a></p>
<p class="akst_link"><a href="http://www.obiterdicta.net/?p=41&amp;akst_action=share-this"  title="E-mail this, post to del.icio.us, etc." id="akst_link_41" class="akst_share_link" rel="nofollow">Compártelo</a>
</p><div style="background-color: #ddddcc; margin-left: 80px; padding: 20px;"><p>Artículos relacionados:  </p><ol>
<li><a href='http://www.obiterdicta.net/2005/11/29/convirtiendo-txt-en-html-conociendo-expresiones-regulares/' rel='bookmark' title='Convirtiendo TXT en HTML. Conociendo expresiones regulares.'>Convirtiendo TXT en HTML. Conociendo expresiones regulares.</a> <small>El otro día llegaron a mis manos por medio de...</small></li>
<li><a href='http://www.obiterdicta.net/2008/02/24/plantilla-basica-html-css/' rel='bookmark' title='Plantilla básica HTML+CSS'>Plantilla básica HTML+CSS</a> <small>Cada vez que me da por jugar con el HTML...</small></li>
</ol></div>]]></content:encoded>
			<wfw:commentRss>http://www.obiterdicta.net/2005/06/26/html-y-vocales-acentuadas-mi-primer-script/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

