<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Impressive Webs</title>
	
	<link>http://www.impressivewebs.com</link>
	<description>Web Design Articles &amp; Tutorials. To make the web impressive.</description>
	<lastBuildDate>Fri, 03 Feb 2012 21:04:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ImpressiveWebs" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="impressivewebs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">ImpressiveWebs</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>A Call For Better Fragment Identifiers</title>
		<link>http://www.impressivewebs.com/better-fragment-identifiers/</link>
		<comments>http://www.impressivewebs.com/better-fragment-identifiers/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 11:00:23 +0000</pubDate>
		<dc:creator>Louis Lazaris</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Web Design Articles]]></category>

		<guid isPermaLink="false">http://www.impressivewebs.com/?p=5410</guid>
		<description><![CDATA[<img src="http://cdn.impressivewebs.com/2012-02/fragment-identifiers.jpg" alt="A Call For Better Fragment Identifiers" title="A Call For Better Fragment Identifiers" width="184" height="184" class="article_image">Where would the web be without links? Links are what hold together what we know as the World Wide Web. Without links, the World Wide Web would be more appropriately called the World Wide Set Of Unrelated Pages, or, incidentally, WWSOUP.

While it's great how simple and effective the process is of "linking" pages together, I think there's room for improvement.]]></description>
			<content:encoded><![CDATA[<p><img src="http://cdn.impressivewebs.com/2012-02/fragment-identifiers.jpg" alt="A Call For Better Fragment Identifiers" title="A Call For Better Fragment Identifiers" width="184" height="184" class="article_image">Where would the web be without links? Links are what hold together what we know as the World Wide Web. Without links, the World Wide Web would be more appropriately called the World Wide Set Of Unrelated Pages, or, incidentally, WWSOUP.</p>
<p>While it&#8217;s great how simple and effective the process is of &#8220;linking&#8221; pages together, I think there&#8217;s room for improvement.</p>
<p>If you&#8217;ve never heard of the term <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#scroll-to-fragid">fragment identifier</a>, well, that&#8217;s just the official name for the part of a URL that follows the hash symbol (&#8220;#&#8221;). Some people refer to links with fragment identifiers as &#8220;in page links&#8221;. So for example, in the following URL, the fragment identifier would be the string &#8220;scroll-to-fragid&#8221;:</p>
<pre name="code" class="html">

http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#scroll-to-fragid
</pre>
<p>If you visit the above URL (which is the WHATWG HTML5 spec that discusses fragment identifiers), the page will automatically jump to the section that&#8217;s been identified by the browser as the &#8220;scroll-to-fragid&#8221; section.</p>
<p>Fragment identifiers also come in handy for <a href="http://www.impressivewebs.com/deep-linking-javascript-ajax/">deep linking</a> and preserving state in Ajax-based applications. So these certainly have an important role on the web.</p>
<h2>How Are Fragments Identified?</h2>
<p>In order for the browser to correctly identify which section of the page the window should scroll to, the fragment needs to be identified within the HTML by means of the <code>id</code> attribute. This means that if a web developer hasn&#8217;t done his job, then there will be no way to link to a specific fragment of any particular document.</p>
<p>So, if you were linking to a document that was five screens long that didn&#8217;t have any <code>id</code> attributes in the source, and you wanted to link to a specific section three screens down, you would have no way to do this. You&#8217;d have to link to it, then place the words &#8220;Scroll down to section B&#8221; or something ridiculous like that.</p>
<h2>The Problem With Fragment Identifiers</h2>
<p>The simple problem that I see with fragment identifiers is that their existence and functionality relies completely on the developer rather than the browser. Yes, the browser needs to read and interpret the identifier and identify the matching fragment. But if the developer doesn&#8217;t include any <code>id</code> attributes in the HTML of the page, then there will be no identifiable fragments.</p>
<p>Do you see why this is a problem? Whether the developer has coded identifiers into the HTML has nothing to do with whether or not the page actually has fragments. Virtually every web page has fragments. In fact, <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#sectioning-content">sectioning content</a> as defined in the HTML5 spec implies as much. Every element on the page that can contain content can theoretically be categorized as a &#8220;fragment&#8221;.</p>
<p>So why is it up to the developer (or content creator) to define whether or not a specific portion of the content can be linked to? When any page of content is created, there is no way of knowing which sections of the page are worthy of being identified. The developer or content creator may have a general idea of how a page&#8217;s content might be divided up, but ultimately it will be the linking resource that should have full control over what portion of the page they want to highlight.</p>
<p>That, after all, is how linking works. A page that&#8217;s displayed as a result of a web-based hyperlink is displayed to the end user <i>only because</i> the referrer (i.e. the page linking to it) defined the link that way. This means that, regardless of what the developer has done behind the scenes in the HTML, all HTML fragments on that page should be identifiable by external referrers.</p>
<h2>The Solution: Power to the Browser and User</h2>
<p>The solution, as I see it, is for the HTML spec to require that browsers have an internal mechanism for identifying fragments that can optionally be overridden by the developer. Just as the browser, by default, makes all links blue and underlines them, and allows these styles to be changed via CSS, likewise the ability to link to specific sections of a page should be built into the browser, and then the developer should have the option to change this.</p>
<p>Here&#8217;s a simple example of how this might be implemented. Suppose you have the following HTML page:</p>
<pre name="code" class="html">
&lt;h1&gt;Page Title&lt;/h1&gt;
&lt;p&gt;Some introductory text.&lt;/p&gt;

&lt;h2&gt;Page Subhead 1&lt;/h2&gt;
&lt;p&gt;Some text for subhead 1.&lt;/p&gt;

&lt;h2&gt;Page Subhead 2&lt;/h2&gt;
&lt;p&gt;Some text for subhead 2.&lt;/p&gt;

&lt;h2&gt;Page Subhead 3&lt;/h2&gt;
&lt;p&gt;Some text for subhead 3.&lt;/p&gt;

&lt;h2&gt;Page Subhead 4&lt;/h2&gt;
&lt;p&gt;Some text for subhead 4.&lt;/p&gt;
</pre>
<p>This type of structure is common on almost all blog posts. The post is divided into sections by means of headings, but unless the developer actually hard-codes <code>id</code> attributes onto each heading tag, there is no way to link to any of those unique sections of the page.</p>
<p>To solve this problem, the browser should allow native fragment identifiers that use the HTML elements themselves in a CSS selector-like fashion. So if you wanted to link to &#8220;Page Subhead  3&#8243; in that HTML page, you could do something like this:</p>
<pre name="code" class="html">
&lt;a href="http://www.example.com/example.html#h2:3"&gt;Check this out!&lt;/a&gt;
</pre>
<p>Notice the string <code>h2:3</code> that appears after the hash symbol. This tells the browser to link to the third <code>&lt;h2&gt;</code> element on the page. This example, of course, is just theoretical, and not meant to imply that this is the way it will be implemented. This is just to illustrate how it could be done without being dependent on developer-added attributes.</p>
<h2>Why Should Fragments Be Identified By Users?</h2>
<p>The reason fragments should be identifiable by users is because a user, not the content creator or the developer, will ultimately decide whether or not a portion of content is valuable or notable in some way.</p>
<p>Yes, the content creator should have the ability to decide how a page is generally divided, if they choose to do so. But the end user should not be restricted from linking to content fragments just because a developer couldn&#8217;t be bothered to add <code>id</code> attributes to every element on the page. And that&#8217;s besides the fact that it would be a waste of time for a developer to do that or to have to build a CMS that does it automatically.</p>
<h2>Blog Comments Get It Right</h2>
<p>Linking directly to someone&#8217;s blog comment is very useful. Even if a blog doesn&#8217;t have an active link for each comment, it&#8217;s pretty easy to use developer tools to find the comment&#8217;s <code>id</code> and link to it. I&#8217;ve done this many times on <a href="http://www.smashingmagazine.com/">Smashing Magazine</a> (they don&#8217;t have live links on each comment).</p>
<p>If there was no way to link to an individual blog comment, this would be a great hindrance to linking on the web. It would not be enough to link to the &#8220;#comments&#8221; section and then hope for the best. So CMSs like WordPress do the right thing by dynamically adding a unique identifier to each comment.</p>
<p>As mentioned, this saves the content creator from having to do it themselves, and puts the identifiability (or, the decision on what&#8217;s valuable) in the hands of the user or the referring website.</p>
<h2>It&#8217;s Already in the Works</h2>
<p>Being fearful of writing an article like this and having someone smarter poke holes in my proposal, I ran a draft of this piece by <a href="http://www.paulirish.com">Paul Irish</a> and he pointed out that an improvement to fragment identifiers is already in the works, but in very early stages.</p>
<p>A developer named <a href="http://simonstl.com/">Simon St. Laurent</a> is hosting an &#8220;unofficial draft&#8221; of a specification called <a href="http://simonstl.com/articles/cssFragID.html">Using CSS Selectors as Fragment Identifiers</a>. The draft is authored by St. Laurent and <a href="http://meyerweb.com/">Eric Meyer</a> and seems to be in the works for about a year (based on the date on that page). There&#8217;s even <a href="http://www.jeremyckahn.com/misc/jQuery-Fragment-ID/js/jquery.fragment-id.js">a jQuery script</a> with a <a href="https://github.com/vsa-partners/jQuery-Fragment-ID">GitHub repo</a> that attempts to implement this new type of fragment identifier. (Thanks to <a href="http://www.impressivewebs.com/better-fragment-identifiers/#comment-18668">Ahmad</a> for the GitHub link.)</p>
<p>And on a related note, <a href="http://www.w3.org/TR/media-frags/">media fragments</a> (i.e. deep linking in audio and video, similar to <a href="http://www.mattcutts.com/blog/link-to-youtube-minute-second/">what you can do on YouTube</a>) have now been introduced and have some browser support (evidently WebKit and Firefox). Check out <a href="http://www.w3.org/TR/media-frags/#media-fragment-syntax">this part of the spec</a> for the syntax.</p>
<p>All credit to Paul Irish for filling me in on these details.</p>
<h2>Conclusion</h2>
<p>Although implementing better fragment identifiers could be a challenge to support and publicize, for the reasons I&#8217;ve explained here, I think it&#8217;s a worthwhile addition to the HTML/CSS spec. I&#8217;m glad someone is already working on a proposal for this, and I hope this article serves to help make this known so that control of linking to content fragments ends up where it&#8217;s supposed to be: in the hands of users.</p>
 <img src="http://www.impressivewebs.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=5410" width="1" height="1" style="display: none;" /><p>No related posts.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/tjigCHo7uIt4LJ41cQo8wtCKFv0/0/da"><img src="http://feedads.g.doubleclick.net/~a/tjigCHo7uIt4LJ41cQo8wtCKFv0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/tjigCHo7uIt4LJ41cQo8wtCKFv0/1/da"><img src="http://feedads.g.doubleclick.net/~a/tjigCHo7uIt4LJ41cQo8wtCKFv0/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=13KgXqiWN78:ndj7lRcot5Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=13KgXqiWN78:ndj7lRcot5Y:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?i=13KgXqiWN78:ndj7lRcot5Y:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ImpressiveWebs/~4/13KgXqiWN78" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.impressivewebs.com/better-fragment-identifiers/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Learn to Program</title>
		<link>http://www.impressivewebs.com/learn-to-program/</link>
		<comments>http://www.impressivewebs.com/learn-to-program/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 11:00:47 +0000</pubDate>
		<dc:creator>Louis Lazaris</dc:creator>
				<category><![CDATA[Web Design Articles]]></category>

		<guid isPermaLink="false">http://www.impressivewebs.com/?p=5453</guid>
		<description><![CDATA[<img src="http://cdn.impressivewebs.com/2012-01/learn-to-program.jpg" alt="Learn to Program" title="Learn to Program" width="184" height="184" class="article_image">In Divya Manian's controversial post on Smashing Magazine <a href="http://coding.smashingmagazine.com/2011/11/11/our-pointless-pursuit-of-semantic-value/">discussing HTML semantics</a>, something that she said got somewhat overlooked in all the debates that ensued.

At the end of the article, she pointed out that rather than wasting time debating HTML tag use, developers should focus on learning how to program. I think this is great advice. So to that end, I've compiled a roundup of sources where beginners can expand their skills past HTML and CSS.]]></description>
			<content:encoded><![CDATA[<p>In Divya Manian&#8217;s controversial post on Smashing Magazine <a href="http://coding.smashingmagazine.com/2011/11/11/our-pointless-pursuit-of-semantic-value/">discussing HTML semantics</a>, something that she said got somewhat overlooked in all the debates that ensued.</p>
<p>At the end of the article, she pointed out that rather than wasting time debating HTML tag use, developers should focus on learning how to program. I think this is great advice. So to that end, I&#8217;ve compiled a roundup of sources where beginners can expand their skills past HTML and CSS.</p>
<h2>Codecademy</h2>
<p><a href="http://www.codecademy.com/">Codecademy</a> dubs itself as &#8220;the easiest way to learn how to code.&#8221; This is testified to by the site&#8217;s <a href="http://techcrunch.com/2011/08/22/codecademy-surges-to-200000-users-2-1-million-lessons-completed-in-72-hours/">more than 200,000 users</a>.</p>
<p><a href="http://www.codecademy.com/"><img src="http://cdn.impressivewebs.com/2012-01/codecademy.jpg" alt="Codecademy" title="Codecademy" width="680" height="200" class="wide_image wi_new"></a></p>
<p>Their &#8220;about&#8221; page explains: &#8220;Codecademy was created out of the frustrations Zach and Ryan felt with learning how to program. Tired with less effective text and video resources, Ryan and Zach teamed up to create Codecademy, a better, more interactive way to learn programming by actually coding.&#8221;</p>
<h2>Treehouse</h2>
<p>You&#8217;ve probably seen this one advertised on <a href="http://css-tricks.com">CSS-Tricks</a>. The <a href="http://teamtreehouse.com/">Treehouse</a> mission is &#8220;to teach Web Design, Development and iOS to people everywhere, in order to help them achieve their dreams and change the world.&#8221; Sounds like an overly-optimistic mission to me, but from their testimonials, Chris Coyier&#8217;s endorsement, and the overall design of the site, this looks like a great way to learn a whole slew of different technologies.</p>
<p><a href="http://teamtreehouse.com/"><img src="http://cdn.impressivewebs.com/2012-01/treehouse.jpg" alt="Treehouse" title="Treehouse" width="680" height="278" class="wide_image wi_new"></a></p>
<p>With the Treehouse method, users watch videos, then takes tests to unlock badges. Seems like a simple and effective concept that&#8217;s worth looking into.</p>
<h2>appendTo Developer Learning Center</h2>
<p>The <a href="http://learn.appendto.com/">appendTo Developer Learning Center</a> looks like a great option for aspiring developers who want to learn jQuery and JavaScript. As they describe on the home page: &#8220;Level up your skills with our on demand, pragmatic training solution. No signup required. No catch. No kidding.&#8221; And best of all, it&#8217;s free!</p>
<p><a href="http://learn.appendto.com/"><img src="http://cdn.impressivewebs.com/2012-01/appendto.jpg" alt="appendTo Developer Learning Center" title="appendTo Developer Learning Center" width="680" height="200" class="wide_image wi_new"></a></p>
<p>According to their about page: &#8220;More and more companies are implementing jQuery in their websites and applications, and they are looking for developers that are highly skilled in jQuery and JavaScript. We see [appendTo] as a vehicle to train and mold these skilled professionals.&#8221;</p>
<h2>MDN: A Re-Introduction to JavaScript</h2>
<p>This is not a fun, interactive course like those already mentioned, but definitely worth a look if you want something simple and text-based. The opening explains: &#8220;Why a re-introduction? Because JavaScript has a reasonable claim to being the world&#8217;s most misunderstood programming language. While often derided as a toy, beneath its deceptive simplicity lie some powerful language features. 2005 has seen the launch of a number of high-profile JavaScript applications, showing that deeper knowledge of this technology is an important skill for any web developer.&#8221;</p>
<p><a href="https://developer.mozilla.org/en/A_re-introduction_to_JavaScript"><img src="http://cdn.impressivewebs.com/2012-01/mdn-javascript.jpg" alt="MDN: A Re-Introduction to JavaScript" title="MDN: A Re-Introduction to JavaScript" width="680" height="200" class="wide_image wi_new"></a></p>
<p>Although the opening&#8217;s reference to &#8220;2005&#8243; seems to imply that the article is somewhat old, it is editable and continues to be maintained and updated, so I think it&#8217;s safe to say this would be a fairly reliable and relevant resource for those desiring to learn JavaScript.</p>
<h2>jQuery Fundamentals</h2>
<p>Another text-based resource, but a much larger one, <a href="http://jqfundamentals.com/book/index.html">jQuery Fundamentals</a> by Rebecca Murphey boasts &#8220;contributions by James Padolsey, Paul Irish, and others.&#8221;</p>
<p><a href="http://jqfundamentals.com/book/index.html"><img src="http://cdn.impressivewebs.com/2012-01/jqfundamentals.jpg" alt="jQuery Fundamentals" title="jQuery Fundamentals" width="680" height="200" class="wide_image wi_new"></a></p>
<p>Although this project is maintained on GitHub, the GitHub repo has been changed to <a href="https://github.com/jquery/learn.jquery.com">this one</a> and evidently the entire project will be moving to <a href="http://learn.jquery.com">learn.jquery.com</a>. My guess is that the current project is not the most up to date in terms of jQuery&#8217;s features, but is probably still a great resource for those learning jQuery or JavaScript from scratch.</p>
<h2>Eloquent JavaScript</h2>
<p><a href="http://eloquentjavascript.net/">Eloquent JavaScript: A Modern Introduction to Programming</a> is a book by Marijn Haverbeke, that has a free HTML version available online. The book provides not only an introduction to JavaScript, but also serves as a brief introduction to programming in general. It comes with a strong endorsement from Brendan Eich (the creator of JavaScript) who says the book &#8220;rekindled my earliest joys of programming.&#8221;</p>
<p><a href="http://eloquentjavascript.net/"><img src="http://cdn.impressivewebs.com/2012-01/eloquent-js.jpg" alt="Eloquent JavaScript" title="Eloquent JavaScript" width="680" height="200" class="wide_image wi_new"></a></p>
<p>Although the online version can serve as a fine introduction to JavaScript, the <a href="http://www.amazon.com/gp/product/1593272820">print version</a> (which I have a copy of) is revised, thoroughly edited, and updated.</p>
<h2>JavaScript 101</h2>
<p>Yet another JavaScript-based course, edited and released by Addi Osmani. This one is a free 10-hour audio course on JavaScript fundamentals, released more than a year ago. The download package for the course includes slides in PDF format and course exercises.</p>
<p><a href="http://addyosmani.com/blog/javascript-101-free-course/"><img src="http://cdn.impressivewebs.com/2012-01/js-101.jpg" alt="JavaScript 101" title="JavaScript 101" width="680" height="200" class="wide_image wi_new"></a></p>
<p>The course is a set of audio recordings taken from lectures done by Tony Pittarese, an assistant professor of Computer and Information Sciences at East Tennessee State University. Addi endorses the course, however he does point out that there are some minor things in it that would not be considered best practice today.</p>
<h2>Conclusion</h2>
<p>I can&#8217;t personally vouch for all the material in these resources. But all of these have come, in one way or another, endorsed by well-known front-end developers in our industry. So if you&#8217;re a beginner whose been working with HTML and CSS for some time now, any one of these resources could be used to help you step up your game and start programming.</p>
<p>As always, if you know of another resource in the category of learning to program for beginners, post it in the comments.</p>
 <img src="http://www.impressivewebs.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=5453" width="1" height="1" style="display: none;" /><p>Related posts:<ol>
<li><a href='http://www.impressivewebs.com/skills-front-end-developers/' rel='bookmark' title='Skills for Front-End Developers'>Skills for Front-End Developers</a></li>
<li><a href='http://www.impressivewebs.com/buy-web-design-books/' rel='bookmark' title='How Do You Decide Which Web Design or Programming Books to Buy?'>How Do You Decide Which Web Design or Programming Books to Buy?</a></li>
<li><a href='http://www.impressivewebs.com/javascript-resources/' rel='bookmark' title='Some JavaScript Resources Worth Checking Out'>Some JavaScript Resources Worth Checking Out</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/OFnVPjkYkg65jotbCtk2ucG60Ww/0/da"><img src="http://feedads.g.doubleclick.net/~a/OFnVPjkYkg65jotbCtk2ucG60Ww/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/OFnVPjkYkg65jotbCtk2ucG60Ww/1/da"><img src="http://feedads.g.doubleclick.net/~a/OFnVPjkYkg65jotbCtk2ucG60Ww/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=fIIWg3n6TAw:EFoGXs7_GEw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=fIIWg3n6TAw:EFoGXs7_GEw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?i=fIIWg3n6TAw:EFoGXs7_GEw:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ImpressiveWebs/~4/fIIWg3n6TAw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.impressivewebs.com/learn-to-program/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>New CSS3 Properties to Handle Text and Word Wrapping</title>
		<link>http://www.impressivewebs.com/new-css3-text-wrap/</link>
		<comments>http://www.impressivewebs.com/new-css3-text-wrap/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 15:16:32 +0000</pubDate>
		<dc:creator>Louis Lazaris</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Web Design Articles]]></category>

		<guid isPermaLink="false">http://www.impressivewebs.com/?p=5431</guid>
		<description><![CDATA[<img src="http://cdn.impressivewebs.com/2012-01/css3-text-wrap.jpg" alt="New CSS3 Properties to Handle Text and Word Wrapping" title="New CSS3 Properties to Handle Text and Word Wrapping" width="184" height="184" class="article_image">About a year and a half ago, I wrote about CSS3's <a href="http://www.impressivewebs.com/word-wrap-css3/">word-wrap</a> property. The angle of the article was the fact that it was a feature that was new in CSS3 that didn't exist in CSS2.1 and it worked in just about every browser, including old IE.

Well, now that's all changed, which I discovered while researching additions to my <a href="http://css3clickchart.com">CSS3 Click Chart</a>. The <code>word-wrap</code> property has been removed from the CSS3 spec and other related properties have been added.]]></description>
			<content:encoded><![CDATA[<p><img src="http://cdn.impressivewebs.com/2012-01/css3-text-wrap.jpg" alt="New CSS3 Properties to Handle Text and Word Wrapping" title="New CSS3 Properties to Handle Text and Word Wrapping" width="184" height="184" class="article_image">About a year and a half ago, I wrote about CSS3&#8242;s <a href="http://www.impressivewebs.com/word-wrap-css3/">word-wrap</a> property. The angle of the article was the fact that it was a feature that was new in CSS3 that didn&#8217;t exist in CSS2.1 and it worked in just about every browser, including old IE.</p>
<p>Well, now that&#8217;s all changed, which I discovered while researching additions to my <a href="http://css3clickchart.com">CSS3 Click Chart</a>. The <code>word-wrap</code> property has been removed from the CSS3 spec and other related properties have been added.</p>
<h2>Text-Wrap</h2>
<p>The <a href="http://www.w3.org/TR/css3-text/#text-wrap0">text-wrap</a> property &#8220;specifies the mode for text wrapping&#8221;. Well, that description doesn&#8217;t tell us a whole lot, so let&#8217;s break down the values.</p>
<p><strong>normal</strong><br />
This is the initial, or default, value for <code>text-wrap</code>. This is what happens when you don&#8217;t have any text wrap settings specified, so a value of &#8220;normal&#8221; is what you see occurring in any given element that has text.</p>
<p><strong>none</strong><br />
This tells the browser that text in that element should not break at all. So if the text reaches the end of the parent container, it will overflow its parent and any <code>overflow</code> settings would handle the text&#8217;s visibility.</p>
<p><strong>avoid</strong><br />
This value will still allow line breaking to occur, but this tells the browser to be selective as to where breaks happen. A nice example is shown in the spec <a href="http://www.w3.org/TR/css3-text/#example-avoid">in this section</a> which basically shows that the browser will interpret parts of the markup so as to decide where to break lines and where to avoid breaking them.</p>
<p><strong>Browser Support:</strong> None that I know of.</p>
<h2>Overflow-Wrap</h2>
<p>The <a href="http://www.w3.org/TR/css3-text/#overflow-wrap0">overflow-wrap</a> property is the replacement for the now-obsolete <code>word-wrap</code> property. The values are either &#8220;normal&#8221; or &#8220;break-word&#8221; &#8212; the same values that <code>word-wrap</code> uses.</p>
<p>This particular property, like <code>word-wrap</code>, handles what the spec refers to as &#8220;emergency wrapping&#8221;. The spec explains: &#8220;This property specifies whether the UA may break within a word to prevent overflow when an otherwise-unbreakable string is too long to fit within the line box.&#8221;</p>
<p>The spec also explains that if <code>text-wrap</code> is set to &#8220;none&#8221;, then <code>overflow-wrap</code> will have no effect. Also, although this is for breaking a line in the middle of a word, the word will not be hyphenated. More on hyphenation below.</p>
<p><strong>Browser Support:</strong> None that I know of.</p>
<h2>Line-Break and Word-Break</h2>
<p>According to <a href="http://www.w3.org/TR/css3-text/#line-breaking">the spec</a>, these two properties have been introduced to help deal with the problems that arise from browsers assuming that lines and words need to break as is common in the English language. For example, in English a browser will not break a line within a word, but only where there is a space or certain punctuation marks. But in other languages, these rules don&#8217;t apply.</p>
<p>As the spec explains, although English lines may break at space characters or punctuation, this is not true in other writing systems that don&#8217;t use spaces and punctuation. In these writing systems &#8220;a line break opportunity is based on character boundaries, not word boundaries&#8221;. Thus, line breaks often have to be supressed within certain character combinations.</p>
<p>I honestly don&#8217;t fully understand all the values for these properties, so I won&#8217;t attempt to expand on them here. And judging by the description, it seems these two properties would be most useful to those dealing with content in languages that require different line breaking rules than that of English.</p>
<p><strong>Browser Support:</strong> None that I know of.</p>
<h2>Text-Overflow</h2>
<p>The <a href="http://www.w3.org/TR/css3-ui/#text-overflow0">text-overflow</a> property defines how to handle text that overflows its parent when the parent&#8217;s overflow is set to something other than &#8220;visible&#8221;. It accepts the following values:</p>
<p><strong>clip</strong><br />
With this value (the default), the text will be cut off and the remainder would be invisible. This happens by default in all browsers now. Keep in mind that in order for this to take effect, the text would have to be inside an element that, for whatever reason, doesn&#8217;t allow natural line breaking.</p>
<p><strong>ellipsis</strong><br />
With this value, the text will still be cut off but the fact that it&#8217;s incomplete will be indicated by an ellipsis (i.e. three dots &#8220;&#8230;&#8221;).</p>
<p>As shown below, browser support is very good for this property. Old versions of IE did include support, but it seems the implentation has changed and so newer IE uses prefixes. For more on this and a working live example, see <a href="http://css3clickchart.com/#text-overflow">this section</a> on the click chart.</p>
<p><strong>Browser Support:</strong> IE6+, Firefox 7+, Chrome 1+, Safari 1.3+, Opera 11+</p>
<h2>Hyphens</h2>
<p>And finally, CSS3 now introduces a <a href="http://www.w3.org/TR/css3-text/#hyphenation">hyphens</a> property that can be used to tell the browser whether or not to automatically insert hyphens.</p>
<p><strong>none</strong><br />
A value of &#8220;none&#8221; tells the browser to never hyphenate, even if break points are somehow defined.</p>
<p><strong>manual</strong><br />
This value is the default and is how browsers naturally do hyphenation. This means that the browser won&#8217;t do any hyphenation unless there are hyphenation characters indicated. You can actually do this using the soft hyphenation character, which, inside of a word, looks like this: <code>hy&amp;shy;phens</code>.</p>
<p><strong>auto</strong><br />
With a value of &#8220;auto&#8221;, the browser will automatically insert word breaks and hyphenation in accordance with the language defined for that page.</p>
<p>Hyphens have some support so you can see a working example with the accompanying code <a href="http://css3clickchart.com/#hyphenation">here</a>.</p>
<p><strong>Browser Support:</strong> IE10+, Firefox 6+, Safari 5.1+ (all require vendor prefixes; thanks to <a href="http://www.impressivewebs.com/new-css3-text-wrap/#comment-18550">Hans</a> for letting me know about support in Safari)</p>
<h2>Conclusion</h2>
<p>Although browser support is not great for these new features, it&#8217;s nice to know that in the future we&#8217;ll have some powerful tools at our disposal to handle overflow and line breaks in a more fine-grained manner.</p>
 <img src="http://www.impressivewebs.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=5431" width="1" height="1" style="display: none;" /><p>Related posts:<ol>
<li><a href='http://www.impressivewebs.com/word-wrap-css3/' rel='bookmark' title='Word-Wrap: A CSS3 Property That Works in Every Browser'>Word-Wrap: A CSS3 Property That Works in Every Browser</a></li>
<li><a href='http://www.impressivewebs.com/cross-browser-css-properties/' rel='bookmark' title='List of Cross-Browser CSS Properties'>List of Cross-Browser CSS Properties</a></li>
<li><a href='http://www.impressivewebs.com/mixing-css3-keyframe-animations/' rel='bookmark' title='Mixing CSS3 Prefixed Properties with Keyframe Animations'>Mixing CSS3 Prefixed Properties with Keyframe Animations</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/-AcUUTHjBjOv7-qj4N_pD8Th4XI/0/da"><img src="http://feedads.g.doubleclick.net/~a/-AcUUTHjBjOv7-qj4N_pD8Th4XI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-AcUUTHjBjOv7-qj4N_pD8Th4XI/1/da"><img src="http://feedads.g.doubleclick.net/~a/-AcUUTHjBjOv7-qj4N_pD8Th4XI/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=7XKx5Mq0xqA:wFi-o2TDAcM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=7XKx5Mq0xqA:wFi-o2TDAcM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?i=7XKx5Mq0xqA:wFi-o2TDAcM:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ImpressiveWebs/~4/7XKx5Mq0xqA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.impressivewebs.com/new-css3-text-wrap/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>The All-New CSS3 Click Chart</title>
		<link>http://www.impressivewebs.com/new-css3-click-chart/</link>
		<comments>http://www.impressivewebs.com/new-css3-click-chart/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 11:00:32 +0000</pubDate>
		<dc:creator>Louis Lazaris</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Web Design Articles]]></category>

		<guid isPermaLink="false">http://www.impressivewebs.com/?p=5373</guid>
		<description><![CDATA[<img src="http://cdn.impressivewebs.com/2012-01/new-css3-click-chart.jpg" alt="The All-New CSS3 Click Chart" title="The All-New CSS3 Click Chart" width="184" height="184" class="article_image">Over the past month or so I've been slowly working on a redesign and revamp of my CSS3 Click Chart.

A whole slew of things have changed. Here's a summary.]]></description>
			<content:encoded><![CDATA[<p>Over the past month or so I&#8217;ve been slowly working on a redesign and revamp of my <a href="http://css3clickchart.com">CSS3 Click Chart</a>. A whole slew of things have changed. Here&#8217;s a summary.</p>
<ul class="body_list cl">
<li>Two sections to choose from: Common Stuff and Cutting-Edge</li>
<li>Totally new layout and colors</li>
<li>A separate domain name</li>
<li>A <a href="https://github.com/impressivewebs/CSS3-Click-Chart">GitHub repo</a></li>
<li>Ajax calls that <a href="https://twitter.com/#!/pety7439/status/159012628952395776">could use some optimizing</a></li>
<li>Tons of new stuff added, especially in the &#8220;cutting-edge&#8221; section</li>
<li>&#8220;Polyfills/Tools&#8221; and &#8220;Tutorials/Articles&#8221; sections for each feature</a></li>
</ul>
<p>Thanks to <a href="https://twitter.com/#!/pety7439">Schmíz Péter</a> and <a href="https://twitter.com/#!/thierrykoblentz">Thierry Koblentz</a> who offered some early feedback when I tweeted about it yesterday.</p>
<p><a href="http://css3clickchart.com"><img src="http://cdn.impressivewebs.com/2012-01/click-chart-screen.jpg" alt="CSS3 Click Chart" title="CSS3 Click Chart" width="680" height="295" class="wide_image wi_new"></a></p>
<p>I&#8217;m sure there&#8217;s lots more that could be improved, added, or modified, (for example, a &#8220;find&#8221; feature, maybe a way to alphabetize the list, etc.) so feel free to browse around it and if you see anything that could be improved, you can <a href="https://github.com/impressivewebs/CSS3-Click-Chart/issues">open an issue</a> on Github or post a comment here.</p>
<p>I&#8217;d also like to update the data for each feature, so if you have built, written, or know of any tools, polyfills, or tutorials covering any of the features, post a link here or on GitHub and I&#8217;ll add it.</p>
<p>Now stop reading this and check out <a href="http://css3clickchart.com/">the new CSS3 Click Chart</a>! :)</a></p>
 <img src="http://www.impressivewebs.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=5373" width="1" height="1" style="display: none;" /><p>Related posts:<ol>
<li><a href='http://www.impressivewebs.com/additions-css3-click-chart/' rel='bookmark' title='More Additions to the CSS3 Click Chart'>More Additions to the CSS3 Click Chart</a></li>
<li><a href='http://www.impressivewebs.com/not-another-update/' rel='bookmark' title='Not Another CSS3 Click Chart Update!'>Not Another CSS3 Click Chart Update!</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/ICUsPAPlGAUjFaIiqs9oq9FEGSg/0/da"><img src="http://feedads.g.doubleclick.net/~a/ICUsPAPlGAUjFaIiqs9oq9FEGSg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ICUsPAPlGAUjFaIiqs9oq9FEGSg/1/da"><img src="http://feedads.g.doubleclick.net/~a/ICUsPAPlGAUjFaIiqs9oq9FEGSg/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=DRcqXpTB-_s:WglyNhZJI_U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=DRcqXpTB-_s:WglyNhZJI_U:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?i=DRcqXpTB-_s:WglyNhZJI_U:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ImpressiveWebs/~4/DRcqXpTB-_s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.impressivewebs.com/new-css3-click-chart/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Textarea Auto Resize</title>
		<link>http://www.impressivewebs.com/textarea-auto-resize/</link>
		<comments>http://www.impressivewebs.com/textarea-auto-resize/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 12:29:02 +0000</pubDate>
		<dc:creator>Louis Lazaris</dc:creator>
				<category><![CDATA[JavaScript & jQuery]]></category>
		<category><![CDATA[Web Design Tutorials]]></category>

		<guid isPermaLink="false">http://www.impressivewebs.com/?p=5346</guid>
		<description><![CDATA[<img src="http://cdn.impressivewebs.com/2012-01/textarea-auto-resize.jpg" alt="Textarea Auto Resize" title="Textarea Auto Resize" width="184" height="184" class="article_image">On a current project, I was trying to find a way to auto-resize a textarea according to some content that would be loaded in dynamically via Ajax. I didn't know the height of the content and the textarea element doesn't resize naturally like other HTML elements, so I needed to update the height of the element with JavaScript each time the content changed.

It seemed like a simple task. After doing a search to see what types of plugins and scripts were floating around to do this, the examples I found seemed a little overly complex. While most solutions seemed to incorporate some complex math calculations, I thought of a better way.]]></description>
			<content:encoded><![CDATA[<p><img src="http://cdn.impressivewebs.com/2012-01/textarea-auto-resize.jpg" alt="Textarea Auto Resize" title="Textarea Auto Resize" width="184" height="184" class="article_image">On a current project, I was trying to find a way to auto-resize a textarea according to some content that would be loaded in dynamically via Ajax. I didn&#8217;t know the height of the content and the textarea element doesn&#8217;t resize naturally like other HTML elements, so I needed to update the height of the element with JavaScript each time the content changed.</p>
<p>It seemed like a simple task. After doing a search to see what types of plugins and scripts were floating around to do this, the examples I found seemed a little overly complex. While most solutions seemed to incorporate some complex math calculations, I thought of a better way.</p>
<h2>Using a Hidden Clone Element</h2>
<p>A <code>&lt;div&gt;</code> element will naturally stretch to fit the height of its content (assuming no floats or absolutely positioned elements are involved). So to get the height of the textarea, I just need to do the following:</p>
<ul class="body_text">
<li>Grab the content loaded into the textarea</li>
<li>Create an invisible clone div</li>
<li>Give the clone the same width and typographical properties as the textarea</li>
<li>Place the content into the clone</li>
<li>Get the height of the clone</li>
<li>Apply the height of the clone to the height of the textarea</li>
</ul>
<h2>The Code</h2>
<p>One of the keys to this solution is the CSS. As mentioned, the invisible clone needs to have the same typographical properties as the textarea. Not only does this include stuff line <code>font-size</code> and <code>font-family</code>, but also the <code>white-space</code> and <code>word-wrap</code> properties of the clone need to be set to mimic what happens inside the textarea.</p>
<p>First here&#8217;s the CSS for the textarea:</p>
<pre name="code" class="css">
textarea {
    width: 500px;
    min-height: 50px;
    font-family: Arial, sans-serif;
    font-size: 13px;
    color: #444;
    padding: 5px;
}

.noscroll {
    overflow: hidden;
}
</pre>
<p>Take note that I&#8217;ve added a separate class with <code>overflow: hidden</code>, to prevent scrollbars from appearing. Normally this would not be a good thing to add to a textarea element, but because I&#8217;ll be resizing it with JavaScript, it&#8217;s fine. This class will be added to the textarea with JavaScript, to ensure that if JavaScript is turned off, the textarea will scroll normally.</p>
<p>Here is the CSS I&#8217;ll be applying to the hidden clone element:</p>
<pre name="code" class="php">
.hiddendiv {
    display: none;
    white-space: pre-wrap;
    width: 500px;
    min-height: 50px;
    font-family: Arial, sans-serif;
    font-size: 13px;
    padding: 5px;
    word-wrap: break-word;
}
</pre>
<p>A quick break-down: First, I set it to <code>display: none</code> because I don&#8217;t want it visible to the user. I believe this should be fine for screen readers, because I don&#8217;t want it read out to them either. If anyone has a better solution for hiding it for assistive devices, let me know.</p>
<p>I&#8217;ve also set the <code>white-space</code> property to a value of &#8220;pre-wrap&#8221;. This ensures that lines will wrap correctly, but everything else gets pre-formatted. I&#8217;ve also set the width to be equal to the textarea, and duplicated a few typographical properties. In both examples, I&#8217;m giving the clone and the textarea a <code>min-height</code> so it will always start out at a standard, usable height.</p>
<p>Now for the JavaScript (which is using jQuery, <a href="http://www.impressivewebs.com/why-use-jquery-simple-tutorials/">sorry</a>):</p>
<pre name="code" class="js">
$(function() {
	var txt = $('#comments'),
	hiddenDiv = $(document.createElement('div')),
	content = null;

	txt.addClass('noscroll');
	hiddenDiv.addClass('hiddendiv');

	$('body').append(hiddenDiv);

	txt.bind('keyup', function() {

	    content = txt.val();
	    content = content.replace(/\n/g, '&lt;br&gt;');
	    hiddenDiv.html(content);

	    txt.css('height', hiddenDiv.height());

	});
});
</pre>
<p>This code assumes we&#8217;re targeting a single textarea element on the page. If you need this to affect more than one element, then just change the first line inside the function that defines the element we&#8217;re working with.</p>
<p>I&#8217;m dynamically changing the height based on jQuery&#8217;s <code>keyup</code> event. You could easily change this to respond to an Ajax request instead, if you happen to be loading the content that way.</p>
<p>Using <code>keyup</code>, however, is a good solution because it&#8217;s the most likely reason that you&#8217;ll want to auto-resize a textarea &#8212; user-entered data.</p>
<h2>What About IE6-8?</h2>
<p>I almost didn&#8217;t write this article, because the code wasn&#8217;t working at all in IE6-8. The reason for this had to do with the <a href="http://www.quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html">poor way IE handles grabbing content using innerHTML</a>. So after I had written this simple solution that seemed to work in all the newer browsers, I came across <a href="http://javascriptly.com/examples/jquery-grab-bag/autogrow-textarea.html" rel="nofollow">this jQuery plugin</a>. That solution uses the exact same method that I&#8217;m using (the cloned element), and it worked (mostly) in IE.</p>
<p>So the line that I borrowed from that example that (mostly) fixed mine in IE was:</p>
<pre name="code" class="js">
// fixes the IE innerHTML problem
content = content.replace(/\n/g, '&lt;br&gt;');
</pre>
<p>But even after adding this line, there was still an issue: Long, unbroken strings of text wouldn&#8217;t affect the height of the textarea (which isn&#8217;t a big problem, really). A simple fix was adding <code>word-wrap: break-word</code> to the CSS for the clone element.</p>
<h2>Bugs? Problems?</h2>
<p>Like the other solutions floating around, this could easily be turned into a plugin. In that case, I&#8217;d have to add a little more jQuery so that the characteristics of the clone element aren&#8217;t dependent on the CSS. Also, if the width of the textarea is fluid, then you&#8217;d have to use jQuery to grab that, and then apply it to the clone.</p>
<p>The solution I linked to in the previous section is just about perfect &#8212; you just need to add the <code>word-wrap</code> fix that I mentioned.</p>
<p>For a demo, you can view my JSFiddle using the link below. Just be sure to hit the &#8220;run&#8221; button before you test it. Let me know if you find any problems with it.</p>
<div class="button_holder">
<ul class="button">
<li><a href="http://jsfiddle.net/ImpressiveWebs/fGNNT/16/" title="View Demo">View Demo</a></li>
</ul>
</div>
 <img src="http://www.impressivewebs.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=5346" width="1" height="1" style="display: none;" /><p>Related posts:<ol>
<li><a href='http://www.impressivewebs.com/css3-resize/' rel='bookmark' title='The CSS3 Resize Property'>The CSS3 Resize Property</a></li>
<li><a href='http://www.impressivewebs.com/word-wrap-css3/' rel='bookmark' title='Word-Wrap: A CSS3 Property That Works in Every Browser'>Word-Wrap: A CSS3 Property That Works in Every Browser</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/ApdpmF1ILTBAdAMQUm9Gw8OUErQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/ApdpmF1ILTBAdAMQUm9Gw8OUErQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ApdpmF1ILTBAdAMQUm9Gw8OUErQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/ApdpmF1ILTBAdAMQUm9Gw8OUErQ/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=kXX48UXqZgQ:vxrY4sE9V-c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=kXX48UXqZgQ:vxrY4sE9V-c:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?i=kXX48UXqZgQ:vxrY4sE9V-c:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ImpressiveWebs/~4/kXX48UXqZgQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.impressivewebs.com/textarea-auto-resize/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Things We Wish Clients Would Say</title>
		<link>http://www.impressivewebs.com/things-we-wish-clients-would-say/</link>
		<comments>http://www.impressivewebs.com/things-we-wish-clients-would-say/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 11:00:15 +0000</pubDate>
		<dc:creator>Louis Lazaris</dc:creator>
				<category><![CDATA[Web Design Articles]]></category>
		<category><![CDATA[Weekend Fun]]></category>

		<guid isPermaLink="false">http://www.impressivewebs.com/?p=5270</guid>
		<description><![CDATA[<img src="http://cdn.impressivewebs.com/2012-01/clients-say.jpg" alt="Things We Wish Clients Would Say" title="Things We Wish Clients Would Say" width="184" height="184" class="article_image">Yesterday I tweeted the following: "On current client project, client says CSS only needs to work in Chrome. Let me know how jealous you are."

The results weren't too surprising. Below I brainstormed a list of some other things we wish clients would say. I guess this is the polar opposite of what you find <a href="http://clientsfromhell.net/">here</a>, except these quotes aren't real. Enjoy.]]></description>
			<content:encoded><![CDATA[<p>Yesterday I <a href="https://twitter.com/#!/ImpressiveWebs/status/155008693493174273">tweeted</a> the following:</p>
<blockquote><p>
On current client project, client says CSS only needs to work in Chrome. Let me know how jealous you are.
</p></blockquote>
<p>The <a href="https://twitter.com/#!/kevingamble/status/155008853631713280">responses</a> <a href="https://twitter.com/#!/dropseed/status/155009120737574912">weren&#8217;t</a> <a href="https://twitter.com/#!/jeroenrood/status/155045801247244288">too</a> <a href="https://twitter.com/#!/thebabydino/status/155035351596015616">surprising</a>.</p>
<p>Below I brainstormed a list of some other things we wish clients would say. I guess this is the polar opposite of what you find <a href="http://clientsfromhell.net/">here</a>, except these quotes aren&#8217;t real. Enjoy.</p>
<blockquote><p>
I don&#8217;t need to see any design mockups, you just create whatever you think works best.
</p></blockquote>
<blockquote><p>
I&#8217;ve never heard of Internet Explorer&#8230; I use Firefox.
</p></blockquote>
<blockquote><p>
I&#8217;d love to make some recommendations for you, but let&#8217;s be honest &#8212; I don&#8217;t know diddly-squat about design.
</p></blockquote>
<blockquote><p>
I really love how you made the design look *TOTALLY* different in Internet Explorer! You must have put in some extra work on that! Here&#8217;s another $500&#8230;
</p></blockquote>
<blockquote><p>
I have an idea&#8230; Why don&#8217;t I just pay you the whole amount up front, so we don&#8217;t have to bother with that later?
</p></blockquote>
<blockquote><p>
Feel free to post screenshots of your progress on that basketball-logo website, so you can get feedback from other design professionals.
</p></blockquote>
<blockquote><p>
Can you make the logo smaller?
</p></blockquote>
<blockquote><p>
I hate animation, so make sure nothing moves unless the user wants it to move.
</p></blockquote>
<blockquote><p>
My grandmother wanted to see the site and give you a few suggestions, but I told her to get real.
</p></blockquote>
<blockquote><p>
I know I&#8217;ve been paying you $45 per hour for 2 years now, but I think we should increase that to $50. You&#8217;ve earned it.
</p></blockquote>
<blockquote><p>
Internet Explorer is a text-only browser, right?
</p></blockquote>
<blockquote><p>
We won&#8217;t be having any long, boring meetings. I want you to just focus on what you do best &#8212; design and code.
</p></blockquote>
<blockquote><p>
Why would I tell you how to do your job? I don&#8217;t tell my mechanic how to do an oil change, do I?
</p></blockquote>
<blockquote><p>
I was going to tell you to create a separate gallery for my cat photos, but my harddrive crashed and I lost all of them.
</p></blockquote>
<blockquote><p>
I don&#8217;t want it to look anything like Facebook.
</p></blockquote>
<blockquote><p>
Remember those 10 other projects I said I would ask you to work on if you did this one for a good price? Here&#8217;s the downpayment for those &#8212; now let&#8217;s iron out the details!
</p></blockquote>
<blockquote><p>
That design is not at all what I had envisioned &#8212; I love it!
</p></blockquote>
<h2>Add Your Own</h2>
<p>What do you wish a client would say? Add them to the comments and I&#8217;ll feature any good ones here with a link back to your site.</p>
 <img src="http://www.impressivewebs.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=5270" width="1" height="1" style="display: none;" /><p>Related posts:<ol>
<li><a href='http://www.impressivewebs.com/important-before-design/' rel='bookmark' title='The 3 Most Important Things to Consider Before Starting a Design'>The 3 Most Important Things to Consider Before Starting a Design</a></li>
<li><a href='http://www.impressivewebs.com/conditional-comments/' rel='bookmark' title='Things You Might Not Know About Conditional Comments'>Things You Might Not Know About Conditional Comments</a></li>
<li><a href='http://www.impressivewebs.com/attribute-selectors/' rel='bookmark' title='Things Worth Noting About CSS Attribute Selectors'>Things Worth Noting About CSS Attribute Selectors</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/WaDE31LIHl2bWuBzfdMPNZAfrDc/0/da"><img src="http://feedads.g.doubleclick.net/~a/WaDE31LIHl2bWuBzfdMPNZAfrDc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WaDE31LIHl2bWuBzfdMPNZAfrDc/1/da"><img src="http://feedads.g.doubleclick.net/~a/WaDE31LIHl2bWuBzfdMPNZAfrDc/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=3N9few6VIYs:n8HOhFct0rs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=3N9few6VIYs:n8HOhFct0rs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?i=3N9few6VIYs:n8HOhFct0rs:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ImpressiveWebs/~4/3N9few6VIYs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.impressivewebs.com/things-we-wish-clients-would-say/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Why Use jQuery for Simple JavaScript Tutorials?</title>
		<link>http://www.impressivewebs.com/why-use-jquery-simple-tutorials/</link>
		<comments>http://www.impressivewebs.com/why-use-jquery-simple-tutorials/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 11:00:43 +0000</pubDate>
		<dc:creator>Louis Lazaris</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Web Design Articles]]></category>

		<guid isPermaLink="false">http://www.impressivewebs.com/?p=5236</guid>
		<description><![CDATA[<img src="http://cdn.impressivewebs.com/2012-01/jquery-sledgehammer.jpg" alt="Why Use jQuery for Simple JavaScript Tutorials?" title="Why Use jQuery for Simple JavaScript Tutorials?" width="184" height="184" class="article_image">A trackback on one of my previous posts (yeah, trackbacks aren't just for spam) alerted me to an interesting point brought up by a blogger named <a href="http://www.mattpass.com/">Matt Pass</a>. In his post entitled <a href="http://www.mattpass.com/?p=6">Walnut, Meet jQuery Sledgehammer</a> he politely explains why he feels it's overkill to use jQuery in a simple tutorial post.

His main point is summarized in this quote: "Do you really need a 90k JavaScript library (and thats the minified version) to toggle the size of a menu?"]]></description>
			<content:encoded><![CDATA[<p>A trackback on one of my previous posts (yeah, trackbacks aren&#8217;t just for spam) alerted me to an interesting point brought up by a blogger named <a href="http://www.mattpass.com/">Matt Pass</a>. In his post entitled <a href="http://www.mattpass.com/?p=6">Walnut, Meet jQuery Sledgehammer</a> he politely explains why he feels it&#8217;s overkill to use jQuery in a simple tutorial post.</p>
<p>His main point is summarized in this quote:</p>
<blockquote><p>
Do you really need a 90k JavaScript library (and thats the minified version) to toggle the size of a menu?
</p></blockquote>
<p>I think his point is valid, and it&#8217;s something <a href="http://css-tricks.com/learn-canvas-snake-game/#comment-97697">I&#8217;ve seen before</a> in comments, and even from experienced JavaScript developers and bloggers. For example, in an article on SitePoint covering <a href="http://www.sitepoint.com/a-drag-and-drop-planning-board-with-html5/">Drag and Drop in HTML5</a>, Alexis Goldstein uses jQuery to demonstrate HTML5&#8242;s drag and drop feature. <a href="http://www.sitepoint.com/a-drag-and-drop-planning-board-with-html5/#comment-966189">A comment from James Edwards</a> on the post makes a similar point to that of Matt Pass.</p>
<p>I almost responded to James&#8217; commment at the time, and I had written a comment for Matt&#8217;s post, but felt this was something I wanted to open up to my larger audience.</p>
<h2>Is Library-less Code a Reality Anymore?</h2>
<p>Yes, there are small sites built all the time. There are brochure sites, there are one-page info sites, there are microsites &#8212; which may not have any, or very little, JavaScript. But those sites are becoming less and less common.</p>
<p>JavaScript libraries are virtually mandatory in websites and web apps today. And sure, it&#8217;s nice be able to write things raw like Matt demonstrates in his post. But I feel that in almost all real-world cases, developers will be including at least one major JavaScript library.</p>
<p>So, the problem that Matt points out (i.e. using a sledgehammer to crack a walnut), is actually not a problem at all. In fact, the opposite is true. Because if you are including a library, and you still choose to write lots of raw JavaScript, then you&#8217;re probably writing more code than is necessary and are <strong>letting the library be a wasted resource</strong>.</p>
<p>Yes, in some cases, for performance reasons, even with a library loaded up, you might be better off using raw JavaScript (for example, a simple <code>for</code> loop might be more performant than jQuery&#8217;s <code>each()</code> or <code>find()</code> or whatnot). So I&#8217;m not completely downvoting the using of raw JavaScript. And that&#8217;s besides the fact that oftentimes I just remember the raw version easier than the jQuery version, because that&#8217;s how I learned.</p>
<p>But in my opinion, simple code examples that use jQuery are not overkill at all, but are simply catering to the needs of modern developers &#8212; the majority of whom are using jQuery in the very projects where they might be using the simple tutorial code Matt is talking about.</p>
<h2>JavaScript is Often Beside the Point</h2>
<p>Finally, the other reason I think it&#8217;s okay to use jQuery in a post like that is that, well, the point of those posts is often <strong>more about principles or concepts</strong>, not code architecture, cross-browser issues, or other peripheral matters that would, in my view, distract from the point of the post.</p>
<p>So, although a discussion of some of the extra code used with raw JavaScript might have its benefits, I think it&#8217;s better to stay focused on the main point of the post, and not get clouded with other more complicated issues. And if anyone wants to learn raw JavaScript, there are plenty of sources for that.</p>
<h2>Thoughts?</h2>
<p>I will continue to use jQuery even in simple posts that are more focused on CSS3. But maybe there&#8217;s something I&#8217;m overlooking. Would love to hear anyone&#8217;s feedback on this.</p>
<p>Do you prefer that tutorials use jQuery in all cases? Or would you rather see raw JavaScript that can easily be put into a page that doesn&#8217;t require any dependencies? Do library-free websites exist anymore?</p>
 <img src="http://www.impressivewebs.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=5236" width="1" height="1" style="display: none;" /><p>Related posts:<ol>
<li><a href='http://www.impressivewebs.com/buggy-css-selectors-cross-browser-jquery/' rel='bookmark' title='Getting Buggy CSS Selectors to Work Cross-Browser via jQuery'>Getting Buggy CSS Selectors to Work Cross-Browser via jQuery</a></li>
<li><a href='http://www.impressivewebs.com/mlb-switcher/' rel='bookmark' title='Recreating the MLB.com Content Switcher with jQuery and CSS3'>Recreating the MLB.com Content Switcher with jQuery and CSS3</a></li>
<li><a href='http://www.impressivewebs.com/everything-everything/' rel='bookmark' title='How to Do Absolutely Everything Ever in jQuery, CSS3, &amp; HTML5'>How to Do Absolutely Everything Ever in jQuery, CSS3, &#038; HTML5</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/hal1WW4kOPbcJA4bK5GwgZdHefA/0/da"><img src="http://feedads.g.doubleclick.net/~a/hal1WW4kOPbcJA4bK5GwgZdHefA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/hal1WW4kOPbcJA4bK5GwgZdHefA/1/da"><img src="http://feedads.g.doubleclick.net/~a/hal1WW4kOPbcJA4bK5GwgZdHefA/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=ujQkAsQEDcM:GNvT0lIy7DU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=ujQkAsQEDcM:GNvT0lIy7DU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?i=ujQkAsQEDcM:GNvT0lIy7DU:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ImpressiveWebs/~4/ujQkAsQEDcM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.impressivewebs.com/why-use-jquery-simple-tutorials/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Redirect Wildcard Subdomains to Primary Domain on Media Temple’s (dv) Hosting</title>
		<link>http://www.impressivewebs.com/redirect-wildcard-subdomains-primary-domain/</link>
		<comments>http://www.impressivewebs.com/redirect-wildcard-subdomains-primary-domain/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 11:00:37 +0000</pubDate>
		<dc:creator>Louis Lazaris</dc:creator>
				<category><![CDATA[Web Design Articles]]></category>

		<guid isPermaLink="false">http://www.impressivewebs.com/?p=5181</guid>
		<description><![CDATA[<img src="http://cdn.impressivewebs.com/2011-12/mt-dv.jpg" alt="Redirect Wildcard Subdomains to Primary Domain on Media Temple's (dv) Hosting" title="Redirect Wildcard Subdomains to Primary Domain on Media Temple's (dv) Hosting" width="184" height="184" class="article_image">In a recent post wherein I questioned the legitimacy of W3schools' subdomains, someone pointed out that my own site was suffering from a somewhat related problem.

Basically, if anyone typed a random subdomain in place of the "www", the subdomain would remain in place in the address bar without any redirection occurring. So for example, if you visited peanutbuttersandwich.impressivewebs.com, the site would display as normal, except with the "peanutbuttersandwich" part still intact.

What's worse is that I have other domains on my current hosting plan, and impressivewebs.com is the primary domain. So if someone typed in a subdomain for one of the other domains, they would actually see the impressivewebs.com home page. For example, if you visited peanutbuttersandwich.animiationfillcode.com, you would see the impressivewebs.com home page with the animationfillcode.com URL still in the address bar.]]></description>
			<content:encoded><![CDATA[<p><img src="http://cdn.impressivewebs.com/2011-12/mt-dv.jpg" alt="Redirect Wildcard Subdomains to Primary Domain on Media Temple's (dv) Hosting" title="Redirect Wildcard Subdomains to Primary Domain on Media Temple's (dv) Hosting" width="184" height="184" class="article_image">In a recent post wherein I <a href="http://www.impressivewebs.com/web-development-search-results-manipulated/">questioned the legitimacy of W3schools&#8217; subdomains</a>, someone pointed out that my own site was suffering from a somewhat related problem.</p>
<p>Basically, if anyone typed a random subdomain in place of the &#8220;www&#8221;, the subdomain would remain in place in the address bar without any redirection occurring. So for example, if you visited <a href="http://peanutbuttersandwich.impressivewebs.com">peanutbuttersandwich.impressivewebs.com</a>, the site would display as normal, except with the &#8220;peanutbuttersandwich&#8221; part still intact.</p>
<p>What&#8217;s worse is that I have other domains on my current hosting plan, and impressivewebs.com is the primary domain. So if someone typed in a subdomain for one of the other domains, they would actually see the impressivewebs.com home page. For example, if you visited <a href="http://peanutbuttersandwich.animationfillcode.com">peanutbuttersandwich.animationfillcode.com</a>, you would see the impressivewebs.com home page with the animationfillcode.com URL still in the address bar.</p>
<p>Not exactly something that someone would be likely to stumble across, nor is it an extremely urgent issue, but I think it should be fixed. So in this post I&#8217;ll be straying pretty far away from my usual front-end development-related posts, and I&#8217;ll be documenting, step by step, exactly what I did to fix this problem on my current <a href="http://mediatemple.net/webhosting/dv/">dedicated-virtual Media Temple plan</a>. Even if this information doesn&#8217;t apply to your current hosting plan, it might nonetheless serve as a reminder to get the problem fixed.</p>
<h2>Section 1: Log in to Plesk and Add a New Subdomain</h2>
<p>The steps in each of these sections prior to Section 5 are to be done for all non-primary domains in your (dv) hosting plan. For your primary domain, you&#8217;ll fix the subdomain problem using .htaccess (see Section 5 below).</p>
<p>First go to your Media Temple account center and log in. To the right of your domain list you should see the &#8220;Plesk&#8221; login button. Click that button and log in to Plesk with the necessary credentials.</p>
<p><img src="http://cdn.impressivewebs.com/2011-12/step-1a.jpg" alt="Log in to Plesk" title="Log in to Plesk" width="680" height="200" class="wide_image wi_new"></p>
<p>Once into Plesk, click the &#8220;domains&#8217; link in the left sidebar:</p>
<p><img src="http://cdn.impressivewebs.com/2011-12/step-1b.jpg" alt="Click Domains in sidebar" title="Click Domains in sidebar" width="680" height="200" class="wide_image wi_new"></p>
<p>That will bring up a list of your domains. In there, choose any of the &#8220;control panel&#8221; options to the right of your domains.</p>
<p><img src="http://cdn.impressivewebs.com/2011-12/step-1c.jpg" alt="Open the domain control panel" title="Open the domain control panel" width="680" height="118" class="wide_image wi_new"></p>
<p>From what I can tell, it doesn&#8217;t seem to matter which one of these control panel links you choose. It looks like they all just take you to the same basic &#8220;control panel&#8221; for all your domains. If anyone wants to correct me on that, please do.</p>
<p>Once inside your control panel, click on the &#8220;Websites &#038; Domains&#8221; tab along the top navigation:</p>
<p><img src="http://cdn.impressivewebs.com/2011-12/step-1d.jpg" alt="Open Websites &#038; Domains" title="Open Websites &#038; Domains" width="680" height="200" class="wide_image wi_new"></p>
<p>Once that page opens, you&#8217;ll see a list of your domains at the bottom of the page. Above that list you&#8217;ll see a link labelled &#8220;Add New Subdomain&#8221;. Choose that option:</p>
<p><img src="http://cdn.impressivewebs.com/2011-12/step-1e.jpg" alt="Add a new subdomain" title="Add a new subdomain" width="680" height="187" class="wide_image wi_new"></p>
<p>You&#8217;ll then be presented with this screen:</p>
<p><img src="http://cdn.impressivewebs.com/2011-12/step-1f.jpg" alt="The new subdomain screen" title="The new subdomain screen" width="680" height="246" class="wide_image wi_new"></p>
<p>This is where we&#8217;ll define a wildcard subdomain that will redirect to the primary domain. But the good thing is, this will not affect any real, working subdomains that you might have set up; this will only redirect random non-existent subdomains, and this will also help solve the problem of non-primary domains redirecting to the primary domain on the account.</p>
<h2>Section 2: Define Your Wildcard Subdomains for Each Domain</h2>
<p>On the &#8220;add new subdomain&#8221; page, you&#8217;ll want to fill in the info to define how to handle the wildcard subdomains. First, for the subdomain &#8220;name&#8221;, you have to choose a name that will definitely be listed last in a list of named subdomains. Media Temple&#8217;s support staff recommended &#8220;zz-wildcard&#8221;, so that&#8217;s what I chose.</p>
<p><img src="http://cdn.impressivewebs.com/2011-12/step-2a.jpg" alt="Choose a wildcard subdomain name" title="Choose a wildcard subdomain name" width="680" height="246" class="wide_image wi_new"></p>
<p>Next, you want to make sure to select the correct domain in the drop-down list of domain names for your account. I would assume you&#8217;ll be fixing all domains, so in that case, you&#8217;ll have to repeat this section for each of the domains you want to fix. Just make sure you don&#8217;t inadvertently leave your primary domain as the chosen domain, because that will produce incorrect and possibly harmful results.</p>
<p><img src="http://cdn.impressivewebs.com/2011-12/step-2b.jpg" alt="Not for the primary domain" title="Not for the primary domain" width="680" height="246" class="wide_image wi_new"></p>
<p>Finally, the screen presents you with an option to fill in called &#8220;Document root&#8221;, also referred to here as the website&#8217;s &#8220;home directory&#8221;. In this option, you want to fill in the exact name of the folder where your files are located for the selected domain. On Media Temple&#8217;s (dv) plan, this home directory name was set up when you set up the domain. For my own plan, unfortunately, I had set up the home directories in a non-standard way, so it was a little more complicated for me (See Section 6 below). But for most cases, it should just be a matter of putting in the original home directory name.</p>
<p>Once you fill in the correct info, click &#8220;OK&#8221; to create the subdomain.</p>
<h2>Section 3: Log in With Root Access and Create a vhost.conf File</h2>
<p>Now it gets a little more tricky. For those with little command-line experience, it&#8217;s a bit challenging. I do some of my command line stuff using <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a>. Whatever you choose, you need to log in to your server with root access. Evidently you can also do this type of thing via FTP, but the settings in your FTP client are a little different.</p>
<p>Once you&#8217;ve logged in, navigate to the home directory of the domain you&#8217;re currently fixing (the one you selected when you created the wildcard subdomain in the previous section). In my case, this would mean navigating to:</p>
<p><code>/var/www/vhosts/selecteddomain.com/subdomains/zz-wildcard/conf</code></p>
<p>In this example, &#8220;selecteddomain.com&#8221; would be the name of the home directory that matches the domain you&#8217;re fixing. That directory should be empty. In there you want to create a <code>vhosts.conf</code> file. In PuTTY, I do this by typing:</p>
<p><code>vi vhost.conf</code></p>
<p>This creates a file called &#8220;vhost.conf&#8221; and opens it in a text editor in PuTTY. To start editing the empty file, type the letter &#8220;a&#8221; on the keyboard. This allows you to &#8220;INSERT&#8221; text into the file. In this file, you then type the following:</p>
<p><code>ServerAlias *.selecteddomain.com</code></p>
<p>Where, once again, you would replace the domain name with the domain name you&#8217;re dealing with. Once you&#8217;ve added this line to the vhost.conf file, hit &#8220;ESC&#8221; on your keyboard to stop editing the file. To save the file, type the following in PuTTY:</p>
<p><code>:w</code></p>
<p>And then hit enter. Finally, you need to restart the server so the new changes take effect. I did this using the following command:</p>
<p><code>/usr/local/psa/admin/sbin/websrvmng -a -v</code></p>
<p>I believe there are other ways to do this, and I think you&#8217;d have the same effect if you just restarted the server from your Media Temple Account Center, but either way this seems to be a necessary final step to get the new configuration to take effect.</p>
<h2>Section 4: Repeat for Each Domain</h2>
<p>All the steps outlined above after you click on &#8220;control panel&#8221; need to be repeated for each domain that you want to fix. Just make sure you select the correct domain in the &#8220;Add New subdomain&#8221; section, and that you type in the correct home directory.</p>
<p>Also, for each domain, you have to navigate with root access to the respective &#8220;zz-wildcard&#8221; folder (or whatever you chose to call it), and create a new &#8220;vhost.conf&#8221; file with the configuration info specific to that domain.</p>
<p>The only domain that you don&#8217;t do this for is your primary domain. </p>
<h2>Section 5: Fix the Primary Domain</h2>
<p>Once you&#8217;ve corrected the wildcard subdomain issue on all your secondary domains, you&#8217;ll also need to do this with your primary domain. I don&#8217;t know squat about .htaccess stuff. Any .htaccess-related code that I ever use will be stuff I find through search.</p>
<p>Fortunately, Media Temple&#8217;s staff go above and beyond the call of duty, and one of their techs actually wrote a mod rewrite rule into my .htaccess file to get the subdomain problem fixed on my primary domain. Here&#8217;s the code:</p>
<pre name="code" class="php">
&lt;IfModule mod_rewrite.c&gt;
   RewriteEngine On
   RewriteBase /
   RewriteCond %{HTTP_HOST} !www.impressivewebs.com$ [NC]
   RewriteRule ^(.*)$ http://www.impressivewebs.com/$1 [L,R=301]
&lt;/IfModule&gt;
</pre>
<p>And that&#8217;s it. Now, if anyone tries to visit a random, non-existent subdomain on www.impressivewebs.com, they&#8217;ll just get redirected to the same page with the random subdomain replaced with &#8220;www&#8221;. Of course, if your domain doesn&#8217;t use &#8220;www&#8221; then you would need a different rewrite rule. All the best with that. :)</p>
<h2>Section 6: My Non-Standard Setup</h2>
<p>In my case, for some reason, I had set up my other domains as sub-folders of the primary domain. So the home directories were a bit weird and thus the wildcard thing didn&#8217;t quite work as expected. But once again, Media Temple&#8217;s staff went above and beyond and were able to fix the problem for me.</p>
<p>Basically, since my home directories were all located within my primary domain&#8217;s home directory, for each of these secondary home directories, I had to choose &#8220;z-selecteddomain&#8221; as the &#8220;document root&#8221; (See the last part of Section 2 above). Then, after creating the subdomain in Plesk, I created an .htaccess file in the new folder with the following rewrite rule:</p>
<p><code>Redirect 301 / http://selecteddomain.com</code></p>
<p>This gets done for each domain (except primary). Also the &#8220;z-selecteddomain&#8221; document root folder could be anything; this name was chosen by the tech to help group them together at the bottom of the folders list.</p>
<p>I really have no idea why my sub folders were configured in this way (it&#8217;s not a wrong setup, it&#8217;s just unconventional), but this redirect helped iron things out so that the wildcard subdomains were pointing to the correct location.</p>
<h2>Conclusion</h2>
<p>I&#8217;m obviously not a server admin, so what I&#8217;ve written above is just a superficial step-by-step reconstruction of what I did to solve this problem.</p>
<p>One of the benefits to having no random wildcard subdomains is the problem of duplicate content for SEO purposes. As it was before, theoretically someone could have linked to any one of my pages using a random subdomain, and if Google indexed the page in that state, it could have created a duplicate content problem. Not that you would necessarily be penalized for such a thing, but I suppose PageRank or overall backlink juice would be split if that were the case.</p>
<p>I also have a few client websites hosted on my account, so imagine how the client would have reacted if they had typed a random subdomain in front of their URL and saw the home page for impressivewebs.com. Not very professional looking, so even though it&#8217;s extremely unlikely anyone would notice such a thing, it&#8217;s still something that should be fixed.</p>
<p>And of course, if anyone has anything to add or correct, or knows of a way to do this purely with .htaccess (which I don&#8217;t think is possible, but who knows?), please offer your feedback.</p>
 <img src="http://www.impressivewebs.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=5181" width="1" height="1" style="display: none;" /><p>Related posts:<ol>
<li><a href='http://www.impressivewebs.com/web-development-search-results-manipulated/' rel='bookmark' title='Are Web Development Search Results Being Manipulated?'>Are Web Development Search Results Being Manipulated?</a></li>
<li><a href='http://www.impressivewebs.com/mlb-navigation/' rel='bookmark' title='Why I Hate MLB.com&#8217;s Navigation'>Why I Hate MLB.com&#8217;s Navigation</a></li>
<li><a href='http://www.impressivewebs.com/drop-down-menu-pet-peeve/' rel='bookmark' title='One Thing I Don&#8217;t Like About Drop-Down Menus'>One Thing I Don&#8217;t Like About Drop-Down Menus</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/b5mIFmjdsfEsRbp1epNqx9fiNws/0/da"><img src="http://feedads.g.doubleclick.net/~a/b5mIFmjdsfEsRbp1epNqx9fiNws/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/b5mIFmjdsfEsRbp1epNqx9fiNws/1/da"><img src="http://feedads.g.doubleclick.net/~a/b5mIFmjdsfEsRbp1epNqx9fiNws/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=RShQ_blRo6Q:vyDAjRhJ97o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=RShQ_blRo6Q:vyDAjRhJ97o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?i=RShQ_blRo6Q:vyDAjRhJ97o:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ImpressiveWebs/~4/RShQ_blRo6Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.impressivewebs.com/redirect-wildcard-subdomains-primary-domain/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Skills for Front-End Developers</title>
		<link>http://www.impressivewebs.com/skills-front-end-developers/</link>
		<comments>http://www.impressivewebs.com/skills-front-end-developers/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 17:11:52 +0000</pubDate>
		<dc:creator>Louis Lazaris</dc:creator>
				<category><![CDATA[Freelancing]]></category>
		<category><![CDATA[Web Design Articles]]></category>

		<guid isPermaLink="false">http://www.impressivewebs.com/?p=5150</guid>
		<description><![CDATA[<img src="http://cdn.impressivewebs.com/2011-12/ninja.jpg" alt="Don't use the N Word" title="Don't use the N Word" width="184" height="184" class="article_image">As a front-end developer, I'm constantly trying to learn new skills and technologies and adding to what I already know. Front-end developer job postings, however, vary from posting to posting so the list of different languages, libraries, and technologies that could theoretically fall under the category of front-end developer skills is quite large.

Here's a list (that I'll continue to update) containing a wide variety of skills and technologies that I think all front-end developers should be working on learning, at least to some extent. I certainly don't know all of these, nor do I expect anyone else to.

The list is not necessarily in any particular order, but I tried to keep the more rudimentary stuff at or near the top. Also, many of the items overlap others, so there's a lot of cross-over within the list. And of course the list has lots of potential for improvements (more on that below).]]></description>
			<content:encoded><![CDATA[<p><img src="http://cdn.impressivewebs.com/2011-12/ninja.jpg" alt="Don't use the N Word" title="Don't use the N Word" width="184" height="184" class="article_image">As a front-end developer, I&#8217;m constantly trying to learn new skills and technologies and adding to what I already know. Front-end developer job postings, however, vary from posting to posting so the list of different languages, libraries, and technologies that could theoretically fall under the category of front-end developer skills is quite large.</p>
<p>Here&#8217;s a list (that I&#8217;ll continue to update) containing a wide variety of skills and technologies that I think all front-end developers should be working on learning, at least to some extent. I certainly don&#8217;t know all of these, nor do I expect anyone else to.</p>
<p>The list is not necessarily in any particular order, but I tried to keep the more rudimentary stuff at or near the top. Also, many of the items overlap others, so there&#8217;s a lot of cross-over within the list. And of course the list has lots of potential for improvements (more on that below).</p>
<ul>
<li>XHTML / HTML5</li>
<li>CSS2.1 / CSS3</li>
<li>JavaScript / Ajax</li>
<li>jQuery</li>
<li>HTML5 Boilerplate</li>
<li>Modernizr</li>
<li>YUI Library</li>
<li>OOCSS</li>
<li>CSS Grids</li>
<li>CSS Frameworks / Resets</li>
<li>Progressive Enhancement / Graceful Degradation</li>
<li>HTML and CSS Specifications (W3C / WHATWG)</li>
<li>UX / Usability</li>
<li>Website Speed / Performance</li>
<li>Debugging Tools (Firebug, etc)</li>
<li>Dojo / MooTools / Prototype</li>
<li>Responsive Web Design</li>
<li>Mobile Web Development</li>
<li>Mobile Web Performance</li>
<li>Cross-Browser / Cross-Platform Development</li>
<li>Document Object Model (DOM)</li>
<li>Cross-Browser Bugs and Inconsistencies (primarily IE6-8)</li>
<li>CSS Pre-Processors (LESS / Sass)</li>
<li>Version Control (Git / GitHub / CVS / Subversion)</li>
<li>HTML5 APIs (Canvas, Geolocation, Video, etc.)</li>
<li>OOP</li>
<li>Back-end Templating languages/technologies (PHP, Ruby, .NET, etc)</li>
<li>MySql</li>
<li>Accessibility</li>
<li>WAI-ARIA</li>
<li>Microdata / Microformats</li>
<li>HTML5/CSS3 Polyfills</li>
<li>CMS (WordPress, Drupal, Joomla, etc)</li>
<li>Functional Programming</li>
<li>Data Formats (e.g. JSON, XML)</li>
<li>Internationalization / Localization</li>
<li>Content Strategy</li>
<li>Offline Web Apps</li>
<li>Regular Expressions</li>
<li>Basic .htaccess</li>
<li>SVG</li>
<li>Image Editing Tools (Photoshop, Fireworks, etc.)</li>
<li>Web Font Embedding / Licensing</li>
<li>SEO Basics</li>
</ul>
<p>I may eventually turn this post into an extended list divided into categories plus links to articles and tutorials where these subjects can be learned or mastered &#8212; but for now you&#8217;ll just have to trust your Google searching abilities if you want to learn more on any of these.</p>
<h2>Please Contribute</h2>
<p>The list is a rough first draft, and I&#8217;d be happy to update it and refine it based on any feedback. So please offer your suggestions on how it could be improved and/or expanded and I&#8217;ll make any necessary updates.</p>
 <img src="http://www.impressivewebs.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=5150" width="1" height="1" style="display: none;" /><p>Related posts:<ol>
<li><a href='http://www.impressivewebs.com/study-html5-design-principles/' rel='bookmark' title='Why Developers Should Be Studying HTML5&#8242;s Design Principles'>Why Developers Should Be Studying HTML5&#8242;s Design Principles</a></li>
<li><a href='http://www.impressivewebs.com/video-for-everybody/' rel='bookmark' title='Video For Everybody &#8212; Except Developers!'>Video For Everybody &#8212; Except Developers!</a></li>
<li><a href='http://www.impressivewebs.com/css-decisions/' rel='bookmark' title='Decisions CSS Developers Need to Make'>Decisions CSS Developers Need to Make</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/n1BUkv5znwWtGlxcloYQDAVq1qA/0/da"><img src="http://feedads.g.doubleclick.net/~a/n1BUkv5znwWtGlxcloYQDAVq1qA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/n1BUkv5znwWtGlxcloYQDAVq1qA/1/da"><img src="http://feedads.g.doubleclick.net/~a/n1BUkv5znwWtGlxcloYQDAVq1qA/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=4UykUNBADT0:9fLPhExp7bw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=4UykUNBADT0:9fLPhExp7bw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?i=4UykUNBADT0:9fLPhExp7bw:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ImpressiveWebs/~4/4UykUNBADT0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.impressivewebs.com/skills-front-end-developers/feed/</wfw:commentRss>
		<slash:comments>130</slash:comments>
		</item>
		<item>
		<title>Some HTML5 Resources Worth Checking Out</title>
		<link>http://www.impressivewebs.com/html5-resources/</link>
		<comments>http://www.impressivewebs.com/html5-resources/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 11:00:51 +0000</pubDate>
		<dc:creator>Louis Lazaris</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Web Design Articles]]></category>

		<guid isPermaLink="false">http://www.impressivewebs.com/?p=5044</guid>
		<description><![CDATA[<img src="http://cdn.impressivewebs.com/2011-12/html5-resources.jpg" alt="Some HTML5 Resources Worth Checking Out" title="Some HTML5 Resources Worth Checking Out" width="184" height="184" class="article_image">As the weeks go by, I find tons of new developer resources, tools, and things worth looking into.

I wrote a similar roundup of <a href="http://www.impressivewebs.com/javascript-resources/">JavaScript resources</a>, so this time I'm covering stuff related to what we commonly call "HTML5" (even though a lot of this stuff could easily fall under a "JavaScript" umbrella too).]]></description>
			<content:encoded><![CDATA[<p>As the weeks go by, I find tons of new developer resources, tools, and things worth looking into.</p>
<p>I wrote a similar roundup of <a href="http://www.impressivewebs.com/javascript-resources/">JavaScript resources</a>, so this time I&#8217;m covering stuff related to what we commonly call &#8220;HTML5&#8243; (even though a lot of this stuff could easily fall under a &#8220;JavaScript&#8221; umbrella too).</p>
<h2>The Truth About HTML5</h2>
<p><a href="http://itsninja.com/html5book/"><cite>The Truth About HTML5</cite></a>, written by <a href="http://twitter.com/#!/lukestevens">Luke Stevens</a>, looks like an honest and informative book on HTML5. The book isn&#8217;t released yet, but you can subscribe to get notified when it&#8217;s ready.</p>
<p><a href="http://itsninja.com/html5book/"><img src="http://cdn.impressivewebs.com/2011-12/html5-1.jpg" alt="The Truth About HTML5" title="The Truth About HTML5" width="680" height="200" class="wide_image wi_new"></a></p>
<p>I don&#8217;t know much about the book itself, and it doesn&#8217;t seem to be available through mainstream outlets, but you can read <a href="http://coding.smashingmagazine.com/2011/11/12/pursuing-semantic-value/#comment-554677">a comment by the author on this Smashing Magazine post</a> that shows that he seems to know his stuff, and this could be a good read for those hoping to get a deeper understanding of various HTML5-related features.</p>
<h2>Mobile HTML5 Compatibility Tables</h2>
<p>You&#8217;ve probably seen many CSS3 and HTML5 compatibility resources that mainly focus on desktop browser support. <a href="http://mobilehtml5.org/">Mobile HTML5</a> consists of a chart that is touted as &#8220;trying to understand HTML5 compatibility on mobile and tablet browsers&#8221;.</p>
<p><a href="http://mobilehtml5.org/"><img src="http://cdn.impressivewebs.com/2011-12/html5-2.jpg" alt="Mobile HTML5 Compatibility Tables" title="Mobile HTML5 Compatibility Tables" width="680" height="200" class="wide_image wi_new"></a></p>
<p>Compatibility info covers iPhone, Android, Blackberry, iPad, and more.</p>
<h2>Roots WordPress Theme</h2>
<p><a href="http://www.rootstheme.com/">Roots</a> &#8220;is a starting WordPress theme made for developers that&#8217;s based on HTML5 Boilerplate, Blueprint CSS (or 960.gs) and Starkers that will help you rapidly create brochure sites and blogs.&#8221;</p>
<p><a href="http://www.rootstheme.com/"><img src="http://cdn.impressivewebs.com/2011-12/html5-3.jpg" alt="Roots WordPress Theme" title="Roots WordPress Theme" width="680" height="200" class="wide_image wi_new"></a></p>
<p>The theme is said to be hNews Microformat ready, produces cleaner WordPress code output, in addition to numerous other features. I&#8217;m using <a href="http://html5reset.org/#wordpress">HTML5 Reset&#8217;s WordPress theme</a> for this site, but Roots looks like another good option to look into.</p>
<h2>Polyfilling the HTML5 Gaps</h2>
<p><a href="http://addyosmani.com/polyfillthehtml5gaps/slides/#1">Polyfilling the HTML5 Gaps</a> is a fantastic slideshow by <a href="http://addyosmani.com/blog/">Addy Osmani</a> that was part of his presentation at FITC Toronto&#8217;s <a href="http://www.fitc.ca/events/about/?event=127">Spotlight HTML5</a>.</p>
<p><a href="http://addyosmani.com/polyfillthehtml5gaps/slides/#1"><img src="http://cdn.impressivewebs.com/2011-12/html5-4.jpg" alt="Polyfilling the HTML5 Gaps by Addy Osmani" title="Polyfilling the HTML5 Gaps by Addy Osmani" width="680" height="200" class="wide_image wi_new"></a></p>
<p>Addy provides some very real-world and practical advice for dealing with browser inconsistencies and even teaches you how to write your own HTML5 polyfills. Can&#8217;t say enough about this presentation. I&#8217;d love to see a video of his talk, but I&#8217;m not sure if one exists.</p>
<h2>The Web platform: Browser technologies</h2>
<p><a href="http://platform.html5.org/">The Web platform</a> is a simple site maintained <a href="https://github.com/sideshowbarker/platform.html5.org">on GitHub</a> by Michael Smith. The page links to the official documentation for a number of HTML5 technologies.</p>
<p><a href="http://platform.html5.org/"><img src="http://cdn.impressivewebs.com/2011-12/html5-5.jpg" alt="The Web platform: Browser technologies" title="The Web platform: Browser technologies" width="680" height="200" class="wide_image wi_new"></a></p>
<p>Nothing too fancy here, just a good resource to come back to if you want to see what type of APIs and other features are available to HTML5 developers.</p>
<h2>The Latest in HTML5</h2>
<p><a href="http://html5-demos.appspot.com/static/html5-whats-new/template/index.html#1">The Latest in HTML5</a> by Eric Bidelman is another great presentation from earlier this year, and definitely not for the faint of heart. The presentation covers what Eric calls &#8220;Lesser known gems&#8221; and &#8220;smaller APIs for building more powerful web apps&#8221; as well as the Web Audio API.</p>
<p><a href="http://html5-demos.appspot.com/static/html5-whats-new/template/index.html#1"><img src="http://cdn.impressivewebs.com/2011-12/html5-6.jpg" alt="The Latest in HTML5 by Eric Bidelman" title="The Latest in HTML5 by Eric Bidelman" width="680" height="200" class="wide_image wi_new"></a></p>
<p>Additionally, there are some neat little interactions that demonstrate some of the stuff being discussed. Some pretty powerful stuff here &#8212; you might have to go through this one two or three times.</p>
<h2>Move the Web Forward</h2>
<p>Finally, although this is not really an HTML5-focused resource, <a href="http://movethewebforward.org/">Move The Web Forward</a> is a very cool new initiative put together by <a href="https://github.com/h5bp/movethewebforward/contributors">a number of great developers</a>. The site promotes the idea that all of us, no matter our circumstances or skill level, can contribute in some way to moving the web platform forward and making things easier for everyone to develop powerful, cross-browser, and high-performance web sites and apps.</p>
<p><a href="http://movethewebforward.org/"><img src="http://cdn.impressivewebs.com/2011-12/html5-7.jpg" alt="Move the Web Forward" title="Move the Web Forward" width="680" height="200" class="wide_image wi_new"></a></p>
<p>You can read more on the project on <a href="http://www.smashingmagazine.com/2011/11/30/the-smashing-guide-to-moving-the-web-forward-community/">Addy Osmani&#8217;s Smashing Magazine article</a>. The project website has a whole slew of great suggestions for how developers can be more involved in helping the community and ultimately moving the web forward.</p>
 <img src="http://www.impressivewebs.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=5044" width="1" height="1" style="display: none;" /><p>Related posts:<ol>
<li><a href='http://www.impressivewebs.com/javascript-resources/' rel='bookmark' title='Some JavaScript Resources Worth Checking Out'>Some JavaScript Resources Worth Checking Out</a></li>
<li><a href='http://www.impressivewebs.com/new-book-html5-css3/' rel='bookmark' title='A New Book on HTML5 and CSS3'>A New Book on HTML5 and CSS3</a></li>
<li><a href='http://www.impressivewebs.com/obsolete-features-html5/' rel='bookmark' title='About Obsolete Features in HTML5'>About Obsolete Features in HTML5</a></li>
</ol></p>
<p><a href="http://feedads.g.doubleclick.net/~a/nqyA5ijEVGFaxtEZuPtH2jerjOo/0/da"><img src="http://feedads.g.doubleclick.net/~a/nqyA5ijEVGFaxtEZuPtH2jerjOo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/nqyA5ijEVGFaxtEZuPtH2jerjOo/1/da"><img src="http://feedads.g.doubleclick.net/~a/nqyA5ijEVGFaxtEZuPtH2jerjOo/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=35oTDIHDI5c:1hxza3ef8VI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ImpressiveWebs?a=35oTDIHDI5c:1hxza3ef8VI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/ImpressiveWebs?i=35oTDIHDI5c:1hxza3ef8VI:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/ImpressiveWebs/~4/35oTDIHDI5c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.impressivewebs.com/html5-resources/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss><!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->

