﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GreekTuts</title>
	<atom:link href="http://greektuts.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://greektuts.net</link>
	<description>Ελληνικά Βοηθήματα</description>
	<lastBuildDate>Thu, 22 Jul 2010 19:56:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
  <link>http://greektuts.net</link>
  <url>http://www.greektuts.net/images/favicon4.ico</url>
  <title>GreekTuts</title>
</image>
		<item>
		<title>CSS SuperHero : Βασικές Αρχές</title>
		<link>http://greektuts.net/css-superhero-basic-principles/</link>
		<comments>http://greektuts.net/css-superhero-basic-principles/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 15:54:15 +0000</pubDate>
		<dc:creator>Pantso</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[basic principles]]></category>
		<category><![CDATA[cascading]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[css principles]]></category>
		<category><![CDATA[css superhero]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[hero]]></category>
		<category><![CDATA[id]]></category>
		<category><![CDATA[pantso]]></category>
		<category><![CDATA[paragraph]]></category>
		<category><![CDATA[super]]></category>
		<category><![CDATA[superhero]]></category>
		<category><![CDATA[βασικές αρχές]]></category>
		<category><![CDATA[βασικές αρχές των css]]></category>
		<category><![CDATA[γρηγορόπουλος παναγιώτης]]></category>

		<guid isPermaLink="false">http://greektuts.net/?p=4029</guid>
		<description><![CDATA[Σε αυτό το πρώτο μέρος της σειράς βοηθημάτων, που θα σας μετατρέψει από αρχάριο, σε CSS Super Hero, θα κάνουμε τα πρώτα μας βήματα στον μαγευτικό κόσμο των CSS και θα φτάσουμε να γνωρίζουμε ότι χρειάζεται για να τα χρησιμοιποιήσουμε στις ιστοσελίδες μας αλλά ακόμα και επαγγελματικά.]]></description>
			<content:encoded><![CDATA[<h1>Τι είναι τα CSS;</h1>
<p>CSS σημαίνει Cascading Style Sheets. Και τι σημαίνει αυτό; Ας το πάρουμε από την αρχή.</p>
<p>Η γνωστή σε όλους μας γλώσσα προγραμματισμού ιστοσελίδων και εφαρμογών, η HTML, χρησιμοποιείται για την δημιουργία και την περιγραφή στοιχείων σε μια ιστοσελίδα. Όταν λοιπόν εμείς διαβάζουμε ένα κείμενο, όπως αυτό που διαβάζεται αυτήν την στιγμή, o browser μας, δεν το &#8220;διαβάζει&#8221; όπως και εμείς. Συνήθως τα κείμενα που βρίσκονται σε μια ιστοσελίδα, είναι περιτρυγυρισμέμα σε <strong>paragraph tags</strong>. Τα Tags είναι ο τρόπος που χρησιμοποιείται για να περιγράψουμε αντικείμενα. Έτσι, ότι βρίσκεται ανάμεσα σε tags, παίρνει και τις αντίστοιχες ιδιότητες.</p>
<p>Αν λοιπόν το κείμενο &#8220;<strong>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</strong>&#8221; το γράψουμε <strong>&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/p&gt;</strong>, αυτό θα πάρει τις ιδιότητες της παραγράφου, ενώ αν το γράψουμε <strong>&lt;b&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit.&lt;/b&gt;</strong> θα γίνει bold.</p>
<p>Ωραία ως εδώ. Τι γίνεται όμως όταν θέλουμε αυτό το κείμενο να έχει μεγαλύτερο μέγεθος από κάποιο άλλο στοιχείο paragraph στην ιστοσελίδα μας; H ακόμα χειρότερα άμα θέλουμε να έχουμε 8 διαφορετικά είδη παραγράφων και τίτλων; Εδώ έρχονται και συμπληρώνουν τα CSS. Μέσα από τους selectors (επιλογέας) μπορούμε να &#8220;στοχεύσουμε &#8221; στοιχεία στην HTML σελίδα, και να τους δώσουμε στυλ.</p>
<h1>Σύνταξη &#8211; Δομή</h1>
<p>Για να στοχεύσουμε λοιπόν τα διάφορα στοιχεία στην σελίδα μας, πρέπει να γνωρίζουμε την δομή και την σύνταξη μιας CSS εντολής. Ας δούμε καλύτερα σε ένα γράφιμα</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4095 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/css-basic-principles1.jpg" alt="" width="571" height="131" /></p>
</blockquote>
<p>Το παραπάνω παράδειγμα, &#8220;στοχεύει&#8221; όλα τα στοιχεία H1 στην ιστοσελίδα μας. H1 είναι ο μεγαλύτερος σε μέγεθος τίτλος σε ένα κείμενο. Αρχίζοντας λοιπόν, σαν selector, χρησιμοποιούμε το όνομα του tag που θέλουμε να αλλάξουμε. Αφήνουμε ένα κενό, και  ανοίγουμε αγκύλες. Ότι περιέχεται μέσα στις αγκύλες είναι η δήλωση μας . Χρησιμοποιόντας την ιδιότητα (property) <strong>color</strong> στοχεύουμε το χρώμα του κειμένου. Αμέσως μετά την ιδιότητα βάζουμε άνω και κάτω τελείες και δίνουμε την τιμή μας. Για να κλείσουμε την πρώτη δήλωση, χρησιμοποιούμε το ελληνικό ερωτηματικό (semicolon). Στην δεύτερη δήλωση, χρησιμοποιούμε την ιδιότητα <strong>font-size</strong>, η οποία αλλάζει το μέγεθος του κειμένου. Βάζουμε άνω και κάτω τελείες και δίνουμε την τιμή που θέλουμε να έχει σε pixels. Κλείνουμε με ελληνικό ερωτηματικό, και με την ανάποδη αγκύλη.</p>
<p>Χρησιμοποιόντας λοιπόν τα CSS μπορούμε να επιλέξουμε όλα τα στοιχεία της ιστοσελίδας μας, και να τους δώσουμε ζωή. Δείτε τον κώδικα ζωντανά μέσω του w3scholls.com χρησιμοποιόντας τον σύνδεσμο που ακολουθεί</p>
<p style="text-align: center;"><a title="Δοκιμάστε τον κώδικα" href="http://www.w3schools.com/css/tryit.asp?filename=trycss_syntax1" target="_blank"><img class="size-full wp-image-4097 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/tryitoutbtn.png" alt="" width="450" height="24" /></a></p>
<h1>Id και Class</h1>
<p>Επειδή τα tags της HTML είναι περιορισμένα, τα CSS μας δίνουν την δυνατότητα να δηλώσουμε τα δικά μας μοναδικά ή μη στοιχεία, και να τους δώσουμε στύλ. Αυτό το κάνουμε χρησιμοποιόντας μέσα στα division tags της HTML (τα γνωστά divs) , ID και CLASS. Πως το κάνουμε αυτό; Ας δούμε ένα γράφιμα.</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4102 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/css-basic-principles2.jpg" alt="" width="580" height="600" /></p>
</blockquote>
<p>Στα παραπάνω παραδείγματα, βλέπουμε πως μπορούμε να &#8220;τυλίξουμε&#8221; την παράγραφο μας μέσα σε divs, και να επιλέξουμε ακριβώς αυτό που θέλουμε για να του δώσουμε στύλ. Στην πρώτη περίπτωση μπορεί να θέλουμε να βάλουμε το κείμενο στο κέντρο αλλά να μην θέλουμε το ίδιο για όλα τα &lt;p&gt; tags της σελίδας μας. Έτσι γράφουμε</p>
<pre name="code" class="css">
.test { color: black; text-align:center;}
</pre>
<p>Αυτό θα επιλέξει όλο το div και θα μετακινίσει το κείμενο του στο κέντρο, χωρίς να επιρεάσει άλλα paragraphs στην σελίδα.</p>
<p>Αν θέλουμε να επιλέξουμε την παράγραφο που υπάρχει μέσα στο div, γράφουμε</p>
<pre name="code" class="css">
.test p { color: black; text-align:left;}
</pre>
<p>Γενικότερα, όταν θέλουμε να επιλέξουμε στοιχεία μέσα σε divs, γράφουμε αναλυτικά όλο το &#8220;μονοπάτι&#8221; μέχρι να φτάσουμε σε αυτά. Ας δούμε για παράδειγμα το 3 κώδικα στο γράφιμα παραπάνω. Έχουμε ένα paragraph μέσα σε ένα div μέσα σε ένα id. Για να επιλέξουμε και να δώσουμε στυλ μόνο στην παράγραφο, γράφουμε</p>
<pre name="code" class="css">
#test .test p { color:white; }
</pre>
<p>Παρατηρήστε ότι έχουμε το ίδιο όνομα στο class και στο id μας. Αυτό δεν πειράζει καθόλου. Τα ID και τα Classes είναι διαφορετικά στοιχεία και έτσι επιτρέπεται να έχουν το ίδιο όνομα.</p>
<p><strong>ΠΡΟΣΟΧΗ</strong>: Το σωστό είναι όταν χρησιμοποιούμε ID να μην εμφανίζουμε το ίδιο στοιχείο πάνω από μια φορά στην σελίδα μας. Τα ID δηλώνουν μοναδικά στοιχεία. Το αντίθετο συμβαίνει με τα Classes. Μπουρούμε να έχουμε απεριόριστα αντίγραφα του class μέσα στην σελίδα μας.</p>
<p style="text-align: center;"><a title="Δοκιμάστε τον κώδικα" href="http://www.w3schools.com/css/tryit.asp?filename=trycss_syntax_id" target="_blank"><img class="size-full wp-image-4097 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/tryitoutbtn.png" alt="" width="450" height="24" /></a></p>
<h1>Cascading</h1>
<p>Και τι πάει να πεί Cascading; Είναι αναφορά στο φαινόμενο του καταράχτη, και ουσιαστικά δείχνει την κληρονομικότητα που έχουν τα στοιχεία των CSS. Και πως εφαρμόζεται αυτό;</p>
<p>Στο τρίτο παράδειγμα που γράψαμε παραπάνω, αν γράψουμε</p>
<pre name="code" class="css">
#test .test p { color:white; }
</pre>
<p>θα &#8220;στοχεύσουμε&#8221; την παράγραφο κατευθείαν, και θα της δώσουμε στύλ συγκεκριμένα. Αν όμως δώσουμε στύλ στο ID τι θα συμβεί;</p>
<pre name="code" class="css">
#test { color:white; }
</pre>
<p>Ακριβώς το ίδο. Όλα τα στοιχεία που περιέχονται μέσα στο ID αυτό θα κληρονομίσουν την ιδιότητα να έχουν λευκό χρώμα στα γράμματα.</p>
<p style="text-align: center;"><a title="Δοκιμάστε τον κώδικα" href="http://www.w3schools.com/css/tryit.asp?filename=trycss_syntax_class" target="_blank"><img class="size-full wp-image-4097 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/tryitoutbtn.png" alt="" width="450" height="24" /></a></p>
<h1>Στο επόμενο μέρος&#8230;</h1>
<p>Αφού κάναμε μια εισαγωγή στα CSS, στο επόμενο μέρος θα δούμε πιο αναλυτικά πράγματα που μπορούμε να κάνουμε με τις επιλογές, τα Ids και τα Classes, και θα ξεκινήσουμε να δίνουμε στύλ σε στοιχεία. Μέχρι τότε, περιμένουμε να ακούσουμε τις απόψεις σας και τις πρακτικές σας πάνω σε θέματα χρήσης των CSS.</p>
]]></content:encoded>
			<wfw:commentRss>http://greektuts.net/css-superhero-basic-principles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Απλό Σύστημα Εγγραφής Χρηστών</title>
		<link>http://greektuts.net/register-system/</link>
		<comments>http://greektuts.net/register-system/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 07:50:22 +0000</pubDate>
		<dc:creator>Jimakos</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[jimakos]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[login system]]></category>
		<category><![CDATA[register]]></category>
		<category><![CDATA[register system]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://greektuts.net/?p=4082</guid>
		<description><![CDATA[Αναρωτηθήκατε ποτέ πως είναι ένα σύστημα πρόσβασης χρηστών σε μια ιστοσελίδα; Σε αυτό το βοήθημα λοιπόν θα δούμε πως μπορούμε να δημιουργήσουμε για αρχή ένα απλό σύστημα εγγραφής χρηστών, χρησιμοποιόντας απλές εντολές της PHP, λίγη SQL και HTML.]]></description>
			<content:encoded><![CDATA[<h1>H Φόρμα Εγγραφής</h1>
<p>Καταρχάς θα χρειαστούμε μια φόρμα την οποία πρέπει να συμπληρώσει ο χρήστης για να προχωρήσει στην εγγραφή του .</p>
<p>Ο παρακάτω κώδικας είναι μια απλή φόρμα με λίγο κώδικα της php ο οποίος θα μας χρησιμεύσει αργότερα για την εμφάνιση μηνυμάτων.</p>
<pre name="code" class="php">
forma.php
&lt;?php
session_start();
?&gt;
&lt;html &gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;Φόρμα Εισαγωγής στοιχείων&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;pre&gt;
&lt;form action="register.php" method="get" &gt;
Όνομα : &lt;input name="name" style="background:#3281C0" /&gt;&lt;br /&gt;
Κωδικός:&lt;input name="name" style="background:#3281C0"  /&gt;&lt;br /&gt;
Email : &lt;input name="email"  style="background:#3281C0"  /&gt;
&lt;br /&gt;
&lt;input value="Καταχωρηση" /&gt;
&lt;?php
if (isset($_SESSION['errors'])){
echo $_SESSION['errors'];
}
else
echo $_SESSION['error2']; ?&gt;
&lt;/pre&gt;
&lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<h1>Η Βάση Δεδομένων</h1>
<p>Έπειτα θα χρειαστούμε μια βάση δεδομένων στην οποία θα καταχωρήσουμε τα στοιχειά που θα εισάγουν οι χρήστες</p>
<p>Ας δούμε λοιπόν πως θα δημιουργήσουμε αυτή την βάση :</p>
<p>Δημιουργία βάσης :</p>
<pre name="code" class="php">
CREATE DATABASE `Greektuts` ;
</pre>
<p>έπειτα αφού επιλέξουμε την βάση δημιουργούμε έναν πίνακα:</p>
<p>Δημιουργία πίνακα:</p>
<pre name="code" class="php">
CREATE TABLE `Greektuts`.`Register` (

`Name` VARCHAR( 40 ) NOT NULL ,
`Password` VARCHAR( 40 ) NOT NULL ,
`Email` VARCHAR( 60 ) NOT NULL ,
PRIMARY KEY ( `Name` )

) ENGINE = MYISAM ;
</pre>
<p>Έτσι έχουμε δημιουργήσει την βάση μας και τον πίνακα μας .</p>
<h1>Διαχείρηση Δεδομένων</h1>
<p>Τώρα το κομμάτι του κώδικα που θα διαχειριστεί τα δεδομένα:</p>
<p>Δημιουργούμε ένα αρχείο php με όνομα register.php</p>
<p>Για αρχή θα δημιουργήσουμε μια function για να διαχειριζόμαστε την σύνδεση μας με την βάση</p>
<pre name="code" class="php">
&lt;?php
function db_con(){
$connection=mysql_connect("$localhost","$db_username","db_password") or die("Δεν επιτεύχθηκε η σύνδεση");
$db_selct=mysql_select_db($db_name,$connection) or die("Δεν επιτεύχθηκε η σύνδεση με τον πίνακα ");
}
?&gt;
</pre>
<p>Λοιπόν δημιουργήσαμε μια μέθοδο για να μπορούμε να την καλούμε όποτε εμείς θέλουμε</p>
<p>Ας δούμε αναλυτικά τι κάναμε μέχρι στιγμής</p>
<p>Είναι ο κώδικας σύνδεσης στην βάση</p>
<pre name="code" class="php">
$connection=mysql_connect("$localhost","$db_username","db_password") or die("Δεν επιτεύχθηκε η σύνδεση");
</pre>
<p>Σημαντικό*</p>
<p>Αντικαταστήστε το $localhost,$db_username,$db_password και παρακάτω το $db_name</p>
<p>με τα δικά σας στοιχειά ένα παράδειγμα :</p>
<pre name="code" class="php">
$connection=mysql_connect("localhost","root","") or die("Δεν επιτεύχθηκε η σύνδεση");
</pre>
<p>Η σύνδεση αυτή καθορίζει το όνομα της βάσης την οποία θέλουμε να επιλέξουμε</p>
<pre name="code" class="php">
$db_selct=mysql_select_db($db_name,$connection) or die("Δεν επιτεύχθηκε η σύνδεση με τον πίνακα ");
</pre>
<p>Έπειτα προχωράμε παρακάτω :</p>
<pre name="code" class="php">
&lt;?php
session_start();
$name = $_POST['name'];
$pass = $_POST['password'];
$email = $_POST['email'];
if(isset($_POST['submit'])){
unset($_SESSION['errors']);
if(empty($name)){
$_SESSION['errors']=" Το πεδίο όνομα θα πρέπει να συμπληρωθεί ";
}
if(empty($pass)){
$_SESSION['errors'].=" Το πεδιο κωδικός θα πρέπει να συμπληρωθεί ";
}
if(empty($email)){
$_SESSION['errors'].=" Το πεδιο email θα πρεπει να συμπληρωθει ";
}
</pre>
<p>Εδώ απλά κάνουμε έναν έλεγχο απλό για το αν έχουν εισαχθεί δεδομένα στην φόρμα που είχαμε δημιουργήσει προηγουμένως.</p>
<p>Ας το πάρουμε κομμάτι κομμάτι</p>
<pre name="code" class="php">
session_start();
</pre>
<p>αυτή η μέθοδος θα μας χρησιμεύσει αργότερα για την επιστροφή μηνυμάτων στον χρήστη .</p>
<p>Ο παρακάτω κώδικας ελέγχει αν έχει “πατηθεί “ το κουμπί Καταχώρησε αν όντως έχει “πατηθεί”</p>
<p>τότε βγάζει όλα τα δεδομένα από το $_SESSION['errors'] ώστε να μην έχουμε κολλήματα αργότερα</p>
<pre name="code" class="php">
if(isset($_POST['submit'])){
unset($_SESSION['errors']);
</pre>
<p>Εδώ κάνουμε έναν έλεγχο από τους πιο απλούς που θα μπορούσατε να κάνετε</p>
<p>ελέγχουμε αν το πεδίο όνομα είναι άδειο αν ναι τότε εκχωρούμε μέσα στο $_SESSION  το ακόλουθο μήνυμα. Το ίδιο γίνετε για όλα τα πεδία τα οποία θέλουμε να ελέγξουμε.</p>
<pre name="code" class="php">
if(empty($name)){
$_SESSION['errors']=" Το πεδίο όνομα θα πρέπει να συμπληρωθεί ";
}
</pre>
<p>Παρατήρηση στο δεύτερο έλεγχο και ούτω κάθε ξης βάζουμε μια . πριν το =</p>
<p>Τέλος προσθέτουμε λίγο ακόμη έλεγχο και είμαστε έτοιμοι</p>
<pre name="code" class="php">
if(!isset($_SESSION['errors'])){
db_con();
$query=mysql_query("SELECT * FROM register where Name='$name' ") or die("Κάτι πήγε στραβά");
$check=mysql_num_rows($query);
if($check &gt;0){
$_SESSION['error2']="Το όνομα χρήστη $name υπάρχει ήδη στην βάση ";
header( "Location: forma.php" );
}
else {
$query=("INSERT INTO register (Name, Password,Email) VALUES ('$name', '$pass', '$email')");
$insert=mysql_query($query);
}
}
else {
header( "Location: forma.php" );
}
}
</pre>
<p>Ελέγχουμε αν υπάρχουν errors αν όχι τότε προχωράμε στον επόμενο έλεγχο ο οποίος είναι η ύπαρξη του ονόματος που εισαχθεί μέσα στην βάση μας. Εάν υπάρχει τότε δηλώνουμε το μήνυμα σε μια μεταβλητή και στέλνουμε τον χρήστη πίσω στην φόρμα εκεί θα του επιστρέφουν τα ανάλογα μηνύματα.</p>
<blockquote style="text-align: center;"><p><em><strong>Μπορείτε να κατεβάσετε τα     αρχεία του βοηθήματος εδώ</strong></em></p>
<p><em><strong><a href="http://greektuts.net/wp-content/uploads3/2010/07/register-system.zip" target="_blank"><img src="../wp-content/uploads/2009/10/membersdownload1.png" alt="download" width="200" height="200" /></a></strong></em></p></blockquote>
<p style="text-align: center;">
<p>﻿</p>
]]></content:encoded>
			<wfw:commentRss>http://greektuts.net/register-system/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>WordPress Plug-in: Actions και Filters</title>
		<link>http://greektuts.net/wordpress-plugin-actions-and-filters/</link>
		<comments>http://greektuts.net/wordpress-plugin-actions-and-filters/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 09:00:36 +0000</pubDate>
		<dc:creator>KrAp</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[filters]]></category>
		<category><![CDATA[krap]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[απόστολος]]></category>
		<category><![CDATA[δημιουργία πρόσθετου]]></category>
		<category><![CDATA[κρητικός]]></category>
		<category><![CDATA[πρόσθετο]]></category>
		<category><![CDATA[φίλτρα]]></category>

		<guid isPermaLink="false">http://greektuts.net/?p=4076</guid>
		<description><![CDATA[Στο προηγούμενο εισαγωγικό άρθρο, κάναμε την εισαγωγή στην διαδικασία δημιουργίας ενός Plugin για το Wordpress. Σε αυτό το μέρος θα πάρουμε μια γεύση από την πραγματική δύναμη των WordPress plugins ελέγχοντας το περιεχόμενο της WordPress εγκατάστασής μας.]]></description>
			<content:encoded><![CDATA[<p>Έχοντας μάθει πως να κατασκευάζουμε τον σκελετό ενός WordPress plug-in ήρθε η ώρα να συνεχίσουμε με πιο ενδιαφέροντα πράγματα.</p>
<h1><strong>Actions και Filters. Πως αρχικοποιώ;</strong></h1>
<pre name="code" class="php">
if(isset($myPlugin))  {

//Actions

//Filters

}
</pre>
<p>Απλό έτσι; Το μόνο που χρειάζεται κάνετε είναι να ελέγξετε ότι ένα αντικείμενο τύπου myTestPlugin έχει δημιουργηθεί (κατ&#8217; επέκταση φυσικά ελέγχετε και ότι το plug-in έχει εγκατασταθεί και αρχικοποιηθεί σωστά).</p>
<h1><strong>WordPress Actions</strong></h1>
<p>Ας προσπαθήσουμε να γεμίσουμε τα κενά κάτω από τα σχόλια. Ξεκινούμε με τις Actions (//Actions).</p>
<p>Για να δημιουργήσουμε μία action θα πρέπει σε πρώτη φάση να κατασκευάσουμε μία συνάρτηση (function) για το plug-in μας.</p>
<pre name="code" class="php">
function testFunction() {

?&gt;

&lt;!-- just a comment --&gt;

&lt;?php

}
</pre>
<p>Όπως μπορείτε να καταλάβετε η παραπάνω συνάρτηση απλά προσθέτει ένα comment&#8230; και τίποτε άλλο. Ας δούμε πως την καλούμε.</p>
<p>Χρειαζόμαστε μία action. Επομένως&#8230;</p>
<pre name="code" class="php">
if(isset($myPlugin)) {

//Actions

add_action('wp_head', array(&amp;$myPlugin, 'testFunction'), 1);

//Filters

}
</pre>
<p>δηλαδή&#8230;</p>
<p>η πλήρης σύνταξη της add_action() σύμφωνα με το WordPress Plugin API είναι add_action(&#8216;hook_name&#8217;, array(&amp;$myPlugin,&#8217;myFunction&#8217;), PRIORITY);</p>
<ul>
<li>hook_name: το όνομα με το οποίο θέλουμε να καλούμε την action (σε κάποιο σημείο της wordpress εγκατάστασής μας).</li>
<li>array(&#8230;): πίνακας με την ταυτότητα του action</li>
<li>&amp;$myPlugin: αναφορά στην μεταβλητή / αντικείμενο της κλάσης που αντιπροσωπεύει το plug-in μας</li>
<li>MyFunction: η συνάρτηση που επιθυμούμε να καλέσουμε</li>
<li>PRIORITY: προτεραιότητα εκτέλεσης. Τα μικρά νούμερα εκτελούνται γρηγορότερα</li>
</ul>
<h1><strong>Πως το τρέχω;</strong></h1>
<p>Όπως αναφέραμε στο προηγούμενο άρθρο μας. Αφότου το plugin εγκατασταθεί χωρίς πρόβλημα, ενεργοποιώντας το, το σχόλιο που περιλαμβάνεται στην testFunction θα εμφανιστεί στο πάνω μέρος της κεντρικής ιστοσελίδας της WordPress εγκατάστασής μας.</p>
<h1><strong>Αφαίρεση των actions</strong></h1>
<p>Οι actions μπορούν να αφαιρούνται δυναμικά, ακριβώς όπως δημιουργούνται κάνοντας χρήση της ακόλουθης σύνταξης:</p>
<pre name="code" class="php">
remove_action('action_hook','action_function')
</pre>
<ul>
<li>hook_name: το όνομα με το οποίο θέλουμε να καλούμε την action (σε κάποιο σημείο της wordpress εγκατάστασής μας).</li>
<li>MyFunction: η συνάρτηση που επιθυμούμε να καλέσουμε</li>
</ul>
<h1><strong>WordPress Filters</strong></h1>
<p>Τα WordPress filters αποτελούν συναρτήσεις που είναι υπεύθυνες για αλλαγές κειμένου. Η ανάγκη για την αλλαγή κειμένου πηγάζει είτε από την ανάγκη να το εισάγουμε σε μία βάση δεδομένων, είτε από την ανάγκη να το εμφανίσουμε στον χρήστη.</p>
<h1><strong>Τι μπορώ να αλλάξω χρησιμοποιώντας filters;</strong></h1>
<ul>
<li>Άρθρα</li>
<li>Σχόλια</li>
<li>Feeds, κ.α.</li>
</ul>
<h1><strong>Filter περιεχομένου</strong></h1>
<p>Είπαμε ότι τα filters αποτελούν ουσιαστικά συναρτήσεις. Ένα πολυ ενδιαφέρον filter είναι το &#8216;the_content&#8217;. Αυτό που ουσιαστικά κάνει είναι να επεμβαίνει στο κείμενο ενός άρθρου. Στο παράδειγμα που ακολουθεί θα χρησιμοποιήσουμε το filter περιεχομένου για να προσθέτουμε μία γραμμή στο τέλος κάθε άρθρου.</p>
<p>Σύμφωνα με το WordPress Plugin API η σύνταξη της add_filter είναι η ακόλουθη:</p>
<pre name="code" class="php">
add_filter('hook_name','my_filter',[priority],[accepted_args]);
</pre>
<p>Ας φτιάξουμε για αρχή την συνάρτηση που θα προσθέτει την έξτρα γραμμή:</p>
<pre name="code" class="php">
function addLine($content=”) {

$content .= “&lt;p&gt;My text goes here&lt;/p&gt;”;

return $content;

}
</pre>
<ul>
<li>Αρχικά δηλώνεται η συνάρτηση η οποία παίρνει σαν όρισμα μία μεταβλητή</li>
<li>Αν δεν δοθεί κείμενο κατά την κλήση της, δίδεται μία default τιμή</li>
<li>Στο κείμενο που δόθηκε (ή η default τιμή αν δε δόθηκε τίποτε) προστίθεται η γραμμή που θέλουμε να τελειώνει το post (στην περίπτωσή μας  “My text goes here”)</li>
<li>Τέλος, επιστρέφεται το αλφαριθμητικό στην τελική του μορφή.</li>
</ul>
<p>Στην συνέχεια θα πρέπει να εκτελέσουμε την συνάρτηση μας αυτή κάνοντας χρήση του filter &#8216;the_content&#8217;. Κάνοντας χρήση του κώδικα που έχουμε ως τώρα, μετά την προσθήκη του filter θα μοιάζει κάπως έτσι:</p>
<pre name="code" class="php">
if(isset($myPlugin)) {

//Actions

add_action('wp_head', array(&amp;$myPlugin, 'testFunction'), 1);

//Filters

add_filter('the_content', array(&amp;$myPlugin,'addLine'));

}
</pre>
<p>Εφόσον το plugin εγκατασταθεί και ενεργοποιηθεί, στο τέλος κάθε άρθρου θα πρέπει να βλέπετε τουλάχιστον ( <img src='http://greektuts.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  ) την έξτρα γραμμή.</p>
<h1><strong>Filter συγγραφεά</strong></h1>
<p>Όπως είπαμε τα filters μπορούν να προσφέρουν μεγάλη λειτουργικότητα. Πριν κλείσουμε λοιπόν το άρθρο θα δημιουργήσουμε ακόμη ένα φίλτρο, προσανατολισμένο στους συγγραφείς σχολίων αυτή τη φορά.</p>
<p>Όπως και πριν, χρειαζόμαστε μία συνάρτηση:</p>
<pre name="code" class="php">
function authorFunction($author=”) {

return strtoupper($author);

}
</pre>
<ul>
<li>Αρχικά δηλώνεται η συνάρτηση η οποία παίρνει σαν όρισμα μία μεταβλητή  (στην συγκεκριμένη περίπτωση το όνομα το συγγραφέα)</li>
<li>Αν δεν δοθεί κείμενο κατά την κλήση της, δίδεται μία default τιμή</li>
<li>Το περιεχόμενο της μεταβλητής (στην συγκεκριμένη περίπτωση ο συγγραφέας του σχολίου, επιστρέφεται με κεφαλαία γράμματα</li>
</ul>
<p>Αυτό που πρέπει να κάνουμε τώρα είναι να επιβάλουμε στην παραπάνω συνάρτηση να τρέξει κατά την συγγραφή ενός σχολίου από κάποιον συγγραφέα. Για τον λόγο αυτό θα χρησιμοποιήσουμε το get_comment_author filter.</p>
<pre name="code" class="php">
if(isset($myPlugin)) {

//Actions

add_action('wp_head', array(&amp;$myPlugin, 'testFunction'), 1);

//Filters

add_filter('the_content', array(&amp;$myPlugin,'addLine'));

add_filter('get_comment_author',array(&amp;$myPlugin, authorFunction));

}
</pre>
<p>Ως συνήθως, αν εγκαταστήσετε και ενεργοποιήσετε το plugin, στο εξής, θα πρέπει τα ονόματα των συγγραφέων των σχολίων από εδώ και στο εξής να εμφανίζονται σε κεφαλαία γράμματα.</p>
<p>Στο σημερινό μας άρθρο, πήραμε μια γεύση από την πραγματική δύναμη των WordPress plugins ελέγχοντας το περιεχόμενο της WordPress εγκατάστασής μας. Ωστόσο, βρισκόμαστε ακόμη στην αρχή. Μείνετε συντονισμένοι για το επόμενο άρθρο της σειράς. Μέχρι τότε&#8230;</p>
<p><em>να είστε καλά και να προσέχετε τον εαυτό σας!</em></p>
<p><em>[<strong>Πηγή</strong>:</em><a href="http://www.devlounge.net/extras/how-to-write-a-wordpress-plugin" target="_blank"><em>Devlounge</em></a><em>]</em></p>
]]></content:encoded>
			<wfw:commentRss>http://greektuts.net/wordpress-plugin-actions-and-filters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Plug-in: Δομή &amp; Αρχιτεκτονική</title>
		<link>http://greektuts.net/wordpress-plugin-structure-and-architecture/</link>
		<comments>http://greektuts.net/wordpress-plugin-structure-and-architecture/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 07:18:35 +0000</pubDate>
		<dc:creator>KrAp</dc:creator>
				<category><![CDATA[Plugins-Πρόσθετα]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress plugin]]></category>
		<category><![CDATA[wordpress-plugin-structure-and-architecture]]></category>
		<category><![CDATA[δημιουργία πρόσθετου]]></category>
		<category><![CDATA[πρόσθετο]]></category>

		<guid isPermaLink="false">http://greektuts.net/?p=4064</guid>
		<description><![CDATA[“Η αρχή είναι το ήμισυ του παντός”. Έχοντας αυτό το μότο στο μυαλό μας θα κάνουμε σήμερα την πρώτη μας εισαγωγή στην δημιουργία προσθέτων (plug-ins) στο WordPress από το μηδέν. Σε αργότερα βοηθήματα θα δούμε όλα όσα χρειάζεται να ξέρουμε για να δημιουργήσουμε το δικό μας Plugin]]></description>
			<content:encoded><![CDATA[<p>Στην παρούσα φάση δεν υπάρχουν προαπαιτούμενα.</p>
<h1><strong>Πως λειτουργεί;</strong></h1>
<p>Ας ξεκινήσουμε με μια μίνι αναφορά στο πως εγκαθιστούμε ένα WordPress plug-in το οποίο έχουμε κατασκευάσει (μπορεί να σας φαίνεται ότι προτρέχω, αλλά πιστέψτε με είναι πολύ σημαντικό να γνωρίζεται πως λειτουργεί πραγματικά αυτή η διαδικασία πριν ξεκινήσετε να κατασκευάζετε το πρώτο σας plug-in).</p>
<ol>
<li>Τοποθετούμε το plug-in στον φάκελο “wp-content/plugins/” (μετά από αυτό το βήμα το plug-in μας πρέπει να είναι έτοιμο για εγκατάσταση – να φαίνεται  δηλαδή στη λίστα με τα διαθέσιμα προς εγκατάσταση plug-ins – ).</li>
<li>Όταν το plug-in ενεργοποιείται πρακτικά ζητά από το WordPress να φορτώσει τον κώδικα σε κάθε μια από τις σελίδες (συμπεριλαμβανομένης και αυτής του διαχειριστή). <span style="text-decoration: underline;">ΠΡΟΣΟΧΗ</span>: Όταν ενεργοποιείται πολλά plug-ins, η εγκατάσταση του WordPress σας ενδέχεται να λειτουργεί πολύ πιο αργά.</li>
</ol>
<p>Αφότου εκτελεστούν τα δύο ανωτέρω βήματα θα πρέπει το plug-in σας να είναι εγκατεστημένο και σε λειτουργία.</p>
<p>Πριν προχωρήσουμε στα ζητήματα δομής και αρχιτεκτονικής ενός WordPress plug-in θεωρούμε δόκιμο να αναφέρουμε μερικές ακόμη ενδιαφέρουσες λειτουργίες που μπορούν να επιτευχθούν από ένα WordPress plug-in.</p>
<ul>
<li>Δεδομένου ότι το WordPress  plug-in φορτώνει τον κώδικά σας αυτόματα, σας επιτρέπει να επιτύχετε διάδραση τόσο με το WordPress plug-in API όσο και με τα tags των WordPress Templates (δυνατότητα χρήσης των υπαρχόντων ή / και δημιουργία νέων).</li>
<li>Αν σκοπεύετε να εκτελέσετε αλλαγές στο περιεχόμενο των άρθρων ή στα σχόλια, θα πρέπει να μελετήσετε τα σχετικά με το <a href="http://codex.wordpress.org/The_Loop">WordPress Loop</a>. Μπορείτε να ελέγξετε τη συμπεριφορά του κώδικα και που αυτός τρέχει κάθε φορά, χρησιμοποιώντας actions και filters (για τα οποία θα μιλήσουμε αναλυτικότερα σε επόμενο άρθρο).</li>
</ul>
<h1><strong>Δομή του plug-in: Αρχείο ή φάκελος;</strong></h1>
<p>Η αλήθεια είναι ότι δεν υπάρχει σωστό και λάθος. Ένα WordPress plug-in μπορεί να αποτελείται απλά από ένα αρχείο php ή από μία πιο σύνθετη δομή, ένα κατάλογο αρχείων. Ας δούμε ένα παράδειγμα ενός τέτοιου καταλόγου:</p>
<ul>
<li>ΟΝΟΜΑ_ΚΑΤΑΛΟΓΟΥ (δηλαδή το όνομα του plug-in)</li>
<li>◦          ΟΝΟΜΑ_ΚΑΤΑΛΟΓΟΥ.php (υποχρεωτικά)</li>
<li>◦          ΦΑΚΕΛΟΣ js (φάκελος που θα περιέχει αρχεία javascript &#8211; προαιρετικά)</li>
<li>◦          ΦΑΚΕΛΟΣ css (φάκελος που θα περιέχει αρχεία css – προαιρετικά)</li>
<li>◦          ΦΑΚΕΛΟΣ php (φάκελος που θα περιέχει άλλα αρχεία php – προαιρετικά)</li>
<li>◦          ΦΑΚΕΛΟΣ images (φάκελος που θα περιέχει εικόνες &#8211; προαιρετικά)</li>
</ul>
<p>ή</p>
<ul>
<li>myTestPlugin/</li>
<li>◦          myTestPlugin.php</li>
<li>◦          js/</li>
<li>◦          css/</li>
<li>◦          php/</li>
<li>◦          images/</li>
</ul>
<h1><strong>Κυρίως αρχείο (δομή)</strong></h1>
<p>Όσοι έχετε μία κάποια οικειότητα με το WordPress θα έχετε προσέξει ότι στον τομέα των plug-ins (λίστα με τα διαθέσιμα plug-ins) παρέχονται διάφορες πληροφορίες για τα plug-ins αυτά (όνομα, έκδοση, περιγραφή, κατάσταση). Αν δεν ξέρετε ήδη πως παρέχονται αυτές οι πληροφορίες στη μηχανή του WordPress δεν θα το μαντέψετε ποτέ:</p>
<pre name="code" class="php">
&lt;?php
/*
Plugin Name: My Fiirst Plug-In
Plugin URI: <a href="http://www.mypersonalsite.gr/">http://www.mypersonalsite.gr</a>
Version: v1.00
Author: &lt;a href=”<a href="http://krap.gr/">http://krap.gr/</a>”&gt;Apostolos Kritikos&lt;/a&gt;
Description: This is my first plugin. Please don't be too hard on me if it crushes.
</pre>
<p>Ναι! Είναι σχόλια! Με τις παραπάνω 7 γραμμές οφείλει να αρχίζει κάθε WordPress Plug-in που σέβεται τον εαυτό του.</p>
<h1><strong>Σχόλια; ΟΚ&#8230; Και το plug-in πότε το κατασκευάζω;</strong></h1>
<p>Για την δημιουργία του λειτουργικού τμήματος του plug-in απαιτείται χρήση κλάσεων PHP. Αν και η πρότερη γνώση προγραμματισμού PHP κλάσεων θα βοηθούσε πολύ, δεν θεωρείται απαραίτητη γνώση για την παρακολούθηση του παρόντος άρθρου.</p>
<p>Για αρχή απαιτείται να εξασφαλίσουμε ότι δεν υπάρχει άλλο plug-in με το  ίδιο όνομα εγκατεστημένο στο WordPress σύστημά μας. Ο συγκεκριμένος έλεγχος επιτυγχάνεται με τον παρακάτω κώδικα:</p>
<pre name="code" class="php">
if(!class_exists(“myTestPlugin”)) {

class myTestPlugin {

function myTestPlugin() { //κατασκευαστής

}

}

} //τέλος κλάσης
</pre>
<p>Εφόσον λοιπόν μια κλάση με όνομα ταυτόσημο με αυτό του δικού μας plug-in  δεν υπάρχει, δημιουργείται.</p>
<pre name="code" class="php">
if(class_exists(“myTestPlugin”)) {

$myPlugin = new myTestPlugin();

}
</pre>
<p>Ο παραπάνω κώδικας  αναλαμβάνει να αρχικοποιήσει ένα στιγμιότυπο της κλάσης που δημιουργήσαμε νωρίτερα. Μετά την εκτέλεση του τμήματος αυτού η  μεταβλητή $myPlugin αποτελεί ένα αντικειμένο τύπου myTestPlugin δήλαδή της κλάσης που υλοποιεί την λειτουργικότητα του plugin μας.</p>
<p>Όπως είπαμε στην αρχή του άρθρου, η αρχή είναι το ήμισυ του παντός. Με τον κώδικα που παρουσιάσαμε σε αυτό το άρθρο ο αναγνώστης καταλήγει με έναν πλήρες σκελετό ο οποίος μπορεί να χρησιμοποιηθεί για την υλοποίηση ενός εντελώς λειτουργικού plugin.</p>
<p>Την επόμενη φορά (spoiler alert <img src='http://greektuts.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ) θα μιλήσουμε  για το πως υλοποιούμε actions και  filters για αυτό, μείνετε συντονισμένοι. Μέχρι τότε&#8230;</p>
<p><em>να είστε καλά και να προσέχετε τον εαυτό σας!</em></p>
<p><em>[<strong>Πηγή</strong>:</em><a href="http://www.devlounge.net/extras/how-to-write-a-wordpress-plugin"><em>Devlounge</em></a><em>]</em></p>
]]></content:encoded>
			<wfw:commentRss>http://greektuts.net/wordpress-plugin-structure-and-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Δημιουργία Επαγγελματικής Κάρτας</title>
		<link>http://greektuts.net/create-your-business-card/</link>
		<comments>http://greektuts.net/create-your-business-card/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 07:15:15 +0000</pubDate>
		<dc:creator>silve992</dc:creator>
				<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[business card]]></category>
		<category><![CDATA[card]]></category>
		<category><![CDATA[δημιουργία επαγγελματικής κάρτας]]></category>
		<category><![CDATA[επαγγελματική]]></category>
		<category><![CDATA[επαγγελματική κάρτα]]></category>
		<category><![CDATA[κάρτα]]></category>

		<guid isPermaLink="false">http://greektuts.net/?p=4037</guid>
		<description><![CDATA[Σε αυτό το βοήθημα θα δούμε πως μπορείτε να δημιουργήσετε με απλά και κατανοητά βήματα μια κάρτα, την οποία ενδείκνυται να την χρησιμοποιήσετε ακόμα και για επαγγελματική χρήση, σε ό,τι χρώματα θέλετε, από το γνωστό σε όλους μας πρόγραμμα της Adobe, το Photoshop.]]></description>
			<content:encoded><![CDATA[<p><strong> </strong></p>
<h1><strong>Βήμα 1<br />
</strong></h1>
<p><strong> </strong></p>
<p>Ξεκινώντας, δημιουργούμε έναν νέο καμβά. (600&#215;400 pixels)</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4038 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/1.png" alt="" width="580" height="368" /></p>
</blockquote>
<h1><strong>Βήμα 2</strong></h1>
<p><strong> </strong></p>
<p>Δημιουργούμε ένα νέο επίπεδο (layer), και με την βοήθεια του εργαλείου &#8220;ορθογωνικής επιλογής&#8221; σχηματίζουμε ένα ορθογώνιο (βασικό σχήμα της κάρτας μας) και έπειτα το γεμίζουμε με άσπρο χρώμα.</p>
<blockquote>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4039" src="http://greektuts.net/wp-content/uploads3/2010/07/2.png" alt="" width="580" height="396" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4040" src="http://greektuts.net/wp-content/uploads3/2010/07/3.png" alt="" width="580" height="388" /></p>
</blockquote>
<h1><strong>Βήμα 3</strong></h1>
<p><strong> </strong></p>
<p>Κάνουμε διπλό click στο επίπεδο (layer) που δημιουργήσαμε, για να εμφανιστεί το μενού επιλογών &#8220;στυλ επιπέδου&#8221;. Προσθέστε το εφέ σκιάς και περιγράμματος σύμφωνα με τις παρακάτω εικόνες.</p>
<blockquote>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4041" src="http://greektuts.net/wp-content/uploads3/2010/07/4.png" alt="" width="580" height="327" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4042" src="http://greektuts.net/wp-content/uploads3/2010/07/5.png" alt="" width="580" height="327" /></p>
<p style="text-align: center;">
</blockquote>
<h1><strong>Βήμα 4</strong></h1>
<p><strong> </strong></p>
<p>Δημιουργούμε ακόμα ένα νέο επίπεδο (layer), επιλέγουμε ένα χρώμα της αρεσκείας μας &#8211; όχι πολύ σκούρο (εγώ θα χρησιμοποιήσω μπλε, #003366) και το γεμίζουμε με χρώμα.</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4044 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/7.png" alt="" width="580" height="411" /></p>
</blockquote>
<h1><strong>Βήμα 5</strong></h1>
<p><strong> </strong></p>
<p>Εν συνεχεία θα &#8220;μικρύνουμε&#8221; ελάχιστα το επίπεδο που μόλις δημιουργήσαμε. Για να το πετύχουμε αυτό θα επιλέξουμε επεξεργασία/μετασχηματισμός/κλιμάκωση (edit/transform/scale) και κρατώντας πατημένο το κουμπί shift από το πληκτρολόγιό μας, μετακινούμε το επίπεδο προς τα μέσα πιάνοντας το από μια άκρη και τέλος το τοποθετούμε στο κέντρο του προηγούμενου επιπέδου.</p>
<blockquote>
<p style="text-align: center;"><a href="http://greektuts.net/wp-content/uploads3/2010/07/8.png"><img class="alignnone size-full wp-image-4046" src="http://greektuts.net/wp-content/uploads3/2010/07/8.png" alt="" width="580" height="512" /></a></p>
<p style="text-align: center;"><a href="http://greektuts.net/wp-content/uploads3/2010/07/9.png"><img class="alignnone size-full wp-image-4047" src="http://greektuts.net/wp-content/uploads3/2010/07/9.png" alt="" width="580" height="410" /></a></p>
<p style="text-align: center;"><a href="http://greektuts.net/wp-content/uploads3/2010/07/10.png"><img class="alignnone size-full wp-image-4048" src="http://greektuts.net/wp-content/uploads3/2010/07/10.png" alt="" width="580" height="410" /></a></p>
<p style="text-align: center;">
</blockquote>
<p><strong> </strong></p>
<p><strong> </strong></p>
<h1><strong>Βήμα 6</strong></h1>
<p><strong> </strong></p>
<p>Δημιουργούμε ακόμα ένα νέο επίπεδο (layer) και επιλέγουμε μια πιο σκουρόχρωμη απόχρωση από το χρώμα που επιλέξαμε προηγουμένως (στο βοήθημα χρησιμοποιώ το χρώμα #071f38). Έπειτα με το εργαλείο &#8220;ντεγκραντέ&#8221; σύρουμε από κάτω προς τα πάνω, όπως φαίνεται στην εικόνα. <span style="text-decoration: underline;">Σημείωση: </span>Βεβαιωθείτε ότι έχετε επιλεγμένη την επιλογή &#8220;Προσκήνιο σε Διαφανές&#8221;. Για να κάνετε την γραμμή του ντεγκραντέ ίση, απλά έχετε πατημένο το shift και σύρετε προς τα πάνω.</p>
<blockquote>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4049" src="http://greektuts.net/wp-content/uploads3/2010/07/11.png" alt="" width="580" height="327" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4050" src="http://greektuts.net/wp-content/uploads3/2010/07/12.png" alt="" width="580" height="413" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4051" src="http://greektuts.net/wp-content/uploads3/2010/07/13.png" alt="" width="580" height="437" /></p>
<p style="text-align: center;">
</blockquote>
<h1><strong>Βήμα 7</strong></h1>
<p><strong> </strong></p>
<p>Σε αυτό το σημείο θα κάνουμε ακριβώς τα αντίθετα που κάναμε στο βήμα 6. Συγκεκριμένα δημιουργούμε ένα νέο επίπεδο και επιλέγουμε μια πιο ανοιχτόχρωμη απόχρωση από το αρχικό χρώμα της κάρτας μας (στο βοήθημα χρησιμοποιώ το χρώμα #0054a8). Με το εργαλείο &#8220;ντεγκραντέ&#8221; και πάλι σύρουμε αυτή τη φορά από πάνω προς τα κάτω.</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4052 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/14.png" alt="" width="580" height="411" /></p>
</blockquote>
<h1><strong>Βήμα 8 </strong></h1>
<p><strong> </strong></p>
<p>Αφού δημιουργήσουμε ένα επιπλέον layer, επιλέγουμε το &#8220;εργαλείο ελλειπτικής επιλογής&#8221; και κατασκευάζουμε έναν μακρόστενο κύκλο κατά μήκος της κάρτας. Επιλέγοντας ένα πολύ απαλό χρώμα (#b1d5f9), με την βοήθεια του εργαλείου ντεγκραντέ σύρουμε από πάνω προς τα κάνω, όπως φαίνεται και στην παρακάτω εικόνα και επιπλέον μετακινούμε την τιμή της διαφάνειας του επιπέδου γύρω στο 15%.</p>
<blockquote>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4053" src="http://greektuts.net/wp-content/uploads3/2010/07/15.png" alt="" width="580" height="353" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4054" src="http://greektuts.net/wp-content/uploads3/2010/07/16.png" alt="" width="580" height="411" /></p>
</blockquote>
<h1><strong>Βήμα 9</strong></h1>
<p><strong> </strong></p>
<p>Τέλος με το εργαλείο ορθογωνίου κατασκευάζουμε ένα ορθογώνιο και το τοποθετούμε πάνω αριστερά. Έπειτα κάνουμε διπλό click πάνω στο ορθογώνιο για να εμφανιστεί το μενού επιλογών &#8220;στυλ επιπέδου&#8221;. Προσθέστε τα εφέ, σκιά και επικάλυψη ντεγκραντέ σύμφωνα με τις παρακάτω εικόνες.</p>
<blockquote>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4055" src="http://greektuts.net/wp-content/uploads3/2010/07/17.png" alt="" width="580" height="370" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4056" src="http://greektuts.net/wp-content/uploads3/2010/07/18.png" alt="" width="580" height="325" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4057" src="http://greektuts.net/wp-content/uploads3/2010/07/19.png" alt="" width="580" height="324" /></p>
</blockquote>
<h1><strong>Βήμα 10</strong></h1>
<p><strong> </strong></p>
<p>Από εδώ και πέρα μπορείτε πια να προσθέσετε το δικό σας logo και τις δικές σας προσωπικές πληροφορίες. Το τελικό αποτέλεσμα της κάρτας μας θα είναι κάπως έτσι.</p>
<blockquote>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4058" src="http://greektuts.net/wp-content/uploads3/2010/07/20.png" alt="" width="580" height="410" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-4059" src="http://greektuts.net/wp-content/uploads3/2010/07/21.png" alt="" width="580" height="416" /></p>
</blockquote>
<blockquote>
<p style="text-align: center;"><em><strong>Μπορείτε να κατεβάσετε τα     αρχεία του βοηθήματος εδώ</strong></em></p>
<p style="text-align: center;"><a href="http://greektuts.net/wp-content/uploads3/2010/07/epagelmatiki_karta.zip" target="_self"><em><strong><img src="../wp-content/uploads/2009/10/membersdownload1.png" alt="download" width="200" height="200" /></strong></em></a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://greektuts.net/create-your-business-card/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>GreekTuts v3.0</title>
		<link>http://greektuts.net/greektuts-v3-0/</link>
		<comments>http://greektuts.net/greektuts-v3-0/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 07:27:45 +0000</pubDate>
		<dc:creator>Pantso</dc:creator>
				<category><![CDATA[Νέα]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[greek]]></category>
		<category><![CDATA[greektuts]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[tuts]]></category>
		<category><![CDATA[version 3]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[Άρθρα]]></category>
		<category><![CDATA[βοηθήματα]]></category>
		<category><![CDATA[έκδοση 3]]></category>
		<category><![CDATA[ελληνικά βοηθήματα]]></category>
		<category><![CDATA[επανασχεδιασμός]]></category>
		<category><![CDATA[νέα έκδοση]]></category>
		<category><![CDATA[Προγραμματισμός]]></category>
		<category><![CDATA[προσθήκες]]></category>
		<category><![CDATA[τεχνολογία]]></category>

		<guid isPermaLink="false">http://greektuts.net/?p=4030</guid>
		<description><![CDATA[Με τον ερχομό της πολυαναμενόμενης νέας έκδοσης του WordPress, αλλά και μετά από πάνω από 1 χρόνο λειτουργίας, το GreekTuts περνάει στην 3η έκδοση του. Σταδιακά λοιπόν, και μέχρι το τέλος του Ιουλίου όπου και θα πραγματοποιηθεί η αναβάθμιση, σε αυτό εδώ το άρθρο θα παρουσιάζουμε σιγά σιγά τις αλλαγές τόσο σε design όσο και σε λειτουργίες. Μείνετε μαζί μας, σε αυτό το ταξίδι μας...]]></description>
			<content:encoded><![CDATA[<h1>Νέα Χαρακτηριστικά</h1>
<p>Με το πέρας του καιρού, και έχοντας πλέον στις πλάτες μας <a href="http://greektuts.net/1-year-greektuts-birthday/" target="_blank">πάνω από έναν χρόνο</a>, βλέπουμε τις ανάγκες των αναγνωστών μας να αυξάνονται, και πλέον πιο σίγουροι από ποτέ, μπορούμε να έχουμε μια πιο πλήρη άποψη για το τι μας λείπει και τι χρειαζόμαστε, ώστε να είμαστε πάντα στην κορυφή. Εμείς θα σας αποκαλύψουμε κάποια από τα νέα χαρακτηριστικά που θα έχει η τρίτη έκδοση του GreekTuts, αλλά θα σας κρατήσουμε και μερικά για έκπληξη. Μια σύντομη λίστα λοιπόν με τις νέες προσθήκες στο GreekTuts:</p>
<ul>
<li>Redesign &#8211; Πλήρης επανασχεδιασμός του look και της δομής της ιστοσελίδας</li>
<li>Επιστροφή του forum</li>
<li>Επανασχεδιασμός σχολίων, για πιο εύκολη συζήτηση πάνω στα άρθρα</li>
<li>Νέα περιοχή μελών, με άμεση πρόσβαση σε όλα τα αρχεία</li>
<li>Επανασχεδιασμός προσωπικής σελίδας συντακτών</li>
<li>Αλλά και πολλά άλλα&#8230;</li>
</ul>
<h1>Blast to the Past</h1>
<p>Ας θυμηθούμε όμως πώς ήταν το GreekTuts όταν άνοιξε. Ακολουθεί μια φωτογραφία, από το περιοδικό <a href="http://greektuts.net/june-pcmagazine/" target="_blank">PCMagazine</a>, το οποίο μας έχει κάνει την τιμή να αναφερθεί σε εμάς, τόσο στην έντυπη όσο και στην διαδικτυακή μορφή του.</p>
<blockquote>
<p style="text-align: center;"><a href="http://greektuts.net/wp-content/uploads/2009/06/pcmag.png"><img class="aligncenter" title="GreekTuts v1.0" src="http://greektuts.net/wp-content/uploads/2009/06/pcmag.png" alt="GreekTuts v1.0" width="420" height="590" /></a></p>
</blockquote>
<h1>Previews</h1>
<p>Κατά την διάρκεια του Ιουλίου, και μέχρι το τέλος του, θα αποκαλύπτονται εβδομάδα με την εβδομάδα screenshots από την νέα έκδοση του GreekTuts&#8230;</p>
<h2>Κεντρική Σελίδα</h2>
<blockquote>
<p style="text-align: center;"><img class="aligncenter" src="../wp-content/uploads3/2010/07/gtv3preview.jpg" alt="" width="580" height="450" /></p>
</blockquote>
<h2>Άρθρο σε Πλήρη Ανάπτυξη</h2>
<blockquote>
<p style="text-align: center;"><img class="aligncenter" src="../wp-content/uploads3/2010/07/gtv3preview.jpg" alt="" width="580" height="450" /></p>
</blockquote>
<h2>Στατική Σελίδα</h2>
<blockquote>
<p style="text-align: center;"><img class="aligncenter" src="../wp-content/uploads3/2010/07/gtv3preview.jpg" alt="" width="580" height="450" /></p>
</blockquote>
<h2>Σελίδα Επικοινωνίας</h2>
<blockquote>
<p style="text-align: center;"><img class="aligncenter" src="../wp-content/uploads3/2010/07/gtv3preview.jpg" alt="" width="580" height="450" /></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://greektuts.net/greektuts-v3-0/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Γιατί η Python μοιάζει με τον Chuck Norris</title>
		<link>http://greektuts.net/why-python-is-like-chuck-norris/</link>
		<comments>http://greektuts.net/why-python-is-like-chuck-norris/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 07:20:02 +0000</pubDate>
		<dc:creator>KrAp</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Άρθρα]]></category>
		<category><![CDATA[apostolos]]></category>
		<category><![CDATA[apostolos kritikos]]></category>
		<category><![CDATA[chuck norris]]></category>
		<category><![CDATA[krap]]></category>
		<category><![CDATA[kritikos]]></category>
		<category><![CDATA[python and chuck norris]]></category>
		<category><![CDATA[απόστολος]]></category>
		<category><![CDATA[Γιατί η Python μοιάζει με τον Chuck Norris]]></category>

		<guid isPermaLink="false">http://greektuts.net/?p=4020</guid>
		<description><![CDATA[Ο οδηγός Python αποτελεί τον πιο ανεπτυγμένο, από άποψη περιεχομένου οδηγό, που έχω καταθέσει στο GreekTuts.net. Οι έμπειροι προγραμματιστές εντοπίζουν εύκολα πότε μια γλώσσα προγραμματισμού αξίζει της προσοχής τους. Με βάση αυτό το σκεπτικό ξεκίνησα να γράφο τον οδηγό της Python χωρίς να σκεφθώ ότι για κάποιους, η δύναμη της Python μπορεί να είναι ασαφής ή ακόμη και άγνωστη.]]></description>
			<content:encoded><![CDATA[<p>Μία πρόσφατη κουβέντα που είχα με μερικούς φίλους κατέληξε, ούτε λίγο ούτε πολύ στο εξής. «Γιατί να αρχίσεις έναν οδηγό για Python;». Φαίνεται πως η απάντησή μου «γιατί πήρε  το όνομά της από ταινία των Monty Python» δεν ήταν αρκετή. «Ε και; Θα χρειαστούν καλύτερα επιχειρήματα από αυτό για να πείσεις κάποιον να διαβάσει τον οδηγό σου!».</p>
<p>Όπως είπα παραπάνω, ο έμπειρος προγραμματιστής έχει μια σειρά τρόπων για να κατανοεί τη σπουδαιότητα μιας γλώσσας προγραμματισμού. Ένα πολύ πρακτικός τρόπος, που αποτελεί και γενική πρακτική, είναι η αξιολόγηση των εφαρμογών που έχουν υλοποιηθεί κάνοντας χρήση της γλώσσας αυτής.</p>
<h1><strong>Ο </strong><strong>Chuck </strong><strong>Norris και η </strong><strong>Python</strong></h1>
<p><strong> </strong></p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4021 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/chuckthon.png" alt="" width="342" height="348" /></p>
</blockquote>
<p>Ο Chuck Norris αποτελεί πλέον persona – φαινόμενο χάρη στο διαδικτυακό καλαμπούρι που ξεκίνησε στις τάξεις των geeks του διαδικτύου (<a href="http://www.chucknorrisfacts.com/">http://www.chucknorrisfacts.com/</a>). Αποτελεί δηλαδή ένα παράδειγμα χαρακτήρα που, ενώ η πρωταρχική του ιδιότητα θα μπορούσε να χαρακτηρισθεί αδιάφορη, η χρήση του σε ένα πετυχημένο (και παράλληλα έξυπνο) project, όχι μόνον τον έφερε και πάλι στο προσκήνιο, αλλά εκτίναξε και το «κασέ» του, στα ύψη.</p>
<p>Με παρόμοιο τρόπο η Python αντλεί μεγάλη δύναμη μέσα από τις εφαρμογές για την υλοποίηση των οποίων έχει χρησιμοποιηθεί. Προφανώς η Python, σαν γλώσσα προγραμματισμού, έχει κάποια δυνατά σημεία και κάποιες αδυναμίες. Και οι δύο αυτές κατηγορίες σημείων όμως, κατά την προσωπική μου άποψη, περιλαμβάνουν ζητήματα υποκειμενικά. Μία εφαρμογή αντίθετα, χαρακτηρίζεται από χαρακτηριστικά όπως λειτουργικότητα, ορθότητα (ύπαρξη κατά το δυνατό λιγότερων λαθών), φορητότητα (υποστήριξη διαφορετικών λειτουργικών συστημάτων, κλπ. Αυτά τα χαρακτηριστικά, όντας εύληπτα από τους περισσότερους χρήστες, έμπειρους και μη, διευκολύνουν την αξιολόγηση της ίδιας της γλώσσας προγραμματισμού (κρίση δια του αποτελέσματος) μέσα από μία, θεωρώ, αντικειμενικότερη ματιά.</p>
<p>Αν λοιπόν η επιτυχία του Chuck Norris εκτινάχθηκε στα ύψη από την δημοσιοποίηση ενός καλοστημένου project σκεφθείτε που πρέπει να κατατάξουμε την γλώσσα Python μετά την παρουσίαση όχι μιας, ούτε δύο αλλά 4 + 1 εκπληκτικών εφαρμογών.</p>
<p>Έχετε δίπλα σας την κούπα με τον αγαπημένο καφέ ή τσάι; Ας ξεκινήσουμε…</p>
<h1><strong>Mercurial: Δουλέψτε ευκολότερα, δουλέψτε ταχύτερα</strong></h1>
<p>Αποτελεί εργαλείο που απευθύνεται κυρίως σε ανθρώπους που ασχολούνται με την ανάπτυξη λογισμικού. Πρόκειται για μια εφαρμογή ανοικτού λογισμικού (δηλαδή ο κώδικας διατίθεται ελεύθερα προς χρήση και τροποποίηση) η οποία λειτουργεί σε Windows, Mac OS X και στα περισσότερα συστήματα τύπου UNIX. Αποστολή του είναι η ομαδική ανάπτυξη ενός έργου λογισμικού με ταυτόχρονη παρακολούθηση, καταγραφή και τήρηση ιστορικού των αλλαγών που γίνονται από τους προγραμματιστές που συμμετέχουν στο έργο. Παρακολουθούνται αρχεία τύπου text αλλά και binary αρχεία.</p>
<p>Η εφαρμογή διατίθεται κάτω από άδεια GNU GPL ενώ ο δημιουργός και κύριος προγραμματιστής του έργου είναι ο Matt Mackall. Η υλοποίησή της βασίζεται στις γλώσσες Python και C.</p>
<p><span style="text-decoration: underline;">Επίσημη ιστοσελίδα</span>: <a href="http://mercurial.selenic.com/">http://mercurial.selenic.com/</a></p>
<h1><strong>Gwibber: </strong><strong>Microblogging Freedom</strong></h1>
<p><strong> </strong></p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4022 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/gwibber.png" alt="" width="580" height="197" /></p>
</blockquote>
<p>Η εφαρμογή gwibber αποτελεί μια δωρεάν εφαρμογή πελάτη για τη διαχείριση γνωστών ιστοσελίδων κοινωνικής δικτύωσης (Twitter, Identi.ca, StatusNet, Facebook, FriendFeed, Digg, Flickr, Qaiku). Είναι φτιαγμένη για εμφανίζει στον χρήστη, ανά πάσα στιγμή, διαφορετικές ροές. Απευθύνεται σε λειτουργικά συστήματα Linux (είναι μάλιστα προεγκατεστημένη στην έκδοση 10.04 της διανομής Ubuntu).</p>
<p><span style="text-decoration: underline;">Επίσημη ιστοσελίδα</span>: <a href="http://gwibber.com/">http://gwibber.com/</a></p>
<h1><strong>Emesen: An IM for the WLM<sup>TM</sup> network</strong></h1>
<p>Πρόκειται για μία από τις αγαπημένες μου εφαρμογές για λειτουργικά συστήματα Linux. Αντικαθιστά επάξια το MSN των Windows.</p>
<p>Αποστολή του είναι να «αντιγράψει» τις ιδιότητες του MSN προσφέροντας στον χρήστη Linux Λειτουργικών συστημάτων ένα εύχρηστο αλλά παράλληλα οικείο περιβάλλον αποστολής προσωπικών μηνυμάτων.</p>
<p>Λειτουργεί άψογα με λογαριασμούς Microsoft και φυσικά διατίθεται δωρεάν με άδεια GNU GPL.</p>
<p>Όπως και πριν, το Emesen είναι γραμμένο σε Python.</p>
<p><span style="text-decoration: underline;">Επίσημη ιστοσελίδα</span>: <a href="http://www.emesene.org/">http://www.emesene.org/</a> <strong> </strong></p>
<h1><strong>Trac: Integrated SCM &amp; Project Management</strong></h1>
<p><strong> </strong></p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4023 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/traclogo.png" alt="" width="512" height="512" /></p>
</blockquote>
<p>Ακόμη ένα εξαιρετικό εργαλείο για ανάπτυξη και εκσφαλμάτωση λογισμικού γραμμένο αποκλειστικά σε Python. Διατίθεται δωρεάν και αποτελεί λογισμικό ανοικτού κώδικα. Η αρχική του ονομασία ήταν svntrac λόγω της ικανότητάς του να συνεργάζεται με το Subversion.</p>
<p><span style="text-decoration: underline;">Επίσημη ιστοσελίδα</span>: <a href="http://trac.edgewall.org/">http://trac.edgewall.org/</a></p>
<h1><strong>(+1) </strong><strong>Django: </strong><strong>Web </strong><strong>framework για τελειομανείς με </strong><strong>deadlines</strong></h1>
<p><strong> </strong></p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4024 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/07/django.jpg" alt="" width="350" height="122" /></p>
</blockquote>
<p>Το Jango αποτελεί στην κυριολεξία ένα trend της εποχής. Πρόκειται για ένα Web Framework που διατίθεται δωρεάν κάτω από BSD License και φυσικά ο κώδικάς του είναι ανοικτός. Η μυστήρια ονομασία του προέρχεται από τον τσιγγάνο κιθαρίστα <a title="Django  Reinhardt" href="http://en.wikipedia.org/wiki/Django_Reinhardt">Django Reinhardt</a>. Είναι γραμμένο εξ’ ολοκλήρου σε Python.</p>
<p><span style="text-decoration: underline;">Επίσημη ιστοσελίδα</span>: <a href="http://www.djangoproject.com/">http://www.djangoproject.com</a></p>
<p>Για όσους από εσάς λοιπόν δεν είναι ξεκάθαρο το πόσο σημαντική γλώσσα είναι η Python, οι παραπάνω εφαρμογές έρχονται να «ξεκαθαρίσουν» το τοπίο, κάνοντας σαφές με τον καλύτερο τρόπο ότι κάποιος που γνωρίζει καλά Python, μπορεί να υλοποιήσει μια μεγάλη γκάμα πραγμάτων, που εμπίπτουν σε ποικιλία τεχνολογιών.</p>
<p>Μέχρι την επόμενη λοιπόν φορά που θα τα πούμε…</p>
<p><em><span style="text-decoration: underline;">…να είστε καλά και να προσέχετε τον εαυτό σας</span>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://greektuts.net/why-python-is-like-chuck-norris/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>100+ Δωρεάν Photoshop Brushes</title>
		<link>http://greektuts.net/100-plus-free-photoshop-brushes/</link>
		<comments>http://greektuts.net/100-plus-free-photoshop-brushes/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 07:39:31 +0000</pubDate>
		<dc:creator>silve992</dc:creator>
				<category><![CDATA[Δωρεάν Υλικό]]></category>
		<category><![CDATA[100+ free brushes]]></category>
		<category><![CDATA[100+ Δωρεάν Photoshop Brushes]]></category>
		<category><![CDATA[brusheezy]]></category>
		<category><![CDATA[brusheezy.com]]></category>
		<category><![CDATA[free brushes]]></category>
		<category><![CDATA[free photoshop brushes]]></category>
		<category><![CDATA[δωρεάν υλικό]]></category>

		<guid isPermaLink="false">http://greektuts.net/?p=4005</guid>
		<description><![CDATA[Σε αυτό το άρθρο σας παρουσιάζουμε πάνω από 100 δωρεάν Photoshop brushes, τα όποια ψάξαμε και βρήκαμε για εσάς στην τεράστια συλλογή του Brusheezy.com. Το Brusheezy είναι ίσως το νούμερο ένα μέρος στο διαδίκτυο για δωρεάν brushes και textures για το Adobe Photoshop, και έτσι εμείς απευθυνθήκαμε εκεί για να σας παρουσιάσουμε τις καλύτερες από αυτές]]></description>
			<content:encoded><![CDATA[<p>Το σετ που σας παρουσιάζουμε σήμερα περιέχει περισσότερες από 100 δωρεάν brushes για το Photoshop, και είναι όλες από την τεράστια συλλογή του <a href="http://www.brusheezy.com/" target="_blank">Brusheezy.com</a>. Δείτε τι περιέχει το σετ και κατεβάστε τα αρχεία στο τέλος του άρθρου.</p>
<blockquote>
<p style="text-align: center;"><a href="http://www.brusheezy.com/members/taz"><img class="size-full wp-image-4007 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/1.png" alt="" width="310" height="230" /></a></p>
</blockquote>
<p style="text-align: center;">Urban Scrawl</p>
<blockquote>
<p style="text-align: center;"><a href="http://www.brusheezy.com/members/horhew"><img class="size-full wp-image-4008 aligncenter" title="2" src="http://greektuts.net/wp-content/uploads3/2010/06/2.png" alt="" width="310" height="229" /></a></p>
</blockquote>
<p style="text-align: center;">Complete Tree Brushes</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4009 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/3.png" alt="" width="309" height="230" /></p>
</blockquote>
<p style="text-align: center;">Old Photoshop Brushes</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4010 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/4.png" alt="" width="309" height="230" /></p>
</blockquote>
<p style="text-align: center;">Buble Brushes</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-4011 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/5.png" alt="" width="309" height="230" /></p>
</blockquote>
<p style="text-align: center;">Ecol Brushes</p>
<p style="text-align: center;"><a href="http://greektuts.net/wp-content/uploads3/2010/06/100+FreeBrushes.zip"><img class="size-full wp-image-4006 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/filedownload3.png" alt="" width="623" height="76" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://greektuts.net/100-plus-free-photoshop-brushes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Βασικοί JQuery Selectors</title>
		<link>http://greektuts.net/basic-jquery-selectors/</link>
		<comments>http://greektuts.net/basic-jquery-selectors/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 07:51:30 +0000</pubDate>
		<dc:creator>KrAp</dc:creator>
				<category><![CDATA[jQuery]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[j Query]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery donwload]]></category>
		<category><![CDATA[jquery selectors]]></category>
		<category><![CDATA[krap]]></category>
		<category><![CDATA[kritikos]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[selectors]]></category>
		<category><![CDATA[απόστολος]]></category>
		<category><![CDATA[απόστολος κρητικός]]></category>

		<guid isPermaLink="false">http://greektuts.net/?p=3995</guid>
		<description><![CDATA[Σε προηγούμενα άρθρα έχουμε δεί τα βασικά χαρακτηριστικά της JQuery, και μάθαμε σχεδόν όλα όσα χρειαζόμαστε για να ξεκινήσουμε την περιήγηση μας στον κόσμο της. Σε αυτό το άρθρο θα ασχοληθούμε με ένα ζήτημα που αποτελεί ακρογωνιαίο λίθο στην JQuery, και αυτό είναι οι selectors της πασίγνωστης βιβλιοθήκης Javascript.]]></description>
			<content:encoded><![CDATA[<p><strong> </strong></p>
<p>Στο τέλος του οδηγού θα μπορούμε:</p>
<ul>
<li>Να κάνουμε χρήση των κλασικών JQuery selectors</li>
<li>Να κάνουμε χρήση των ιεραρχικών JQuery selectors</li>
</ul>
<h1><strong>Προαπαιτούμενα</strong></h1>
<p><strong> </strong></p>
<p>Εισαγωγή στην JQuery:  <a href="../jquery-intro/">Μέρος 1ο</a>, <a href="../jquery-intro-part2/">Μέρος  2ο</a> <em>(του Παναγιώτη Γρηγορόπουλου)</em></p>
<h1><strong>Πριν ξεκινήσουμε…</strong></h1>
<p><strong> </strong></p>
<p>… θα ήθελα να επισημάνω ένα – δύο πρακτικά ζητήματα.</p>
<p>Στη συνέχεια παρουσιάζεται ο τρόπος για να επιτευχθούν οι στόχοι που περιγράψαμε στην εισαγωγή. Θα παρατηρήσετε ότι το άρθρο ακολουθεί τη δομή:</p>
<p><em>Μικρή περιγραφή του τι θέλουμε να επιτύχουμε (+ επιπλέον σχόλια)</em></p>
<p><em>Παράδειγμα κώδικα</em></p>
<p>Στο τέλος του άρθρου θα βρείτε συνημμένο ένα συμπιεσμένο αρχείο που περιέχει:</p>
<ul>
<li>Τις δύο      εκδόσεις της JQuery</li>
<li>Συγκεντρωμένα      όλα τα παραδείγματα.</li>
</ul>
<p>Για να χρησιμοποιήσετε ορθά το πακέτο, το μόνο που έχετε να κάνετε είναι να το αποσυμπιέσετε σε κάποιο κατάλογο του συστήματος σας και στη συνέχεια χωρίς να κάνετε καμία αλλαγή στο περιεχόμενο του…</p>
<ul>
<li>Κάνοντας      διπλό κλικ στα αρχεία τύπου html μπορείτε να δείτε το αποτέλεσμα      των παραδειγμάτων.</li>
<li>Ανοίγοντας      τα αρχεία τύπου html με τον αγαπημένο σας επεξεργαστή κειμένου (προσωπικά      χρησιμοποιώ τον <a href="http://sourceforge.net/projects/notepad-plus/files/notepad%2B%2B%20releases%20binary/npp%205.6.8%20bin/npp.5.6.8.Installer.exe/download">Notepad++</a> και ορίζω      την γλώσσα προγραμματισμού σε Javascript) μπορείτε να δείτε τον κώδικα (html και JQuery).</li>
</ul>
<p><em>Βεβαιωθείτε ότι δεν ξεχάσατε το μάτι της κουζίνας ανοικτό, ετοιμάστε μία κούπα καφέ ή τσάι, βάλτε απαλή μουσική και ξεκινάμε…</em></p>
<h1><strong>Τι είναι οι </strong><strong>JQuery </strong><strong>Selectors;</strong></h1>
<p>Αναρωτηθήκατε ποτέ γιατί η JQuery ονομάστηκε έτσι; Πολλοί από εσάς ίσως αναγνωρίζουν το J σαν συντομογραφία της JavaScript αλλά, το Query που κολλάει;</p>
<p>Θα σας βοηθήσω. Η έννοια query είναι γνωστότερη στην περιοχή των βάσεων δεδομένων όπου περιγράφει μία ερώτηση, μία αναζήτηση αν θέλετε, του χρήστη ως προς τη βάση δεδομένων με σκοπό να του επιστραφεί το σύνολο των εγγραφών, των στοιχείων δηλαδή της βάσης δεδομένων, που ικανοποιούν το ερώτημα αυτό. Σε μία βάση δεδομένων με τα δημογραφικά στοιχεία μιας χώρας για παράδειγμα ενδεικτικά queries θα μπορούσαν να είναι: «Αναζητώ όλους τους άνδρες με ηλικία άνω των 50 ετών», ή «Αναζητώ όλους τους κατοίκους της περιοχής Άνω Πόλη» ή «Αναζητώ γυναίκες μεταξύ 25 και 35 ετών που είναι ανύπαντρες» <em>(ΟΚ το τελευταίο ακούγεται κάπως αλλά εν πάση περιπτώσει αντιλαμβάνεστε πως λειτουργεί ένα </em><em>query)</em>.</p>
<p>Στην JQuery ένα query λειτουργεί με παρόμοιο τρόπο. Αναλαμβάνει να συλλέξει ένα σύνολο από τα στοιχεία που βρίσκονται στην υπό ανάπτυξη ιστοσελίδα ώστε να μπορέσει στη συνέχεια, ο προγραμματιστής, να επέμβει σε αυτά (είτε αισθητικά, είτε λειτουργικά). Τον ρόλο των queries στην JQuery βιβλιοθήκη παίζουν δύο ομάδες συναρτήσεων που ονομάζονται Selectors και Filters αντίστοιχα. Σήμερα θα ασχοληθούμε με τους Selectors.</p>
<h1><strong>Κάτι μου θυμίζει…</strong></h1>
<p><strong> </strong></p>
<p>Αν η παραπάνω συζήτηση σας φαίνεται γνώριμη τότε μάλλον έχετε παρακολουθήσει κάποιο από τα άρθρα που συνιστούμε ως προαπαιτούμενα στην αρχή του άρθρου. Σε αυτά τα δύο άρθρα, ο Παναγιώτης Γρηγορόπουλος έχει περιγράψει το μεγαλύτερο μέρος των βασικών σημείων της βιβλιοθήκης της JQuery και, όπως είναι φυσικό, έχει ασχοληθεί και με το θέμα των Selectors. Σε αυτό εδώ το άρθρο, θα δούμε το ζήτημα αυτό αναλυτικότερα και θα παρουσιάσουμε εξειδικευμένα παραδείγματα. Ακόμη και αν έχετε διαβάσει τα παραπάνω άρθρα, μείνετε μαζί μας. Σας υπόσχομαι ότι δεν θα βαρεθείτε J</p>
<h1><strong>JQuery </strong><strong>selectors. Πλοηγηθείτε στα στοιχεία της ιστοσελίδας σας.</strong></h1>
<p><strong> </strong></p>
<p>Για την καλύτερη κατανόηση των εννοιών που παρουσιάζουμε σε αυτό το άρθρο έχω ετοιμάσει ένα δείγμα ιστοσελίδας στο οποίο και θα δουλεύουμε για λίγο καιρό. Το αποτέλεσμα, όταν το ανοίξουμε με τον αγαπημένο μας browser μοιάζει κάπως έτσι:</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-3997 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/sample.png" alt="" width="579" height="293" /></p>
</blockquote>
<p>Αντίστοιχα ο κώδικας του αρχείου χωρίς το κομμάτι της JQuery είναι ο ακόλουθος:</p>
<pre name="code" class="html">
&lt;html&gt;

&lt;head&gt;

&lt;title&gt;JQuery Selectors | GreekTuts.net&lt;/title&gt;

&lt;/head&gt;

&lt;body&gt;

&lt;h1 id="header"&gt;Μια επικεφαλίδα&lt;/h1&gt;

&lt;p&gt;Μια απλή παράγραφος κειμένου. Μια απλή παράγραφος κειμένου. Μια απλή παράγραφος κειμένου. Μια απλή παράγραφος κειμένου. Μια απλή παράγραφος κειμένου. Μια απλή παράγραφος κειμένου. Μια απλή παράγραφος κειμένου.&lt;/p&gt;

&lt;p id="secondparagraph"&gt;Μία ακόμη παράγραφος. Μία ακόμη παράγραφος. Μία ακόμη παράγραφος. Μία ακόμη παράγραφος. Μία ακόμη παράγραφος. Μία ακόμη παράγραφος. Μία ακόμη παράγραφος. Μία ακόμη παράγραφος. Μία ακόμη παράγραφος. Μία ακόμη παράγραφος.&lt;/p&gt;

&lt;table&gt;

&lt;tr&gt;

&lt;td&gt;Δεδομένο 1.1&lt;/td&gt;

&lt;td&gt;Δεδομένο 1.2&lt;/td&gt;

&lt;td&gt;Δεδομένο 1.3&lt;/td&gt;

&lt;/tr&gt;

&lt;tr&gt;

&lt;td&gt;Δεδομένο 2.1&lt;/td&gt;

&lt;td&gt;Δεδομένο 2.2&lt;/td&gt;

&lt;td&gt;Δεδομένο 2.3&lt;/td&gt;

&lt;/tr&gt;

&lt;tr&gt;

&lt;td&gt;Δεδομένο 3.1&lt;/td&gt;

&lt;td&gt;Δεδομένο 3.2&lt;/td&gt;

&lt;td class="someclass"&gt;Δεδομένο 3.3&lt;/td&gt;

&lt;/tr&gt;

&lt;/table&gt;

&lt;p&gt;3η παράγραφος...&lt;/p&gt;

&lt;p&gt;4η &lt;b&gt;παράγραφος...&lt;/b&gt; ( μπορεί να γίνεται &lt;b&gt;κουραστικό&lt;/b&gt; αλλά είναι για καλό σκοπό <img src='http://greektuts.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )&lt;/p&gt;

&lt;/body&gt;

&lt;/html&gt;
</pre>
<p>Ας πάμε να εμπλουτίσουμε τον κώδικά μας με λίγο JQuery και να δούμε πως μπορούμε να επιλέξουμε κάποια από τα στοιχεία στην ιστοσελίδα μας. Υπενθυμίζω ότι ο κώδικας JQuery μπαίνει στο τμήμα &lt;head&gt; … &lt;/head&gt; της ιστοσελίδας μας και αρχίζει πάντοτε με την συμπερίληψη της βιβλιοθήκης JQuery.</p>
<pre name="code" class="html">
&lt;script src="jquery-1.4.2.min.js"&gt;&lt;/script&gt;
</pre>
<p>Στη συνέχεια πρέπει να δηλώσουμε στον browser ότι θέλουμε ο JQuery κώδικάς μας να εκτελεστεί όταν φορτώνεται η ιστοσελίδα. Για τον λόγο αυτό δηλώνουμε την παρακάτω συνάρτηση μέσα στην οποία θα πειραματιστούμε (τώρα και σε όλα τα υπόλοιπα άρθρα της σειράς)</p>
<pre name="code" class="html">
&lt;script&gt;

$("document").ready(function() {

//κώδικας

});

&lt;/script&gt;
</pre>
<h1><strong>Μερικοί απλοί </strong><strong>selectors</strong></h1>
<p><strong> </strong></p>
<p>Πριν ξεκινήσουμε 1 – 2 διευκρινήσεις:</p>
<ul>
<li>HTML tag: Ένα html tag είναι      μια λέξη κλειδί (εντολή) της html. Π.χ. &lt;body&gt;, &lt;p&gt;,      &lt;li&gt;, &lt;b&gt;, κλπ.</li>
<li>.css(…): Συνάρτηση της JQuery που επεμβαίνει      στο CSS του στοιχείου που προηγείται της τελείας και επιδρά με      τον τρόπο που περιγράφουν τα ορίσματα της παρένθεσης. Στο σημερινό άρθρο      θα συναντήσετε την δήλωση <em>css(&#8220;</em><em>border&#8221;, &#8220;</em><em>thin </em><em>solid </em><em>red&#8221;)</em>.      Αυτό που πρακτικά κάνει είναι να περικλείει το / τα επιλεγμένο(α)      στοιχείο(α) σε ένα κόκκινο πλαίσιο ώστε να μπορείτε να δείτε το αποτέλεσμα      του JQuery κώδικα κάθε φορά. Θα σας πρότεινα να αγνοήσετε τον      τρόπο που λειτουργεί για την ώρα. Επικεντρωθείτε στους selectors.</li>
<li>Σχόλια JQuery ( // ): Όπως σε      κάθε γλώσσα προγραμματισμού έτσι και στην JQuery υπάρχει      η δυνατότητα δήλωσης σχολίων. Αυτή γίνεται με την προσθήκη των χαρακτήρων //      μπροστά από τη γραμμή που θέλουμε να προσδιορίσουμε ως σχόλιο. Στο σημερινό      παράδειγμά μας (που μπορείτε να κατεβάσετε στο τέλος του άρθρου) θα βρείτε      συγκεντρωμένους όλους τους selectors που θα παρουσιάσουμε. Για να μην μπερδευτείτε, τους      δίνουμε υπό μορφή σχολίων. Κάθε φορά που θέλετε να δοκιμάσετε κάποιον το      μόνο που έχετε να κάνετε είναι να αφαιρέσετε το // μπροστά από τη γραμμή      που σας ενδιαφέρει (και φυσικά να προσθέσετε // σε όλες τις υπόλοιπες)      ώστε να είναι ενεργοποιημένος μόνον ένας selector κάθε      φορά.</li>
</ul>
<h1><strong>Επιλογή όμοιων </strong><strong>tags</strong></h1>
<p><strong> </strong></p>
<pre name="code" class="html">
$("p").css("border", "thin solid red")
</pre>
<p>Ο παραπάνω selector θα επιλέξει όλα τα στοιχεία &lt;p&gt; που βρίσκονται στην ιστοσελίδα μας. Όπως παρατηρείτε ο selector δεν είναι τίποτε άλλο παρά το σήμα κατατεθέν της JQuery (δηλαδή το $) ακολουθούμενο από τον προσδιοριστή που θέλουμε, στην περίπτωσή μας το p κλεισμένο σε παρενθέσεις και διπλά εισαγωγικά. Παρατηρήστε ότι βάζουμε την περιγραφή του tag μόνο, χωρίς τα &lt; &gt; στα οποία περικλείεται κανονικά.</p>
<h1><strong>Επιλογή</strong><strong> στοιχείων</strong><strong> με</strong><strong> ίδια</strong><strong> κλάση</strong><strong> </strong></h1>
<pre name="code" class="html">
$(".someclass").css("border", "thin solid red")
</pre>
<p>Πολλές φορές ρυθμίζουμε την εμφάνιση συγκεκριμένων στοιχείων κάνοντας χρήση κλάσεων CSS. Με τον selector $(&#8220;.myClass&#8221;) μπορούμε να επιλέξουμε όλα τα στοιχεία της ιστοσελίδας μας που ανήκουν σε αυτήν την κλάση.</p>
<h1><strong>Επιλογή στοιχείου με βάση το </strong><strong>id</strong></h1>
<p><strong> </strong></p>
<pre name="code" class="html">
$("#header").css("border", "thin solid red")
</pre>
<p>Ένας άλλος μηχανισμός που προσφέρεται από τα CSS είναι τα ids. Ο selector $(&#8220;#id&#8221;) μας επιτρέπει να διαχειριστούμε στοιχεία με ids μέσω της JQuery.</p>
<h1><strong>Επιλογή στοιχείων με βάση το </strong><strong>tag και την κλάση</strong></h1>
<pre name="code" class="html">
$("td.someclass").css("border", "thin solid red")
</pre>
<p>Είναι εφικτό να υπάρξουν συνδυαστικοί selectors. Ο παραπάνω επιλέγει όλα τα tags τύπου td που όμως ανήκουν στην κλάση someclass.</p>
<h1><strong>Επιλογή στοιχείων με βάση το </strong><strong>tag, το </strong><strong>id και την κλάση</strong></h1>
<pre name="code" class="html">
$("p#secondparagraph.someclass").css("border", "thin solid red")
</pre>
<p>Σε αυτόν τον πολύ συγκεκριμένο selector γίνεται χρήση των μηχανισμών του id και της κλάσης. Πιο συγκεκριμένα θα επιλεγεί εκείνο το στοιχείο με id secondparagraph και κλάση someclass.</p>
<h1><strong>Selectors ιεραρχίας</strong></h1>
<p>Εκτός από τους παραπάνω selectors υπάρχει και μία ομάδα selectors που σχετίζονται  με την ιεραρχία των στοιχείων μέσα με μια ιστοσελίδα. Ας τους δούμε έναν – έναν.</p>
<h1><strong>Επιλογή στοιχείων παιδιών</strong></h1>
<pre name="code" class="html">
$("tr &gt; td").css("border", "thin solid red")
</pre>
<p>Ο selector $(&#8220;a &gt; b&#8221;) επιλέγει όλα τα tags τύπου b που αποτελούν παιδιά του tag a (βρίσκονται δηλαδή ακριβώς ένα επίπεδο κάτω από το b). Στην προκειμένη περίπτωση θα επιλεγούν όλα τα td tags που είναι άμεσα παιδιά ενός tr tag (μην βιαστείτε να σκεφθείτε… «μα ένα td πάντα περιέχεται σε ένα tr» γιατί τα μάτια μου έχουν δει πολλά J ).</p>
<h1><strong>Επιλογή απογόνων</strong></h1>
<pre name="code" class="html">
$("p b").css("border", "thin solid red")
</pre>
<p>Λειτουργεί όπως και ο a &gt; b selector με τη διαφορά ότι δεν περιορίζεται σε άμεσα παιδιά. Με τον selector $(&#8220;a b&#8221;) μας επιστρέφεται μία λίστα με όλα τα tags b που αποτελούν απογόνους του a όσα επίπεδα κάτω και αν βρίσκονται από το a.</p>
<h1><strong>Επιλογή επομένου στοιχείου</strong></h1>
<pre name="code" class="html">
$("table + p").css("border", "thin solid red")
</pre>
<p>Ο selector $(&#8220;a + b&#8221;) επιστρέφει το αμέσως επόμενο tag τύπου b που βρίσκεται μετά το tag a. Στο παράδειγμά μας θα επιστραφεί η αμέσως επόμενη παράγραφος μετά τον πίνακα.</p>
<h1><strong>Επιλογή συγγενικού στοιχείου (ή αδερφού κόμβου)</strong></h1>
<pre name="code" class="html">
$("table ~ p").css("border", "thin solid red")
</pre>
<p>Ο selector $(&#8220;a ~ b&#8221;) επιστρέφει όλους τους αδερφούς κόμβους του a που είναι τύπου b. Στο συγκεκριμένο παράδειγμα θα επιστραφούν όλες οι παράγραφοι που αποτελούν συγγενικούς κόμβους του πίνακα της ιστοσελίδα μας.</p>
<p>Δοκιμάστε τα παραδείγματα που συνοδεύουν το άρθρο και πειραματιστείτε. Ως την επόμενη συνάντησή μας…</p>
<p><em><span style="text-decoration: underline;">Να είστε καλά και να φροντίζεται τον εαυτό σας</span></em>.</p>
<blockquote>
<p style="text-align: center;"><em><strong>Μπορείτε να κατεβάσετε τα   αρχεία του βοηθήματος εδώ</strong></em></p>
<p style="text-align: center;"><a href="http://greektuts.net/wp-content/uploads3/2010/06/jquery_tuts_selectors.zip" target="_self"><em><strong><img src="../wp-content/uploads/2009/10/membersdownload1.png" alt="download" width="200" height="200" /></strong></em></a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://greektuts.net/basic-jquery-selectors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3D Κείμενο στο Photoshop</title>
		<link>http://greektuts.net/3d-text-with-photoshop/</link>
		<comments>http://greektuts.net/3d-text-with-photoshop/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 07:33:52 +0000</pubDate>
		<dc:creator>silve992</dc:creator>
				<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Δωρεάν Υλικό]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[3d text]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[free download]]></category>
		<category><![CDATA[freebie]]></category>
		<category><![CDATA[silve]]></category>
		<category><![CDATA[τρισδιάστατο κείμενο]]></category>

		<guid isPermaLink="false">http://greektuts.net/?p=3973</guid>
		<description><![CDATA[Σε αυτό το βοήθημα θα σας δείξουμε πως μπορείτε να κάνετε ένα κείμενο σε τρισδιάστατη μορφή με το γνωστό πρόγραμμα Photoshop. Επίσης κάνοντας τα παρακάτω βήματα, μπορείτε να σχεδιάσετε 3D κείμενα με ό,τι χρώματα και ό,τι σχέδια θέλετε, σε μόλις 7 απλά και κατανοητά βήματα.]]></description>
			<content:encoded><![CDATA[<p><strong> </strong></p>
<p><strong> </strong></p>
<h1><strong>Βήμα 1</strong></h1>
<p><strong> </strong></p>
<p>Ξεκινάμε δημιουργώντας ένα νέο καμβά (500 x 300 pix.) και εισάγουμε ένα κείμενο.</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-3975 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/01.png" alt="" width="580" height="291" /></p>
</blockquote>
<h1><strong>Βήμα 2</strong></h1>
<p><strong> </strong></p>
<p>Κάνουμε δεξί click στο κείμενο που δημιουργήσαμε και επιλέγουμε το &#8220;Ραστεροποίηση κειμένου&#8221; (rasterize layer).</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-3976 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/02.png" alt="" width="580" height="375" /></p>
</blockquote>
<h1><strong>Βήμα 3</strong></h1>
<p><strong> </strong></p>
<p>Στην συνέχεια, έχοντας επιλεγμένο το κείμενο, πηγαίνουμε στην επεξεργασία/μετασχηματισμός/προοπτική (edit/transform/perspective) και μετακινούμε το κείμενό μας οριζόντια.</p>
<blockquote>
<p style="text-align: center;"><img class="alignnone size-full wp-image-3977" src="http://greektuts.net/wp-content/uploads3/2010/06/03.png" alt="" width="580" height="488" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-3978" src="http://greektuts.net/wp-content/uploads3/2010/06/04.png" alt="" width="580" height="358" /></p>
</blockquote>
<h1><strong>Βήμα 4</strong></h1>
<p><strong> </strong></p>
<p>Για να κάνετε πιο όμορφο το τρισδιάστατο κείμενό σας, μπορείτε προαιρετικά να επιλέξετε επεξεργασία/μετασχηματισμός/παραμόρφωση (edit/transform/distort) και να μετακινήσετε προς τα μέσα την μια γωνία του κειμένου σας.</p>
<blockquote>
<p style="text-align: center;"><img class="alignnone size-full wp-image-3979" src="http://greektuts.net/wp-content/uploads3/2010/06/05.png" alt="" width="580" height="719" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-3980" src="http://greektuts.net/wp-content/uploads3/2010/06/06.png" alt="" width="580" height="308" /></p>
</blockquote>
<h1><strong>Βήμα 5</strong></h1>
<p><strong> </strong></p>
<p>Σε αυτό το σημείο, έχοντας πάντα επιλεγμένο το κείμενό μας, κρατάμε πατημένο από το πληκτρολόγιο μας το αριστερό ctrl + alt και πατάμε γύρω στις 20 με 25 φορές το πάνω βελάκι (ο αριθμός είναι ενδεικτικός, καθώς εάν δημιουργήσετε ένα μεγαλύτερο κείμενο οι 20 φορές ίσως είναι λίγες και πιθανόν να επαναλαμβάνετε την διαδικασία μέχρι να φτάσετε στις 30 με 35 φορές). Θα δείτε ότι το κείμενο να παίρνει όγκο.</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-3981 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/07.png" alt="" width="580" height="358" /></p>
</blockquote>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<h1><strong>Βήμα 6</strong></h1>
<p><strong> </strong></p>
<p>Τώρα επιλέξτε όλα τα επίπεδα (layers) που δημιουργήσατε, εκτός από το πρώτο και το τελευταίο και πηγαίνετε στο επίπεδο/συγχώνευση επιπέδων (layer/merged linked).</p>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-3982 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/08.png" alt="" width="580" height="616" /></p>
</blockquote>
<p><strong> </strong></p>
<h1><strong>Βήμα 7</strong></h1>
<p><strong> </strong></p>
<p>Τέλος μπορείτε πια να δώσετε χρώμα στο τρισδιάστατο κείμενό σας, κάνοντας διπλό click στο layer που κάνατε συγχώνευση (merged linked), επιλέγοντας το &#8220;επικάλυψη ντεκαρτέ&#8221; (gradient overlay) για να δείτε την διαφορά.</p>
<p style="text-align: center;"><img class="size-full wp-image-3983 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/09.png" alt="" width="580" height="373" /></p>
<p><em>Σημείωση: Μπορείτε επίσης να προσθέσετε περισσότερα εφέ στο κείμενο σας μέσα από το μενού στιλ επιπέδου (</em><em>layer </em><em>style).</em></p>
<h1>Τελικό Αποτέλεσμα</h1>
<blockquote>
<p style="text-align: center;"><img class="size-full wp-image-3984 aligncenter" src="http://greektuts.net/wp-content/uploads3/2010/06/10.png" alt="" width="580" height="300" /></p>
</blockquote>
<p>Ακολουθήστε και εσείς τα βήματα και δείξτε μας τι μπορείτε να φτιάξετε&#8230;</p>
<p><strong> </strong><strong> </strong></p>
<blockquote>
<p style="text-align: center;"><em><strong>Μπορείτε να κατεβάσετε τα     αρχεία του βοηθήματος εδώ</strong></em></p>
<p style="text-align: center;"><a href="http://greektuts.net/wp-content/uploads3/2010/06/PS_3D_text.zip" target="_blank"><em><strong><img src="../wp-content/uploads/2009/10/membersdownload1.png" alt="download" width="200" height="200" /></strong></em></a></p>
<p><strong><br />
</strong></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://greektuts.net/3d-text-with-photoshop/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
