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

<channel>
	<title>CrunchyBlog</title>
	<atom:link href="http://blog.crunchyweb.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.crunchyweb.com</link>
	<description>Follow the Web Crunchers!</description>
	<lastBuildDate>Sun, 08 Apr 2012 11:59:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Portable Web Development Bundle</title>
		<link>http://blog.crunchyweb.com/2012/04/portable-web-development-bundle/</link>
		<comments>http://blog.crunchyweb.com/2012/04/portable-web-development-bundle/#comments</comments>
		<pubDate>Sat, 07 Apr 2012 18:14:55 +0000</pubDate>
		<dc:creator>Carlos Ballena</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[bundle]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.crunchyweb.com/?p=211</guid>
		<description><![CDATA[PC ONLY — Developing websites can be cumbersome when it comes to working with PHP or loading external files such as Google&#8217;s hosted APIs.  The best way to debug a website locally is with a web development server. There are many options out there such as WAMP, XAMPP, or MAMP (if you are an OS X [...]]]></description>
			<content:encoded><![CDATA[<p><em>PC ONLY — Developing websites can be cumbersome when it comes to working with PHP or loading external files such as Google&#8217;s hosted APIs.  The best way to debug a website locally is with a web development server. There are many options out there such as WAMP, XAMPP, or MAMP (if you are an OS X user). </em><em>But what happens if you work on multiple machines throughout your day or week?</em></p>
<p><span id="more-211"></span></p>
<p><strong>The Story</strong></p>
<p>Not too long ago I wanted to work on a WordPress theme, but I had one main problem, I usually work in at least 2 computers every day. For a while I was doing well using WAMP on both machines and using Dropbox to host my files. Of course, I had to do some tweaking to redirect the directory on WAMP to my Dropbox. But when it cam to working on WordPress websites this setup was not going to work out. So I decided to search for an alternative solution.</p>
<p><strong>The Solution</strong></p>
<p>This solution became <a title="XAMPP Portable" href="http://www.apachefriends.org/en/xampp-windows.html#646" target="_blank">XAMPP Portable</a>. With XAMPP portable, I can install WordPress, Drupal, and any other system and take it with me anywhere. Combining XAMPP with <a title="Sign Up for Dropbox" href="http://db.tt/JJ42xIG" target="_blank">Dropbox</a> is probably the best way to work on multiple computers without having to worry about constantly updating your files and so I wanted to share this wonderful bundle with everyone out there.</p>
<p>In this post I will provide you with a portable version of XAMPP, which a pre-installed version of <a title="Wordpress.org" href="http://wordpress.org/download/" target="_blank">WordPress</a>. In the htdocs you will also find the popular<a title="HTML5 Boilerplate" href="http://html5boilerplate.com/" target="_blank"> HTML5 Boilerplate</a>, Development and Minified version, as well as the Build Script. The H5BP can be used as a template for your next website making things easier for you. I was also going to include my favorite text editor, <a title="SublimeText2" href="http://www.sublimetext.com/2" target="_blank">Sublime Text 2</a>. However the portable version comes in 32-bit and 64-bit versions so I&#8217;ll let you download the one that fits you best.</p>
<p><strong>Notes</strong></p>
<p>IMPORTANT: Run <strong>setup_xampp.bat</strong> in order to reset the folder paths. Once this is done you can run <strong>xampp-control.exe</strong> to start the server.</p>
<p>XAMPP is configured to run on <a href="http://localhost:8080" target="_blank">http://localhost:8080</a> this is just so that it doesn&#8217;t interfere with other services.</p>
<p>Unfortunately this bundle is for PC users only. However, if you are a Mac user you can still use it through a Virtual machine that has Windows installed, which is a good idea to have anyways for when you need to debug a website for Internet Explorer.</p>
<p>All the passwords have been left in default mode to make it easier for you. The wordpress login info is admin and password.</p>
<p>I also included the theme I used for our CrunchyBlog, feel free to play around with it, we won&#8217;t mind <img src='http://blog.crunchyweb.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Download</strong></p>
<p>Download the bundle <strong><a title="Portable Development Bundle" href="http://dl.crunchyweb.com/xampp.7z">RIGHT HERE</a></strong> (45mb.). (This bundle uses <a title="7-Zip" href="http://www.7-zip.org/" target="_blank">7-Zip </a>compression)</p>
<p>If you have any suggestion for other things that should be included in this bundle, leave a comment and we&#8217;ll work on updating it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crunchyweb.com/2012/04/portable-web-development-bundle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meetup: The Freelance Life</title>
		<link>http://blog.crunchyweb.com/2012/02/meetup-the-freelance-life/</link>
		<comments>http://blog.crunchyweb.com/2012/02/meetup-the-freelance-life/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 05:01:14 +0000</pubDate>
		<dc:creator>Carlos Ballena</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Meetup]]></category>

		<guid isPermaLink="false">http://blog.crunchyweb.com/?p=206</guid>
		<description><![CDATA[In our last meetup we discussed some of our experiences while working as freelancers. Oh, the joy of being your own boss. It sure has it&#8217;s benefits and awesomeness but it also comes at a cost. From dealing with clients to finding the right tools to get the job done. For those who couldn&#8217;t join [...]]]></description>
			<content:encoded><![CDATA[<p>In our last meetup we discussed some of our experiences while working as freelancers. Oh, the joy of being your own boss. It sure has it&#8217;s benefits and awesomeness but it also comes at a cost. From dealing with clients to finding the right tools to get the job done. For those who couldn&#8217;t join us, and anyone interested, I have made a list of some of the web applications and tools shared during our meeting. I hope you find them useful.</p>
<p><strong>Web Development</strong></p>
<p><a href="http://www.bluehost.com/">Bluehost</a> &#8211; A simple web hosting company, great if you are just starting or have only a few domains to take care of.</p>
<p><a href="http://mediatemple.net/">MediaTemple</a> &#8211; The next level of web hosting. MediaTemple&#8217;s DV Server are incredibly powerful and packed with lots of features. IF you require more horse power and the ability to resell, as well as host different websites for clients, you may want to look into it. ** Make sure you call their sales representative, they offer discounts to new customers!</p>
<p><a href="http://www.cloudflare.com/">CloudFlare</a> &#8211; A very easy Content Delivery Network(CDN) solution for not very heavy users. Make sure you watch their intro video for a more extensive description.</p>
<p><a href="http://wordpress.com/">WordPress</a> &#8211; Ok, this is not a new one, but we discussed how we have used WordPress in the past to help us make things easier for clients and why it is so powerful. WordPress is mostly community driven and you can find an incredible amount of plugins and themes that will make you life a lot easier.</p>
<p><a href="http://www.jasonbobich.com/">Swagger</a> &#8211; Jason Bobich&#8217;s Swagger WordPress theme is an incredibly powerful and easy to use theme. I will definitely be looking into it.</p>
<p><a href="http://sucuri.net/">Sucuri</a> - Have you had security problems? You may want to look into this company! They help people protect their websites.</p>
<p><strong>Finances</strong></p>
<p><a href="https://indinero.com/">InDinero</a> &#8211; A web application that will help you track and manage your business&#8217; money.</p>
<p><a href="https://rightsignature.com/">RightSignature</a> &#8211; Would you like to send your client contracts that they can sign online? This may be the tool for you!</p>
<p><a href="http://www.freshbooks.com/">Freshbooks</a> - this is a great, easy to use, powerful web application. It will help you keep track of your clients as well as send invoices and keep an eye on your money.</p>
<p><a href="http://www.paypal.com/">Paypal</a> - The quick and dirty solution for sending invoices to clients. However beware of fees!</p>
<p><strong>When dealing with clients</strong></p>
<p><a href="https://company.podio.com/">Podio</a> &#8211; This application looks very promising! It is a project management application that provides you with a lot of control over the user interface. It has a very powerful API library that can integrate with other web applications to make your work life a lot easier. As Terry said &#8220;It&#8217;s like BaseCamp on Crack!&#8221;</p>
<p><strong>Other Resources</strong></p>
<p><a href="http://freelanceswitch.com/">FreelanceSwitch</a> &#8211; from Envato, freelance switch is a great source of information for new freelancers. learn from others&#8217; experiences and horror stories. Don&#8217;t forget to checkout their FreelanceFreedom comic, if you are a freelancer you&#8217;ll be able to relate to many of them.</p>
<p><a href="http://envato.com/">Envato</a> &#8211; Speaking of Envato, make sure you checkout all their sites from their <a href="http://themeforest.net/">marketplaces</a> to their other blogs. You won&#8217;t regret it!</p>
<p><a href="http://5by5.tv/bigwebshow">The Big Web Show</a> &#8211; Hosted by Jeffrey Zeldman, one of the most recognized figures in the Web development world brings us a very interesting podcast which includes interviews with other important developers and their own experiences with the web.</p>
<p>Well that&#8217;s all I can remember for now, for more information about the next meetup go to our website. <a href="http://meetup.crunchyweb.com/">http://meetup.crunchyweb.com</a> or join our <a href="https://www.facebook.com/groups/287127434632019/">Facebook group</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crunchyweb.com/2012/02/meetup-the-freelance-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>College Web Designers &amp; Developers Meetup</title>
		<link>http://blog.crunchyweb.com/2011/08/meetup/</link>
		<comments>http://blog.crunchyweb.com/2011/08/meetup/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 17:59:42 +0000</pubDate>
		<dc:creator>Carlos Ballena</dc:creator>
				<category><![CDATA[Social]]></category>
		<category><![CDATA[about]]></category>
		<category><![CDATA[Crunchers]]></category>
		<category><![CDATA[Meetup]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://blog.crunchyweb.com/?p=184</guid>
		<description><![CDATA[Hello world! In our effort to expand and continue networking, we decided to create a meetup group! College Web Designers &#038; Developers Meetup This group is targeted to all college students, and young people, who are interested in learning more about designing and coding for the web. We hope to make of our meetings a [...]]]></description>
			<content:encoded><![CDATA[<p>Hello world!</p>
<p>In our effort to expand and continue networking, we decided to create a meetup group!</p>
<p><a href="http://meetup.crunchyweb.com" title="College Web Designers &#038; Developers Meetup" target="_blank">College Web Designers &#038; Developers Meetup</a></p>
<p>This group is targeted to all college students, and young people, who are interested in learning more about designing and coding for the web. We hope to make of our meetings a place where you can meet other people, share ideas, ask for help, and complain about how annoying it is to code for IE.</p>
<p>We are very psyched about meeting new people, so if you like design, coding and coffee, join us!</p>
<p>Happy Crunching!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crunchyweb.com/2011/08/meetup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Love Visor but miss Window Groups? No Problem!</title>
		<link>http://blog.crunchyweb.com/2011/07/love-visor-but-miss-window-groups-no-problem/</link>
		<comments>http://blog.crunchyweb.com/2011/07/love-visor-but-miss-window-groups-no-problem/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 13:53:54 +0000</pubDate>
		<dc:creator>whall</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.crunchyweb.com/?p=167</guid>
		<description><![CDATA[Today I was faced with a grim reality when I restarted my Macbook Pro for some updates: I was unable to open my saved window group into Visor. What a pain! For those of you who are unfamiliar, Visor is an awesome mac application that lets your Terminal function as a system-wide slide-down HUD window. Pretty cool. [...]]]></description>
			<content:encoded><![CDATA[<p>Today I was faced with a grim reality when I restarted my Macbook Pro for some updates: <em>I was unable to open my saved window group into Visor. What a pain!</em></p>
<p>For those of you who are unfamiliar, <a title="Visor" href="http://visor.binaryage.com/" target="_blank">Visor</a> is an awesome mac application that lets your Terminal function as a system-wide slide-down HUD window. Pretty cool. However, it officially doesn&#8217;t support window groups; luckily, I have a workaround that is simple, efficient, and universal.</p>
<p>Applescript does the job perfectly &#8211; it comes installed on every mac, and can programmatically issue all the commands we need to our Visored Terminal with minimum hassle.</p>
<p>To go about this, I define a variable detailing the tabs I want in my window group:<br />
<code><br />
set tTitles to {"Django Server", "Python Shell", "Django Shell", "Git Shell"}<br />
</code></p>
<p>This serves as a list of names for the tabs, and the number of tabs to create. The above is an example of one of my window groups I use.</p>
<p>Next, to create the tabs, we need to make the Terminal window active. However, we can&#8217;t simply activate the Terminal window, because that breaks Visor. Instead, we do:</p>
<p><code><br />
tell application "System Events"<br />
tell process "Finder" to keystroke "`" using command down<br />
repeat with i from 1 to ((count tTitles) - 1)<br />
tell process "Terminal" to keystroke "t" using command down<br />
end repeat<br />
end tell<br />
</code></p>
<ol>
<li>We tell to &#8220;System Events&#8221; so we can access processes</li>
<li>We invoke our Visored Terminal via the hotkey (change &#8216;keystroke &#8220;`&#8221;&#8216; to reflect yours)</li>
<li>Create X number of tabs by passing new tab keystrokes, where X is the number of tabs in our list of tab titles</li>
</ol>
<p>At this point, the new tabs are created, but they are not named. That&#8217;s the next part. Now we do:</p>
<p><code><br />
tell application "Terminal"<br />
set tTabs to every tab in window 1<br />
repeat with i from 1 to (count tTabs)<br />
set tTab to item i of tTabs<br />
set tTitle to item i of tTitles<br />
activate tTab<br />
do script with command "PS1="\[33]0;`(echo "" &amp; tTitle &amp; "")`7\]$PS1";clear" in tab i of window 1<br />
end repeat<br />
end tell<br />
</code></p>
<ol>
<li>We assume there is only one window (Because there can only be one visored-window at a time)</li>
<li>Set the variable tTabs to every tab in visor (the ones we created)</li>
<li>And for each tab, we:</li>
<li>Get the title from our list (iTitles)</li>
<li>Make the tab active</li>
<li>Rename the tab using the PS1 environment variable</li>
<li>Run &#8220;clear&#8221; to clear the terminal tab</li>
</ol>
<p>Why set PS1? because doing &#8220;set custom title of tab i to whatever&#8221; sets <em>all the tabs to that title</em>, for some reason. I&#8217;m not sure if this is exclusive to Visor, but I couldn&#8217;t find a way around it.</p>
<p>Next, to sum up, just close Visor:</p>
<p><code><br />
tell application "System Events"<br />
tell process "Finder" to keystroke "`" using command down<br />
end tell<br />
</code></p>
<p>And we&#8217;re done. Simple. The final result looks something like the following:</p>
<p><code><br />
set tTitles to {"Django Server", "Python Shell", "Django Shell", "Git Shell"}<br />
</code></p>
<p><code><br />
tell application "System Events"<br />
tell process "Finder" to keystroke "`" using command down<br />
repeat with i from 1 to ((count tTitles) - 1)<br />
tell process "Terminal" to keystroke "t" using command down<br />
end repeat<br />
end tell<br />
tell application "Terminal"<br />
set tTabs to every tab in window 1<br />
repeat with i from 1 to (count tTabs)<br />
set tTab to item i of tTabs<br />
set tTitle to item i of tTitles<br />
activate tTab<br />
do script with command "PS1="\[33]0;`(echo "" &amp; tTitle &amp; "")`7\]$PS1";clear" in tab i of window 1<br />
end repeat<br />
end tell<br />
tell application "System Events"<br />
tell process "Finder" to keystroke "`" using command down<br />
end tell<br />
</code></p>
<p>So far, I have found only one issue, which is that tab names sometimes refuse to update after being changed, seemingly at random. Once the tab is clicked, the name updates. It seems a steep price to pay for having the convenience of my window groups back.</p>
<p>Keep in mind that you are not limited to simply creating and renaming tabs. It is just as easy to execute commands automatically after they are created, enabling a large number of customizations. A simple example is setting the initial working directory, which is a feature of window groups that can be useful.</p>
<p>To do this, we could define a new list:</p>
<p><code><br />
set tDirs to {"~/folder1/", "/Users/me/", "~/this/", "~/this/that/"}<br />
</code></p>
<p>And then use it later, in our second block of code, something like this:</p>
<p><code><br />
tell application "Terminal"<br />
set tTabs to every tab in window 1<br />
repeat with i from 1 to (count tTabs)<br />
set tTab to item i of tTabs<br />
set tTitle to item i of tTitles<br />
activate tTab<br />
do script with command "cd"" &amp; (item i of tDirs) &amp; """ in tab i of window 1<br />
do script with command "PS1="\[33]0;`(echo "" &amp; tTitle &amp; "")`7\]$PS1";clear" in tab i of window 1<br />
end repeat<br />
end tell<br />
</code></p>
<p>&#8230;.The possibilities really are endless. It&#8217;s pretty exciting.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crunchyweb.com/2011/07/love-visor-but-miss-window-groups-no-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Long URL? &#8211; Crunch It!</title>
		<link>http://blog.crunchyweb.com/2011/04/long-url-crunch-it/</link>
		<comments>http://blog.crunchyweb.com/2011/04/long-url-crunch-it/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 15:44:10 +0000</pubDate>
		<dc:creator>Carlos Ballena</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[Crunchyverse]]></category>

		<guid isPermaLink="false">http://blog.crunchyweb.com/?p=149</guid>
		<description><![CDATA[Greetings! We&#8217;ve officially released our first web application, CRNCH.IT! A URL shortening service written in python using Django. It offers short link creation as well as statistical tracking for URLs. How to Crunch: To use Crnch.It all you need to do is go to the website, enter your long, annoying URL and click on the arrow! You will [...]]]></description>
			<content:encoded><![CDATA[<p>Greetings!</p>
<p>We&#8217;ve officially released our first web application, <a title="CRNCH.IT" href="http://crnch.it" target="_blank">CRNCH.IT</a>! A URL shortening service written in python using Django. It offers short link creation as well as statistical tracking for URLs.</p>
<p style="text-align: center;"><a href="http://crnch.it"></a></p>
<p><strong>How to Crunch:</strong></p>
<p>To use Crnch.It all you need to do is go to the <a title="Crnch.It" href="http://crnch.it" target="_blank">website</a>, enter your long, annoying URL and click on the arrow! You will be redirected to your statistics page, where you are provided with your new URL and an overview of your URL&#8217;s performance.</p>
<p>If you&#8217;d like to check your URL statistics again all you need to do is go to www.crnch.it/view/XXXXX and replace the Xs with your URL characters.</p>
<p><strong>Development:</strong></p>
<p>Crnch.It (codename CrunchyURL) will receive updates and new features along the way, if you are a developer and would like to help us improve it, you can do so through <a title="CrunchyWeb @ Github" href="https://github.com/crunchyweb/CrunchyURL" target="_blank">GitHub</a>. Documentation on the application and it&#8217;s inner workings is available on our <a href="http://labs.crunchyweb.com/#tab-3/tab1-trigger/10" target="_blank">Labs page</a>.</p>
<p>Are you experiencing any problems? Please let us know here in <a title="Comments" href="#respond">the comments</a> or using our <a title="Labs Contact Page" href="http://www.labs.crunchyweb.com/#tab-5" target="_blank">online form.</a> We appreciate your help.</p>
<p><strong>Browser Support:</strong></p>
<p>The design for Crnch.it relies heavily on CSS3 and even though it renders well in modern web browsers(IE7, IE8, Firefox, Opera, Chrome, Safari), it is fully supported only by WebKit browsers (Chrome &amp; Safari). The site has also been tested in Android and iOS devices successfully.</p>
<p>Happy Crunching!</p>
<p style="text-align: center;"><a href="http://crnch.it"><img class="aligncenter" title="Visit Crnch.It" src="http://blog.crunchyweb.com/wp-content/uploads/2011/04/btn11.png" alt="Visit Crnch.It" width="240" height="96" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crunchyweb.com/2011/04/long-url-crunch-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Expanding The Crunchyverse</title>
		<link>http://blog.crunchyweb.com/2011/03/site-updates-01/</link>
		<comments>http://blog.crunchyweb.com/2011/03/site-updates-01/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 07:22:24 +0000</pubDate>
		<dc:creator>Carlos Ballena</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Crunchyverse]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://blog.crunchyweb.com/?p=136</guid>
		<description><![CDATA[Greetings Human! We have some interesting things going on here in the Crunchyverse! We&#8217;ve been working on some updates and new features that we hope you enjoy. CrunchyLabs &#8211; Welcome our latest creation! CrunchyLabs is a place for experiments, new ideas and a bit of chaos. As we produce new applications, we&#8217;ll be testing them [...]]]></description>
			<content:encoded><![CDATA[<p>Greetings Human!</p>
<p>We have some interesting things going on here in the Crunchyverse! We&#8217;ve been working on some updates and new features that we hope you enjoy.</p>
<ul>
<li><strong><a title="CrunchyLabs" href="http://labs.crunchyweb.com">CrunchyLabs</a></strong> &#8211; Welcome our latest creation! CrunchyLabs is a place for experiments, new ideas and a bit of chaos. As we produce new applications, we&#8217;ll be testing them and making them available to the public through CrunchyLabs. If you are a developer feel free to play around with them.</li>
<li><strong>New Blog Theme</strong> &#8211; If you have seen our blog before you will notice quite a difference. We&#8217;ve changed the color of the blog to differentiate it from the regular site and added a few extra features, such as our navigation bar where, now, you will find our different posts categories.</li>
<li><strong>Subtle Design Updates</strong> &#8211; Always trying to improve ourselves, we&#8217;ve made some very subtle modifications to our design, including: textured background,  typography and vertical rhythm.</li>
<li><strong>Wallpapers </strong>- Would you like to have CrunchyWeb on your computer? You can find some wallpapers create by our team in our labs page.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.crunchyweb.com/2011/03/site-updates-01/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS3 Expandable Boxes</title>
		<link>http://blog.crunchyweb.com/2011/02/css3-expandable-boxes/</link>
		<comments>http://blog.crunchyweb.com/2011/02/css3-expandable-boxes/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 03:04:29 +0000</pubDate>
		<dc:creator>Carlos Ballena</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Experiments]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Transitions]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.crunchyweb.com/?p=93</guid>
		<description><![CDATA[*This project is completely experimental and it is fully supported only by Chrome and Safari, although it works in Mozilla and IE7-8, you will not get the full experience &#8211; the effect can also be achieved using javascript but that&#8217;s not the point of this post.* Intro Working in a web environment, where you can [...]]]></description>
			<content:encoded><![CDATA[<p>*This project is completely experimental and it is fully supported only by Chrome and Safari, although it works in Mozilla and IE7-8, you will not get the full experience &#8211; the effect can also be achieved using javascript but that&#8217;s not the point of this post.*</p>
<p><strong>Intro</strong></p>
<p>Working in a web environment, where you can use effects to make things more interesting, has changed the way I look at pictures. It happens unconsciously, whenever I see a picture I will automatically imagine what it would look like if it were animated. I rarely do anything about these ideas, but this latest idea really caught my attention.</p>
<p>I recently ran into this beautiful vector <a title="Seasons Fauna" href="http://iormundr.deviantart.com/art/Seasons-Fauna-49777861" target="_blank">background </a>done by <a title="Iormundr on DeviantART" href="http://iormundr.deviantart.com/" target="_blank">Iormundr</a>.</p>
<p style="text-align: center;"><img class="aligncenter" title="Seasons Fauna" src="http://fc07.deviantart.net/fs15/i/2007/058/c/1/Seasons_Fauna_by_Iormundr.jpg" alt="" width="614" height="384" /></p>
<p style="text-align: left;">As soon as I saw this image, I had this idea that each box could take over the total width of the container, showing the rest of the image.</p>
<p style="font-size: 18px; text-align: center;"><a title="Animated Seasons" href="http://crunchyweb.com/exp/css3Boxes/" target="_blank"><strong>~ View Demo ~</strong></a></p>
<p><strong>How to Build It</strong></p>
<p>The project uses the CSS3 <em>transition</em> property to animate the width and position of each box. If you are not familiar with this property, I&#8217;ve put some links at the end of the post.</p>
<p>The HTML for this page is very simple and you can see it below. We have a main container <em>#expWrapper</em> and 4 boxes - <em>#expBox1</em>, <em>#expBox2</em>, <em>#expBox3</em>, <em>#expBox4</em>. Everything else is done with CSS.</p>
<pre class="brush: xml; font-size: 12%; title: ; notranslate">
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;Expanding Fauna Boxes&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;div id=&quot;expWrapper&quot;&gt;
		&lt;div id=&quot;expBox1&quot;&gt;
			BOX1
		&lt;/div&gt;
		&lt;div id=&quot;expBox2&quot;&gt;
			BOX2
		&lt;/div&gt;
		&lt;div id=&quot;expBox3&quot;&gt;
			BOX3
		&lt;/div&gt;
		&lt;div id=&quot;expBox4&quot;&gt;
			BOX4
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/body&gt;
</pre>
<p>The style for the wrapper doesn&#8217;t involve anything complicated. Setup the desired width and height, background color, margins, border, and you&#8217;re done.</p>
<pre class="brush: css; title: ; notranslate">
#expWrapper{
	width:480px;
	height:300px;
	border:5px solid #333;
	margin:50px auto;
	position:relative;
	background:#333;
}
</pre>
<p>Now let&#8217;s look at what we used for the boxes; this is where things get interesting. In this case, each box will be a quarter of the total width, but we must consider the margins and border as well, so keep that in mind. We are using <em>display:inline-block</em> to keep the boxes next to each other without using the <em>float </em>property. We also need to use the <em>z-index</em> property to keep the boxes in the back when they are not hovered.</p>
<p>Now, because these properties are applied to all the boxes, I&#8217;ve grouped them all together to reduce the amount of css we use.</p>
<pre class="brush: css; title: ; notranslate">
#expBox1,
#expBox2,
#expBox3,
#expBox4{
	width:112px;
	height:296px;
	margin:0 2px;
	border:2px solid #000;

	z-index:0;               /* Keeps boxes behind when they're not hovered */
	position:absolute;       /* Allows us to use margins to place the boxes */
	display:inline-block;    /* Keeps boxes in the same row */
}
</pre>
<p>Next, let&#8217;s style each box. We are going to start by using solid colors instead of a background, just to show how it works. As you can see, we have setup left margins to position each box. This is possible thanks to the absolute positioning we setup before. If we had used <em>position:relative</em>, it would break so make sure you have those settings right.</p>
<pre class="brush: css; title: ; notranslate">
#expBox1{
	background-color:green;
	margin-left:2px;
}
#expBox2{
	background-color:yellow;
	margin-left:122px;
}
#expBox3{
	background-color:red;
	margin-left:242px;
}
#expBox4{
	background-color:blue;
	margin-left:362px;
}
</pre>
<p>So, by this point, your page should look something like this.</p>
<p><a href="http://blog.crunchyweb.com/wp-content/uploads/2011/02/capture111.png" rel="lightbox[93]"><img class="aligncenter size-medium wp-image-94" title="Solid Color Boxes" src="http://blog.crunchyweb.com/wp-content/uploads/2011/02/capture11-300x148.png" alt="" width="300" height="148" /></a></p>
<p>Now that we have the basic setup, let&#8217;s animate them! You will notice that I&#8217;ve also grouped the properties here as they repeat.</p>
<pre class="brush: css; title: ; notranslate">
	#expBox1:hover,
	#expBox2:hover,
	#expBox3:hover,
	#expBox4:hover{
		margin-left:2px;
		width:472px;
		z-index:50;
		-webkit-transition: width .5s ease, margin .5s ease; /* WebKit transition property */
		-moz-transition: width .5s ease, margin .5s ease;    /* Mozilla transition property */
		-o-transition: width .5s ease, margin .5s ease;      /* Opera transition property */
		transition: width .5s ease, margin .5s ease;         /* Standard transition property */
	}
</pre>
<p>So, if you did that right, your boxes will animate when you hover IN, but when you move the cursor out, they go back to their original form instantly. Why? Well, we need to add a few more lines of code to the boxes in order to achieve this. These lines go to the basic form of the boxes (not hovered ones). Pay attention to the z-index transition, I gave it a time of .6s (.1s more than the other properties) with a .5s delay. This is to prevent any boxes from appearing above the affected box before the effect finishes.</p>
<pre class="brush: css; title: ; notranslate">
#expBox1,
#expBox2,
#expBox3,
#expBox4{
	width:112px;
	height:296px;
	margin:0 2px;
	border:2px solid #000;

	z-index:0;
	position:absolute;
	display:inline-block;

        -webkit-transition: width .5s ease, margin .5s ease, background .5s ease,z-index .6s ease .5s;
        -moz-transition: width .5s ease, margin .5s ease, background .5s ease,z-index .6s ease .5s;
        -o-transition: width .5s ease, margin .5s ease, background .5s ease,z-index .6s ease .5s;
        transition: width .5s ease, margin .5s ease, background .5s ease,z-index .6s ease .5s;
}
</pre>
<p>Here&#8217;s how it looks now.</p>
<p style="font-size: 14px; text-align: center;"><a title="Animated Seasons" href="http://crunchyweb.com/exp/css3Boxes/simple.html" target="_blank"><strong>~ Solid Colors Demo ~</strong></a></p>
<p>And for the most part, that&#8217;s all you need to have these boxes working! If you want to know how to setup a background, keep reading <img src='http://blog.crunchyweb.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Background Image</strong></p>
<p>So, what do we need to animate the background? Well, first of all, you need a cool background! In this case I used Iormundr&#8217;s image. After a little photoshoping, I recreated same versions of the image with different colors, which you can see below.</p>
<div style="text-align: center;"><a href="http://blog.crunchyweb.com/wp-content/uploads/2011/02/box111.jpg" rel="lightbox[93]"><img class="aligncenter size-medium wp-image-95" title="box1" src="http://blog.crunchyweb.com/wp-content/uploads/2011/02/box11-300x185.jpg" alt="" width="180" height="111" /><br />
</a><a href="http://blog.crunchyweb.com/wp-content/uploads/2011/02/box211.jpg" rel="lightbox[93]"><img class="aligncenter size-medium wp-image-96" title="box2" src="http://blog.crunchyweb.com/wp-content/uploads/2011/02/box21-300x185.jpg" alt="" width="180" height="111" /><br />
</a><a href="http://blog.crunchyweb.com/wp-content/uploads/2011/02/box311.jpg" rel="lightbox[93]"><img class="aligncenter size-medium wp-image-97" title="box3" src="http://blog.crunchyweb.com/wp-content/uploads/2011/02/box31-300x185.jpg" alt="" width="180" height="111" /><br />
</a><a href="http://blog.crunchyweb.com/wp-content/uploads/2011/02/box411.jpg" rel="lightbox[93]"><img class="aligncenter size-medium wp-image-98" title="box4" src="http://blog.crunchyweb.com/wp-content/uploads/2011/02/box41-300x185.jpg" alt="" width="180" height="111" /></a></div>
<p>Alright so we&#8217;ll do this fairly quickly as the concept is the same as to what we have already done.</p>
<p>First you will need to setup custom background for each box AND position them correctly! Because of how these images look, we need to make sure that the background shows in the right place or you won&#8217;t get the effect you want. Here we are replacing the settings we already have, so don&#8217;t just add them to the previous code. <img src='http://blog.crunchyweb.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<pre class="brush: css; title: ; notranslate">
#expBox1{
	background:url(img/box1.jpg) 0 0;
	margin-left:2px;
}
#expBox2{
	background:url(img/box2.jpg) -120px 0;
	margin-left:122px;
}
#expBox3{
	background:url(img/box3.jpg) -240px 0;
	margin-left:242px;
}
#expBox4{
	background:url(img/box4.jpg) -360px 0;
	margin-left:362px;
}
</pre>
<p>So now, our boxes have a background, but you will notice that if you hover, the background will move to a different position. So now we gotta change and animate the position of the background. Once again, we are replacing the code we have. As you can see, we are changing the background-position and animating it at the same rate as the other properties. Notice that the timing is important for the effect to look consistent.</p>
<pre class="brush: css; title: ; notranslate">
	#expBox1:hover,
	#expBox2:hover,
	#expBox3:hover,
	#expBox4:hover{
		margin-left:2px;
		width:472px;
		z-index:50;
		background-position: 0 0;                  /* New background position */
		-webkit-transition: width .5s ease, margin .5s ease, background-position .5s ease;
		-moz-transition: width .5s ease, margin .5s ease, background-position .5s ease;
		-o-transition: width .5s ease, margin .5s ease, background-position .5s ease;
		transition: width .5s ease, margin .5s ease, background-position .5s ease;
	}
</pre>
<p>And you&#8217;re done! With just a few lines of code you&#8217;ve got yourself a nice effect using CSS3 so find yourself a background and have fun.</p>
<p><strong>Final Thoughts</strong></p>
<ul>
<li>As I mentioned at the beginning, this project is experimental, there are many ways to do this effect using other technologies and they are probably more compatible and successful at it. Nonetheless this is useful to practice CSS3.</li>
<li>Possible background ideas:
<ul>
<li>Use real pictures of a place at different times of the year.</li>
<li>Group picture of 4 people broken into boxes for each person, when hovered, show that single person with information next to them.</li>
</ul>
</li>
</ul>
<p>I hope you found this post useful and enjoyable. If you have any suggestions or questions. Let me know in the comments.</p>
<p><strong>Links</strong></p>
<ul>
<li><a title="W3C - CSS3 Transitions" href="http://www.w3.org/TR/css3-transitions/" target="_self">W3C Transitions</a></li>
<li><a title="Timing Functions" href="http://www.the-art-of-web.com/css/timing-function/" target="_self">CSS3 Timing Functions</a></li>
<li><a title="A List Apart: Understanding CSS3 Transitions" href="http://www.alistapart.com/articles/understanding-css3-transitions" target="_blank">A List Apart: Understanding CSS3 Transitions</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.crunchyweb.com/2011/02/css3-expandable-boxes/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Using jQuery for Navigation</title>
		<link>http://blog.crunchyweb.com/2011/02/jquery-navigation/</link>
		<comments>http://blog.crunchyweb.com/2011/02/jquery-navigation/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 21:01:39 +0000</pubDate>
		<dc:creator>Carlos Ballena</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[Single-Page]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.crunchyweb.com/?p=29</guid>
		<description><![CDATA[SketchyWeb is a school project I did in the Fall of 2010. It is a single-page portfolio website that focuses in the use of simple scripts to create a simple yet attractive navigation. If you haven&#8217;t seen SketchyWeb I&#8217;d recommend you do it before you continue reading this post. [SketchyWeb] Over the last few weeks [...]]]></description>
			<content:encoded><![CDATA[<p>SketchyWeb is a school project I did in the Fall of 2010. It is a single-page portfolio website that focuses in the use of simple scripts to create a simple yet attractive navigation. If you haven&#8217;t seen SketchyWeb I&#8217;d recommend you do it before you continue reading this post. [<a title="SketchyWeb" href="http://sketchy.crunchyweb.com" target="_blank">SketchyWeb</a>]</p>
<p>Over the last few weeks some friends of mine have asked me what did I use for the navigation of the site and the short answer was &#8220;jQuery!&#8221;  But today, I&#8217;m writing the long answer!</p>
<p><strong>The Problem</strong></p>
<p>For my Web Design class I was asked to come up with a website idea, the design and content were up to me. This was my chance to create a single-page site. Something I had been craving to do for a few months but I never got the chance to work on.</p>
<p>Now, all the single-page websites I had seen have one thing in common,<strong> they scroll <strong>only </strong>in one axis</strong>. (<a title="Volll" href="http://www.volll.com/" target="_blank">volll.com</a>, <a title="Tomas pojeta" href="http://www.pojeta.cz/" target="_blank">pojeta.com</a>, <a title="Dean Oakley" href="http://deanoakley.com/" target="_blank">denoakley.com</a>) They either scroll up and down, or from left to right. I wanted to break from this standard and make a site that scrolled in both axis. However I found a few challenges to this model.</p>
<p>The biggest one was that if I used the entire screen I would have to figure out a way to make the site work in most resolutions. I would have to make sure it works when resizing, that the content stays centered, that it is centered when things move around, etc. With enough Javascrip, I&#8217;ve come to find out that this is possible, however my skills are not there yet. So I had to find a way to simplify things.</p>
<p><strong>The Solution</strong></p>
<p>While discussing this idea with my Web Design professor, he suggested resizing the window. It was a valid idea and maybe the most efficient one (you can&#8217;t break something you can&#8217;t change). However, I would hate doing that just as much as I hate finding a website that does it.</p>
<p>But I got closer to the solution, I knew I needed to control the size of the window&#8230; without controlling the window. As confusing as that may sound, the solution was simple. I had to create a window inside the browser.</p>
<p>This window would not be like a regular web browser window or a pop up, it is more of a concept. I needed a container that would not change even if the web browser changed.</p>
<p><strong>How to?</strong></p>
<p>First things first. We will need to create the entire environment and the content for the site. If you are doing your own single-page site  you want to think of something similar to what I have. Things like a blackboard, whiteboard, canvas, an actual window, a computer screen, etc.</p>
<p>For SketchyWeb, I laid it all out in paper(6 pieces of paper taped, to be precise). Once I had the basic idea, I re-drew it in Photoshop.  (The original was 2880x2400px)</p>
<p style="text-align: center;"><a href="http://blog.crunchyweb.com/wp-content/uploads/2011/01/sw_content11.jpg" rel="lightbox[29]"><img class="aligncenter" title="All Pages" src="http://blog.crunchyweb.com/wp-content/uploads/2011/01/sw_content1-300x250.jpg" alt="" width="300" height="250" /></a></p>
<p>To make the background of the site, I took a picture of my drawing table. Then I edited it in Photoshop, making sure that the perception was right &#8211; in this case, the viewer must be looking at it right from above. I cropped it at 1920&#215;1080 &#8211; according to <a href="http://www.w3schools.com/browsers/browsers_resolution_higher.asp" target="_blank">W3C</a>, 1920&#215;1200 is more popular so you may wanna go for that. Click the pictures below to see the process. You will notice I added a grungy texture and some light effect to make it more interesting.</p>
<p style="text-align: center;"><a style="margin: 10px;" href="http://blog.crunchyweb.com/wp-content/uploads/2011/01/bg_original11.jpg" rel="lightbox[29]"><img class="alignnone size-thumbnail wp-image-35" title="Original Photograph" src="http://blog.crunchyweb.com/wp-content/uploads/2011/01/bg_original1-150x150.jpg" alt="SketchyWeb background - original picture" width="150" height="150" /></a> <a style="margin: 10px;" href="http://blog.crunchyweb.com/wp-content/uploads/2011/01/bg_styled11.jpg" rel="lightbox[29]"><img class="alignnone size-thumbnail wp-image-36" title="Background" src="http://blog.crunchyweb.com/wp-content/uploads/2011/01/bg_styled1-150x150.jpg" alt="SketchyWeb background - Cropped picture" width="150" height="150" /></a></p>
<p>Next, you will have to add the &#8220;window&#8221;, in this case, the piece of paper where the content will show. Make sure you center it so that when you bring it to HTML, it&#8217;s in the middle of the page &#8211; unless you are planning something different of course. So to do this, I created a 960x800px rectangle, and centered it.  I used some guidelines to have a better view of what it would look like. Then I increased the size of the paper, tilted it, and added a very subtle drop shadow. After I added the pencil and eraser, the composition seemed more complete and realistic.</p>
<p style="text-align: center;"><a style="margin: 10px;" href="http://blog.crunchyweb.com/wp-content/uploads/2011/01/bg_guides11.jpg" rel="lightbox[29]"><img class="alignnone size-thumbnail wp-image-40" title="Adding The Canvas" src="http://blog.crunchyweb.com/wp-content/uploads/2011/01/bg_guides1-150x150.jpg" alt="SketchyWeb background - Canvas and Guides" width="150" height="150" /></a><a style="margin: 10px;" href="http://blog.crunchyweb.com/wp-content/uploads/2011/01/bg_final11.jpg" rel="lightbox[29]"><img class="alignnone size-thumbnail wp-image-42" title="Finished Background" src="http://blog.crunchyweb.com/wp-content/uploads/2011/01/bg_final1-150x150.jpg" alt="SketchyWeb background - Final Version" width="150" height="150" /></a></p>
<p>Now that we have the content and background ready, let&#8217;s look at the code.</p>
<p>First, you will need to embed  jQuery on the page. You can get it from <a title="Google Code APIs" href="http://code.google.com/apis/libraries/devguide.html" target="_blank">Google</a>, (https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js) or download a copy to your server from <a title="jQuery" href="http://jquery.com/" target="_blank">jQuery.com</a>.</p>
<p>Now let&#8217;s take a look at the basic structure of the site. As you can see below, it is very simple and straight forward. A #canvas wrapper, an #inCanvas container and .scene containers for each page of the site.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;body&gt;
&lt;div id=&quot;canvas&quot;&gt;
	&lt;div id=&quot;inCanvas&quot;&gt;

            /* Top Row
            ---------------------------------*/
            &lt;div id=&quot;resume&quot; class=&quot;scene&quot;&gt;
            &lt;/div&gt;
            &lt;div id=&quot;architect&quot; class=&quot;scene&quot;&gt;
            &lt;/div&gt;
            &lt;div id=&quot;contact&quot; class=&quot;scene&quot;&gt;
            &lt;/div&gt;

            /* Middle Row
            ---------------------------------*/
            &lt;div id=&quot;projects&quot; class=&quot;scene&quot;&gt;
            &lt;/div&gt;
            &lt;div id=&quot;index&quot; class=&quot;scene&quot;&gt;
            &lt;/div&gt;
            &lt;div id=&quot;about&quot; class=&quot;scene&quot;&gt;
            &lt;/div&gt;

            /* Bottom Row
            ---------------------------------*/
            &lt;div id=&quot;under&quot; class=&quot;scene&quot;&gt;
            &lt;/div&gt;
            &lt;div id=&quot;underLinks&quot; class=&quot;scene&quot;&gt;
            &lt;/div&gt;
            &lt;div id=&quot;under&quot; class=&quot;scene&quot;&gt;
            &lt;/div&gt;

        &lt;/div&gt;
&lt;/div&gt;
&lt;/body&gt;
</pre>
<p>Let&#8217;s look at the styles for the main containers.</p>
<p>The <strong>body</strong> tag has the background image aligned to the top of the window and centered.</p>
<p>The <strong>canvas</strong> ID must be centered and it is meant to be the &#8220;window&#8221;. in this case it is 960x800px, I centered it with margins and added 100px on top which is where the piece of paper is positioned in the background image. As you can see it has the property overflow set to hidden, which allows us to use this container as a window. You can&#8217;t see anything outside your room if it is not through a window &#8211; or another type of hole on the wall.</p>
<p>The <strong>inCanvas</strong> ID is the content of the site. It is the total width and height of the entire content, in this case 2880x2400px. It is positioned absolute to its parent, canvas. This is very important because if it is positioned relatively, the links will not work properly. I&#8217;ll go over this later.</p>
<p>The <strong>scene</strong> class applies to all the &#8220;pages&#8221; of the site and it is very basic. It is the width and height of the canvas ID and it&#8217;s floated left.</p>
<p>I also added some ID&#8217;s for each of the pages. However they are not necessary for the correct functioning of the site. They can be used to have a single class with custom styles depending on the parent, or backgrounds for each page.</p>
<pre class="brush: css; title: ; notranslate">
body{
    width:100%;
    height:100%;
    background:url(img/bg.jpg) top center;
    margin:0 auto;
    font-family:&quot;Palatino Linotype&quot;, Book Antiqua, Palatino, serif;
    color:#3d3d3d
}
#canvas{
    width:960px;
    height:800px;
    margin:100px auto 0;
    overflow:hidden;
    position:relative;
    z-index:500
}
#inCanvas{
    width:2880px;
    height:2400px;
    position:absolute
}
.scene{
    width:960px;
    height:800px;
    float:left
}
</pre>
<p>The rest of the code is mostly the content of the site so I don&#8217;t think it&#8217;s necessary to cover it in this tutorial. Instead let&#8217;s look at the javascript that makes it all happen.</p>
<pre class="brush: jscript; title: ; notranslate">
	$(document).ready(function(){
	    $(&quot;#inCanvas&quot;).css({left:&quot;-960px&quot;,top:&quot;-800px&quot;});
		$(&quot;.lArch&quot;).click(function(){
			$(&quot;#inCanvas&quot;).animate({left:&quot;-960px&quot;,top:&quot;0&quot;},&quot;1000&quot;);
		});
		$(&quot;.lCont&quot;).click(function(){
			$(&quot;#inCanvas&quot;).animate({left:&quot;-1920px&quot;,top:&quot;0&quot;},&quot;1000&quot;);
		});
		$(&quot;.lProj&quot;).click(function(){
			$(&quot;#inCanvas&quot;).animate({left:&quot;0&quot;,top:&quot;-800px&quot;},&quot;1000&quot;);
		});
		$(&quot;.lInde&quot;).click(function(){
			$(&quot;#inCanvas&quot;).animate({left:&quot;-960px&quot;,top:&quot;-800px&quot;},&quot;1000&quot;);
		});
		$(&quot;.lAbou&quot;).click(function(){
			$(&quot;#inCanvas&quot;).animate({left:&quot;-1920px&quot;,top:&quot;-800px&quot;},&quot;1000&quot;);
		});
		$(&quot;.lUnde&quot;).click(function(){
			$(&quot;#inCanvas&quot;).animate({left:&quot;-960px&quot;,top:&quot;-1600px&quot;},&quot;1000&quot;);
		});
	});
</pre>
<p>Now, you will assign each of those classes(.lArch, .lCont, .lProj, .lInde, .lAbou, .Unde) to the respective links. lArch will be the class for the links that take the viewer to the Architect page, lProj for links that go to the Projects page, and so on. Those links don&#8217;t have any properties in the css, they are actually for javascript use only. So what do they do? Well, in simple terms, they tell the inCanvas element where to go. They write the new positioning of that element as inline styles. So a link with the class lAbou will change the coordinates of inCanvas to (-1920, -800). This is where the position absolute for the inCanvas ID becomes essential. If we had used position:relative,  the links would move the inCanvas relatively to where it is at the time. So if we tell it to go to the coordinates (-960,0). it will move to a different place, depending on what page it is. I didn&#8217;t realize this for a while and I had a hard time figuring out what was the problem.</p>
<p>As you can see, I also have a line that sets the initial positioning of inCanvas. Without it, the page would initially load at the top left corner of inCavas &#8211; which for now is blank.</p>
<p><strong>Final Thoughts</strong></p>
<p>And that&#8217;s it! The code behind this page is very simple and can be implemented easily. What will take the most time will be the content, depending on its complexity. So, there you have it. A light, simple, single-page website that moves in any axis. This is a good design for websites that don&#8217;t have a lot of content but that are looking for an interesting element.</p>
<p>This website is at a very early stage. The HTML and CSS can be further optimized for an even lighter version. Eventually I&#8217;d like to add some animations and other ways for the user to interact but that&#8217;s another story. <img src='http://blog.crunchyweb.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>If you have any questions, comments or suggestions; please leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.crunchyweb.com/2011/02/jquery-navigation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CrunchyWeb is Here!!!</title>
		<link>http://blog.crunchyweb.com/2011/01/just-born/</link>
		<comments>http://blog.crunchyweb.com/2011/01/just-born/#comments</comments>
		<pubDate>Sat, 08 Jan 2011 22:01:29 +0000</pubDate>
		<dc:creator>Carlos Ballena</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[about]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://blog.crunchyweb.com/?p=6</guid>
		<description><![CDATA[We&#8217;ve finally finished the site and we are ready to make the most of it! This blog is an essential part of our company, we will provide news, articles and other things you won&#8217;t want to miss so make sure you subscribe. We not only enjoy making awesome websites but we also enjoy sharing our [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>We&#8217;ve finally finished the site and we are ready to make the most of it!</p>
<p>This blog is an essential part of our company, we will provide news, articles and other things you won&#8217;t want to miss so make sure you subscribe.</p>
<p>We not only enjoy making awesome websites but we also enjoy sharing our knowledge with the world. In this blog we will also provide tutorials, tips, comments, and updates to some of the plugins and applications that we will release in the near future. Stay tuned!</p>
<p>Don&#8217;t forget to follow us on <a title="CrunchyWeb on Twitter" href="http://twitter.com/crunchyweb" target="_blank">Twitter</a> and <a title="CrunchyWeb on Facebook" href="http://www.facebook.com/pages/CrunchyWeb/116752331723768" target="_blank">Facebook</a>!</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.crunchyweb.com/2011/01/just-born/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
