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.
Komunikacja między komponentami Vue w Meteorze
Istnieje kilka metod przesyłania danych między niezwiązanymi komponentami vue. Niektóre z nich są uniwersalne, inne typowe dla vue, a jeszcze inne dla Meteor. Porównujemy je wszystkie.
Daniel Gustaw
• 11 min read
Wybrane składnie w JavaScript ES2020, ES2021 i ES2022
Nullish coalescing, Opcjonalne łańcuchowanie, Proxies, Pola prywatne, allSettled, BigInt, Dynamiczny import, replaceAll, Separatorzy numeryczni, matchAll, Przypisanie logiczne, Await na najwyższym poziomie
Daniel Gustaw
• 19 min read
Bot Telegramowy w Typescript
Dowiedz się jak stworzyć bota na telegramie, dodać w nim nasłuch na komendy oraz skonfigurować wysyłanie powiadomień.
Daniel Gustaw
• 3 min read