txapelgorri - Software Libre
El blog de txapelgorri


Logo sinanimodelucro

Este weblog va sobre...

txapelgorri - Software Libre, es un weblog que trata de mi experiencia con Debian GNU/Linux, Ubuntu GNU/Linux, el Software Libre (sí, con mayúsculas) y la cara social del movimiento GNU en general, o al menos lo que representa para mi. Vas a poder encontrar material, reflexiones, ideas y un montón de buenas intenciones.

Contacto

Este blog forma parte de un sitio web mas amplio. La página inicial esta:http://sinanimodelucro.net
En este correo electrónico puedes localizarme para hacerme llegar aquello que consideres digno de interés.


Historias del weblog

Suscríbete

Suscripción a este weblog, gracias a las maravillas de RSS.


Sabores

Existe mas de una manera de ver este weblog; pruébalos.


Enlaces

Estos son algunos de los enlaces que mas me gustan:


Logo Blosxom

29 Oct 2007

Como listar SOLO directorios en Linux.


Recientemente he necesitado listar directorios para un programa en Perl con una llamada a la shell. Curiosamente no existe una forma sencilla o lógica de hacerlo, ya que la opción "-d" no lo hace por las buenas :)

Tras un par de segundos buscando por Google, he localizado un par de soluciones que interesan:
La mas elegante: ls -p */
La mas seria: ls -l | egrep '^d'

De cosecha propia y como extensión a la primera opción, si se quiere listar directorios que no sean del actual: ls -d /tmp/*/ para listar por ejemplo los de tmp.


[] enlace permanente

24 Oct 2007

API de GoogleMaps y XHMTL 1.1


Sigo con la jugada de ayer de intentar usar XHMTL 1.1 a cualquier precio ;)
Si quereis usar XHTML 1.1 con el API de GoogleMaps parece que aun no se puede:
Hilo 1 Hilo 2

Salud.


[] enlace permanente

23 Oct 2007

application/xhtml+xml e Internet Explorer de Microsoft (y Mozilla Firefox, ¡por supuesto!)


La enésima de Internet Explorer. No se que versión es, porque no uso ese navegador, pero con Wine e ies4linux también se ve el fallo. Me explico:

Resulta que estoy desarrollando un pequeño proyecto en XHTML, CSS y Perl con plantillas. Todo el enfoque a la hora de validar el lenguaje de marcado lo estoy haciendo con XHTML 1.1 y para ello las páginas web deben tener un "content-type" tipo "application/xhtml+xml".

Vale, le enchufo el churro al content-type. Firefox, no-problemo. Konqueror, no-problemo. Internet Explorer, aaaaaamigo. Me avisan en 5 minutos de que hay gente que está usando Explorer y que cuando visita la web le muestra una ventana de esas para descargar. En mi cabeza empiezan a dar vueltas las palabras "madre", "parir", "Microsoft", y algunas otras no visibles (las he ocultado via CSS). ;)

Solución 1: cambiar el content-type por un text/html de toda la vida y validar XTHML estricto 1.0.
Solución 2: que la gente que usa Explorer de forma habitual use un navegador decente ;)
Salud.


[] enlace permanente

22 Oct 2007

Cómo crear transparencias opacas con CSS (y añadirles efectos con Javascript)


Recientemente he tenido que hacer un pequeño proyecto con XHTML y CSS (y algo de Javascript), en el que me he topado de bruces con varios problemas, uno de los cuales era este: "Un menú horizontal de tres fotos en miniatura que estén oscurecidas por defecto y que al pasar sobre ellas se aclaren".

Evidentemente Flash no voy a utilizar para esto, por tratarse de una tecnología privativa y no accesible. Como muchos sabréis existen una serie de propiedades en CSS para cambiar la opacidad de una imagen, básicamente para los navegadores mas utilizados. Con "-moz-opacity:0.7", siendo 0.7 un número decimal entre 0 y 1 en notación anglosajona para navegadores Mozilla y derivados, y/o "filter:alpha(opacity=40)", siendo 40 un número entero entre 0 y 100, para IE de Microsoft, creamos una trasparencia "aclarando" la capa que estemos editando, pero ¿cómo oscurecemos una capa?.

Burdos intentos al estilo "-moz-opacity:1.5" no sirven de nada, y no dejan de ser eso, "burdos".
Tras darle un par de vueltas se me ocurre lo siguiente:
Para el XHTML
div class='contenedor'
p class='color' /p
/div

Para el CSS
div.contenedor {background: url('imgs/prueba.png') no-repeat;} p.color {margin:0; background-color:\#000; -moz-opacity:0.3; height:50px; width: 30px;} Este trozo de código genera un DIV con una imagen como fondo de la capa y un párrafo en su interior con la altura y anchura de la imagen de fondo del DIV, con una capa negra pero con opacidad 0.3. ¡Objetivo conseguido! Para hacer un menú horizontal, basta con añadir "float" a las capas "contenedor" y luego recolocar todo eso.

¿Qué pasa si queremos hacer que al pasar con el ratón por encima de la imagen esta se aclare?. Pues con un poquito de Javascript podemos hacerlo sin ningún problema, con los eventos "onmouseover" y "onmouseout" y cambiando la propiedad "-moz-opacity" desde una nueva clase en CSS. Pero eso se lo dejo al lector como prueba.
Salud.


[] enlace permanente