… a que (nuevamente) hay que prestar atención al orden

Incorporando el plugin jQuery Lightbox2 para uno de los sitios webs, en reemplazo del Fancybox (gracias por los años de servicio) y perdiendo unos 30 minutos en intentar hacer que funcionara, cuando reviso el código de ejemplo ¡el script está cargado al final del HTML!

El cambio se debió a que el Fancybox está muy desfasado respecto a las versiones actuales.

… a comprobar un checkbox con jQuery

Le estaba dando vueltas a formulario de configuración de Preferencias para TF con los días de la semana usando checkbox y no lograba obtener el estado (checked).

Me pasaron una forma de hacerlo con jQuery

HTML

<html>
<input class="propiedad" type="checkbox" value="loQueSea"> Este es un checkbox.
</html>

JS

var check = $(".propiedad").is(":chequed");
console.log (check); // >> true || false

¡Gracias Marcelo!

… a implementar los metadatos en GIT

Hace tiempo que quiero guardar la fecha de los archivos cuando se hacen los commits en GIT y que al hacer el checkout vuelva a restaurarlos.

Había encontrado un par de soluciones, entre ellas:

Pregunta en stackoverflow.com acerca de la misma inquietud, en donde se exponen algunas propuestas, hacer un script ad Hoc, Metastore (que ya está como caido) y git-cache-meta que parece funcionar
git-cache-meta

Que tiene varias contribuciones, entre ellas una de danny0838 con una adaptación para msysgit

Y para utilizarlo de manera automática encontré en la misma pregunta una forma de utilizarlo, el mismo danny0838 hizo una versión más ligera pero que utilizar Perl y depende de commandos *nix.

https://github.com/danny0838/git-store-meta

Lo que logré fue adaptar los hooks en pre-commit y post-checkout para que lanze el comando.

Falta mejorarlo para que cuando se clona el proyecto por primera vez, instale los hooks de manera automática y hace el –apply de los metadatos.

copiar_hooks_client_side.sh

#!/bin/sh

# Copia los hooks de un repositorio de hooks a la carpeta del proyecto GIT desde donde se llama.

echo "Copiando HOOKS de GIT-CACHE-META-MSYSGIT al proyecto $PWD"
cp /ruta-al-repo-de-hooks/git-cache-meta-msysgit.sh $PWD/.git/hooks/git-cache-meta-msysgit.sh
cp /ruta-al-repo-de-hooks/post-checkout $PWD/.git/hooks/post-checkout
cp /ruta-al-repo-de-hooks/pre-commit $PWD/.git/hooks/pre-commit

pre-commit

#!/bin/sh
# when running the hook, cwd is the top level of working tree

# store
echo "Almacenar metadatos de archivos en el repo ..."
sh $(dirname "$0")/git-cache-meta-msysgit.sh --store || exit 1

# remember to add the updated cache file
git add .git_cache_meta

post-checkout

#!/bin/sh
# when running the hook, cwd is the top level of working tree

sha_old=$1
sha_new=$2
change_br=$3

# apply metadata only when the HEAD is changed
if [ ${sha_new} != ${sha_old} ]; then
 echo "Recuperar metadatos de archivos ..."
 sh $(dirname "$0")/git-cache-meta-msysgit.sh --apply
fi

Nota: para saber sobre los directorios en script bash (

$PWD

http://unix.stackexchange.com/questions/188182/how-to-get-current-working-directory

 

… a hacer un script bash para armar proyectos

aunque de manera muy rudimentaria, automatiza el proceso de:

  • crear la carpeta
  • inicializar el repo git
  • crear el repo remoto y enlazarlo
  • copiar una estructura de carpetas y archivos básicos
  • hacer el primer commit y empujarlo al remoto

El script necesita como parámetro (por ahora) la carpeta donde alojar el proyecto.

Gracias a http://www.ibm.com/developerworks/library/l-bash-parameters/index.html