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.

CodinGame: Mejor ajuste a los datos - Rust - Análisis de Regresión
Se derivaron regresiones lineales y logarÃtmicas aquÃ. Los modelos se ajustaron en el lenguaje rust. Este artÃculo muestra que a veces vale la pena mejorar el modelo teórico antes de comenzar la implementación.

Daniel Gustaw
• 7 min read

Raspado de datos en Perl
El artÃculo presenta un scraper simple escrito en Perl 5. A pesar de manejar tres registros de datos, su código es notablemente corto.

Daniel Gustaw
• 12 min read

Componente de Inicio de Sesión en Nuxt (Rest Strapi)
Ejemplo simple de página de inicio de sesión en nuxt3 escrita como base para copiar y pegar en muchos proyectos similares.

Daniel Gustaw
• 5 min read