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.
Implementación de QuickSort en Rust, Typescript y Go
Domina QuickSort con nuestra guía en profundidad y ejemplos de implementación en tres lenguajes de programación populares, y ordena grandes conjuntos de datos de manera rápida y eficiente.
Daniel Gustaw
• 6 min read
Cómo crear una cuenta de correo electrónico gratuita con dominio personalizado?
En este artículo, aprenderás cómo crear un correo electrónico gratuito con un dominio personalizado. He mostrado cómo configurar Yandex con tu DNS.
Daniel Gustaw
• 2 min read
Publicando una actualización del paquete en el repositorio AUR
Aprende a publicar actualizaciones de paquetes en el repositorio de usuarios de Arch Linux.
Daniel Gustaw
• 3 min read