Hack CSS para Safari 3.0 y Opera 9

css

No debe ser muy habitual que se de el caso de que tengamos que utilizar ‘hacks‘ para Safari o Opera, pero a veces, se puede dar el caso.

Si es así, hay una forma muy sencilla de incluir código css especifico para estos navegadores:

@media screen and (-webkit-min-device-pixel-ratio:0) {
    /* Reglas de Safari 3.0 y Opera 9 */
}

Ale. Happy Hacking!

10 cosas sobre el desarrollo de plugins en wordpress

Wordpress

Todo aquel que quiera empezar a desarrollar un plugin para wordpress, debería leer este artículo de ‘smashing magazine’: Ten Things Every WordPress Plugin Developer Should Know.

A grandes rasgos, las 10 cosas que nos enseña son:

  1. Habilitar la depuración.
  2. Prefijar nuestras funciones.
  3. Crear tus propios ‘paths’ globales.
  4. Guardar la versión del plugin para futuras actualizaciones.
  5. Usar “dbDelta()” para crear o actualizar tablas.
  6. Conocer la diferencia entre include, include_once, require, y require_once.
  7. Usar bloginfo(‘wpurl’) envés de bloginfo(‘url’).
  8. Saber cómo y cuándo usar acciones y filtros.
  9. Añadir tu propia página de configuración o menú de administración.
  10. Crear un acceso directo a la página de configuración mediante ‘plugin_action_links’.

Teniendo en cuenta estos 10 mandamientos de la creación de plugins para wordpress, nos quedara un plugin impecable.

Depurar código en Joomla con FirePHP

programacion

Hay muchas formas de depurar código en PHP. Lo más habitual y rápido es usar ‘echo’ y ‘var_dump’ a cascoporro y listo. Pero si queremos algo un poco más profesional, firePHP es una excelente opción.

FirePHP es una extensión de la ya conocida extensión FireBug de FireFox.

Con esta herramienta, e incluyendo una pequeña librería en nuestro proyecto, podemos simplemente poner “fb($variable);” y en la consola de nuestro firebug nos aparecerá como un var_dump mejorado de la estructura y contenido de esa variable.

Así no ensuciamos la salida estándar de nuestro proyecto. xD

firephp en un item de K2

Si usamos Joomla, incluir la librería es mucho más fácil gracias a la extensión “J FirePHP”.

Solo tenemos que instalar y habilitar el plugin y listo. Ya podemos usar la función ‘fb’ en cualquier parte del código.

Además, el plugin permite también hacer un control de excepciones mediante firePHP y algunas otras opciones avanzadas en las que no vamos a entrar.

Tenéis toda la información en los enlaces.

NOTAS:

* 16/08/2011: A veces FirePHP no funciona con algunas versiones de firefox (como la 6) en combinación con algunas versiones de firebug. Es mas, tener instaladas algunas versiones de firebug y firephp en firefox 6 hace que firebug “desaparezca” y también otros complementos (como xmarks). Para solucionarlo reinstale la version 5 de firefox y las versiones de firebug 1.8.1 y de firephp 0.6.1.

* 16/08/2011: Si instalas el plugin y ves que no te muestra nada en consola comprueba que la opción del plugin Limit functionality to Joomla debug mode esta deshabilitada o bien habilita la depuración de joomla desde la configuración global.

Selectores en CSS2 y CSS3 – pseudo-classes

css

Hoy dejo un pequeño repaso de los selectores, pseudo-class y pseudo-elements para CSS2 y CSS3. Lo hago porque ultimamente he utilizado los clasicos :last-child y :first-child, pero buscando he encontrado otros también muy interesantes, sobre todo el :after y el :before.

CSS2:

* Selector niversal, son todos los elementos del CSS
E E representa cualquier elemento del tipo E (span, p, …)
E F Todos los elementos F que sean descendentes de E
E > F Todos los elementos F que sean hijos de E
E:first-child De esta forma podemos seleccionar el primer elemento de tipo E
E:last-child De esta forma podemos seleccionar el ultimo elemento de tipo E
E:link , E:visited Selecciona los elementos E que sean un enlaces y no hayan sido visitados (:link) y los si visitandos (:visited)
E:active , E:hover , E:focus Selecciona los elementos de tipo E , en sus correspondientes acciones.
E:lang(c) Cogemos los elementos del tipo E que estén en el idioma (humano) especificado en (c).
E + F Se trata de cualquier elemento F inmediatamente despues del elemento del tipo E
E[foo] Elementos del tipo E con el atributo foo
E[foo=”ejemplo”] Elementos del tipo E con el atributo foo igual a “ejemplo”
E[foo~=”ejemplo”] Elementos del tipo E con el atributo foo contenga “ejemplo”. Se pueden añadir varias palabras separadas por espacios. ( ~ =ALT + 0126)
E[lang|=”es”] Similar al anterior, pero se referirá a todos los elemento E tal que su atributo lang comienze por “es”. Por ejemplo: “es_ES”, “es_CA”,…
E[foo$=”ejemplo”] Elementos del tipo E en el que el atributo foo termine con “ejemplo”.
DIV.ejemplo Todos los elementos DIV que sean de la clase ejemplo
E#miID El elemento E en el que su ID sea igual miID
:first-line Se refiere a la primera línea del elemento, normalmente usado para para elemetos de texto.
:first-letter La primera letra del elemento, tambien suele usarse para elementos de texto.
:before Elemento usado para insertar algún contenido delante de un elemento.
:after Elemento usado para insertar algún contenido al final del elemento.

CSS3:

:nth-child(N) Se utiliza para tablas normalmente. N puede ser 5, 2n+1, 3n+3 …

ul li:nth-child(5) {
color: #ccc;
}
ul li:nth-child(5) {
color: #ccc;
}
tr:nth-child(2n+2) {background: #eee}

Conforme vaya encontrado más (que los hay), iré publicando más post.

Guía de buenas prácticas en el desarrollo Front End

programacion

Aquí os dejamos un gran recopilatorio sobre ciertos aspectos que tenemos que tener en cuenta cuando estamos desarrollando un proyecto.

Desde la definición del DOCTYPE, el uso de microformatos, o los ‘alt’ en las imágenes, hasta el código en javascript, jquery, css, e incluso alguna anotación sobre HTML5.

Front end development guidelines (en inglés)

Vale la pena darle un vistazo.

xD

Poner el botón de Google +1 en tu web

Seo

Ayer se lanzaba el botón “Follow” de twitter y hoy le toca el turno al “+1” de Google.

Pues nada. Ya lo tenemos integrado también.

Integrarlo es tan fácil como añadir un script en tu header, y poner una simple etiqueta donde tu quieras que aparezca el botón.

Aquí tenéis la info: http://www.google.com/webmasters/+1/button/index.html

Así que nada… si os ha gustado, darle un +1!!!