-
Notifications
You must be signed in to change notification settings - Fork 118
Tagcloud
Το tagcloud εμφανίζεται στο sidebar της σελίδας Ανακοινώσεις και αποτελείται από links με τους τίτλους των tags, τα οποία οδηγούν σε σχετικές σελίδες με τις ανακοινώσεις που περιέχουν το κάθε tag.
Για τη δημιουργία του archive και των σελίδων των tags, χρησιμοποιείται το plugin jekyll-archives.
Στη συνέχεια, στο αρχείο _config.yml, ο τύπος του tag_archieve (καθώς και του category_archieve για πιθανές μελλοντικές εφαρμογές) είναι απαραίτητο να αλλάξει σε jekyll-archives.
Επιπλέον, προστίθεται το layout για τις σελίδες των tags με τον ακόλουθο τρόπο:
Oρίζονται επίσης, με τρόπο δυναμικό, τα permalinks για τη κάθε σελίδα του tag (και του category).
Τέλος, στη σελίδα με τις ανακοινώσεις (posts.html), προστίθεται το tag_cloud = true, το οποίο χρησιμοποιείται από το αποθετήριο του θέματος και ελέγχει την εμφάνιση του tagcloud.
Στο αποθετήριο minimal-ionio, είναι απαραίτητη η προσθήκη μιας σελίδας (generate_tag_cloud.html), η οποία δημιουργεί το tagcloud. Ο κώδικας του tagcloud είναι γραμμένος σε Liquid.
Αρχικά, δημιουργείται μια λίστα tags, που περιέχει όλα τα tags των ανακοινώσεων (posts). Έπειτα, προσαρμόζεται το μέγεθος του κάθε στοιχείου (span) του tag, ανάλογα με τη συχνότητα χρήσης του. Το κάθε στοιχείο tag στοιχίζεται το ένα κάτω από το άλλο.
Αφού οριστεί ο τρόπος δημιουργίας του tagcloud, είναι απαραίτητο να οριστεί το σημείο όπου είναι επιθυμητή η δημιουργία του. Το αρχείο sidebar.html περιέχει το sidebar της ιστοσελίδας και ελέγχει την εμφάνιση των κατάλληλων αρχείων ανάλογα με τον "τύπο" της ιστοσελίδας. Ο "τύπος" της ιστοσελίδας των ανακοινώσεων posts.html του αποθετηρίου sitegr ορίζεται με το tag_cloud = true, και έτσι η ιστοσελίδα αυτή εμφανίζει το tagcloud στο σημείο του sidebar.
Ένα θέμα που προέκυψε κατά την υλοποίση του συγκεκριμένου, είναι πως τα posts είναι ορισμένα μέσα σε collections. Λόγω αυτής της λογικής δεν ήταν δυνατή η χρήση των περισσότερων προσεγγίσεων σε σχετικά renferences (1,2) και έτσι έγινε χρήση σχετικού plugin.
Αξίζει να σημειωθεί, επίσης, πως για τη σωστή εμφάνιση του tagcloud, είναι απαραίτητη η σωστή διαχείριση του περιεχομένου των ετικετών, τόσο από τη πλευρά των ατόμων με πρόσβαση στο περιεχόμενο του sitegr μέσω GitHub, καθώς και από τη πλευρά των απλών χρηστών κατά την εισαγωγή νέων ανακοινώσεων στην ιστοσελίδα σύμφωνα με τις οδηγίες που αναφέρονται στο Posting with CMS Netlify. Ο δυναμικός σχεδιασμός του tagcloud δεν είναι σε θέση να προβλέπει λάθη κατά την εισαγωγή των ετικετών και των ανακοινώσεων. Μία προσπάθεια προς αυτήν τη κατέυθυνση μπορεί να βρεθεί στο issue #4, όπου κατά την εισαγωγή νέων ανακοινώσεων στο site, οι απλοί χρήστες θα περιορίζονται σε μία προϋπάρχουσα λίστα ετικετών η οποία ορίζεται στο Taxonomy. Άλλη μελλοντική προσθήκη θα μπορούσε να είναι ο περιορισμός της λίστας των ετικετών που εμφανίζει το ίδιο το tagcloud, στην εμφάνιση μόνο των ετικέτων που ορίζονται στο Taxonomy.