Paginación de Twitter Bootstrap en WordPress

El twitter Bootstrap entre sus componente que tiene trae incorporado un sistema de paginación con links activos, normales y deshabilitados.

Paginación de twitterBootstrap en WordPress

Resultado Paginación de twitterBootstrap en WordPress

http://twitter.github.com/bootstrap/components.html#pagination

Por otra parte el sistema WordPress suele agregar la paginación de los posts en el archivo loop.php de la plantilla en cuestión, desgraciadamente la función paginate_links nos genera un código html algo diferente a lo que requerimos para adaptarlo al bootstrap.

Salida en HTML necesaria

Salida en HTML necesaria

http://codex.wordpress.org/Function_Reference/paginate_links

Navegando por Internet encontré algunas implementaciones, p.e:

http://panosgalatis.com/2012/08/14/wordrpess-and-twitter-bootstrap-pagination/#.UHvXCqyqyio

Sin embargo incluyen modificaciones al CSS, cuando este renderizado se puede hacer solo con PHP como se muestra continuación:

loop.php

loop.php

Hice un gists en github con el código fuente para que se pueda descargar:

Agregando Tooltips de Twitter Bootstrap al calendario de WordPress

Ejemplo Calendario con tooltip de twitterBoostrap

Ejemplo Calendario con tooltip de twitterBoostrap

El Twitter Boostrap trae integrado en su sección de javascript un plugin de JQuery (el ToolTip) el cual resulta muy útil e interesante a la hora de mostrar información extra sobre algún elemento o enlace de nuestro sitio.

Por otra parte WordPress nos proporciona un calendario que nos muestra los posts por fecha, el código html del calendario que nos interesa es básicamente este:

 
<table id="wp-calendar">
..
<td>
<a href="url" title="descripcion detallada">num día</a>
</td>
...
</table>

Conociendo el código HTML al que queremos acceder podemos acceder a estos elementos y agregarle el tooltip, como se muestra a continuación:

/** Le agregamos el toolTip a los elementos que nos interesan **/
$('#wp-calendar').find('td a').tooltip();

Queda a reflexión del lector por que use $('#wp-calendar').find('td a') en lugar de $('#wp-calendar td a').

Rockola en Flujos.org

La rockola

rockola.flujos.org

Flujos.org es un laboratorio de radio y streaming por Internet, entre las cosas desarrolladas es la versión de flujos vivos el cual es una distribución basada en debian booteable el cual tiene todo lo necesario para empezar a trasmitir.

Desde hace algunos meses se empezo con el subproyecto la rockola el cual es un concentrado de las trasmisiones y a la vez un auditeka, para esto estamos haciendo uso de octopress(A blogging framework for hackers), jQuery corriendo sobre HTML5, el proyecto lo administramos con git.

Proyecto:

https://github.com/kyv/rockola

Ejemplo Manejo de eventos con Javascript & Mootools – Teclado

Vegeta movimiento con el evento del teclado
Vegeta movimiento con el evento del teclado

Hace un par de meses que di mi taller Mootools en la academia de software libre, uno de  los ejemplos que di fue el de manejo de eventos con el teclado, aqui programe un monito que se mueve y que dejo pendiente el código para en un futuro hacer algún game.

Codigo & ejemplo en linea: <http://vivoenhuajuapan.com/eventos-teclado-ejemplo/>

 

Tema para phpmyadmin.

Hace un tiempo hice una plantilla para el phpmyadmin ya que no me gusta el que viene por defecto, hoy la comparto:

phpmyadmin theme dark orange

phpmyadmin theme dark orange

¿Como instalar?

Descargue el proyecto descomprima la carpeta y adentro ejecute como superusuario:

 ./install.sh 

Para mayores informes visitar el micrositio oficial del proyecto:

http://fitorec.github.com/phpmyadmin_theme_dark_orange/

Mapa de México con SVG y Javascript empotrado en HTML

ejemplo_mexico_mapa_svg_javascript

ejemplo_mexico_mapa_svg_javascript

Para hacer un mapa dinamico en un sitio web las opciones son las siguientes:

(Descartando flex,  apples y  silverlight ya q no son crossbrowsers ) de estas opciones la que mas me gusta son las canvas, sin embargo en esta ocasión  tras leer un articulo de opera y la comparativa de estas tecnologías decidir  ocupar SVG, sin mas dejo la liga en donde puedes descargar el ejemplo y su respectivo código fuente:

Este post ha sido actualizado y movido a la siguiente dirección:

http://fitorec.github.com/manual_mapas_svg_raphael/

fCalendar

fCalendar vista de pruebas

fCalendar Ejemplos: izquierda simple controles externos, Derecha eventos y configuración personalizada.

Desde hace un tiempo estoy desarrollando una aplicación, para organizar procesos de un desarrollo web en un equipo multi-disciplinario, como es de esperarse la calendarización de actividades y la comunicación entre el equipo de trabajo es sumamente vital.

Por otra parte en algunas ocasiones trabajo con Mootools y en otras con Jquery dependiendo del proyecto(si es solución empotrada, del framework, cms blog a utilizar, etc), y en ocasiones e tenido uno que otro conflicto por la incompatibilidad de FrameWorks en Javascript he incluso entre versiones del mismo.

Y fue asi como empecé desarrollar el fCalendar un calendario básico en javascript y CSS.  ¡¡Vale!! ya se que existen otros, sin embargo creo que el fCalendar tiene características muy útiles:

Principales características

  • Ligero
    • No usa ni descarga imagenes encambio implementa técnicas de CSS3, webkit y moz
    • Tiene una implementación de control de eventos que no sobre carga el DOM
    • La libreria principal fcalendar.js sólo pesa 7.5kb
  • Multi idiomas
    • Versión en español fcal-lang-es.js
    • Versión en ingles fcal-lang-en.js
    • Futuras versiones: Frances, Portuges, Aleman.
    • Futuras variantes lingüísticas (ar-es, mx-es, uk-en, us-en).
  • Compatibilidad
    • Emplea unicamente javascript apegado la mayor parte al ECMAScript ISO 16262
    • No redefine ningun prototypo de DOM
    • Compatible con cualquier frameWork
    • CrossBrowser (probado con firefox, opera, chromium, safari)
  • Eventos y Controles
    • Su manejador de eventos nos permite incorporarlos al vuelo
    • El usuario tiene control pleno sobre Estos eventos
    • Al poder usarse con frameWorks lo podemos combinar, facilmente
  • Multiplantillas incorporadas
    • dark(Actualmente la unica, L0L)
    • blue
    • orange
    • white

Por el momento no se donde hospedar el proyecto, si embargo usted puede acceder al proyecto desde: http://vivoenhuajuapan.com/calendario/

MooRainBow un pickcolor para Mootools

El MooRainBow es un excelente pickColor el cual viene integrado en herramientas como el phpMyAdmin(http://www.phpmyadmin.net), hace poco empecé a desarrollar en mis tiempos libres una plantilla para dicho sistema y fue asi como conocí este complemento de mooTools, hoy que quería agregar este complemento a un sistema que estoy desarrollando me encontre con los siguientes conflictos:

la versión de mootools que estoy ocupando en el proyecto es la 1.3.

La versión 1.2b1 de MooRainBow (la que viene en phpMyAdmin) no es compatible con mooTools 1.3.

Por otra parte la versión 1.2b2, la más reciente de de MooRainBow elimina el campo MooRainbow::options.selectText (ver linea 23 de la versión 1.2b1), imposibilita la capacidad de configurar el mensaje del “botón de seleccionar color” lo cual hace que aparezca siempre como: lo cual puede llegar a ser incomodo para sitios en donde los usuarios no estan tan familiarizados con la lengua inglesa.

Creo que la mejor solución es agarrar la versión mas reciente(1.2b2) y agregarle el campo MooRainbow::options.selectText, esto es:

1- Agregar selectText

Hay que agregar la propiedad selectText en MooRainbow::options

options: {
id: 'mooRainbow',
/* los demas parámetros */
onChange: $empty, //a este ultimo le agregamos una coma
selectText: 'Select' //agregamos selectText con el valor por defecto 'Select'
},

2.- Agregando el texto al boton.

El boton de aceptar internamente en el código es cread por una función “privada” llamada ok la cual devuelve un boton con el texto incrustado como ‘value’: ‘Select’ (linea 508 aprox).

'value': this.options.selectText,

usandolo

Guardo estas modificaciones como mooRainbow.1.2b3.js y teniendo la siguiente estructura de archivos:

.
|-- css
|   |-- mooRainbow.css
|   `-- mooRainbowMini.css
|-- img
|   |-- blank.gif
|   |-- color_swatch.png
|   |-- color_wheel.png
|   |-- moor_arrows.gif
|   |-- moor_boverlay.png
|   |-- moor_cursor.gif
|   |-- moor_slider.png
|   `-- moor_woverlay.png
|-- index.html
|-- mooRainbow.1.2b3.js
`-- mootools-more-1.3.1.1.js

Agregando las librerías y hojas de estilo:

Del more de mootools se agrega el objeto Color y el Drag.

<script src="https://ajax.googleapis.com/ajax/libs/mootools/1.3.1/mootools.js"></script>

<script src="mootools-more-1.3.1.1.js"></script>

<script language="Javascript"  type="text/javascript" src="mooRainbow.1.2b3.js"></script>
<link rel="stylesheet" type="text/css" href="css/mooRainbow.css" />
<link rel="stylesheet" type="text/css" href="css/mooRainbowMini.css" />

Creando los objetos los objetos Rainbow:

En el domready creamos los objetos Rainbow configurando sus parametros como el mensaje selectText y sus funciones a controlar sus eventos.

var r = new MooRainbow('bg_color_rainbow', {
'startColor': [00, 166, 188],
'imgPath': 'img/',
'selectText' : 'Seleccionar color',
'onChange': function(color) {
$('bg_demo').setStyle('background', ( $('mi_input').value = color.hex ));
},
}); 

var m = new MooRainbow('color2', {
//'imgPath': 'js/mooRainbow/img/',
//'imgPath': 'images',
id: 'mooRainBowMini',
'onChange': function(c) {
$('color2').setStyle('background', c.hex);
$('mi_input2').setStyle('background', c.hex);
document.body.getElement('h1').setStyle('color', c.hex);
}
});

Generamos el siguiente código html implicado(para este ejemplo) en los eventos

<h1 style='font-size: 25px;'>Selector de color con MooRainBow</h1>

<form>
<img id="bg_color_rainbow" src="img/color_wheel.png" alt="[r]" width="16" height="16" />
<input id='mi_input' value='#00A6BC'>
<br>
<img id="color2" src="img/color_swatch.png" alt="[r]" width="16" height="16" />

<input id='mi_input2' size='3'>

</form>

Resultado

MooRainBow

MooRainBow 1.2.b3 funcionando con Mootools 1.3.1

Descargar Código: mooRainbow.1.2b3.js.tar.gz

Instalación de libreoffice en Debian y Ubuntu 10.10, con integración de escritorio y paquetes al español

Hace un tiempo publique 2 posts sobre como instalar openOffice en linux [1][2], hoy en cambio quisiera mostrar como instalar LibreOffice,pues creo que hay un poco de desinformación en Internet lo comento por que hace par de días busque información para realizar tal tarea, desgraciadamente los post con los que me encontré no me ayudaron de mucho ya que recomendaban descargar el paquete para fedora y convertirlo en un paquete para debian atravez del alien.

La forma como se va a mostrar es la siguiente, descargar el repositorio para debian más reciente, instalar el libreOffice, instalar integración en el escritorio y  descargar/instalar los paquetes del idioma en español. Finalmente  el resultado es el siguiente.

libreOffice_español

libreOffice en español

Lo primero que tenemos que hacer es descargar la versión mas reciente de libreOffice para esto nos dirigimos a la siguiente dirección.

http://download.documentfoundation.org/libreoffice/testing/

De ahi navegamos entre la versión mas reciente(en momento de escribir el post era la version 3.3.0-rc2 liberada el 20/dic/2010) de ahí seleccionamos la carpeta con el nombre deb.

Sin mas para la arquitectura de 32bits, dejo  las  instrucciones(caso análogo para 64bits):

Puedes descargar el siguiente codigo fuente en: https://gist.github.com/738789

#!/bin/bash

if [ `id -g` -ne 0 ]
then
  echo "Se requiere de permisos de usuario administraviso para ejecutar  ./$0"
  exit 1
fi

#nos pasamos en la carpeta temporal del sistema.
cd /tmp/

#descargamos el paquete de instalación de libreOffice
wget  http://download.documentfoundation.org/libreoffice/testing/3.3.0-rc2/deb/x86/LibO_3.3.0rc2_Linux_x86_install-deb_en-US.tar.gz

#descomprimimos el paquete
tar zxf LibO_3.3.0rc2_Linux_x86_install-deb_en-US.tar.gz 

#instalamos los paquetes DEBS
dpkg -i LibO_3.3.0rc2_Linux_x86_install-deb_en-US/DEBS/*deb
dpkg -i LibO_3.3.0rc2_Linux_x86_install-deb_en-US/DEBS/desktop-integration/*deb

#eliminamos el directorio.
rm -r LibO_3.3.0rc2_Linux_x86_install-deb_en-US/

#Paquetes de idioma español
#-------------------------------------------------

#descargamos el paquete de la lengua en español
wget http://download.documentfoundation.org/libreoffice/testing/3.3.0-rc2/deb/x86/LibO_3.3.0rc2_Linux_x86_langpack-deb_es.tar.gz

#descomprimimos el paquete
tar zxf LibO_3.3.0rc2_Linux_x86_langpack-deb_es.tar.gz

#instalamos los paquetes DEBS
dpkg -i LibO_3.3.0rc2_Linux_x86_langpack-deb_es/DEBS/*deb

#eliminamos el directorio.
rm -r LibO_3.3.0rc2_Linux_x86_langpack-deb_es

Finalmente por ultimo si deseas eliminar por completo el openOffice(yo ya lo hice) lo único que tienes que hacer es:

sudo apt-get remove --purge openoffice*.*

Por el momento no dispongo de mucho tiempo pero espero elaborar un script que te permita instalar libreOffice tanto en debian/ubuntu como en redhat/fedora para múltiples arquitecturas.