<?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>Xavi Esteve &#187; XHTML</title>
	<atom:link href="http://xaviesteve.com/category/web-design/front-end/xhtml/feed/" rel="self" type="application/rss+xml" />
	<link>http://xaviesteve.com</link>
	<description>I&#039;m a front end web developer and graphic designer from Barcelona based in London. I am passionate in JavaScript, jQuery, CSS, PHP, Wordpress, usability and SEO.</description>
	<lastBuildDate>Wed, 08 Feb 2012 16:22:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>iPad/iPhone/mobile HTML/CSS template for web apps (responsive, no javascript)</title>
		<link>http://xaviesteve.com/2899/ipad-iphone-mobile-html-css-template-for-web-apps/</link>
		<comments>http://xaviesteve.com/2899/ipad-iphone-mobile-html-css-template-for-web-apps/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 17:03:16 +0000</pubDate>
		<dc:creator>Xavi</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Front-End]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://xaviesteve.com/?p=2899</guid>
		<description><![CDATA[iPad/iPhone template made in pure HTML and CSS (no JavaScript needed) that works perfectly on any modern browser (iPad, iPhone, tablets, mobiles, laptops, etc.). The template uses responsive queries to hide the sidebar in iPad portrait mode and in the iPhone and smaller screens (you can disable that easily if you want to). This template [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xaviesteve.com/wp-content/uploads/2012/01/ipad-web-html-css-template.jpg"><img class="alignnone size-full wp-image-2902" title="Xavi's iPad web HTML/CSS template" src="http://xaviesteve.com/wp-content/uploads/2012/01/ipad-web-html-css-template.jpg" alt="Xavi's iPad web HTML/CSS template" width="600" height="448" /></a></p>
<p>iPad/iPhone template made in <strong>pure HTML and CSS</strong> (no JavaScript needed) that works perfectly on any modern browser (iPad, iPhone, tablets, mobiles, laptops, etc.). The template uses responsive queries to hide the sidebar in iPad portrait mode and in the iPhone and smaller screens (you can disable that easily if you want to).</p>
<p>This template is the perfect start for any front-end or back-end developer to build complex web apps without spending time on developing the main structure. Or even to create a mobile version of your current site.</p>
<p>The code has been developed so that there is no &#8220;divitis&#8221;, completely optimized, semantically correct and <strong>minimal HTML code</strong>. There are no images or animations at all, everything has been coded using some of the latest CSS3 available features and tested it in most modern browsers. Ready for you to download and start developing. These are some of the template&#8217;s features:</p>
<h2>Features</h2>
<h3>App-ready</h3>
<p><strong></strong>You can install this template as a normal <strong>App Store app</strong>, removing the Safari top navigation bar and enjoying the full screen.</p>
<h3>Responsive Web Design</h3>
<p><strong></strong>Hides the sidebar in iPhone, mobiles and iPad portrait mode. Adapts nicely to the full screen.</p>
<h3>No images</h3>
<p><strong></strong>The whole template has been built <strong>without requiring any images</strong> which means less server queries and increased bandwidth savings.</p>
<h3>Heading styles</h3>
<p><strong></strong>Two different heading styles: the main black one and the smaller blueish.</p>
<h3>Anchor texts (links)</h3>
<p><strong></strong>The <strong>whole clickable area</strong> is active so that even fat fingers can click comfortably.</p>
<h3>Scrollable</h3>
<p><strong></strong>Both the sidebar and the main content can be <strong>scrolled separately</strong> in the iPad and other touch screen tablets.</p>
<h3>Tables</h3>
<p><strong></strong>Fully flexible and <strong>liquid tables</strong> that allow you to include more information while keeping the same look and feel as in any Apple app.</p>
<h3>Forms</h3>
<p><strong></strong>Fillable textboxes, password fields, select dropdowns and buttons.</p>
<h3>Fully tested in several devices</h3>
<p><strong></strong>Works great in: iPhone 4, iPhone 3GS, iPad 2, Samsung Galaxy Tab (GT-P7510), Safari 5, Chrome 16 and Firefox 9.</p>
<p>Graceful degradation: IE9 (no rounded corners), IE8.</p>
<p>Not working: (none tested yet).</p>
<h3><strong>License</strong></h3>
<p><strong></strong>The best of it, I am releasing it under a <strong>Public Domain license</strong>. This means it is free to use as many times as you want (even for <strong>commercial projects</strong>) and you do not need to give me credits if you don&#8217;t want to. I would appreciate if you do so or if you send me a link to your creation, it will motivate me to develop it further and make me happy.</p>
<h2>Download the template</h2>
<p>To <strong>download</strong> the most recent version of the Xavi iPad template click the link below:</p>
<p><a class="big button blue" title="Xavi iPad template" href="http://xaviesteve.com/pro/ipad-template/" target="_blank">Xavi iPad template</a></p>
<p>And then go to File &gt; Save as&#8230; The CSS has been coded in a &lt;style&gt; tag to keep everything in a single file.</p>
<p>For a better experience open the template in an iPad and test how cool Responsive Web Design is by rotating the iPad.</p>
<h4>Comments, improvements, feedback, feature requests and bugs</h4>
<p>If you have any comments, doubts or would like to point out a bug or a feature request you can write a comment below or tweet me at @xaviesteve in Twitter. If you code your own improvements and would like to share them with everyone let me know and I will include them in the next release. Bear in mind that the purpose of this plugin is to remain as simple as possible so drag&#8217;n'drops, special effects and lengthy scripts should be avoided.</p>
<h4>Changelog</h4>
<h5>Version 1.0 (31 January 2012)</h5>
<ul>
<li>Moved sidebar to the bottom of the HTML.</li>
<li>Fixed content header left and right link clickable area</li>
<li>Added commented <code>&lt;link rel="stylesheet"&gt;</code>, <code>&lt;script&gt;</code> and favicon for faster development</li>
<li>Disabled the callout shown when you touch and hold a touch target (thanks 185)</li>
<li>Added <code>-webkit-user-select: none</code> (thanks Josiah)</li>
</ul>
<h5>Version 0.9b (27 January 2012)</h5>
<ul>
<li>First release.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://xaviesteve.com/2899/ipad-iphone-mobile-html-css-template-for-web-apps/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Quick website prototyping</title>
		<link>http://xaviesteve.com/2556/quick-website-prototyping/</link>
		<comments>http://xaviesteve.com/2556/quick-website-prototyping/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 17:35:58 +0000</pubDate>
		<dc:creator>Xavi</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Front-End]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://xaviesteve.com/?p=2556</guid>
		<description><![CDATA[This is a little compilation I&#8217;ve made of my most used code snippets every time I build a prototype, website or theme. By following these steps you can save 80% of coding time for any HTML/CSS website or WordPress theme. For some of my projects I use the Zen Coding plugin to develop the HTML. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-large wp-image-2616" title="" src="http://xaviesteve.com/wp-content/uploads/2011/10/prototype-600x400.jpg" alt="" width="600" height="400" /></p>
<p>This is a little compilation I&#8217;ve made of my most used code snippets every time I build a prototype, website or theme. By following these steps you can save 80% of coding time for any HTML/CSS website or WordPress theme. For some of my projects I use the Zen Coding plugin to develop the HTML. Most of the CSS itself is optimized already using short names and what some people call OOCSS (Object Oriented CSS).</p>
<h2>1. CSS Reset and Minimal Grid</h2>
<h3>Yahoo CSS Reset</h3>
<pre>/* Copyright (c) 2011, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:

http://developer.yahoo.com/yui/license.html

version: 2.9.0 */
html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,select,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,button,caption,cite,code,dfn,em,input,optgroup,option,select,strong,textarea,th,var{font:inherit}del,ins{text-decoration:none}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:baseline}sub{vertical-align:baseline}legend{color:#000}</pre>
<h3>960px Grid (12 cols, 60px width, 20px gutter)</h3>
<pre>/* Minimal Grid */
.g1{width:60px;}.g2{width:140px;}.g3{width:220px;}.g4{width:300px;}.g5{width:380px;}.g6{width:460px;}.g7{width:540px;}.g8{width:620px;}.g9{width:700px;}.g10{width:780px;}.g11{width:860px;}.g12{width:940px;}.g1,.g2,.g3,.g4,.g5,.g6,.g7,.g8,.g9,.g10,.g11,.g12{overflow:hidden;float:left;display:inline;margin:0 10px;}.r{width:960px;overflow:hidden;margin:0 auto;}.r .r{width:auto;display:inline-block;margin:0 -10px;}</pre>
<h3>Common CSS</h3>
<pre>/* Common CSS */
html {}body {font-family:Arial,sans-serif;font-size:14px;}
a{color:#0085d5;text-decoration:none}a:hover{}
li{display:inline}
h1,h2,h3,h4,h5,h6 {}
strong,.strong {font-weight:900}em,.em {font-style:italic}
.right{text-align:right}.center {text-align:center}
.fright{float:right}.fleft{float:left}
.hide{display:none}</pre>
<h3>Sprite map</h3>
<pre>/* Sprite */
#logo,.button,
.sprite{background:transparent url('images/sprite.jpg') no-repeat;}
.ico {display:inline-block;height:16px;width:16px}
.ico.aa {background-position:-px -px}</pre>
<h3>Forms and buttons</h3>
<pre>.button{background:#eee;border:1px solid #ccc;cursor:pointer;font-weight:900;padding:5px 10px;text-decoration:none}</pre>
<h3>CSS for the coming HTML template</h3>
<pre>/* Main structure */
#wrap {}
#header {}
 #logo {}
  #logo span {display:none}
 #s {}
#topnav {}
 #nav {}
  #nav li {display:inline}
#container {}
 #container a {text-decoration:underline}
 #container li {display:list-item}
 .main {}
 .main h1 {}
 .main h2 {}
 .main p {}

 .side {}
  .side h4 {}
  .side h5 {}
  .side p {}

#footer {}
 #footer p {}
 #footer p a {}</pre>
<h3>Overlap design watermark for pixel perfect CSS</h3>
<pre>    &lt;style&gt;
        #watermark {position:fixed;top:0;left:0;width:100%;background:url(images/watermark.jpg) top center;height:5px;opacity:0.2}
        #watermark:hover {height:1000px;opacity:0.5}
    &lt;/style&gt;
    &lt;div id="watermark"&gt;&lt;/div&gt;</pre>
<h2>2. HTML Zen Coding shortcuts</h2>
<h4>Typical HTML website structure</h4>
<p>With the power of Zen Coding, I can code a full HTML website in one line of code, then press the shortcut (Ctrl+, in Dreamweaver) and voila, there you have all the HTML ready:</p>
<pre>html:xt&gt;(div#wrap&gt;(div#header.r&gt;(div.g6&gt;p#logo&gt;span)+(div.g6&gt;form#search&gt;input[type=text]#s+input[type=submit].hide))+(div#topnav.r&gt;div.g12&gt;ul.nav&gt;li*5&gt;a)+(div#container.r&gt;(div.main.g8&gt;div.post&gt;h1+p+img[src=http://dummyimage.com/150x150])+(div.side.g4&gt;h4+p&gt;ul&gt;li*5&gt;a))+(div#footer.r&gt;(div.g6&gt;p&gt;a*1)+(div.g6&gt;p&gt;a*4)))</pre>
<p>Here&#8217;s the fragmented HTML:</p>
<pre>html:xt
div#wrap
div#header.r&gt;div.g6*2
div#header.r&gt;(div.g6&gt;p#logo&gt;span)+(div.g6&gt;form#search&gt;input[type=text]#s+input[type=submit].hide)
div#topnav.r&gt;div.g12&gt;ul.nav&gt;li*5&gt;a
div#container.r&gt;(div.main.g8&gt;div.post&gt;h1+p+img[src=http://dummyimage.com/150x150])+(div.side.g4&gt;h4+p&gt;ul&gt;li*5&gt;a)
div#footer.r&gt;(div.g6&gt;p&gt;a*1)+(div.g6&gt;p&gt;a*4)</pre>
<h4>Forms and tables</h4>
<pre>form&gt;label+input:text+input:submit
select#items&gt;option[value=item-$]*3
table&gt;(tr&gt;th*2)+(tr&gt;td*2)</pre>
<h4>Listings</h4>
<pre>div.list-vert&gt;(img[src=http://dummyimage.com/100x100]+h3+p.brand+span.rating-5+p.price+(p&gt;a.button-m))</pre>
<h2>3. WordPress theme</h2>
<ol>
<li>Download the <a href="http://wpcandy.com/made/the-wordpress-starter-theme-project">Starter Theme</a></li>
<li>Add <a href="http://timthumb.googlecode.com/svn/trunk/timthumb.php">TimThumb</a></li>
<li>Then grab snippets from <a href="http://wp-snippets.com/">WP Snippets</a></li>
<li>Start coding and customizing</li>
</ol>
<h2>4. WordPress customization</h2>
<h3>In the functions.php</h3>
<pre>date_default_timezone_set('Europe/Madrid');
date_default_timezone_set('Europe/London');</pre>
<h4>TimThumb shortcut</h4>
<pre>function timthumb($src, $w, $h, $q=90, $zc=1) {
    return get_bloginfo('template_url').'/thumb.php?src='.$src.'&amp;amp;w='.$w.'&amp;amp;h='.$h.'&amp;amp;q='.$q.'&amp;amp;zc='.$zc;
}</pre>
<h4>Custom field shortcut</h4>
<pre>function customfield($name, $id="") {
    $value = get_post_custom_values($name, $id);
    return $value[0];
}</pre>
<h4>Extract images of a post</h4>
<pre>function catch_that_image() {
    global $post, $posts;
    $first_img = '';
    ob_start();
    ob_end_clean();
    $output = preg_match_all('/&lt;img.+src=[\'"]([^\'"]+)[\'"].*&gt;/i', $post-&gt;post_content, $matches);
    $first_img = $matches [1] [0];

    if(empty($first_img)){ $first_img = "/images/default.jpg"; }
    return $first_img;
}</pre>
<h4>Nice excerpts</h4>
<pre>/* This function will trim text without
cutting it in the middle of the word and
adding … if longer
*/
function trimtext($text, $length) {
    $words = explode(" ", strip_tags($text));
    $newtext = "";
    $addhellip = "";
    foreach ($words as $word) {
        if (strlen($newtext." ".$word) &lt; $length) {
            $newtext .= " ".$word;
        }else{
            $addhellip = 1;
            break;
        }
    }
    if ($addhellip) {$newtext .= "…";}
    return $newtext;
}</pre>
<h4>Get exact current page URL</h4>
<pre>function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}</pre>
<h4>Optimize WYSIWYG editor for SEO</h4>
<pre>if (isset($wp_version)) {
    add_filter("mce_buttons", "extended_editor_mce_buttons", 0);
    add_filter("mce_buttons_2", "extended_editor_mce_buttons_2", 0);
    add_filter('tiny_mce_before_init', 'extended_editor_change_mce_buttons', 0);
}

function extended_editor_mce_buttons($buttons) {
    return array(
        "formatselect", "separator",
        "bold", "italic", "separator",
        "bullist", "numlist", "blockquote", "separator",
        "link", "unlink", "separator",
        "charmap", "separator",
        "pasteword", "separator",
        "fullscreen", "separator",
    );
}

function extended_editor_mce_buttons_2($buttons) {
// the second toolbar line
return array();
}

function extended_editor_change_mce_buttons( $initArray ) {
    $initArray['theme_advanced_blockformats'] = 'p,h2,h3,h4,h5,h6,pre';
    return $initArray;
}</pre>
<h4>In the wp-config.php</h4>
<p>Disable/limit revisions</p>
<pre># Maximum 5 revisions
define('WP_POST_REVISIONS', 5);
# Disable revisions
define('WP_POST_REVISIONS', false);</pre>
<h2> 5. WordPress must-have plugins</h2>
<ul>
<li><a href="http://xaviesteve.com/2498/admin-helper-wordpress-plugin-essential-tool-for-theme-developers/">Admin Helper</a></li>
<li><a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">All-in-one SEO</a></li>
<li><a href="http://wordpress.org/extend/plugins/google-sitemap-generator/">Google XML Sitemap</a></li>
<li><a href="http://www.dagondesign.com/articles/sitemap-generator-plugin-for-wordpress/">HTML Sitemap</a></li>
</ul>
<p><small>Photo by <a href="http://www.flickr.com/photos/coffeegeek/" rel="nofollow">CoffeGeek</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://xaviesteve.com/2556/quick-website-prototyping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 essential WordPress SEO tips for content writers (one page PDF download)</title>
		<link>http://xaviesteve.com/2483/10-essential-wordpress-seo-tips-for-content-writers-one-page-pdf-download/</link>
		<comments>http://xaviesteve.com/2483/10-essential-wordpress-seo-tips-for-content-writers-one-page-pdf-download/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 07:22:16 +0000</pubDate>
		<dc:creator>Xavi</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[content writing]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[resource]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tricks]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://xaviesteve.com/?p=2483</guid>
		<description><![CDATA[About a year ago I created a one-page document for content writers in my team to write better online articles. I am now releasing it so you can print it and have it close to you while writing. These are the most basic and important SEO tips you need to know if you want your [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xaviesteve.com/wp-content/uploads/2011/10/seo-content-writing-wordpress.jpg"><img class="alignnone size-full wp-image-2545" title="SEO content writing wordpress" src="http://xaviesteve.com/wp-content/uploads/2011/10/seo-content-writing-wordpress.jpg" alt="" width="600" height="272" /></a></p>
<p>About a year ago I created a one-page document for content writers in my team to write better online articles. I am now releasing it so you can print it and have it close to you while writing. These are the most basic and important SEO tips you need to know if you want your posts to succeed. You will find a link to download the one-page PDF at the bottom of the article.</p>
<h3><strong>1. The most important tip is to create quality content</strong></h3>
<p>Posts that are <em>bookmarked</em>, <em>shared</em>, <em>linked</em>, <em>commented</em> or <em>thanked</em>. That should be the purpose of every post and should either be:</p>
<ol>
<li><strong>Useful</strong> (people reference to them)</li>
<li><strong>Interesting</strong> (people bookmark them)</li>
<li><strong>Funny</strong> or entertaining (people share them)</li>
</ol>
<p>Here&#8217;s a good article extending this concept on <a title="Effective SEO – Purposes and Actions in Content Writing" href="http://xaviesteve.com/1912/effective-seo-purposes-and-actions-in-content-writing/">writing with a purpose</a>.</p>
<h3><strong>2. User goes always first</strong></h3>
<p>Keep the post readable and attractive to humans. Google is secondary. Ensuring you write for your users will have <a title="Future-proof SEO – Avoiding Google penalization" href="http://xaviesteve.com/1985/future-proof-seo-avoiding-google-penalization/">long-term SEO benefits</a>.</p>
<h3><strong>3. Use Headings to split the content</strong></h3>
<p>Heading 1 is always the page title and it is the most important title. Headings to use in the content <strong>must start from Heading 2</strong> to a max depth of H6. Use headings instead of bolding or formatting the text yourself.</p>
<h3><strong>4. Use eye-catching titles but keep them short</strong></h3>
<p>Don&#8217;t be just informative, get the user&#8217;s attention.</p>
<ol>
<li><span style="text-decoration: line-through;">Windows tricks</span> -&gt; Top 10 coolest tricks for Windows!</li>
<li><span style="text-decoration: line-through;">London party places</span> -&gt; Best secret places to party in London</li>
</ol>
<h3><strong>5. First paragraphs are the most important ones</strong></h3>
<p>Search Engines give more importance to the first part of the posts. In fact, really large posts are usually not indexed completely.</p>
<h3><strong>6. Be descriptive by adding keywords whenever possible</strong></h3>
<p>All headings should have <strong>keywords</strong> in them:</p>
<ol>
<li><span style="text-decoration: line-through;">What I like</span> -&gt; What I like about the HP Pavilion laptop</li>
<li><span style="text-decoration: line-through;">My trip</span> -&gt; My awesome trip to Barcelona this summer</li>
</ol>
<h3><strong>7. Use synonyms</strong></h3>
<p>Don’t repeat keywords you are not targeting for, <strong>use a lot of synonyms</strong> instead.</p>
<ol>
<li>What I like about Acer -&gt; Review about Acer computers / My opinion on Acer laptops</li>
</ol>
<p>This way, users searching for &#8220;acer review&#8221;, &#8220;acer opinion&#8221; or &#8220;acer laptop&#8221; will find our page.</p>
<h3><strong>8. Rich formatting increases SEO</strong></h3>
<p>Eases Search Engines to identify the content.</p>
<ul>
<li>Using <strong>lists</strong> (and differentiating between ordered and unordered lists),</li>
<li><strong>bold</strong> and <strong>italic</strong> words or sentences,</li>
<li><strong>blockquote</strong> paragraphs when quoting or pasting literal text</li>
</ul>
<h3><strong>9. Add both inbound and outbound links</strong></h3>
<p>Links to authority webs like Flickr, Wikipedia or YouTube can be frequent (you don&#8217;t lose any PageRank juice). But don’t link too much to other websites (one or two per paragraph). Always <strong>describe the links</strong>:</p>
<ol>
<li><span style="text-decoration: line-through;">Download the Flash player by <span style="text-decoration: underline;">clicking here</span>.</span> -&gt; <span style="text-decoration: underline;">Download the Flash player</span>.</li>
</ol>
<h3><strong>10. Format posts inside WordPress</strong></h3>
<p>Text editors like Microsoft Word may add irrelevant or invalid code into posts. If the text is in Word, paste it in Notepad so it looses all formatting, then copy and paste into WordPress and <strong>format it there</strong> using Headings, lists, bold, italic, etc.</p>
<h2>Download the 10 SEO tips for WordPress PDF file</h2>
<p><a class="button blue" href="http://xaviesteve.com/wp-content/uploads/2011/09/Wordpress-SEO-writer-tips.pdf">10 SEO tips for WordPress PDF file</a><br />
If you have any doubts feel free to ask them in the comments. Also, share this article with your team, friends and colleagues for increased results and better blogging.</p>
]]></content:encoded>
			<wfw:commentRss>http://xaviesteve.com/2483/10-essential-wordpress-seo-tips-for-content-writers-one-page-pdf-download/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Web Fonts Pack &#8211; 90+ free fonts for the web</title>
		<link>http://xaviesteve.com/1689/google-web-fonts-pack-90-free-fonts-for-the-web/</link>
		<comments>http://xaviesteve.com/1689/google-web-fonts-pack-90-free-fonts-for-the-web/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 13:59:07 +0000</pubDate>
		<dc:creator>Xavi</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Front-End]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Minipost]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[collection]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[modern browsers]]></category>
		<category><![CDATA[pack]]></category>
		<category><![CDATA[typography]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://xaviesteve.com/?p=1689</guid>
		<description><![CDATA[Modern browsers are now the vast percentage of website users and it is quite safe to use advanced features from CSS3 to some HTML5 as well as one of the most needed features which is using fonts the user didn&#8217;t have in its computer. Google is making a great effort on enabling and easing this [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1695" title="google-web-fonts-pack" src="http://xaviesteve.com/wp-content/uploads/2011/01/google-web-fonts-pack.jpg" alt="" width="600" height="333" /></p>
<p>Modern browsers are now the vast percentage of website users and it is quite safe to use advanced features from <strong>CSS3</strong> to some <strong>HTML5</strong> as well as one of the most needed features which is using fonts the user didn&#8217;t have in its computer. Google is making a great effort on enabling and easing this feature to all web developers by releasing a huge collection of <strong>open source fonts </strong>created by great typographers that generously have shared them.<br />
You can either download all of them as a pack or <a href="http://code.google.com/webfonts?subset=latin&amp;sort=alpha">have a look at the <strong>font screenshots</strong> here</a>, once you download them go to the <strong><a class="strong" href="http://code.google.com/webfonts/preview#font-family=Allan">Font Preview</a></strong> to try some sample text and <strong>grab the CSS code</strong> which is auto-generated.</p>
<p>In the <strong>Google Fonts Pack (February 2011)</strong> you will find: <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Allan#download">Allan</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Allerta#download">Allerta</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Allerta Stencil#download">Allerta Stencil</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Anonymous Pro#download">Anonymous Pro</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Arimo#download">Arimo</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Arvo#download">Arvo</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Bentham#download">Bentham</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Buda#download">Buda</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Cabin#download">Cabin</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Calligraffitti#download">Calligraffitti</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Cantarell#download">Cantarell</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Cardo#download">Cardo</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Cherry Cream Soda#download">Cherry Cream Soda</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Chewy#download">Chewy</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Coda#download">Coda</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Coming Soon#download">Coming Soon</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Copse#download">Copse</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Corben#download">Corben</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Cousine#download">Cousine</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Covered By Your Grace#download">Covered By Your Grace</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Crafty Girls#download">Crafty Girls</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Crimson Text#download">Crimson Text</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Crushed#download">Crushed</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Cuprum#download">Cuprum</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Droid Sans#download">Droid Sans</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Droid Sans Mono#download">Droid Sans Mono</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Droid Serif#download">Droid Serif</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Fontdiner Swanky#download">Fontdiner Swanky</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=GFS Didot#download">GFS Didot</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=GFS Neohellenic#download">GFS Neohellenic</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Geo#download">Geo</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Gruppo#download">Gruppo</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Hanuman#download">Hanuman</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Homemade Apple#download">Homemade Apple</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=IM Fell DW Pica#download">IM Fell DW Pica</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=IM Fell DW Pica SC#download">IM Fell DW Pica SC</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=IM Fell Double Pica#download">IM Fell Double Pica</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=IM Fell Double Pica SC#download">IM Fell Double Pica SC</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=IM Fell English#download">IM Fell English</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=IM Fell English SC#download">IM Fell English SC</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=IM Fell French Canon#download">IM Fell French Canon</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=IM Fell French Canon SC#download">IM Fell French Canon SC</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=IM Fell Great Primer#download">IM Fell Great Primer</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=IM Fell Great Primer SC#download">IM Fell Great Primer SC</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Inconsolata#download">Inconsolata</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Irish Growler#download">Irish Growler</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Josefin Sans#download">Josefin Sans</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Josefin Slab#download">Josefin Slab</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Just Another Hand#download">Just Another Hand</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Just Me Again Down Here#download">Just Me Again Down Here</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Kenia#download">Kenia</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Kranky#download">Kranky</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Kristi#download">Kristi</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Lato#download">Lato</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Lekton#download">Lekton</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Lobster#download">Lobster</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Luckiest Guy#download">Luckiest Guy</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Merriweather#download">Merriweather</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Molengo#download">Molengo</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Mountains of Christmas#download">Mountains of Christmas</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Neucha#download">Neucha</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Neuton#download">Neuton</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Nobile#download">Nobile</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=OFL Sorts Mill Goudy TT#download">OFL Sorts Mill Goudy TT</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Old Standard TT#download">Old Standard TT</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Orbitron#download">Orbitron</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=PT Sans#download">PT Sans</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=PT Sans Caption#download">PT Sans Caption</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=PT Sans Narrow#download">PT Sans Narrow</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Permanent Marker#download">Permanent Marker</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Philosopher#download">Philosopher</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Puritan#download">Puritan</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Raleway#download">Raleway</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Reenie Beanie#download">Reenie Beanie</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Rock Salt#download">Rock Salt</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Schoolbell#download">Schoolbell</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Slackey#download">Slackey</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Sniglet#download">Sniglet</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Sunshiney#download">Sunshiney</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Syncopate#download">Syncopate</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Tangerine#download">Tangerine</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Tinos#download">Tinos</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Ubuntu#download">Ubuntu</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=UnifrakturCook#download">UnifrakturCook</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=UnifrakturMaguntia#download">UnifrakturMaguntia</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Unkempt#download">Unkempt</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Vibur#download">Vibur</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Vollkorn#download">Vollkorn</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Walter Turncoat#download">Walter Turncoat</a>, <a rel="nofollow" href="http://code.google.com/webfonts/family?family=Yanone Kaffeesatz#download">Yanone Kaffeesatz</a></p>
<p>Download the full pack here:<br />
<a class="blue button" href="http://www.megaupload.com/?d=O467KIP0" target="_blank">Google Fonts Pack (February 2011)</a> (9.89MB)</p>
<p>The list is constantly updated by the Google Fonts team and they give you the option to donate to the font authors so you can buy them a nice dinner to thank them.</p>
]]></content:encoded>
			<wfw:commentRss>http://xaviesteve.com/1689/google-web-fonts-pack-90-free-fonts-for-the-web/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress Stalker&#8230; I mean Starkers!</title>
		<link>http://xaviesteve.com/1600/wordpress-stalker/</link>
		<comments>http://xaviesteve.com/1600/wordpress-stalker/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 22:16:36 +0000</pubDate>
		<dc:creator>Xavi</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://xaviesteve.com/?p=1600</guid>
		<description><![CDATA[Everytime I search for the Starkers blank WordPress theme created by Elliot the only thing I recall is that it was called something like &#8220;stalker&#8221;. And I spend some good 20 minutes trying to find out how it was called exactly. I&#8217;ll use this post as an experiment and try to rank #1 for WordPress [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-large wp-image-1606" title="starkers-theme" src="http://xaviesteve.com/wp-content/uploads/2011/01/starkers-theme-600x352.jpg" alt="" width="600" height="352" /></p>
<p>Everytime I search for the <strong>Starkers blank WordPress theme </strong>created by Elliot the only thing I recall is that it was called something like &#8220;stalker&#8221;. And I spend some good 20 minutes trying to find out how it was called exactly.<br />
I&#8217;ll use this post as an experiment and try to rank #1 for WordPress Stalker Theme and use it as a shortcut to the real name that I always forget.</p>
<p><a class="button blue" href="http://starkerstheme.com/">This is the link to the Starkers Theme</a></p>
<p>Starker Theme is a blank theme specially useful for WordPress theme developers. It has the mandatory code and file structure needed to start developing a brand new theme hence saving you tons of time. I prefer this one rather than other WordPress blank themes as all the junk has been removed and you start from a pure start with the minimal code possible which later derives in smaller and more concise code.</p>
<p>BTW, thanks Elliot, it&#8217;s great!</p>
<p><small>Image is a screenshot from the <a rel="nofollow" href="http://starkerstheme.com/">Starkers Theme</a> with the theme HTML code demo overlayed</small></p>
]]></content:encoded>
			<wfw:commentRss>http://xaviesteve.com/1600/wordpress-stalker/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Code editors comparison: Dreamweaver vs jEdit vs PSPad vs Notepad++</title>
		<link>http://xaviesteve.com/1143/code-editors-comparison-dreamweaver-vs-jedit-vs-pspad-vs-notepad/</link>
		<comments>http://xaviesteve.com/1143/code-editors-comparison-dreamweaver-vs-jedit-vs-pspad-vs-notepad/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 16:48:19 +0000</pubDate>
		<dc:creator>Xavi</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[dreamweaver]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[jedit]]></category>
		<category><![CDATA[notepad]]></category>
		<category><![CDATA[pspad]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://xaviesteve.com/?p=1143</guid>
		<description><![CDATA[A quick comparison on different code editors. I stick with Dreamweaver although it has so many bugs that make me consider other options. jEdit has a lot of functionalities but relies on Java. PSPad is small, flexible and portable. Notepad++ has tons of features and it&#8217;s lightweight too. Dreamweaver jEdit PSPad Notepad ++ Price £240-£420 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1267" title="web-code-editor-comparison" src="http://xaviesteve.com/wp-content/uploads/2010/09/web-code-editor-comparison.jpg" alt="" width="600" height="388" /></p>
<p>A quick comparison on different code editors. I stick with <strong>Dreamweaver</strong> although it has so many <a title="Adobe Dreamweaver CS5 bugs – Every new version is getting worse…" href="http://xaviesteve.com/adobe-dreamweaver-cs5-bugs-every-new-version-is-getting-worse/">bugs</a> that make me consider other options. <strong>jEdit</strong> has a lot of functionalities but relies on Java. <strong>PSPad</strong> is small, flexible and portable. <strong>Notepad++</strong> has tons of features and it&#8217;s lightweight too.</p>
<table>
<thead>
<tr>
<th></th>
<th>Dreamweaver</th>
<th>jEdit</th>
<th>PSPad</th>
<th>Notepad ++</th>
</tr>
</thead>
<tbody>
<tr>
<td>Price</td>
<td>£240-£420</td>
<td><strong>Free</strong></td>
<td><strong>Free</strong></td>
<td><strong>Free</strong></td>
</tr>
<tr>
<td>Code view</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Design view</td>
<td><strong>Yes</strong></td>
<td>No</td>
<td>No</td>
<td>No</td>
</tr>
<tr>
<td>Browser preview</td>
<td>Yes</td>
<td>No</td>
<td>Yes</td>
<td>No</td>
</tr>
<tr>
<td>Text helpers <small>(autocomplete, shortcuts&#8230;)</small></td>
<td>Yes!</td>
<td>No</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Themes <small>(code highlighting)</small></td>
<td>No</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Debugger</td>
<td><strong>Yes</strong></td>
<td>No</td>
<td>No</td>
<td>Plugin</td>
</tr>
<tr>
<td>FTP</td>
<td>Yes</td>
<td>Yes</td>
<td>No <small>(really buggy, not functional)</small></td>
<td>Plugin</td>
</tr>
<tr>
<td>Version control</td>
<td><strong>Yes</strong></td>
<td>No</td>
<td>No</td>
<td>No</td>
</tr>
<tr>
<td>Plugins</td>
<td>Yes <small>(but not common)</small></td>
<td>Yes! <small>(a lot)</small></td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Open Source</td>
<td>No</td>
<td><strong>Yes</strong> <small>(Java)</small></td>
<td>No</td>
<td><strong>Yes</strong></td>
</tr>
<tr>
<td>Support</td>
<td>Yes!</td>
<td>Yes</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>Portable</td>
<td>No</td>
<td>No</td>
<td><strong>Yes!</strong></td>
<td><strong>Yes!</strong></td>
</tr>
<tr>
<td>Size</td>
<td>-</td>
<td>-</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>Overall rating</td>
<td><strong>9</strong></td>
<td>6</td>
<td>7</td>
<td>-</td>
</tr>
<tr>
<td>Website</td>
<td><a rel="nofollow" href="http://adobe.com">adobe.com</a></td>
<td><a rel="nofollow" href="http://jedit.org">jedit.org</a></td>
<td><a rel="nofollow" href="http://pspad.com">pspad.com</a></td>
<td><a rel="nofollow" href="http://notepad-plus-plus.org">notepad-plus-plus.org</a></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://xaviesteve.com/1143/code-editors-comparison-dreamweaver-vs-jedit-vs-pspad-vs-notepad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Sprite Map in Adobe Fireworks Tutorial</title>
		<link>http://xaviesteve.com/601/css-sprite-map-in-adobe-fireworks-tutorial/</link>
		<comments>http://xaviesteve.com/601/css-sprite-map-in-adobe-fireworks-tutorial/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 09:42:52 +0000</pubDate>
		<dc:creator>Xavi</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Fireworks]]></category>
		<category><![CDATA[Front-End]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[fireworks]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sprite]]></category>
		<category><![CDATA[sprite map]]></category>

		<guid isPermaLink="false">http://xaviesteve.com/?p=601</guid>
		<description><![CDATA[Adobe Fireworks or Photoshop haven&#8217;t got any CSS Sprite Map tool or wizard but it is very easy to create sprite maps. I recommend you to use Fireworks instead of Photoshop for this since the interface is much cleaner and organized and the exported images have smaller size but excellent results. You should also use [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xaviesteve.com/wp-content/uploads/2010/06/gadl-chocolate-map.jpg"><img class="alignnone size-full wp-image-695" title="gadl-chocolate-map" src="http://xaviesteve.com/wp-content/uploads/2010/06/gadl-chocolate-map.jpg" alt="" width="600" height="249" /></a></p>
<p><strong>Adobe Fireworks</strong> or <strong>Photoshop</strong> haven&#8217;t got any CSS Sprite Map tool or wizard but it is very easy to create sprite maps. I recommend you to use Fireworks instead of Photoshop for this since the interface is much cleaner and organized and the exported images have smaller size but excellent results. You should also use Smush.it when you finish with your image to compress it even more.</p>
<h2>What is a CSS Sprite?</h2>
<p>A CSS Sprite is one big image that has many small images in it. We then use CSS to get the little images, all from the big image. Everyone uses them nowadays and once you get the trick of it it is really beneficial for a website. So, what are the advantages of using Sprites? The user will only have to make one server request to get all the icons and logos, etc. Instead of asking for each image separately. Here are some examples: <a href="http://xaviesteve.com/wp-content/themes/xaviesteve/images/xaviesteve_sprite.png">XaviEsteve</a>, <a href="http://www.google.com/images/nav_logo70.png">Google</a>, <a href="http://static02.linkedin.com/scds/common/u/img/sprite/sprite_global_v5.png">LinkedIn</a>, <a href="http://www.facebook.com/rsrc.php/z8S5R/hash/ez3x5cuc.png">Facebook</a>&#8230;</p>
<h2>How to create a CSS Sprite Map with Adobe Fireworks</h2>
<h3>The image map</h3>
<p>Place every little image in a large canvas, trying to order them by groups. Leave as few space as possible between images but do not overlap them, leave 1px spacing between them.</p>
<p><img class="alignnone size-full wp-image-606" title="fireworks-how-to-css-sprite-map" src="http://xaviesteve.com/wp-content/uploads/2010/02/fireworks-how-to-css-sprite-map.gif" alt="fireworks-how-to-css-sprite-map" width="294" height="260" /></p>
<h3>CSS properties for the sprite</h3>
<p>The main three CSS properties needed for a CSS Sprite are:</p>
<pre>background-position: -Xpx -Ypx;
height: 16px;
width: 16px;</pre>
<p>Which can be easily found in Fireworks. Click the image or layer you want to know the CSS values and look at the bottom left of Fireworks:</p>
<p><a href="http://xaviesteve.com/wp-content/uploads/2010/02/css-sprite-background-position-in-fireworks.gif"><img class="alignnone size-full wp-image-607" title="css-sprite-background-position-in-fireworks" src="http://xaviesteve.com/wp-content/uploads/2010/02/css-sprite-background-position-in-fireworks.gif" alt="css-sprite-background-position-in-fireworks" width="202" height="197" /></a></p>
<p>Remember that <em>Background Position is always negative</em>. Nothing to worry about, just add a hyphen (-) in the CSS style sheet.</p>
<p>If we are using &lt;div&gt; or &lt;span&gt; tags and want to show them as inline elements we should use:</p>
<pre>display: inline-block;</pre>
<p>IE6 doesn&#8217;t support inline-block so use this in the IE6 style sheet:</p>
<pre>display: block; float: left;</pre>
<p>We can also use &lt;h1&gt; or any other HTML tags we want. If we need to hide the text inside that tag we can put the text in a &lt;span&gt; and hide it:</p>
<pre>&lt;h1&gt;&lt;span style="display:none;"&gt;Text to be hidden&lt;/span&gt;&lt;/h1&gt;</pre>
<p>Do not use inline styling, I&#8217;ve added it above just to show you the example in one line.</p>
<h3>Group properties to optimize the CSS code</h3>
<p>To get the best out of CSS sprite maps it is recommended to group the properties and make the code as small as possible.<br />
There are two main ways to save code while creating a sprite map. The first one is to add all the selectors to the same URL:</p>
<p><a href="http://xaviesteve.com/wp-content/uploads/2010/02/css-grouping-same-images-from-sprite.gif"><img class="alignnone size-full wp-image-604" title="css-grouping-same-images-from-sprite" src="http://xaviesteve.com/wp-content/uploads/2010/02/css-grouping-same-images-from-sprite.gif" alt="" width="738" height="160" /></a></p>
<p>The second one is to group all the images by its same height/width or any other shared properties like floatings:</p>
<p><a href="http://xaviesteve.com/wp-content/uploads/2010/02/css-grouping-properties-for-clean-code.gif"><img class="alignnone size-full wp-image-605" title="css-grouping-properties-for-clean-code" src="http://xaviesteve.com/wp-content/uploads/2010/02/css-grouping-properties-for-clean-code.gif" alt="" width="587" height="213" /></a></p>
<p>Once you have the image and the CSS you just need to call it in the HTML page like this:</p>
<pre>&lt;span class="bigico hp"&gt;&lt;/span&gt;</pre>
<p>This will &#8220;magically&#8221; convert the &lt;span&gt; into an image.</p>
<h2>CSS Sprite Planning for a website</h2>
<p>Before starting with creating the CSS Sprite in Fireworks it is good to plan how many icons/images you are going to use and which type of images are you going to use: if they will have transparent background, use a lot of colours or gradients&#8230;</p>
<h3>How many files will you need?</h3>
<h4>CSS Sprite map based on its use</h4>
<p>Think <strong>which graphics are used always</strong> and which are just used for specific sections and split them. For example, create one for the home and common content like the header, sidebar, etc. and another one for specific sections that may not be accessed as much. The idea of CSS Sprites is to minimize server requests so packing images by context is the way to go.</p>
<h4>Do you need transparency?</h4>
<p>Are these images/icons going to be placed always on the same background? If they are going to have different backgrounds save the sprite as a PNG with alpha transparency (or a transparent GIF to support IE6 users). If you don&#8217;t need transparency then go with JPG or GIF.</p>
<h4>File size of the image</h4>
<p>The CSS Sprite map shouldn&#8217;t weight more than 300KB. If it does, split it on different ones.</p>
<hr />
<p><small>The screenshots of Fireworks were taken using Adobe CS3, the sprite map belongs to PC-Site.co.uk</small></p>
<p><small>Top photo by <a rel="nofollow" href="http://www.flickr.com/photos/gadl/">Gadl</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://xaviesteve.com/601/css-sprite-map-in-adobe-fireworks-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery-JavaScript: Basic Cheat Sheet for Beginners</title>
		<link>http://xaviesteve.com/383/jquery-javascript-basic-cheat-sheet-for-beginners/</link>
		<comments>http://xaviesteve.com/383/jquery-javascript-basic-cheat-sheet-for-beginners/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 08:51:34 +0000</pubDate>
		<dc:creator>Xavi</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Front-End]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[beginners]]></category>
		<category><![CDATA[cheatsheet]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://xaviesteve.com/?p=383</guid>
		<description><![CDATA[Content Check if element exists if ($('#infobox').length) { /*exists, do things here*/ } Change attribute $('#name').attr('title', 'Hello!'); Change content of a container $('#main').html('&#60;p&#62;Lorem ipsum&#60;/p&#62;'); Change page title document.title = 'Hello!'; Add content before/after $('table&#62;tbody&#62;tr:last').after('&#60;tr&#62;&#60;td&#62;This is now the last row.&#60;/td&#62;&#60;/tr&#62;'); Style Add or remove classes $('#main').addClass('red'); $('#main').removeClass('blue'); Check if element has class if ($('#main').hasClass('green')) { } [...]]]></description>
			<content:encoded><![CDATA[<h2><img class="alignright size-full wp-image-1994" src="http://xaviesteve.com/wp-content/uploads/2009/12/13.jpg" alt="" width="600" height="280" /></h2>
<h2>Content</h2>
<p><strong>Check if element exists</strong></p>
<pre>if ($('#infobox').length) { /*exists, do things here*/ }</pre>
<p><strong>Change attribute</strong></p>
<pre><code>$('#name').attr('title', 'Hello!');</code></pre>
<p><strong>Change content of a container</strong></p>
<pre><code>$('#main').html('&lt;p&gt;Lorem ipsum&lt;/p&gt;');</code></pre>
<p><strong>Change page title</strong></p>
<pre><code>document.title = 'Hello!';</code></pre>
<p><strong>Add content before/after</strong></p>
<pre><code>$('table&gt;tbody&gt;tr:last').after('&lt;tr&gt;&lt;td&gt;This is now the last row.&lt;/td&gt;&lt;/tr&gt;');
</code></pre>
<h2>Style</h2>
<p><strong>Add or remove classes</strong></p>
<pre><code>$('#main').addClass('red');
$('#main').removeClass('blue');</code></pre>
<p><strong>Check if element has class</strong></p>
<pre>if ($('#main').hasClass('green')) { }</pre>
<h2>Ajax</h2>
<p><strong>GET with parameters</strong></p>
<pre><code>$.get("page.php", { action: "edit", id: 38 },
  function(data){
   $('#infobox').html(data);
});</code></pre>
<h2>Loops</h2>
<p><strong>Do something with every matching element</strong></p>
<pre>$('table&gt;tbody&gt;tr').each(
  function (intIndex) {
    /* Modify all table rows */
});</pre>
<h2>Maths</h2>
<p><strong>Check if even or odd</strong></p>
<pre>if ($id % 2) { /*even*/ }else{ /*odd*/ }</pre>
<p><strong>Force string to integer</strong></p>
<pre>parseInt(var);</pre>
<p><strong>Filter words, numbers or symbols</strong></p>
<pre>$(this).attr('id').replace(/[^0-9]+/, '');</pre>
<p><strong>Timer</strong></p>
<pre>setInterval(timer1s, 1000);
function timer1s() { /*run this every second*/ }</pre>
]]></content:encoded>
			<wfw:commentRss>http://xaviesteve.com/383/jquery-javascript-basic-cheat-sheet-for-beginners/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

