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.
Registro de datos en MySql, Ajax y Behat
Escribiremos una aplicación web simple - una calculadora. Usándola como ejemplo, mostraremos cómo configurar selenium con behat y realizar pruebas automatizadas en ella.
Daniel Gustaw
• 14 min read
CodinGame: Arte ASCI - Rust, NodeJs - Cadenas, Arreglos, Bucles
Resolver este rompecabezas enseña cómo gestionar cadenas y aritmética de arreglos. Sabrás cómo dividir una cadena en partes separadas y concatenarlas en una nueva. Puedes usar índices de arreglos.
Daniel Gustaw
• 10 min read
Raspado de WordPress - 4300 fallos judiciales en demandas por tipo de cambio sin una línea de código
No es común que la ejecución de un servicio tome más tiempo que su precio, pero con el scraping, esto puede suceder. Vea lo fácil que puede ser recuperar datos, especialmente de WordPress.
Daniel Gustaw
• 2 min read