Kalendarz w stylu Git z niestandardowymi datami
kalendarz w stylu git utworzony z listy dat zapisanych w pliku csv
Daniel Gustaw
• 2 min read
Załóżmy, że masz zbiór dat. Chcesz wyświetlić te daty w czytelny sposób.
Na przykład tak:
Mam więc świetne informacje. To jedna linia kodu, może dwie…
W tym artykule pokażę, jak wygenerować obrazek taki jak ten.
Czego potrzebujesz?
- jq - świetne narzędzie do przetwarzania json / tekstu
- node - interpreter js
- awk - przetwarzacz tekstu do selekcji danych
Instalacja
npm i -g cli-gh-cal
Przygotowanie pliku z datami
Chcemy przygotować plik z datami takimi jak te
2019-08-13
2018-05-19
2018-06-22
2019-04-16
Załóżmy, że musisz pokazać daty utworzenia plików w swoim folderze ze zdjęciami. Możesz to zrobić, używając polecenia
ls -l --time-style=long-iso . | awk '{print $6}' | sort > /tmp/dates.csv
Opcja --time-style
pozwala na wyświetlanie dat w formacie łatwym do przetwarzania. Następnie awk
wybiera kolumnę z datami, a posortowane daty są zapisywane w tymczasowym pliku /tmp/dates.csv
.
Wyświetlanie kalendarza w stylu git
Teraz, jeśli chcesz wyświetlić te daty, musisz wpisać
cli-gh-cal --data "$(jq -R '[inputs | [.,1] ]' < /tmp/dates.csv)"
W tym przypadku wykorzystujemy jq
- potężny szablon do plików json. Umożliwia on zamianę listy dat na ciąg json wymagany przez cli-gh-cal
. Po wykonaniu tego polecenia powinieneś zobaczyć obrazek podobny do przedstawionego na początku.
Wymagane pakiety
Aby to działało, musisz zainstalować node
. Zalecam zainstalowanie go za pomocą nvm
na lokalnej maszynie.
https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04
Następny pakiet - cli-gh-cal
można zainstalować za pomocą npm
- menedżera pakietów node.
Na koniec potrzebujesz również jq
.
Mam nadzieję, że podoba Ci się ten artykuł. Dla mnie to doskonały przykład, jak mała ilość kodu jest potrzebna, aby osiągnąć świetne wyniki wizualizacji danych dzisiaj. Wow!
Zrzut ekranu z mojej konsoli
Other articles
You can find interesting also.
Komponent logowania w Nuxt (Rest Strapi)
Prosty przykład strony logowania w nuxt3, napisany jako baza do kopiowania i wklejania w wielu podobnych projektach.
Daniel Gustaw
• 5 min read
Ruby on Rails - szybkie wprowadzenie
Wprowadzenie do Ruby on Rails prezentujące CRUD, relacje bazodanowe, mailera oraz komunikację przez web sockets.
Daniel Gustaw
• 12 min read
Fetch, Promise i Template String na przykładzie Listy Zadań w JavaScript
Ten prosty projekt jest doskonałym wprowadzeniem do programowania w JavaScript. Nacisk kładzie się na elementy ES6 i frontend.
Daniel Gustaw
• 13 min read