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.

Ile rodzin zmieści się w samolocie - zadanie z algorytmiki
Porównujemy dwa rozwiązania zadania polegającego na zliczaniu wolnych zestawów przyległych miejsc. Dowiesz się jak używać Profilowania i jak wielką różnicę robi użycie pop oraz shift na tablicach w js.

Daniel Gustaw
• 12 min read

Rozkład Benforda dla Ciągu Fibonacciego w Java, Rust i Node JS
Programy napisane w Java, Rust i Node JS ścigają się w sprawdzeniu rozkładu pierwszych cyfr ciągu Fibonacciego. Zobacz w czym są podobne, a w czym się różnią i jak ich wydajność zależy od długości ciągu.

Daniel Gustaw
• 19 min read
![Maksymalna nierówność [Wyszukiwanie liniowe] rust i typescript](/_astro/3e9e4456-ce05-4bd0-b136-7bbd4c952edd_1KLSIl.png)
Maksymalna nierówność [Wyszukiwanie liniowe] rust i typescript
Prosta zadanie hackeartch rozwiązane w node js i rust. Możesz porównać te dwa języki na przykładzie tego problemu. Zalecam rozwiązanie go samodzielnie przed przeczytaniem rozwiązań.

Daniel Gustaw
• 6 min read