Archivos en la categoría ‘desarrollo web’

dos buenos plugins para ver código en wordpress

Viernes, Abril 11th, 2008

hace unos días @sinklation preguntaba cual sería el mejor plugin para mostrar código en wordpress, ya que ambos somos desarrolladores y tenemos ganas de mostrarle al mundo las cosas que desarrollamos. Es en estos casos cuando nuestro amigo bligoo no nos acompaña lamentablemente, ya que su editor de textos es realmente malo (no me odien, mi blog corporativo está sobre bligoo).

Hasta ahora el mejor plugin de código que he encontrado es el que nos regala flashtexteditor.com. es realmente bueno, si bien, tampoco valida su código con respecto a la w3c, debido a su forma de inclusión, me imagino que nuestro amigo @sinklation podrá modificar el php de inclusión del visualizador de código y agregarle la opción de funcionar vía SWFObject, el estándar de facto para la inclusión de flash válido para la w3c.

Yo mientras no esté funcionando el visualizador mediante swfobject, me quedo con el plugin para ver código de google, el cual está bien también, de hecho es el que tengo instalado en estos momentos en este sitio.

los distintos tipos de reset para CSS

Domingo, Abril 6th, 2008

Resetear nuestro CSS es una muy buena práctica debido a que todos los browsers poseen atributos CSS predeterminados, los cuales NO SON iguales en todos los browsers (adivinen cual es el browser que nos dará más dolores de cabeza por este motivo)

Es por ello que es importantísimo al iniciar un proyecto web tener a mano un reseteador de css.

Existen variados sabores, unos más toscos que otros, a continuación describiré las tecnicas más comunes y las mejores prácticas:

la peor forma de resetear el CSS:

* {
    padding:0;
    margin:0;
}

¿porqué es la peor?

Porque es el reset más limitado. Al utilizar el asterisco (o selector universal), estamos eliminando de todos los tags del html el padding y el margin, esto destroza una gran cantidad de información que es necesaria para el correcto funcionamiento del html, los tags más afectados son las listas y títulos. Para volver a la normalidad, tenemos que redefinir cada uno de los tags de html. Si bien esto iguala los browsers IE, Firefox, Safari y otros, resetear el CSS de esta manera es demasiado limitado. Necesitamos un reset más avanzado.

El reset según Yahoo!

El sistema de reseteo de Yahoo! se trata en una normalización de código un tanto agresiva o como llamé en la presentación del barcamp “un reset devastador”. Los siguientes objetivos son logrados utilizando este código

  1. Margin y padding a cero
  2. Elimina estilo visual de las lista (ol, ul, dl)
  3. Todas las fuentes son seteadas al 100% de base
  4. Font-weight y Font-Style son normalizados
  5. Mejor (aunque todavía incompleta) herencia en las fuentes de los formularios
  6. La reducción de la altura de la línea de interrupción y sub sup.

El problema principal es que elimina la diferenciación entre tags, solo los deja iguales, pero no puedes diferenciar un h1 de un h5 o inclusive de un li

/*
Copyright (c) 2008, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 2.5.1
*/
html{color:#000;background:#FFF;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,
form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym {border:0;font-variant:normal;}
/* to preserve line-height and selector appearance */
sup {vertical-align:text-top;}
sub {vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
/*to enable resizing for IE*/
input,textarea,select{*font-size:100%;}
/*because legend doesn't inherit in IE */
legend{color:#000;}

La versión de Eric Meyer (actualizado al 15 de enero 2008)

Hasta ahora es uno de los resets de CSS más elegantes que conozco, Eric Meyer y su reset, no eliminan todo el formato, sino que modifica lo necesario para igualar los browsers y se preocupa de normalizar a una gran cantidad de tags y citándolo de alguna forma, “si no lo normalizo, es porque no debería aparecer en el markup”:

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

Concluyendo

¿Cual es mi recomendación? Utilicen el CSS de Meyer, es una gran opción. Si bien hay otras no nombradas acá, como la de tripoli por ejemplo (donde la filosofía es agregar todos los tags y resetearlos, incluso los que están desechados), como experiencia propia, puedo dar fe que la alternativa de meyer funciona realmente bien y acaba con todos los problemas del box model de IE

una primera mirada a los framework CSS

Viernes, Abril 4th, 2008

frameworks css en barcamp santiago


Estimados, en estos momentos estoy armando este template para wordpress desde cero, así que me demoraré un poco en tenerlo listo, pero la gracia principal es que está basado en mi framework css, el cual será liberado durante las próximas semanas para creación ágil de templates para cualquier CMS.

Por mientras y a pedido de @michelson y @runsaber subiré en este post la presentación sobre frameworks css que compartí con los asistentes al barcamp santiago

Está basado inicialmente en BlueprintCSS, un gran pilar de desarrollo. Mi gran aporte es el archivo html que soportará las páginas, clases semánticas para secciones comunes (header, main, sidebar, footer, etc) y algunos plugins. Si se dan cuenta, blueprint, no provee de estas cosas por defecto, pero es un muy poderoso conjunto de clases de CSS.

Agregaré información en los siguientes días. A continuación dejo la presentación de los frameworks CSS. (slideshare lleva 5 horas y aún no termina…)