XRefresh linux server
Como comente en la otra entrada, un servidor para XRefresh.
XRefresh es una extension de firebug/firefox que, junto con un servidor corriendo en el sistema operativo, detecta cuando los archivos de un directorio son cambiados y actualiza la pagina. Tiene varias opciones bastante “utiles”: logear los archivos que han cambiado en una pestaña de firebug, la posibilidad de hacer un “soft refresh” del css o js, es decir, si solo has cambiado un archivos css actualiza solamente el css sin necesidad de recargar la pagina entera (mas rápido, y útil para paginas dinámicas que pueden fallar si actualizas) y la posibilidad de utilizar varios proyectos, aunque no lo he implementado en el servidor.
El servidor puede estar ejecutándose en otra maquina en la red local o en Internet (cambiar dirección en about:config), y soporta a varios clientes a la vez, así que es genial para trabajos colaborativos (se actualizaría en todos los pc cuando tu o otra persona cambia algo)
El servidor es un solo script en python que escuchara modificaciones en los archivos de uno o varios directorios que especifiques, pudiendo elegir una expresión regular para excluir archivos y una para seleccionar los archivos que quieres incluir.
Modo de uso: xrefresh-server [options] dirname [dirname ...] Opciones: -e [regexp] - Excluir rutas que encajan con regexp. Valor predeterminado: '^(\.svn|\.hg|.*~|.*\.(zip|rar|jar|gz|gz2|bak|tmp|pyc|pyo|log))$' -i [regexp] - incluir solo rutas que encajan con regexp -p [puerto] - Puerto a escuchar (default 41258) - se puede cambiar el puerto del cliente en about:config -h - Muestra la ayuda (esto) Ej: Escuchar cambios en /var/www en archivos que acaban en .css cuya ruta completa no contiene "cache" $xrefresh-server -e 'cache' -i '\.css$' /var/www Notas: Ten cuidado con bucles infinitos. Cuando el navegador actualiza la pagina, muchos archivos pueden ser modificados en el servidor: logs, cache, bases de datos sqlite, etc... Esos cambios pueden generar un bucle infinito, usa la opción -e para excluir estos archivos o la opción -i para incluir solo algunos archivos
La licencia es GPL v3. Puedes descargarlo aquí.
Para escuchar eventos en el sistema de archivos, utiliza pyinotify, asi que tiene que estar instalado. En ubuntu/debian y derivados:
sudo apt-get install python-pyinotify
Dale permisos de ejecución si no tiene. Probablemente quieras moverlo o crear un enlace simbolico a un sitio dentro del PATH:
cd /usr/bin sudo ln -s /ruta/a/xrefresh-server xrefresh-server
Si lo usas mucho puede que quieras iniciarlo al inicio. Usa un script de init.d o el gestor de aplicaciones al inicio de tu gestor de ventanas si tiene.
Si quieres puedes modificarlo y añadir alguna cosa mas como soporte para proyectos, interfaz gráfica…
Nota: No confundir con el comando de X xrefresh
Edit: el proyecto esta en github por sugerencia del autor de la extensión: http://github.com/YouWoTMA/xrefresh-server
Sigueme en Twitter!