stup - ένα εργαλείο κονσόλας για καθημερινές σημειώσεις

Παρουσίαση ενός εργαλείου για την αποθήκευση, ανάκτηση και οργάνωση καθημερινών σημειώσεων μέσα απο την κονσόλα
This article is also available in english.

Τα τελευταία χρόνια συμμετέχω σε καθημερινά Stand-up meetings και μου δημιουργήθηκε η ανάγκη να βρω έναν βολικό και αποτελεσματικό τρόπο να κρατάω σημειώσεις σχετικά με το τι έκανα κάθε μέρα.

Χρειαζόμουν:

  • να κρατώ κατηγοριοποιημένες σημειώσες για τα issues πάνω στα οποία εργαζόμουν, τις συναντήσεις στις οποίες συμμετείχα, πράγματα που εμπόδιζαν τη δουλειά μου κ.λπ.
  • να μπορώ εύκολα να ανακτήσω αυτές τις σημειώσεις βάσει της ημερομηνίας στην οποία καταχωρήθηκαν
  • να έχω μια γενική εικόνα για το τι έκανα (για παράδειγμα την τελευταία εβδομάδα)
  • όλα τα παραπάνω:
    • μέσα από την κονσόλα
    • χωρίς να χρειάζεται να διαμορφώσω και να συντηρώ ένα αρχείο με όλες τις σημειώσεις χειροκίνητα
    • χωρίς να χρειάζεται να διαμορφώνω και να συντηρώ ένα αρχείο για κάθε μέρα με όλες τις σημειώσεις χειροκίνητα

stup

Υλοποίησα το stup (το όνομα προέρχεται από τον όρο stand-up), ένα πρόγραμμα ανοιχτού κώδικα, για να καλύψω τις ανάγκες αυτές.

stup demo gif

Ο πηγαίος κώδικας είναι διαθέσιμος στο GitHub εδώ.

Παραδείγματα χρήσης

Παραθέτω κάποια παραδείγματα που παρουσιάζουν τις βασικότερες χρήσεις του stup.

Προσθήκη σημειώσεων

# Προσθήκη σημείωσης στην προεπιλεγμένη κατηγορία για την τρέχουσα ημερομηνία
stup add -n "Worked on issue #ABC123"

# Προσθήκη σημείωσης στην προεπιλεγμένη κατηγορία υπονοώντας την τρέχουσα ημερομηνία
stup add today -n "Worked on issue #ABC123"

# Προσθήκη σημείωσης στην κατηγορία "meetings"
stup add today -c "meetings" -n "2 hours with @phoebe for the project kick off"

# Προσθήκη σημείωσης στην κατηγορία "blocking" στις 10 Απριλίου, 2020
stup add @ 2020-04-10 -c "blocking" -n "connectivity issues"

Εμφάνιση σημειώσεων συγκεκριμένης ημέρας

# Εμφάνιση χθεσινών σημειώσεων (υπονοώντας την ημέρα)
$ stup

# Εμφάνιση χθεσινών σημειώσεων (με σαφή προσδιορισμό της ημέρας)
$ stup yesterday

# Εμφάνιση των σημερινών σημειώσεων
$ stup today

# Εμφάνιση σημειώσεων σε συγκεκριμένη ημερομηνία
$ stup show @ 2020-04-18

# Εμφανίση σημειώσεων για συγκεκριμένη κατηγορία σε συγκεκριμένη ημέρα
$ stup show @ 2020-04-18 -c "meetings"

Λίστα όλων των σημειώσεων για ένα χρονικό διάστημα

# Λίστα των σημειώσεων της τρέχουσας εβδομάδας
stup log week

# Λίστα των σημειώσεων της τρέχουσας εβδομάδας (υπονοώντας την ενέργεια log)
stup week

# Λίστα των σημειώσεων της προηγούμενης εβοδμάδας
stup log previous-week

# Λίστα των σημειώσεων της προηγούμενης εβοδμάδας (υπονοώντας την ενέργεια log)
stup previous-week

# Λίστα σημειώσεων μεταξύ δύο ημερομηνιών
stup log --from 2020-01-20 --to 2020-03-02

# Λίστα σημειώσεων μεταξύ δύο ημερομηνιών για συγκεκριμένη κατηγορία
stup log --from 2020-01-20 --to 2020-03-02 -c "meetings"

Πως λειτουργεί σε τεχνικό επίπεδο

Οι σημειώσεις είναι οργανωμένες σε κατηγορίες.

Όταν προστίθεται μια σημείωση, το stup αποθηκεύει ένα αρχείο markdown και το τοποθετεί μέσα στο φάκελο της κατηγορίας της σημείωσης δημιουργώντας υποφακέλους που αντιστοιχούν στην ημερομηνία της.

CATEGORIES_ROOT_DIRECTORY/CATEGORY/YEAR/MONTH/YYYY-MM-DD.md

# Για παράδειγμα, οι σημειώσεις της κατηγορίας "programming"
# για τις 18 Απριλίου 2020 αποθηκεύονται στον φάκελο:
CATEGORIES_ROOT_DIRECTORY/programming/2020/04/2020-04-18.md

Αυτό επιτρέπει τους χρήστες να ανακτήσουν όποιες σημειώσεις προστέθηκαν σε μια συγκεκριμένη ημερομηνία για μια συγκεκριμένη ή για όλες τις κατηγορίες σημειώσεων.

# Ανάκτηση σημειώσεων για όλες τις κατηγορίες
$ stup show @ 2020-04-18

# Ανάκτηση σημειώσεων για την κατηγορία "programming"
# της προηγούμενης εβδομάδας
$ stup log previous-week -c programming

# Ανάκτηση όλων των σημειώσεων για συγκεκριμένο χρονικό διάστημα
$ stup log --from 2020-04-01 --to 2020-04-15

Περισσότερες πληροφορίες

Μπορείτε να:

  • να επισκεφτείτε το αποθετήριο του προγράμματος στο Github εδώ.
  • να δείτε όλη την τεκμηρίωση και τις χρήσεις του stup (με παραδείγματα) εδώ.
  • να δείτε issues/features προς υλοποίηση εδώ.

Ευχαριστώ για την ανάγνωση!