logo

Εκνευριστικός κώδικας και οι τελευταίες προσθήκες στο blog

20/01/2020

Μου έβγαλε την πίστη σήμερα το blog. Καταρχήν έβαλα ένα plugin για να δημιουργεί sitemap, που χρειάζεται για καλύτερο SEO. Αυτό έπαιξε αμέσως.

Βρήκα σχετικά εύκολα την άκρη και για να σετάρω όλα τα open graph metatags που χρειάζεται να υπάρχουν. Για να φαίνεται σωστά και όταν κάνει κάποιος share σε twitter, facebook κτλ.

Αυτό όμως που μου έσπασε τα νεύρα, ήταν να δίνω και το σχετικό image για κάθε post. Κανονικά έπρεπε να μου το στέλνει το wordpress σαν featuredMedia. Όμως στο edit του κάθε post δεν είχε την συγκεκριμένη επιλογή.

Τελικά βρήκα ότι για να εμφανίσει την συγκεκριμένη επιλογή πρέπει να υποστηρίζεται από το τρέχον theme του wordpress. Εγώ έχω φτιάξει όμως ένα άδειο theme, που απλά κάνει ανακατεύθυνση στην κανονική διεύθυνση του blog. Η λύση ήταν να προσθέσω και ένα αρχείο functions.php με τον παρακάτω κώδικα, ώστε το theme υποτίθεται να υποστηρίζει featuredMedia.

function mytheme_post_thumbnails() {
    add_theme_support( 'post-thumbnails' );
}

add_action( 'after_setup_theme', 'mytheme_post_thumbnails' );

Με αυτόν τον τρόπο λύθηκε το πρόβλημα, αλλά το image χρησιμοποιείται μόνο σε όσα post το έχω σετάρει.

Η άλλη λύση που έψαχνα νωρίτερα, ήταν να ψάχνω στον html κώδικα για images και να παίρνω το src. Θεωρητικά είναι πολύ εύκολο αυτό στην Javascript. Απλά δημιουργείς ένα προσωρινό DOM element, με document.createElement και μετά με querySelectorAll(‘img’) παίρνεις ένα array με όλα τα img elements. Ο τρόπος όμως που κάνει build το gridsome, δεν επιτρέπει την χρήστη του DOM στην διάρκεια του compile!

Έφαγα πολλές ώρες να βρω λύση σε αυτό, αλλά δεν έβγαλα καμία άκρη. Οπότε αναγκαστικά πάω στην πιο πάνω λύση. Τουλάχιστον προς το παρόν.

Μια ακόμη προσθήκη που έκανα στο blog ήταν η δυνατότητα αναζήτησης, μέσω google. Βλέπετε πάνω-πάνω το σχετικό search box.

Επίσης προχώρησα πολύ όλη την παραμετροποίηση, ώστε να κάθεται όλο το blog εύκολα σε οποιαδήποτε εγκατάσταση για να το χρησιμοποιήσει όποιος θέλει. Κάποια πραγματάκια ακόμη θέλω (μαζί με τις σχετικές οδηγίες εγκατάστασης) και θα δώσω τον κώδικα public. Ελπίζω σύντομα, αν και αρχίζω διάβασμα για εξεταστική σε λίγο.

Write your comment

rocean (at) error.gr
rocean
error.gr
feed