Jueves 19 de Octubre

El objetivo hoy es documentar lo que he hecho para poder editar esto en Hugo desde el teléfono Android.

Primero es encontrar un cliente git para android que funcione con un repositorio que no sea el de la aplicación, y que deje los archivos donde otras aplicaciones del telefono las puedan accesar. Ya estoy pensando en algún momento del futuro usar una tableta o algo así. Por ahora es mas de “ser que se puede?”

Un articulo alerta sobre estos peligros con los clientes mas comunes, y los primeros que encontré en una busqueda Google, y propone otra solucion que comienza como un emulador de terminal, en el cual se pueden instalar los programas git y openssh para lograr el objetivo desdeado. No tendremos interface gráfica pero probemos a ver como nos va.

Termux incluye paquetes Linux lo que es la causa de su flexibilidad. Copiando de su página:

”’ • Enjoy the bash and zsh shells. • Edit files with nano and vim. • Access servers over ssh. • Develop in C with clang, make and gdb. • Use the python console as a pocket calculator. • Check out projects with git and subversion. • Run text-based games with frotz. “’

Para facilitarme la vida conecto el teclado Bluetooth y lo uso para los pasos siguientes.

Primero actualizar las aplicaciones internas con apt update && apt upgrade luego instalar git y openssh apt install git openssh, esto genera claves publico privadas para rsa, dsa, ecdsa, ed2551g y las deja en /data/data/com.temux/files/var/etc/ssh

Para que los otros programas en el dispositivo puedan acceder datos comunes, se ejecutar termus-setup-storage que crea un enlace desde $HOME al almacenamiento externo donde hay varios directorios, específicamente storage/shared

Para utilizar claves ssh se deben copiar las claves al dirctorio .ssh, sin dejar copias o exponerlas por el camino. No lo he hecho todavía.

Pruebo la conexión con ssh usuario@hosting y me puedo conectar correctamente, ver los archivos, everything. Ahora a configurar una copia local del repositorio git en el hosting de donde se hace la generacion del sitio.

Deberia ser un git clone hhbuitrago_buitragorios@ssh.phx.nearlyfreespeech.net pero luego de pedir la contraseña, falla con permiso denegado. Voy a verificar como es que fue la cosa por aca.

Me falto un pedazo del comando : git clone hhbuitrago_buitragorios@ssh.phx.nearlyfreespeech.net:~/site.git.bare con este comando clona el repositorio en un subdirectorio site.gir.bare del directorio actual. Probando envio los cambios que estoy haciendo en el portatil, guardando los archivos y ejecutando los comandos

”’ git add . git commit -m “…” git push deploy master “’

Este último comando solicita la contraseña de conexión, y sube los cambios al repositorio, hecho esto se dispara el hook post-receive que procesa los archivos para generar el sitio de nuevo.

Ya puedo ver los cambios en el sitio web. Ahora a probar actualizar la copia del telefono.

En el cliente no se como saber si hay cambios. Pero un git pull se encarga de conectarse y descargar los archivos, dejando todo modificado al dia.