the portrait of a geek

Design, Code, Hack, Laugh

upnorth

1η Δεκεμβρίου, 12 το μεσημέρι μαζευόμαστε στο Daios Hotel για να παρουσιάσουμε και να συζητήσουμε θέματα που αφορούν όσους εργάζονται στο Web. Σε ενδιαφέρει αν:

  • Είσαι designer και θες να ακούσεις συναδέλφους σου να μοιράζονται μυστικά και τεχνικές που ακολούθησαν σε κάποιο από τα έργα τους.
  • Είσαι developer και θέλεις να μάθεις για όλες τις τελευταίες τεχνικές στο χώρο του responsive web design.
  • Θα σε ενδιέφερε να ακούσεις πως να χρησιμοποιείς το GitHub και πως να συμμετέχεις στα χιλιάδες open source projects εκεί έξω.
  • Θέλεις να μάθεις πως μπορείς να κατασκευάσεις WordPress themes για μαζική κατανάλωση.
  • Να ακούσεις συμβουλές από Ελληνικές νεοφυείς επιχειρήσεις που έχουν να μοιραστούν εμπειρίες και συμβουλές.

Αν πιστεύεις πως ανήκεις σε αυτή τη κοινότητα και είσαι στη Θεσσαλονίκη το Σάββατο 1η Δεκεμβρίου νομίζω πως πρέπει να τα πούμε από κοντά. Δήλωσε συμμετοχή τώρα!

Μετά από μια εξωφρενική πορεία τις τελευταίες 150 ημέρες, ήρθε η ώρα η οικογένεια του cssigniter να μεγαλώσει. Πριν αρχίσουμε την αναζήτηση στα άγρια interwebs και γνωρίζοντας από πρώτο χέρι τη κατάσταση που επικρατεί γύρω μας, αποφασίσαμε πρώτα να δούμε μήπως και βρούμε κάποιον/α εδώ, στην Ελλάδα.

H αποστολή:

Παραλαμβάνεις 2 themes το μήνα σε μορφή PSD και τα μεταφέρεις στο browser. That’s all.

Τι ψάχνουμε:

  • Πολύ καλή γνώση HTML5/CSS3. Έχεις άποψη για τα νέα HTML5 tags και χρησιμοποιείς CSS3 ρεαλιστικά χωρίς να απευθύνεσαι μόνο σε nightly εκδόσεις των browsers. Δεν αγαπάμε IE αλλά υπάρχει στη ζωή μας.
  • Javascript / jQuery. Προσπαθείς να βρίσκεις λύσεις πριν απλά “πετάξεις” άλλο ένα plugin για να κάνεις τη δουλειά. Γενικά δε ψάχνουμε για Ninja/Warrior/Master κλπ αλλά για κάποιον με καλή εμπειρία.
  • Επαφή με το WordPress. Δε μας ενδιαφέρει μεγάλη εμπειρία σε αυτό το κομμάτι αλλά γνωρίζεις πάνω κάτω τι παίζει σε ένα WordPress theme.
  • Δε μας ενδιαφέρει να γνωρίζεις να σχεδιάζεις στο Photoshop αλλά γνωρίζεις πως να μεταφέρεις γρήγορα όλα τα γραφικά που χρειάζεσαι από ένα PSD αρχείο. Χρησιμοποιείς sprites.
  • Responsive web design. Δεν ψάχνουμε τον Ethan Marcotte μιας και τα themes περιέχουν media queries για συγκεκριμένα breakpoints και χρησιμοποιούμε ένα μικρό grid framework.
  • Θα πρέπει να έχεις πρόσβαση σε Windows based browsers αλλά και σε Mac. Αν είσαι αυτός/η που ψάχνουμε και δεν υπάρχει αυτή η δυνατότητα, θα βρούμε μια λύση εμείς για σένα.

Τι προσφέρουμε:

  •  Να ξεκινήσουμε με τα σημαντικά. Η αμοιβή είναι καλή και γίνεται ανά theme. Αν μπορέσεις να “κόψεις” πάνω από τα 2 themes / μήνα που ζητάμε και μπορείς να φτάσεις π.χ. τα 4 themes το μήνα, θα πληρωθείς για 4 themes. Plain and simple.
  • Δεν υπάρχει ωράριο. Υπάρχουν όμως (ρεαλιστικά) deadlines. Δούλεψε όπου θέλεις, όποτε θέλεις, όσο θέλεις αρκεί να είσαι συνεπείς με τις ημερομηνίες. Η μισή ομάδα δουλεύει normal ώρες, ενώ η άλλη μισή μετράει τα άστρα οπότε θα υπάρχει πάντα κάποιος τριγύρω αν χρειαστείς κάτι.
  • Ρεαλισμό. Ναι, αν τον θεωρείς δεδομένο δεν είναι, οπότε σου λέμε από τώρα πως δε θα έρθεις αντιμέτωπος/η με υπερβολές και “αφεντικοσυμπεριφορές”.
  • Βιβλία, software και πρόσβαση σε online paid content (online publications, tutorials, conferences etc).

Αν λοιπόν σε ενδιαφέρει στείλε μας ένα βιογραφικό σου ή μια λίστα με projects που έχεις δουλέψεις (και φυσικά το ρόλο σου σε αυτά) στο info@cssigniter.com. Μη ξοδέψεις χρόνο για να φτιάξεις το τέλειο βιογραφικό και μην αναλωθείς σε λεπτομέρειες. Η δουλειά είναι πολύ συγκεκριμένη οπότε απλά δείξε μας πως το έχεις.

Πόσες φορές έχει τύχει σε κάποιο site σας ή σε κάποιο site πελάτη σας να χρειαστεί να γράψετε προτάσεις σαν τις παρακάτω:

  • Στα 8 χρόνια λειτουργίας μας [...]
  • Φέτος κλείνουμε 12 χρόνια στο τομέα [...]
  • Ο 5ος χρόνος θα είναι ο καλύτερος [...]

Αυτές οι προτάσεις έχουν κάτι κοινό. Ένα μπελά. Ναι, ένα μπελά αν πρόκειται για προτάσεις που βρίσκονται σε sites πελατών που θα σε πάρουν τηλέφωνο του χρόνου και θα σου πούνε “Φιλαράκο, γίνεται το 8 να το κάνουμε 9; Γίνεται το 12 να το κάνουμε 13;” Και έτσι δημιουργείται ένα ακόμα μικροσκοπικό task στην ήδη τεράστια λίστα με τις “αγγαρείες” που πρέπει να κάνετε.

Επειδή σε μένα συμβαίνει συχνά έκατσα και έφτιαξα ένα μικρό plugin το οποίο κάνει αυτή τη δουλειά. “Ανεβάζει” τα νούμερα αυτά αυτόματα. Πως;

Για αρχή κατεβάστε το plugin, αποσυμπιέστε, ανεβάστε στο φάκελο wp-content/plugins και ενεργοποιήστε.

Για να βάλετε ένα τέτοιο αριθμό μέσα στο κείμενο σας, χρησιμοποιείτε το shortcode ως εξής:

[magicdate]2009[/magicdate]

Το παραπάνω θα εμφανίσει 2. Γιατί; Γιατί αν αφαιρέσουμε από το τρέχων έτος (2011) το 2009 θα μας εμφανίσει 2. Του χρόνου, θα μας εμφανίσει 3 κ.ο.κ. Εύκολο ε;

Για όσους γράφουν αγγλικό κείμενο υπάρχει μια παράμετρος η οποία δημιουργεί ordinal numbers (1st, 2nd etc) και απλά προσθέστουμε μια παράμετρο στο shortcode ως εξής:

[magicdate ordinalize='true']2008[/magicdate]

Το οποίο και θα εμφανίσει 3rd.

Έκανα πριν λίγο submit στο official WordPress repo οπότε κάποια στιγμή θα εμφανιστεί και εκεί (μαζί με updates που δε βλέπω να χρειάζονται).

 

Στο cssigniter.com έχουμε αναπτύξει μια σειρά από custom widgets. Flickr, Twitter κ.α. Κάθε νέο widget που φτιάχνουμε μπαίνει σε ένα φάκελο /widgets στο μικρό μας framework και έτσι κάθε φορά που φτιάχνουμε ένα νέο theme απλά κρατάμε τα widgets που είναι απαραίτητα για το συγκεκριμένο theme και τα ενεργοποιούμε στο functions.php

Όμως, επειδή κάθε widget στην ουσία πρόκειται για ένα αρχείο .php για να μην χάνουμε τη μπάλα ενεργοποιούμε όλα τα widgets αυτόματα με ένα μικρό php script. Έχουμε λοιπόν στο functions.php την εξής δήλωση:


require_once('functions/ci_widgets.php');

Αυτό σημαίνει πως μέσα στο theme folder υπάρχει ένας φάκελος που λέγεται /functions και εκεί μέσα υπάρχει το script με το όνομα ci_widgets.php. Τι κάνουμε εκεί μέσα:

$path = dirname(__FILE__).'/widgets';

if ($handle = opendir($path)) {
    while (false !== ($file = readdir($handle))) {
		if ($file != "." && $file != "..") {
        	$file_info = pathinfo($path.'/'.$file);
        	if($file_info['extension']=='php')
        		require_once($path.'/'.$file);
        }
    }
	closedir($handle);
}

Λέμε λοιπόν να πάει να κοιτάξει σε ένα ακόμα φάκελο που υπάρχει μέσα στο theme μας με το όνομα /widgets και εκεί να ψάξει να βρεί όλα τα αρχεία με κατάληξη .php και φυσικά να τα κάνει include (require_once). Easy eh? Δείτε τη παρακάτω εικόνα για να δείτε και τη δομή των φακέλων σε ένα cssigniter theme:

WordPress Dashboard

Φαντάζομαι πως όλοι όσοι έχετε ανοίξει το admin panel του WordPress θα έχετε δει το Dashboard το οποίο μοιάζει με τη παραπάνω εικόνα. Όλα αυτά τα boxes είναι widgets τα οποία μπορούμε να εμφανίσουμε / κρύψουμε και να τοποθετήσουμε με drag & drop όπως εμείς θέλουμε. Το WordPress μας δίνει τη δυνατότητα να βάλουμε και δικά μας, custom widgets σε αυτή την οθόνη. Ας δούμε λοιπόν πως μπορούμε να προσθέσουμε ένα απλό widget με οδηγίες χρήσης του WordPress για τον πελάτη μας.

Read More »