Calendario estilo Git con fechas personalizadas
calendario estilo git creado a partir de una lista de fechas guardadas como archivo csv

Daniel Gustaw
• 2 min read

Supongamos que tienes un conjunto de fechas. Quieres mostrar estas fechas de una manera clara y legible.
Por ejemplo, asÃ:
Asà que tengo una gran información. Es una lÃnea de código, tal vez dos…
En este artÃculo mostraré cómo generar una imagen como estas.
¿Qué necesitas?
- jq - gran herramienta para el procesamiento de json / texto
- node - intérprete de js
- awk - procesador de texto para seleccionar datos
Instalación
npm i -g cli-gh-cal
Preparar un archivo con fechas
Queremos preparar un archivo con fechas como estas.
2019-08-13
2018-05-19
2018-06-22
2019-04-16
PermÃtanos suponer que necesita mostrar las fechas de creación de archivos en su carpeta de fotos. Puede hacerlo utilizando el comando
ls -l --time-style=long-iso . | awk '{print $6}' | sort > /tmp/dates.csv
La opción --time-style
permite mostrar las fechas en un formato fácil de procesar. A continuación, awk
selecciona la columna con las fechas y las fechas ordenadas se guardan en un archivo temporal /tmp/dates.csv
.
Mostrando un calendario estilo git
Ahora, si deseas mostrar estas fechas, necesitas escribir
cli-gh-cal --data "$(jq -R '[inputs | [.,1] ]' < /tmp/dates.csv)"
En este caso, ponemos a trabajar jq
- un potente generador de plantillas para archivos json. Permite reemplazar la lista de fechas por una cadena json requerida por cli-gh-cal
. Después de ejecutar este comando, deberÃas ver una imagen similar a la presentada al principio.
Paquetes requeridos
Para trabajar aquÃ, es necesario tener instalado node
. Recomiendo instalarlo con nvm
en la máquina local.
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04
El siguiente paquete - cli-gh-cal
se puede instalar mediante npm
- el gestor de paquetes de node.
Finalmente, también necesitas jq
.
Espero que te guste este artÃculo. Para mÃ, es un gran ejemplo de cuán poca cantidad de código se necesita para lograr resultados de gran apariencia en la visualización de datos hoy en dÃa. ¡Guau!
Captura de pantalla de mi consola
Other articles
You can find interesting also.

Notificaciones Push Web
Notificación push web escrita en JavaScript puro sin ninguna biblioteca.

Daniel Gustaw
• 3 min read

Sobrecarga de Firmas en Typescript
En TypeScript, podemos especificar una función que se puede llamar de diferentes maneras escribiendo firmas de sobrecarga. Puedes usar esto para definir funciones con un tipo de retorno que depende de los valores de los argumentos.

Daniel Gustaw
• 2 min read

Raspado de Facebook en 2021
El artÃculo tiene como objetivo familiarizar al lector con el método para extraer datos del portal de Facebook después de la actualización del diseño.

Daniel Gustaw
• 19 min read