<?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>jc-designs.net</title>
	<atom:link href="http://jc-designs.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://jc-designs.net/blog</link>
	<description>jc-designs blog</description>
	<lastBuildDate>Fri, 22 Mar 2013 16:31:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Cool Web Developer Tools &#8211; Koala and Chrome Remote Preview</title>
		<link>http://jc-designs.net/blog/2013/03/cool-web-developer-tools-koala-and-chrome-remote-preview/</link>
		<comments>http://jc-designs.net/blog/2013/03/cool-web-developer-tools-koala-and-chrome-remote-preview/#comments</comments>
		<pubDate>Fri, 22 Mar 2013 16:29:31 +0000</pubDate>
		<dc:creator>jcDesigns</dc:creator>
				<category><![CDATA[Sass/Less/Compass]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[coffeeScript]]></category>
		<category><![CDATA[LESS]]></category>
		<category><![CDATA[sass]]></category>

		<guid isPermaLink="false">http://jc-designs.net/blog/?p=1120</guid>
		<description><![CDATA[Don&#8217;t like the command line? Fear no more! I saw a tweet the other day that told of a way to compile Sass, LESS, or CoffeeScript without using the command line. Enter Koala, a cool little app to help you make the jump to preprocessors as painless as possible. Normally I use the command line [...]]]></description>
			<content:encoded><![CDATA[<h3>Don&#8217;t like the command line? Fear no more!</h3>
<p>I saw a tweet the other day that told of a way to compile Sass, LESS, or CoffeeScript without using the command line. Enter Koala, a cool little app to help you make the jump to preprocessors as painless as possible. Normally I use the command line and type in &#8216;compass watch&#8217; and forget about it. It really isn&#8217;t that difficult, but a lot of people seem to get scared when confronted with it. If all you want to do is compile, I really don&#8217;t see a reason why you shouldn&#8217;t use Koala. The interface is incredibly easy, with very few buttons or options. The ones it does have, are the ones you would most commonly use. Take a look at the image below and see what I mean.</p>
<p><span id="more-1120"></span></p>
<div class="center">
<img src="http://www.jc-designs.net/newimages/blogImages/koala-app.jpg" alt="Koala app for Sass, Less, and CoffeeScript" />
</div>
<p>Basically you just have a couple things to do after you install the app. Hit the plus sign to locate the folder containing the files you want compiled. In my example, they are .scss files as that is what I am most interested in. Folder shows on the left, the files within on the right.  Click on one of the files and you see a set of options pop out on the right. Dynamic Compilation will auto compile for you. If you don&#8217;t want that, uncheck it and then you can hit the compile button whenever you need it to. Crazy easy right? Below that are some other options, with the most important one being Compass. You then have a drop down menu to select how you want the output CSS file to be styled (nested, expanded, compact or compressed).</p>
<p>The one thing you do have to change is the output path of the files you are compiling. It seems by default that they will compile into the same folder, which is generally not what you want. All you do, is right click on one of the files, browse to the css file you want it to compile to, and that is it! Open your Sass, LESS or CoffeeScript file you want to edit in whatever editor you want, and when you save&#8230;BAM! Compiles for you. Very nicely done, that.</p>
<h3>Chrome Remote Preview </h3>
<p>Written by <a href="http://viljamis.com/blog/2012/remote-preview/">Viljami Salminen</a>, which you probably know as an author at Smashing Magazine. Basically <a href="https://github.com/viljamis/Remote-Preview">Chrome Remote-Preview</a>, once setup, lets your devices all see the same site with the change of a txt file. Type a url in there, save, and all the devices automatically refresh to see the same thing. That way you can view a site on a bunch of different devices all at the same time to see if there are any layout problems. While the functionality is awesome&#8230;the &#8220;documentation&#8221; is written with the assumption that you will just know what to do.</p>
<blockquote><p>
Copy and paste all files to a public Dropbox folder/server/localhost, edit ‘url’ file and wait for devices to refresh. That’s all!
</p></blockquote>
<p>The instructions are so damn vague that is is almost laughable. No sir, it is NOT that simple. At least for an idiot like me who sometimes feels like he is feeling his way through the dark with stuff like this. So below, I&#8217;ve written up some instructions using the Dropbox and the Chrome extension method, for you front-end people to get it going as quickly as possible.</p>
<ol>
<li><a href="https://github.com/viljamis/Remote-Preview">Download Remote-Preview</a>, and unzip the files</li>
<li>I&#8217;ll assume you have a Dropbox account: Open Dropbox, and copy all of the files from the unzipped folder into your Public folder in Dropbox</li>
<li>Install <a href="https://chrome.google.com/webstore/detail/remote-preview/meilakmceeilinkpponceohlnfbhijok">Chrome Remote-Preview extension</a></li>
<li>In Dropbox, right click on the update.php file in the control folder and copy public link</li>
<li>Turn extension on in Chrome and right click on the icon it places in the tool bar to get to the Options</li>
<li>Paste in the url you copied</li>
<li>In Dropbox again, right click on the index.html file outside of the control folder, and get the public link for that</li>
<li>Enter that url in browser on whatever device(s) you want to use</li>
<li>In Dropbox, open the url.txt file, and change the url to whatever site you want to look at in the other devices, then save</li>
</ol>
<p>Now, whenever you change that url in the txt file, and save, it will refresh all the devices. The only issue I see is if you want to just refresh the url of the page you are already on to see a change go through. I&#8217;m not sure how to do that since it is looking to see if there is a change to the txt file. Other than that though, it allows you to see any problems on your devices, at the same time. Pretty bad ass little tool, and I believe this will come in handy in the near future.</p>
<div class="gator">
<a  href="http://secure.hostgator.com/~affiliat/cgi-bin/affiliates/clickthru.cgi?id=jcDesigns-" rel="nofollow"><img src="http://tracking.hostgator.com/img/Shared/468x60.gif" border=0></a></p>
<p>Coupon Code: webmachine</p>
</div>
 <img src="http://jc-designs.net/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1120" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://jc-designs.net/blog/2013/03/cool-web-developer-tools-koala-and-chrome-remote-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Review Of WP-Member &#8211; A WordPress Membership Plugin</title>
		<link>http://jc-designs.net/blog/2013/01/a-review-of-wp-member-a-wordpress-membership-plugin/</link>
		<comments>http://jc-designs.net/blog/2013/01/a-review-of-wp-member-a-wordpress-membership-plugin/#comments</comments>
		<pubDate>Mon, 28 Jan 2013 16:45:20 +0000</pubDate>
		<dc:creator>jcDesigns</dc:creator>
				<category><![CDATA[Product Reviews]]></category>

		<guid isPermaLink="false">http://jc-designs.net/blog/?p=1113</guid>
		<description><![CDATA[Nothing is Ever Flawless The following is a product review of the WP-Member WordPress plugin, which allows you to set up posts and pages to be subscription based. It allows multiple levels of subscription types that can be either free or paid, and supports multiple gateways. I am not getting paid to write this, nor [...]]]></description>
			<content:encoded><![CDATA[<h3>Nothing is Ever Flawless</h3>
<p>The following is a product review of the WP-Member WordPress plugin, which allows you to set up posts and pages to be subscription based. It allows multiple levels of subscription types that can be either free or paid, and supports multiple gateways. I am not getting paid to write this, nor have any affiliation with the product. I am just writing this so that other front-end developers have some information about the plugin before they purchase it.</p>
<p>If you have ever built anything in WordPress and have used anything but a basic plugin, then you will know the frustration of seemingly finding a plugin that sounds great but ends up either flawed , lacking a key feature that you actually need, or just plain broken. I&#8217;m not talking about a plugin that does something simple like adding share buttons to your posts. I&#8217;m talking about a plugin that actually has features you need to fill in a bunch of settings for. What is usuallly surprising is that the plugin actually costs money which makes the situation even more aggrivating.  I think sometimes that we have an ability to work at an extremely high annoyance level compared to the average person.  Do me a favor and raise your hand if you have seriously thought about punching your computer monitor. That should be just about all of us. I just counted&#8230;.there is one guy somewhere in Hawaii that didn&#8217;t raise his hand because where he lives counteracts this. Everyone else though was nodding in agreement there. WP-Member gave me these feelings for sure. Let&#8217;s not start out  with a feeling of hate though, because in the end WP-Member does what I need it to. There was certainly bad, but 1 thing made me stick it out to come to the conclusion that I would use it again. Yes, I just spoiled the rest of the article, but let&#8217;s get into some details.</p>
<p><span id="more-1113"></span></p>
<h3>Seems great on the outside</h3>
<p>Obviously installing a plugin is simple, and as usual I didn&#8217;t have a problem there. In fact right out of the gate I can say I was fairly impressed. I didn&#8217;t have to read any documentation on how to do things because it explains almost everything clearly.  Everything looked good, and it had what I needed built in.</p>
<h3>Subscription levels</h3>
<p>You can set many subscription types for your posts or pages ranging from free to many different subscription payment levels. In my case I needed three: free &#8211; which allowed the client to give specific people access, monthly and yearly (which gave a slight discount for choosing a longer subscription). I was easily able to switch my posts to the levels I needed. What was really good was that because there were a lot of posts I can set them all in one go, and then set specific posts to be a certain subscription type if needed. This was a time saver because going in manually through each post would have been very time consuming. I was glad to see this feature included.</p>
<p>What is also good is that you can set each subscription level to be recurring or not. Or set it to expire at a specific date. A lot of though went into this because I ended up using almost all the features within this plugin. I needed a two week trial added later, which was a free subscription but had a set end date of two weeks after registration.</p>
<h3>Login widget and registation page</h3>
<p>The login widget that you include on your pages looks like a typical login widget, nothing special there. You know the type: username, password, lost password, remember me. What was overlooked is how to style the widget easily. Everything is wrapped, but generically. A bunch of paragraph tags and inputs with no classes, which caused a problem since I needed it to look s certain way. When I tried to style the username textfield it style the other inputs in the same way. Not good. Had to do some trickery to get things to look the way I wanted. If the owner reads this, adding classes to each item within the widget would be great because no one is going to use it the way it looks like by default. So just note that as it stands, this will be difficult.</p>
<h3>Paypal Instant Payment Notification (IPN)</h3>
<p>There is a long as story here, but I&#8217;ll try to make it quick. IPN is basically a message that is sent when a transaction happens. The problem I had, and this was the major flaw in this plugin, was that the page that was being submitted to Paypal, contained the wrong IPN url embedded within it. The transaction would go through in paypal, meaning the user would be charged the subscription amount, but then would fail on the return. So here the person&#8217;s credit card is charged, but since the IPN was wrong, they would not be registered with the website. This is very bad. What made it worse is, that embedded url was also overwriting the url I entered into Paypal for this. Enter support.</p>
<p>h3>Support for the win</h3>
<p>After I figured this out, and reassuring my client that I would fix this, I instantly got on the plugin&#8217;s support page. It is ticket based, which I freakin&#8217; hate, but the owner of the plugin responded fairly quickly. I say that because with this kind of system you are not going to get instant help. But my questions were being answered within 30 minutes or so of being asked, and competently. On top of that, I was notified that the person helping me was the new owner. Always good to deal with the top guy. Of course there might not be anybody below him.</p>
<p>Anyway, the conversation led to a point where I was completely mind blown. Apparently the plugin was being totally redone because the owner felt that jamming code in to fix what it was, was going to be too difficult and rather messy, so they started from scratch. This was where I told him &#8220;Look, I just need to get this working. I don&#8217;t care about upgrading, and yes I know that would be better in the long run, but I just need this to work NOW&#8221;</p>
<p>He then responded &#8220;Ya, it won&#8217;t work. You&#8217;ll have to download the new version, which is in beta, and you&#8217;ll have to do some complicated install&#8221;</p>
<p>There was a pause there as I just looked at my screen&#8230;&#8221;So what you are telling me is that the version I have, is completely broken, and the registration will NEVER happen because of the embedded url&#8221;</p>
<p>And I&#8217;ll give him credit for being honest, because he responded &#8220;Basically&#8230;yes.&#8221;</p>
<p>Many paragraphs later, he helped me get everything upgraded, and it the plugin worked very well. Now, answer me this. If you had paid for a plugin, would you have stuck in there talking with him, or would you go off the hook swearing and bitching him out?</p>
<p>What I do know is that he didn&#8217;t back away and not respond. He answered everything, and eventually got me to where I needed to be with the plugin.</p>
<h3>Recommendation?</h3>
<p>If the owner had not been honest (oh and I shortened the quotes above&#8230;a lot more was said) and quick to help, I would have told him to go @#$% himself. If you are dealing with the old version, I feel bad for you. You are basically screwed. BUT&#8230;I do indeed recommend WP-Member in the latest version if you are looking for a subscription type plugin. The support is good, even though not instant, and it works the way it should now. It is also incredibly easy to setup and use, even if you are not a developer. Anyone can figure out how to get this working. I applaud the new owner, and am extremely thankful for the amount of time he took to help me.</p>
<div class="gator">
<a  href="http://secure.hostgator.com/~affiliat/cgi-bin/affiliates/clickthru.cgi?id=jcDesigns-" rel="nofollow"><img src="http://tracking.hostgator.com/img/Shared/468x60.gif" border=0></a></p>
<p>Coupon Code: webmachine</p>
</div>
 <img src="http://jc-designs.net/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1113" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://jc-designs.net/blog/2013/01/a-review-of-wp-member-a-wordpress-membership-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Jade As An HTML Preprocessor Through Nodefront</title>
		<link>http://jc-designs.net/blog/2012/09/using-jade-as-an-html-preprocessor-through-nodefront/</link>
		<comments>http://jc-designs.net/blog/2012/09/using-jade-as-an-html-preprocessor-through-nodefront/#comments</comments>
		<pubDate>Mon, 24 Sep 2012 16:36:32 +0000</pubDate>
		<dc:creator>jcDesigns</dc:creator>
				<category><![CDATA[NodeJS]]></category>
		<category><![CDATA[haml]]></category>
		<category><![CDATA[jade]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[sass]]></category>

		<guid isPermaLink="false">http://jc-designs.net/blog/?p=1095</guid>
		<description><![CDATA[No CodeKit for PC&#8230;now what? I have been watching Chris Coyier&#8217;s redesign videos and have been learning a lot from the first few I&#8217;ve seen. I remembered him talking about using Jade. He hasn&#8217;t gone into it in the videos, and I will assume he is not using it in the redesign, but I haven&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<h3>No CodeKit for PC&#8230;now what?</h3>
<p>I have been watching <a href="http://www.css-tricks.com">Chris Coyier&#8217;s</a> redesign videos and have been learning a lot from the first few I&#8217;ve seen. I remembered him talking about using Jade. He hasn&#8217;t gone into it in the videos, and I will assume he is not using it in the redesign, but I haven&#8217;t gotten far enough to know. What is <a href="http://jade-lang.com/">Jade</a>? It is a template engine that according to the documentation, is heavily influenced by <a href="http://www.haml-lang.com">Haml</a>, an HTML preprocessor. You know, take out all the cluttered syntax? Of course Jade can do a lot more, but I was mainly interested in using it for its most basic use. Get rid of some clutter in my HTML.</p>
<p>The main problem though is Chris uses Codekit, which does a lot of cool things, and one seems to be compiling the Jade files into HTML. Unfortunately, CodeKit is only for the Mac with no real hope of ever crossing over. So I needed to find a different way to get Jade to work for me. Not an easy task for someone who has no idea how to even impliment it. After a lot of reading and searching, this is how I got it to work.</p>
<p><strong>UPDATE 1/28/13: Below in the Final Thoughts section I mention that I wish Nodefront could output pretty html (non-condensed). I was informed a short while ago by the creator that it can. See the Update section further down to read how.</strong><br />
<span id="more-1095"></span></p>
<h3>Installing Node.js</h3>
<div class="center"><img src="http://jc-designs.net/newimages/blogImages/nodejs.jpg" alt="Node.js" /></div>
<p>The first thing you have to do is to install <a href="http://nodejs.org/download/">Node.js</a>. That part was easy. Of course then I went the stupid route and tried installing Jade through it. Nope, you do that through the command line. The problem of course is I have no real idea of what Node.js is, what it does, or really anything. I just knew I needed it to install Jade.</p>
<h3>Installing Jade</h3>
<div class="center"><img src="http://jc-designs.net/newimages/blogImages/jade.jpg" alt="Jade - Node Template Engine" /></div>
<p>This is simple enough. Open a command line prompt and type:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;color: #439AD0; font-weight: bold;">$npm install jade</pre></div></div>

<h3>Install Nodefront</h3>
<div class="center"><img src="http://jc-designs.net/newimages/blogImages/nodefront.jpg" alt="Nodefront" /></div>
<p>Nodefront is a command-line utility that speeds up front-end development. At least that is what the site says. I&#8217;m willing to take the creator&#8217;s word for it. What I do know, is this is the one tool I got to work for compiling Jade files. To install <a href="http://karthikv.github.com/nodefront/">Nodefront</a>, go to the command line, and type (note that $ just indicates the command line prompt):</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;color: #439AD0; font-weight: bold;">$ npm install -g nodefront</pre></div></div>

<h3>Getting started with Jade</h3>
<p>I am certainly not going to go over Jade&#8217;s syntax, as you can figure that out on your own by going to the link above. All you really have to do is create a new file with the .jade extension, and start writing your html with the Jade syntax.</p>
<p>To compile the Jade file, go to the command line, browse to your project folder and type this:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;color: #439AD0; font-weight: bold;">$ nodefront compile</pre></div></div>

<p>If you want to compile ALL of the files in your project, such as in sub directories, type this:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;color: #439AD0; font-weight: bold;">$ nodefront compile -r</pre></div></div>

<h3>Other things you can do</h3>
<p>There are a lot of things you can do with Nodefront, like go and get a jquery file. Go to the command line and for example, type:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;color: #439AD0; font-weight: bold;">$ nodefront fetch jquery -v 1.7.2</pre></div></div>

<p>It will go out on the net and get that file and place it into your project folder. There are also options to tell it what directory to put it in. You can then insert the file into your jade file like this:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;color: #439AD0; font-weight: bold;">$ nodefront insert jquery-1.7.2.js index.jade</pre></div></div>

<p>You can also minify your js or css if you so choose. And to note, Jade isn&#8217;t the only language Nodefront can compile. It does three by default (Jade, Stylus, and CoffeeScritpt), but you can get a bunch of others as well, which are list on the site. Sass being one of them, but I prefer to use Compass for that.</p>
<h3>Final thoughts</h3>
<p>While Jade eliminates a lot of the clutter and there is less to look at, it is harder for me to actually read. Although I do find it easier than Haml. At least at first glance. I am thinking of doing a redesign of my main website soon, and I might give it a try just to say I did. That will give me a clear picture on whether this is an abstraction I really want to go with. It is the same kind of abstraction that Sass is, and it could save time if you used the watch command to auto compile on change. BUT. The difference is, it almost elimates too much.</p>
<p>Sass adds a lot of features I use, like mixins, variables, nesting, and it&#8217;s .scss syntax is basically CSS at its core. Jade, in my case, simplifies the html, but loses its readability probably because my eye is so trained now to read html easily. I will give it a shot, and decide then. It could very well speed things up greatly after you get used to writing and reading it.</p>
<p>One thing that does bother me is the output html. I&#8217;m not using Jade like the typical user, and the HTML comes out condensed. No white space or breaks or indents. I have to auto format in my IDE to see if what I wrote is actually what I wanted. I know there is a way to change this, but I am not sure how. If you happen to know, please leave a comment and explain what you have to do.</p>
<p><strong>UPDATE 1/28/13: A big thank you goes out to <a href="http://karthikv.github.com/nodefront/" title="Nodefront" target="_blank">Karthik Viswanathan</a>, for getting pretty HTML ability into Nodefront. To do so, make sure Nodefront is up to date (1.0 minimum), and create a folder called &#8216;.nf&#8217; in your project. Yes, with a period. Then create a json file within it, called: &#8216;compile.json&#8217;. Finally, place this code in that file and compile:</strong></p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;color: #439AD0; font-weight: bold;"><span style="color: #009900;color: #439AD0;">&#123;</span>
    <span style="color: #3366CC;color: #439AD0;">&quot;compilerOptions&quot;</span><span style="color: #339933;color: #439AD0;">:</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
        <span style="color: #3366CC;color: #439AD0;">&quot;jade&quot;</span><span style="color: #339933;color: #439AD0;">:</span> <span style="color: #009900;color: #439AD0;">&#123;</span> 
            <span style="color: #3366CC;color: #439AD0;">&quot;pretty&quot;</span><span style="color: #339933;color: #439AD0;">:</span> <span style="color: #003366; font-weight: bold;color: #439AD0;">true</span>
        <span style="color: #009900;color: #439AD0;">&#125;</span>
    <span style="color: #009900;color: #439AD0;">&#125;</span>
<span style="color: #009900;color: #439AD0;">&#125;</span></pre></div></div>

<p>I am all for abstraction in cases like this, but when does it start to get silly? If I was using Jade, Sass, and CoffeeScript to build a project, I might need three command lines open watching for changes to compile. They simplify some things, but do they add a complexity of their own and even out on the benefits? I would say for Sass, it is the ultimate abstraction because the benefits besides the syntax reduction are outstanding. Jade, as an HTML preprocessor&#8230;I&#8217;m not so sure. But it was fun as hell to figure out how to get the basics of it going.</p>
 <img src="http://jc-designs.net/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1095" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://jc-designs.net/blog/2012/09/using-jade-as-an-html-preprocessor-through-nodefront/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento &#8211;  Adding CMS Pages To The Main Navigation</title>
		<link>http://jc-designs.net/blog/2012/09/magento-adding-cms-pages-to-the-main-navigation/</link>
		<comments>http://jc-designs.net/blog/2012/09/magento-adding-cms-pages-to-the-main-navigation/#comments</comments>
		<pubDate>Tue, 18 Sep 2012 15:54:11 +0000</pubDate>
		<dc:creator>jcDesigns</dc:creator>
				<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">http://jc-designs.net/blog/?p=1091</guid>
		<description><![CDATA[Magento is NOT WordPress So recently I have had to dive into learning how to theme Magento. Which is good, because I have always wanted to learn, and while I tried in the past, I just never had the time. You know how it is. Work is providing this opportunity, and I want to share [...]]]></description>
			<content:encoded><![CDATA[<h3>Magento is NOT WordPress</h3>
<p>So recently I have had to dive into learning how to theme Magento. Which is good, because I have always wanted to learn, and while I tried in the past, I just never had the time. You know how it is. Work is providing this opportunity, and I want to share something of my findings with you. One thing in particular, because it is such a pain in the ass. First though, let me start by saying that Magento is NOT WordPress. Obviously, right? I thought though, that some things would be similar. One issue was adding a CMS Page to the Main Navigation. One would think that this would be easy enough to do, but it is not. It is actually extremely frustrating if you have no idea how to do it. For all that Magento is, what it is not is an easy to use content management system. It is a store, which sounds stupid because everyone knows that, but while it does that well, it does some things poorly. If you have had trouble, like me, and searched for the answer, you came across some pages that didn&#8217;t explain how to do what you are asking, or gave links to extensions to Magento to do it for you. Here is the quickest way possible to add a cms page to the main navigation.</p>
<p><span id="more-1091"></span></p>
<h3>There has to be an easier way, right?</h3>
<p>Sadly, there is not. What I am about to go through is exactly how Magento tells you to do it. IF by any chance, ANYONE&#8230;and I do mean anyone has a better method, please for the love of everything that is good, comment on this post explaining how. We would all greatly appreciate and benifit from your knowledge. I am not going to include images, because it is mostly obvious on what to click. If you have questions though, please let me know.</p>
<p>First, I will assume that you have a few CMS Pages created, like About Us, Contact Us, or something like that. Remember we are talking about an info page, not a catagory or product. Follow the below steps exactly. I am using Magento version 1.7.0.2 in case anyone is wondering.</p>
<p>In the Admin Panel:</p>
<ol>
<li>Click on CMS&gt;Pages in the main menu. In the table below you will see a column called URL Key. Find the page you want in the main nav, and write down that key.</li>
<li>Click on Catalog&gt;Manage Categories</li>
<li>Click on the Root folder in the left sidebar, and then click the Add Subcategory button</li>
<li>In the panel that shows up on the write, fill in the Name (which will be the name of the link displayed)</li>
<li>Scroll down, and make sure that Is Active, and Include in Navigation Menu are set to Yes</li>
<li>For URL Key, if you wrote Customer Serivce in the above Name input, then write: customer-service</li>
<li>Click the Save Category button</li>
<li>Click on Catalog&gt;URL Rewrite Management in the main menu at the top</li>
<li>In the Request Path box, type first word of the category you just created (such as: customer, or about), and click the Search button</li>
<li>The page you are looking for will then populate the table&#8230;write down the path in the Target Path column for that page (example: catalog/category/view/id/40)</li>
<li>Click on that row</li>
<li>On the Redirect dropdown, change it to Permanent (301)</li>
<li>Click the Save button</li>
<li>Click the Add URL Rerwite button on the top right</li>
<li>Click the Create URL Rewrite drop down and choose Custom</li>
<li>In the ID Path text field, type the URL key you wrote in step 6</li>
<li>In the Request Path input, type in path you wrote in step 10</li>
<li>In the Target Path input, type in the key you wrote from step 1</li>
<li>Redirect dropdown should be set to Permanent (301)</li>
<li>Click the Save button</li>
</ol>
<p>If you then refresh your store page, you should now see your page in the main navigation.</p>
<h3>Magento, are you serious?</h3>
<p>If you got through half of that without saying &#8220;What the F*#@?&#8221; Then you are of a different mind than me. I am used to WordPress&#8217; easy to use navigation system. THIS is by far the most ridiculous thing I&#8217;ve ever seen in adding a page to a CMS navigation. I find it hard to believe, and I am not the only one after reading some comments on other pages. How can such a powerful piece of software suck so greatly at such a simple thing? Why is there not an easier method? Simply checking &#8220;Add to Navigation&#8221; should suffice. I am not a programmer, or a Magento pro, but come one, don&#8217;t make this more complicated than it has to be. Why are there so many steps? I was extremely frustrated in trying to figure this simple thing out, and the one place I found that wrote the directions out was written very poorly, to the point where I was unsure what exactly it was telling me to do.</p>
<p>I will be very happy if this post helps just one person from going through the anger and swearing that I went through.</p>
 <img src="http://jc-designs.net/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1091" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://jc-designs.net/blog/2012/09/magento-adding-cms-pages-to-the-main-navigation/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>jQuery &#8211; Creating Elements Part II: HTML5 Data Attributes</title>
		<link>http://jc-designs.net/blog/2012/07/jquery-creating-elements-part-ii-html5-data-attributes/</link>
		<comments>http://jc-designs.net/blog/2012/07/jquery-creating-elements-part-ii-html5-data-attributes/#comments</comments>
		<pubDate>Fri, 13 Jul 2012 15:18:32 +0000</pubDate>
		<dc:creator>jcDesigns</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://jc-designs.net/blog/?p=1086</guid>
		<description><![CDATA[Just when I think HTML5 sucks&#8230; It still annoys the crap out of me, but there are some cool things in there. I just hate when people throw that word around like &#8220;We want to redo this flash to be HTML5.&#8221; What the hell does that mean exactly? And if you ask them, they have [...]]]></description>
			<content:encoded><![CDATA[<h3>Just when I think HTML5 sucks&#8230;</h3>
<p>It still annoys the crap out of me, but there are some cool things in there. I just hate when people throw that word around like &#8220;We want to redo this flash to be HTML5.&#8221; What the hell does that mean exactly? And if you ask them, they have absolutely no idea. Its just a buzz word they are throwing around trying not to sound like they are out of touch. On a current project that I am working on, I came across a problem I needed to solve.</p>
<p>I needed to load videos on a page using the HTML5 video tag, with a flash fall back. The problem though is that there were about ten of them on the page, and the browser was reading the source tags and loading them. If this were just one video, this wouldn&#8217;t be a problem, but there were more and it was slowing things down.</p>
<h3>The Solution</h3>
<p>Which was to load the video on the fly when the flyout was triggered, but I needed to figure out how to get the right video to go with it. This is how I solved it.</p>
<p>As usual we&#8217;ll start with the HTML. First we have the link that will open the modal window. You don&#8217;t need to see the javascript that actually controls the modal, cause you can figure that out on your own. DO pay attention to the attributes on them.</p>
<p><span id="more-1086"></span></p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;color: #439AD0; font-weight: bold;">&lt;a href=&quot;#&quot; class=&quot;video-ibanez&quot; rel=&quot;#video1&quot; data-idvalue=&quot;v1&quot; data-url=&quot;Ibanez&quot;&gt;Ibanez Guitars&lt;/a&gt;</pre></div></div>

<p>And the div that will contain the video:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;color: #439AD0; font-weight: bold;">&lt;div class=&quot;simple_overlay&quot; id=&quot;video1&quot;&gt;&lt;/div&gt;</pre></div></div>

<p>Now for the javascript, aaaannnnnd then we&#8217;ll explain it. Cool? Zang.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;color: #439AD0; font-weight: bold;">$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'a[rel]'</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #003366; font-weight: bold;color: #439AD0;">function</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #009900;color: #439AD0;">&#123;</span>
		<span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> newId <span style="color: #339933;color: #439AD0;">=</span> $<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #000066; font-weight: bold;color: #439AD0;">this</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'data-idvalue'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>
		<span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> videoUrl <span style="color: #339933;color: #439AD0;">=</span> $<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #000066; font-weight: bold;color: #439AD0;">this</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'data-url'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>
		<span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> appendId <span style="color: #339933;color: #439AD0;">=</span> $<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #000066; font-weight: bold;color: #439AD0;">this</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'rel'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;color: #439AD0;">if</span> <span style="color: #009900;color: #439AD0;">&#40;</span>$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #000066; font-weight: bold;color: #439AD0;">this</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">hasClass</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'video-ibanez'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #009900;color: #439AD0;">&#41;</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
			<span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> guitarName <span style="color: #339933;color: #439AD0;">=</span> <span style="color: #3366CC;color: #439AD0;">&quot;ibanez&quot;</span><span style="color: #339933;color: #439AD0;">;</span>
		<span style="color: #009900;color: #439AD0;">&#125;</span> <span style="color: #000066; font-weight: bold;color: #439AD0;">else</span> <span style="color: #000066; font-weight: bold;color: #439AD0;">if</span><span style="color: #009900;color: #439AD0;">&#40;</span>$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #000066; font-weight: bold;color: #439AD0;">this</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">hasClass</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'video-peavey'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #009900;color: #439AD0;">&#41;</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
			<span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> guitarName <span style="color: #339933;color: #439AD0;">=</span> <span style="color: #3366CC;color: #439AD0;">&quot;peavey&quot;</span><span style="color: #339933;color: #439AD0;">;</span>
		<span style="color: #009900;color: #439AD0;">&#125;</span> <span style="color: #000066; font-weight: bold;color: #439AD0;">else</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
			<span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> guitarName <span style="color: #339933;color: #439AD0;">=</span> <span style="color: #3366CC;color: #439AD0;">&quot;dean&quot;</span><span style="color: #339933;color: #439AD0;">;</span>
		<span style="color: #009900;color: #439AD0;">&#125;</span><span style="color: #339933;color: #439AD0;">;</span>
&nbsp;
		$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'&lt;div class=&quot;video-holder&quot;&gt;'</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">appendTo</span><span style="color: #009900;color: #439AD0;">&#40;</span>appendId<span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'id'</span><span style="color: #339933;color: #439AD0;">,</span> newId<span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;color: #439AD0;">&#40;</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;video class=&quot;stop-video&quot; height=&quot;360&quot; width=&quot;640&quot;  controls&gt;'</span> <span style="color: #339933;color: #439AD0;">+</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;source src=&quot;videos/'</span> <span style="color: #339933;color: #439AD0;">+</span> guitarName <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'/'</span> <span style="color: #339933;color: #439AD0;">+</span> videoUrl <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'.mp4&quot; type=&quot;video/mp4&quot;&gt;&lt;/source&gt;'</span> <span style="color: #339933;color: #439AD0;">+</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;source src=&quot;videos/'</span> <span style="color: #339933;color: #439AD0;">+</span> guitarName <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'/'</span> <span style="color: #339933;color: #439AD0;">+</span> videoUrl <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'.webmvp8.webm&quot; type=&quot;video/webm&quot;&gt;&lt;/source&gt;'</span> <span style="color: #339933;color: #439AD0;">+</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;source src=&quot;videos/'</span> <span style="color: #339933;color: #439AD0;">+</span> guitarName <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'/'</span> <span style="color: #339933;color: #439AD0;">+</span> videoUrl <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'.theora.ogv&quot; type=&quot;video/ogg&quot;&gt;&lt;/source&gt;'</span> <span style="color: #339933;color: #439AD0;">+</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;embed src=&quot;videos/'</span> <span style="color: #339933;color: #439AD0;">+</span> guitarName <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'/'</span> <span style="color: #339933;color: #439AD0;">+</span> videoUrl <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'.swf&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;640&quot; height=&quot;360&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;'</span> <span style="color: #339933;color: #439AD0;">+</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;/video&gt;'</span>
			<span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>
	<span style="color: #009900;color: #439AD0;">&#125;</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span></pre></div></div>

<h3>Shiny HTML5 data attributes</h3>
<p>Let&#8217;s go over the three variables. First off is &#8216;newId&#8217;, which we are setting to the value of clicked link&#8217;s HTML5 data attribute &#8216;data-idvalue. So if you clicked the &#8216;a&#8217; tag above, newId would be set to &#8216;v1&#8242;.</p>
<p>The second variable, &#8216;videoUrl, is set to the clicked link&#8217;s data attribute &#8216;data-url&#8217;, and finally the third variable, &#8216;appendId&#8217; is equal to the &#8216;rel&#8217; attribute.</p>
<p>HTML5 data attributes are cool, and I will quote <a href="http://ejohn.org/blog/html-5-data-attributes/">John Resig</a>, where he says:</p>
<blockquote><p>
&#8220;Simply, the specification for custom data attributes states that any attribute that starts with &#8220;data-&#8221; will be treated as a storage area for private data (private in the sense that the end user can&#8217;t see it &#8211; it doesn&#8217;t affect layout or presentation).</p>
<p>This allows you to write valid HTML markup (passing an HTML 5 validator) while, simultaneously, embedding data within your page.&#8221;
</p></blockquote>
<p>So what am I using them here for? Well, let&#8217;s go over the next section, and eventually we&#8217;ll get to that. But we need to explain this before hand:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;color: #439AD0; font-weight: bold;"><span style="color: #000066; font-weight: bold;color: #439AD0;">if</span> <span style="color: #009900;color: #439AD0;">&#40;</span>$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #000066; font-weight: bold;color: #439AD0;">this</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">hasClass</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'video-ibanez'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #009900;color: #439AD0;">&#41;</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
			<span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> guitarName <span style="color: #339933;color: #439AD0;">=</span> <span style="color: #3366CC;color: #439AD0;">&quot;ibanez&quot;</span><span style="color: #339933;color: #439AD0;">;</span>
		<span style="color: #009900;color: #439AD0;">&#125;</span> <span style="color: #000066; font-weight: bold;color: #439AD0;">else</span> <span style="color: #000066; font-weight: bold;color: #439AD0;">if</span><span style="color: #009900;color: #439AD0;">&#40;</span>$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #000066; font-weight: bold;color: #439AD0;">this</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">hasClass</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'video-peavey'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #009900;color: #439AD0;">&#41;</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
			<span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> guitarName <span style="color: #339933;color: #439AD0;">=</span> <span style="color: #3366CC;color: #439AD0;">&quot;peavey&quot;</span><span style="color: #339933;color: #439AD0;">;</span>
		<span style="color: #009900;color: #439AD0;">&#125;</span> <span style="color: #000066; font-weight: bold;color: #439AD0;">else</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
			<span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> guitarName <span style="color: #339933;color: #439AD0;">=</span> <span style="color: #3366CC;color: #439AD0;">&quot;dean&quot;</span><span style="color: #339933;color: #439AD0;">;</span>
		<span style="color: #009900;color: #439AD0;">&#125;</span><span style="color: #339933;color: #439AD0;">;</span></pre></div></div>

<h3>Let&#8217;s build the video</h3>
<p>This is simply setting a variable based on what class the link that was clicked, has. So if the link clicked has the class &#8216;video-ibanez&#8217;, then the variable &#8216;guitarName&#8217; is set to &#8216;ibanez&#8217;. If it&#8217;s class is &#8216;video-peavey&#8217;, then &#8216;guitarName&#8217; is set to &#8216;peavey&#8217;. Otherwise, &#8216;guitarName is set to &#8216;dean&#8217;. Got it? Good.</p>
<p>Now comes the juicey part. Creating the video tags that will be inserted once you click the link.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;color: #439AD0; font-weight: bold;">$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'&lt;div class=&quot;video-holder&quot;&gt;'</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">appendTo</span><span style="color: #009900;color: #439AD0;">&#40;</span>appendId<span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'id'</span><span style="color: #339933;color: #439AD0;">,</span> newId<span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">html</span><span style="color: #009900;color: #439AD0;">&#40;</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;video class=&quot;stop-video&quot; height=&quot;360&quot; width=&quot;640&quot;  controls&gt;'</span> <span style="color: #339933;color: #439AD0;">+</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;source src=&quot;videos/'</span> <span style="color: #339933;color: #439AD0;">+</span> guitarName <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'/'</span> <span style="color: #339933;color: #439AD0;">+</span> videoUrl <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'.mp4&quot; type=&quot;video/mp4&quot;&gt;&lt;/source&gt;'</span> <span style="color: #339933;color: #439AD0;">+</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;source src=&quot;videos/'</span> <span style="color: #339933;color: #439AD0;">+</span> guitarName <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'/'</span> <span style="color: #339933;color: #439AD0;">+</span> videoUrl <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'.webmvp8.webm&quot; type=&quot;video/webm&quot;&gt;&lt;/source&gt;'</span> <span style="color: #339933;color: #439AD0;">+</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;source src=&quot;videos/'</span> <span style="color: #339933;color: #439AD0;">+</span> guitarName <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'/'</span> <span style="color: #339933;color: #439AD0;">+</span> videoUrl <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'.theora.ogv&quot; type=&quot;video/ogg&quot;&gt;&lt;/source&gt;'</span> <span style="color: #339933;color: #439AD0;">+</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;embed src=&quot;videos/'</span> <span style="color: #339933;color: #439AD0;">+</span> guitarName <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'/'</span> <span style="color: #339933;color: #439AD0;">+</span> videoUrl <span style="color: #339933;color: #439AD0;">+</span> <span style="color: #3366CC;color: #439AD0;">'.swf&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;640&quot; height=&quot;360&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;'</span> <span style="color: #339933;color: #439AD0;">+</span>
			<span style="color: #3366CC;color: #439AD0;">'&lt;/video&gt;'</span>
			<span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span></pre></div></div>

<p>Right off the bat, we create a div element with a class of &#8216;video-holder&#8217;. Done. Where do we stick it? Easy, within a div whose &#8216;id&#8217; is equal to &#8216;appendId&#8217;. Which if you have been paying attention, was set to the &#8216;rel&#8217; attribute of the link that was clicked. In this case is &#8216;#video1&#8242;.</p>
<p>Then we&#8217;ll give the newly created div an &#8216;id&#8217;, just in case we need it. The attr(), sets the &#8216;id&#8217; to the variable &#8216;newId&#8217;, which is where&#8230;FINALLY&#8230;we see the first HTML5 data attribute we used. If you go back and look at the link at the top, you&#8217;ll see I set &#8216;newId&#8217; to be the clicked link&#8217;s &#8216;data-idvalue&#8217; attribute&#8217;s value. Which in this case is &#8216;v1&#8242;.</p>
<h3>Enter the source tags</h3>
<p>Finally we need to build the source and embed tags. The meat of the HTML5 video elements. I&#8217;ll go through the first one, and I&#8217;m confident you can figure out the others. Because we know you aren&#8217;t stupid.</p>
<p>The video tag is the same for any of the video created this way, at least in this case. They all get the same class, height, and width. The source tags though are what determines where the actual videos are located.</p>
<p>Take note here&#8230;the mp4 video should go first. This is because of an issue in iOS 3.2 not recognizing anything but the first source element. Now, how many people are actually still using that iOS? Probably not many, buuuut you never no, and it is a simple thing to do. If you have any questions on getting HTML5 video working though, <a href="http://diveintohtml5.info/video.html#ios">Mark Pligrim</a> kicked ass with this very informative page.</p>
<p>Back to the source element. The only thing we have to worry about is the &#8216;src&#8217; attribute, so it knows the correct video to play. You will notice that the path starts with &#8216;videos/&#8217; and then adds &#8216;guitarName&#8217; to the path. Well, we figured that out when we asked jQuery to find out what the clicked link had as a class. In the given link example, this is set to &#8216;ibanez&#8217;.</p>
<p>Then we add this to the path: the &#8216;videoUrl&#8217; variable, which was set at the beginning when the link was clicked, to the link&#8217;s &#8216;data-url&#8217; attribute. In this case, that is &#8216;Ibanez&#8217;.</p>
<p>The final path then, when all that is put together, looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;color: #439AD0; font-weight: bold;">&lt;source src=&quot;videos/ibanez/Ibanez.mp4&quot; type=&quot;video/mp4&quot;&gt;&lt;/source&gt;</pre></div></div>

<p>It then writes the other source elements for the &#8216;webm&#8217; and &#8216;ogg&#8217; video types, and one embed element for the flash.</p>
<h3>Now get rid of the damn thing</h3>
<p>Well, now that we created that, we actually have to remove it. Why? Because we are using one container to hold the &#8216;video-holder&#8217;. And we don&#8217;t want to keep adding a bunch of video tags to it each time a link is clicked that triggers this whole thing. We do that easily.</p>
<p>Add a link in the modal to close it (most have that already built in), and when its clicked, remove the &#8216;video-holder&#8217; element we created to hold all the video information.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;color: #439AD0; font-weight: bold;">$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">&quot;a[rel]&quot;</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">overlay</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #003366; font-weight: bold;color: #439AD0;">function</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #009900;color: #439AD0;">&#123;</span>
		$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'.close'</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #003366; font-weight: bold;color: #439AD0;">function</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #009900;color: #439AD0;">&#123;</span>
			$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'.video-holder'</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">remove</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>
		<span style="color: #009900;color: #439AD0;">&#125;</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>
	<span style="color: #009900;color: #439AD0;">&#125;</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span></pre></div></div>

<p>BOOM! Done.</p>
<h3>On the seventh day, the front-end developer took a break</h3>
<p>This is just what I had to do, now go use that for something entirely different. I created elements, and used HTML5 data attributes to set variable information. I hope I set your mind going and got you to think a little differently by seeing something you might not have thought of.</p>
<p>If you have used HTML5 data attributes before, leave a comment below and let me and the readers know what you did!</p>
 <img src="http://jc-designs.net/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1086" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://jc-designs.net/blog/2012/07/jquery-creating-elements-part-ii-html5-data-attributes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery &#8211; Creating Elements Part I: Using The each() Function</title>
		<link>http://jc-designs.net/blog/2012/06/jquery-creating-elements-part-i-using-the-each-function/</link>
		<comments>http://jc-designs.net/blog/2012/06/jquery-creating-elements-part-i-using-the-each-function/#comments</comments>
		<pubDate>Wed, 27 Jun 2012 19:36:34 +0000</pubDate>
		<dc:creator>jcDesigns</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://jc-designs.net/blog/?p=1081</guid>
		<description><![CDATA[Generating a list I&#8217;m working on a project that required an unordered list. Who the hell cares, right? Well the list was the navigation for a timeline slider. Each block of content on the timeline needed its own list item to move the slider&#8217;s position so that the block was centered. The problem though was [...]]]></description>
			<content:encoded><![CDATA[<h3>Generating a list</h3>
<p>I&#8217;m working on a project that required an unordered list. Who the hell cares, right? Well the list was the navigation for a timeline slider. Each block of content on the timeline needed its own list item to move the slider&#8217;s position so that the block was centered. The problem though was I didn&#8217;t know how many blocks there would be, and I wasn&#8217;t sure who would be making the changes later, if there were any. So here is a way to create a list, based on the number of other elements and their &#8216;rel&#8217; attributes.</p>
<p>I know that barely makes sense, but you will understand once you see what I&#8217;m doing. Take a look at the demo&#8230;</p>
<p><a class="viewDemo" target="_blank" title="jQuery - Creating Elements Using each() Function" href="http://jc-designs.net/demo/dynamic-list.html">View Demo</a></p>
<p><span id="more-1081"></span><br />
First up, the list, but you&#8217;ll notice that the list has no list items in the HTML.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;color: #439AD0; font-weight: bold;">&lt;ul id=&quot;myList&quot;&gt;&lt;/ul&gt;</pre></div></div>

<p>Pretty simple, yes? Now we need a bunch of elements that will determine the number of list items. We&#8217;ll also remember to put a &#8216;rel&#8217; attribute on each of them.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;color: #439AD0; font-weight: bold;">&lt;div class=&quot;content-block&quot; rel=&quot;jan2012&quot;&gt;There was a lot of snow this month. Plus I had a birthday&lt;/div&gt;
&lt;div class=&quot;content-block&quot; rel=&quot;feb2012&quot;&gt;My mom had her birthday.&lt;/div&gt;
&lt;div class=&quot;content-block&quot; rel=&quot;march2012&quot;&gt;My son had his birthday.&lt;/div&gt;
&lt;div class=&quot;content-block&quot; rel=&quot;apr2012&quot;&gt;Absolutely nothing happened this month&lt;/div&gt;
&lt;div class=&quot;content-block&quot; rel=&quot;may2012&quot;&gt;Something might have happened this month, buuuuuut I can't remember&lt;/div&gt;
&lt;div class=&quot;content-block&quot; rel=&quot;june2012&quot;&gt;Played a bunch of board games. Anyone a fan of Ascension?&lt;/div&gt;</pre></div></div>

<p>HTML wise, that is about all we need. Now to the fun part. The jQuery. I&#8217;ll leave out the styling in this post, because you can do that yourself, you don&#8217;t need me for that. Ready? Here we go!</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;color: #439AD0; font-weight: bold;"><span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> $contentblocks <span style="color: #339933;color: #439AD0;">=</span> $<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'.content-block'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>
&nbsp;
$contentblocks.<span style="color: #660066;">each</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #003366; font-weight: bold;color: #439AD0;">function</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #009900;color: #439AD0;">&#41;</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
	<span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> $this <span style="color: #339933;color: #439AD0;">=</span> $<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #000066; font-weight: bold;color: #439AD0;">this</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>	
	$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'&lt;li&gt;'</span><span style="color: #339933;color: #439AD0;">,</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
		text<span style="color: #339933;color: #439AD0;">:</span> $this.<span style="color: #660066;">attr</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'rel'</span><span style="color: #009900;color: #439AD0;">&#41;</span>
	<span style="color: #009900;color: #439AD0;">&#125;</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">appendTo</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'#myList'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>			
<span style="color: #009900;color: #439AD0;">&#125;</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span></pre></div></div>

<p>That is it. Just a few lines of jQuery and we are up and running. What is happening there? Well, I&#8217;m declaring a variable that is all of the content-block divs. Then using the each() function that basically says, &#8220;For each of those divs, create a list item, whose text value is equal to the &#8216;rel&#8217; attribute of the relating div. When you have them all, put them into that unordered list with an id of &#8216;myList&#8217;. Thanks.&#8221;</p>
<p>What do you end up with? If you haven&#8217;t yet, click the demo button above and you&#8217;ll see!</p>
<p>For me, there was a ton more javascipt, because there was a slider involved, a mess of other stuff, and a click event on each of the list items. Speaking of which, if you need them to do something on click, here is what that would look like:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;color: #439AD0; font-weight: bold;"><span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> contentblocks <span style="color: #339933;color: #439AD0;">=</span> $<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'.content-block'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>
&nbsp;
$contentblocks.<span style="color: #660066;">each</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #003366; font-weight: bold;color: #439AD0;">function</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #009900;color: #439AD0;">&#41;</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
	<span style="color: #003366; font-weight: bold;color: #439AD0;">var</span> $this <span style="color: #339933;color: #439AD0;">=</span> $<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #000066; font-weight: bold;color: #439AD0;">this</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>	
	$<span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'&lt;li&gt;'</span><span style="color: #339933;color: #439AD0;">,</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
		text<span style="color: #339933;color: #439AD0;">:</span> $this.<span style="color: #660066;">attr</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'rel'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">,</span>
		click<span style="color: #339933;color: #439AD0;">:</span> <span style="color: #003366; font-weight: bold;color: #439AD0;">function</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #009900;color: #439AD0;">&#41;</span> <span style="color: #009900;color: #439AD0;">&#123;</span>
			<span style="color: #006600; font-style: italic;color: #439AD0;">//Do stuff here. Like start phase two of taking over the interwebs.</span>
		<span style="color: #009900;color: #439AD0;">&#125;</span>
	<span style="color: #009900;color: #439AD0;">&#125;</span><span style="color: #009900;color: #439AD0;">&#41;</span>.<span style="color: #660066;">appendTo</span><span style="color: #009900;color: #439AD0;">&#40;</span><span style="color: #3366CC;color: #439AD0;">'#myList'</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span>			
<span style="color: #009900;color: #439AD0;">&#125;</span><span style="color: #009900;color: #439AD0;">&#41;</span><span style="color: #339933;color: #439AD0;">;</span></pre></div></div>

<p>There you have it. An easy solution!</p>
 <img src="http://jc-designs.net/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1081" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://jc-designs.net/blog/2012/06/jquery-creating-elements-part-i-using-the-each-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Web Developer&#8217;s review of Shopify</title>
		<link>http://jc-designs.net/blog/2012/05/a-web-developers-review-of-shopify/</link>
		<comments>http://jc-designs.net/blog/2012/05/a-web-developers-review-of-shopify/#comments</comments>
		<pubDate>Wed, 30 May 2012 14:36:31 +0000</pubDate>
		<dc:creator>jcDesigns</dc:creator>
				<category><![CDATA[Product Reviews]]></category>
		<category><![CDATA[Shopify]]></category>

		<guid isPermaLink="false">http://jc-designs.net/blog/?p=1074</guid>
		<description><![CDATA[E-Commerce used to scare me&#8230;until now So at the final months at my previous job, I was tasked with building an e-commerce site using OpenCart. I&#8217;m sure they won&#8217;t mind the free advertising, so check out Dental Association Gloves to see what I did. While I was first reading through the documentation, I was a [...]]]></description>
			<content:encoded><![CDATA[<h3>E-Commerce used to scare me&#8230;until now</h3>
<p>So at the final months at my previous job, I was tasked with building an e-commerce site using OpenCart. I&#8217;m sure they won&#8217;t mind the free advertising, so check out <a href="http://www.dentalassociationgloves.net/">Dental Association Gloves</a> to see what I did. While I was first reading through the documentation, I was a little intimidated by it all. There are tax fields, supply numbers, and SKU numbers, entering all the products&#8230;needless to say there is a lot of things that go on in an e-commerce site. Once I was done with it though, I was a lot more confident in my ability to do something like this for a freelance client.</p>
<p>A few weeks ago, I recieved a call from a potential client (which didn&#8217;t turn out most likely due to money issues) that wanted to set up an online t-shirt e-com site. The catch was, he wanted to use <a href="http://www.shopify.com/">Shopify</a>. I had heard of it, but never used it so I dove in to see what it was all about by setting up a test account. Below is a short review with my brief time looking through Shopify.</p>
<p><span id="more-1074"></span></p>
<h3>No hosting for you!</h3>
<p>The first thing that I looked for was, how do I install this on my server? Is there a one button install with my host, or am I going to have to do this the long way. After logging in to my control panel, I noticed Shopify was not in the easy install list. Damn. Ok, so I went to see how to install it on my server. That was when I got to the &#8220;Ah crap.&#8221; moment. You can&#8217;t. You want to use Shopify? You are on their machine. It also isn&#8217;t free, so I was not getting excited about using this cart. I was almost ready to recommend something else to the client, like OpenCart or Magento, but I decided to check it out some more.</p>
<h3>Pay the poor bridge toll</h3>
<p>The pricing isn&#8217;t all that terrible for a small online store. They have $29, $59, $99, and $179 plans which obviously add more features/amount of SKUS the higher the price goes. The most common is the Professional plan, which is the $59 price point. You get 5GB of storage, 2,500 SKU&#8217;s, unlimited bandwidth, and the transaction fee is 1% (the $29 plan is 2%). It is hard to tell if their prices are high or not without actually having a real store and using it day in and day out. What I can tell you is that ease of use of their interface justifies a lot of it.</p>
<h3>Theming Shopify</h3>
<p>Most of you reading this are probably curious about this part. How easy is it to theme Shopify? Easy. Even if you have never used it before, you will understand how to get in and change things, because you are able to get to all of the HTML. You can edit the stylesheet, write your own HTML and javascript&#8230;really I don&#8217;t think they could have made theming this any better. You can take a look at the image below to get an idea. The main theme template contains the header and footer, while all the other templates contain the content for each page. Which I should mention, you can have an umlimited amount of pages.</p>
<div class="center">
<img src="http://jc-designs.net/newimages/blogImages/shopify1.jpg" alt="Shopify's interface" />
</div>
<p>On top of being able to access all of the actual code, Shopify has created its own little programming language called Liquid. You can see it in the screenshot above. The documentation for writing it is well done, and actually writing it is not all that hard even if you have no programming skills. Which is good, because you can create a theme for a client without any back end help. Of course you could also just purchase a theme, or get a free one if you wanted to just get your store up and running.</p>
<h3>Shipping, taxes and other important settings</h3>
<p>I won&#8217;t go into much detail here other than to say, getting to these settings are a breeze, and actually setting them up is just as easy. You just need to know your tax rate and shipping fees. Otherstuff includes setting up a payment gateway, and possible order fullfillment. All of this is presented in an easy to understand way. I am very impressed with how Shopify has handled all of these things.</p>
<h3>Additional features</h3>
<p>Besides being an e-commerce cart, you also get a blog, the ability to add discount codes, and a bunch of what they call apps available in the App Store. Think of these as WordPress plugins. Some are free, some are not, but they all seem to add functionality to your store that can be very helpful. Things like social buttons, to Magento/WordPress importers if you are switching from them to Shopify&#8230;really a lot of cool stuff.</p>
<div class="center">
<img src="http://jc-designs.net/newimages/blogImages/shopify2.jpg" alt="Shopify's App store" />
</div>
<h3>Final thoughts</h3>
<p>A quick note, because I haven&#8217;t mentioned it is that adding products to your Shopify store is stupid easy. This cart seems literally built to be used by the average idiot. Which is amazing. Once you enter your products, you can then add them to specific collections like creating one for &#8220;Most Popular Items&#8221; or something like that.</p>
<p>I&#8217;m having a really hard time trying to come up with anything bad about Shopify, other than you can&#8217;t host it yourself and it not being free. Everything else feels intuitive and easy to set up. Theming is done really well, with the ability to add functionality writing in Liquid. There is really not much here to like. I&#8217;d be very interested to hear if any of you have used it and come into contact with some downfalls or concerns. So based on what I have seen and done with the limited time I spent in Shopify, I have to say it might very well be my go to cart. Other than price, the lack of hairpulling frustratoin is pretty much worth going with them.</p>
<p>Let me know of your experiences with Shopify!</p>
<div class="gator">
<a  href="http://secure.hostgator.com/~affiliat/cgi-bin/affiliates/clickthru.cgi?id=jcDesigns-" rel="nofollow"><img src="http://tracking.hostgator.com/img/Shared/468x60.gif" border=0></a></p>
<p>Coupon Code: webmachine</p>
</div>
 <img src="http://jc-designs.net/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1074" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://jc-designs.net/blog/2012/05/a-web-developers-review-of-shopify/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sass Features Ignored by Beginners</title>
		<link>http://jc-designs.net/blog/2012/05/sass-features-ignored-by-beginners/</link>
		<comments>http://jc-designs.net/blog/2012/05/sass-features-ignored-by-beginners/#comments</comments>
		<pubDate>Tue, 22 May 2012 16:57:27 +0000</pubDate>
		<dc:creator>jcDesigns</dc:creator>
				<category><![CDATA[Sass/Less/Compass]]></category>
		<category><![CDATA[sass]]></category>

		<guid isPermaLink="false">http://jc-designs.net/blog/?p=1071</guid>
		<description><![CDATA[From Beginner to Intermediate I consider myself an intermediate level Sass user. I&#8217;ve used it enough now to know that I have written some stupid crap in Sass. I&#8217;ll take a guess that a lot of others new to Sass have done the same thing because you get excited about the stuff you can do. [...]]]></description>
			<content:encoded><![CDATA[<h3>From Beginner to Intermediate</h3>
<p>I consider myself an intermediate level Sass user. I&#8217;ve used it enough now to know that I have written some stupid crap in Sass. I&#8217;ll take a guess that a lot of others new to Sass have done the same thing because you get excited about the stuff you can do. Like what you ask? Like nested your selectors more than three deep, or creating variables for stupid one word properties even though it would take the same amount of time to write the word out. What? OH FINE! I once created a variable $l: left; Okay? Happy? I don&#8217;t know why I did it, but variables in CSS were new to me and I was looking to shorten everything I possible could. Unfortunately it took me just as long to find the &#8216;$&#8217; symbol as it did to just type the word &#8216;left&#8217;. But with use comes experience, and there are some cool things you can be using, and nothing all that difficult.</p>
<p><span id="more-1071"></span></p>
<h3>Extending is good</h3>
<p>I am just finishing up a project, and came to realize that I am not leveraging the @extend directive. It is so stupid easy to use, that I actually am mad that I haven&#8217;t used it more, as it would clean up a lot of my CSS. I will plan things out a lot better in my next go at a site that I use Sass with. Anyway, what does @extend do? Well, it sort of creates virtual class. By that I mean a class that isn&#8217;t really used anywhere in the markup, but that contains a bunch of properties common to multiple classes. Let me give you an example for a bunch of different buttons.</p>
<p>Note that the below example assumes you are using Compass as well (cause you&#8217;d be foolish not to):</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;color: #439AD0; font-weight: bold;">	$mainColor<span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">red</span><span style="color: #00AA00;color: #439AD0;">;</span>
	$secondaryColor<span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">green</span><span style="color: #00AA00;color: #439AD0;">;</span>	
&nbsp;
	<span style="color: #6666ff;color: #439AD0;">.buttons</span> <span style="color: #00AA00;color: #439AD0;">&#123;</span>
		<span style="color: #a1a100;color: #439AD0;">@include border-radius (5px);</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">padding</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span><span style="color: #00AA00;color: #439AD0;">;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">color</span><span style="color: #00AA00;color: #439AD0;">:</span> $fff<span style="color: #00AA00;color: #439AD0;">;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">text-decoration</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">none</span><span style="color: #00AA00;color: #439AD0;">;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">font-weight</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">bold</span>
	<span style="color: #00AA00;color: #439AD0;">&#125;</span>
&nbsp;
	<span style="color: #6666ff;color: #439AD0;">.backButton</span> a <span style="color: #00AA00;color: #439AD0;">&#123;</span>
		<span style="color: #a1a100;color: #439AD0;">@extend .buttons;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">background-color</span><span style="color: #00AA00;color: #439AD0;">:</span> $mainColor<span style="color: #00AA00;color: #439AD0;">;</span>
		&amp;<span style="color: #3333ff;">:hover </span><span style="color: #00AA00;color: #439AD0;">&#123;</span>
			<span style="color: #000000; font-weight: bold;color: #439AD0;">background-color</span><span style="color: #00AA00;color: #439AD0;">:</span> $secondaryColor<span style="color: #00AA00;color: #439AD0;">;</span>
		<span style="color: #00AA00;color: #439AD0;">&#125;</span>
	<span style="color: #00AA00;color: #439AD0;">&#125;</span>
&nbsp;
	<span style="color: #6666ff;color: #439AD0;">.doneButton</span> a <span style="color: #00AA00;color: #439AD0;">&#123;</span>
		<span style="color: #a1a100;color: #439AD0;">@extend .buttons;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">background-color</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #cc00cc;">#0079C2</span><span style="color: #00AA00;color: #439AD0;">;</span>
		&amp;<span style="color: #3333ff;">:hover </span><span style="color: #00AA00;color: #439AD0;">&#123;</span>
			<span style="color: #000000; font-weight: bold;color: #439AD0;">background-color</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #cc00cc;">#666666</span><span style="color: #00AA00;color: #439AD0;">;</span>
		<span style="color: #00AA00;color: #439AD0;">&#125;</span>
	<span style="color: #00AA00;color: #439AD0;">&#125;</span></pre></div></div>

<p>This is just an example, but you can create classes to extend others that share common styles. Would I do this if they shared 1 or two properties? No, but three seems to be a good number to really start using @extend to shorten the amount of repitition that can go on in a style sheet.</p>
<h3>The Ampersand is Cool</h3>
<p>Another common feature of Sass that I think beginners either ignore or don&#8217;t really know how to use is the ampersand. I think most of us starting out get the use of it with hover, as you see in the above example, but there is another way to use it, and that is referencing a parent selctor. Where you place the ampersand changes the output of the CSS. Here is a look at a great example I got from <a href="http://thesassway.com/intermediate/referencing-parent-selectors-using-ampersand">The Sass Way</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;color: #439AD0; font-weight: bold;">	h1 <span style="color: #00AA00;color: #439AD0;">&#123;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">color</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">red</span><span style="color: #00AA00;color: #439AD0;">;</span>
		<span style="color: #6666ff;color: #439AD0;">.highlight</span> &amp; <span style="color: #00AA00;color: #439AD0;">&#123;</span>
			<span style="color: #000000; font-weight: bold;color: #439AD0;">color</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #000000; font-weight: bold;color: #439AD0;">blue</span><span style="color: #00AA00;color: #439AD0;">;</span>
		<span style="color: #00AA00;color: #439AD0;">&#125;</span>
	<span style="color: #00AA00;color: #439AD0;">&#125;</span></pre></div></div>

<p>Which outputs this CSS:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;color: #439AD0; font-weight: bold;">	h1 <span style="color: #00AA00;color: #439AD0;">&#123;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">color</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">red</span><span style="color: #00AA00;color: #439AD0;">;</span>
	<span style="color: #00AA00;color: #439AD0;">&#125;</span>
&nbsp;
	<span style="color: #6666ff;color: #439AD0;">.highlight</span> h1 <span style="color: #00AA00;color: #439AD0;">&#123;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">color</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #000000; font-weight: bold;color: #439AD0;">blue</span><span style="color: #00AA00;color: #439AD0;">;</span>
	<span style="color: #00AA00;color: #439AD0;">&#125;</span></pre></div></div>

<p>Now let&#8217;s put the ampersand in front:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;color: #439AD0; font-weight: bold;">	h1 <span style="color: #00AA00;color: #439AD0;">&#123;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">color</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">red</span><span style="color: #00AA00;color: #439AD0;">;</span>
		&amp;<span style="color: #6666ff;color: #439AD0;">.highlight</span> <span style="color: #00AA00;color: #439AD0;">&#123;</span>
			<span style="color: #000000; font-weight: bold;color: #439AD0;">color</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #000000; font-weight: bold;color: #439AD0;">blue</span><span style="color: #00AA00;color: #439AD0;">;</span>
		<span style="color: #00AA00;color: #439AD0;">&#125;</span>
	<span style="color: #00AA00;color: #439AD0;">&#125;</span></pre></div></div>

<p>And you get this output in CSS:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;color: #439AD0; font-weight: bold;">	h1 <span style="color: #00AA00;color: #439AD0;">&#123;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">color</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">red</span><span style="color: #00AA00;color: #439AD0;">;</span>
	<span style="color: #00AA00;color: #439AD0;">&#125;</span>
&nbsp;
	h1<span style="color: #6666ff;color: #439AD0;">.highlight</span> <span style="color: #00AA00;color: #439AD0;">&#123;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">color</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #000000; font-weight: bold;color: #439AD0;">blue</span><span style="color: #00AA00;color: #439AD0;">;</span>
	<span style="color: #00AA00;color: #439AD0;">&#125;</span></pre></div></div>

<p>Big difference with just the placement of the ampersand. Everyone will use it when defining pseudo-selectors, but I think a lot of us don&#8217;t even know you can use it in this method.</p>
<h3>To Each Their Own</h3>
<p>Unfortunately I can&#8217;t remember where I got this example, but when I saw @each being used in such a simple way, it was mind bottling:).  In the below example, I am creating variable called guitarBrands, containing the names of guitar brands. Then I&#8217;m using a mixin using @each, that says for each brand in guitarBrands, do something. Once you see the CSS output, you will understand what is happening.</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;color: #439AD0; font-weight: bold;">	$guitarBrands<span style="color: #00AA00;color: #439AD0;">:</span> ibanex peavey gibson fender esp<span style="color: #00AA00;color: #439AD0;">;</span>
&nbsp;
	<span style="color: #a1a100;color: #439AD0;">@mixin guitar-images {</span>
		<span style="color: #a1a100;color: #439AD0;">@each $brand in $guitarBrands {</span>
			.guitar-#<span style="color: #00AA00;color: #439AD0;">&#123;</span>$brand<span style="color: #00AA00;color: #439AD0;">&#125;</span> <span style="color: #00AA00;color: #439AD0;">&#123;</span>
				<span style="color: #000000; font-weight: bold;color: #439AD0;">background</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">url</span><span style="color: #00AA00;color: #439AD0;">&#40;</span><span style="color: #ff0000;color: #439AD0;">&quot;images/#{brand}.jpg&quot;</span><span style="color: #00AA00;color: #439AD0;">&#41;</span> <span style="color: #993333;color: #439AD0;">no-repeat</span><span style="color: #00AA00;color: #439AD0;">;</span>
			<span style="color: #00AA00;color: #439AD0;">&#125;</span>
		<span style="color: #00AA00;color: #439AD0;">&#125;</span>
	<span style="color: #00AA00;color: #439AD0;">&#125;</span>
&nbsp;
	<span style="color: #6666ff;color: #439AD0;">.guitar-info</span> <span style="color: #00AA00;color: #439AD0;">&#123;</span>
		<span style="color: #a1a100;color: #439AD0;">@include guitar-images;</span>
	<span style="color: #00AA00;color: #439AD0;">&#125;</span></pre></div></div>

<p>Which gives you this CSS:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;color: #439AD0; font-weight: bold;">	<span style="color: #6666ff;color: #439AD0;">.guitar-info</span> <span style="color: #6666ff;color: #439AD0;">.photo-ibanez</span> <span style="color: #00AA00;color: #439AD0;">&#123;</span>
  		<span style="color: #000000; font-weight: bold;color: #439AD0;">background</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">url</span><span style="color: #00AA00;color: #439AD0;">&#40;</span><span style="color: #ff0000;color: #439AD0;">'/images/ibanex.png'</span><span style="color: #00AA00;color: #439AD0;">&#41;</span> <span style="color: #993333;color: #439AD0;">no-repeat</span><span style="color: #00AA00;color: #439AD0;">;</span><span style="color: #00AA00;color: #439AD0;">&#125;</span>
	<span style="color: #6666ff;color: #439AD0;">.guitar-info</span> <span style="color: #6666ff;color: #439AD0;">.photo-peavey</span> <span style="color: #00AA00;color: #439AD0;">&#123;</span>
 		<span style="color: #000000; font-weight: bold;color: #439AD0;">background</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">url</span><span style="color: #00AA00;color: #439AD0;">&#40;</span><span style="color: #ff0000;color: #439AD0;">'/images/peavey.png'</span><span style="color: #00AA00;color: #439AD0;">&#41;</span> <span style="color: #993333;color: #439AD0;">no-repeat</span><span style="color: #00AA00;color: #439AD0;">;</span><span style="color: #00AA00;color: #439AD0;">&#125;</span>
	<span style="color: #6666ff;color: #439AD0;">.guitar-info</span> <span style="color: #6666ff;color: #439AD0;">.photo-gibson</span> <span style="color: #00AA00;color: #439AD0;">&#123;</span>
  		<span style="color: #000000; font-weight: bold;color: #439AD0;">background</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">url</span><span style="color: #00AA00;color: #439AD0;">&#40;</span><span style="color: #ff0000;color: #439AD0;">'/images/gibson.png'</span><span style="color: #00AA00;color: #439AD0;">&#41;</span> <span style="color: #993333;color: #439AD0;">no-repeat</span><span style="color: #00AA00;color: #439AD0;">;</span><span style="color: #00AA00;color: #439AD0;">&#125;</span>
	<span style="color: #6666ff;color: #439AD0;">.guitar-info</span> <span style="color: #6666ff;color: #439AD0;">.photo-fender</span> <span style="color: #00AA00;color: #439AD0;">&#123;</span>
 		<span style="color: #000000; font-weight: bold;color: #439AD0;">background</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">url</span><span style="color: #00AA00;color: #439AD0;">&#40;</span><span style="color: #ff0000;color: #439AD0;">'/images/fender.png'</span><span style="color: #00AA00;color: #439AD0;">&#41;</span> <span style="color: #993333;color: #439AD0;">no-repeat</span><span style="color: #00AA00;color: #439AD0;">;</span><span style="color: #00AA00;color: #439AD0;">&#125;</span>
	<span style="color: #6666ff;color: #439AD0;">.guitar-info</span> <span style="color: #6666ff;color: #439AD0;">.photo-esp</span> <span style="color: #00AA00;color: #439AD0;">&#123;</span>
		<span style="color: #000000; font-weight: bold;color: #439AD0;">background</span><span style="color: #00AA00;color: #439AD0;">:</span> <span style="color: #993333;color: #439AD0;">url</span><span style="color: #00AA00;color: #439AD0;">&#40;</span><span style="color: #ff0000;color: #439AD0;">'/images/esp.png'</span><span style="color: #00AA00;color: #439AD0;">&#41;</span> <span style="color: #993333;color: #439AD0;">no-repeat</span><span style="color: #00AA00;color: #439AD0;">;</span><span style="color: #00AA00;color: #439AD0;">&#125;</span></pre></div></div>

<p>Holy crap that is awesome, is it not? Granted this isn&#8217;t going to be the most used feature for me, or you most likely, but it just gives you a hint of what you can do with it.</p>
<h3>By the Power of Sass!</h3>
<p>Sass is awesome. Plain and simple. Out of the three items above, I think the most best in the bunch has got to be @extend. It can cut down on a ton of clutter if used properly, and make things more readable. I think one of the toughest parts in learning Sass, is when to use each feeature. Nesting too deep can get you in trouble, making ridiculous variables is just stupid, and as I found out, and for me, making a mixin for &#8216;font&#8217; was beyond dumb considering it took just as long to type it out the normal way. Once you get the hang of things and crash your way through your first site using Sass, you quickly realize what you should be doing.</p>
<p>I also recommend reading The Sass Way&#8217;s article <a href="http://thesassway.com/intermediate/if-for-each-while">Sass control directives: @if, @for, @each and @while</a> for more cool stuff. Actually, any article on that site is good.</p>
<p>Let me know if you have any cool tips or tricks using Sass or Compass!</p>
<div class="gator">
<a  href="http://secure.hostgator.com/~affiliat/cgi-bin/affiliates/clickthru.cgi?id=jcDesigns-" rel="nofollow"><img src="http://tracking.hostgator.com/img/Shared/468x60.gif" border=0></a></p>
<p>Coupon Code: webmachine</p>
</div>
 <img src="http://jc-designs.net/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1071" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://jc-designs.net/blog/2012/05/sass-features-ignored-by-beginners/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Shadow, CSS Variables, Sass Stuff and More!</title>
		<link>http://jc-designs.net/blog/2012/05/adobe-shadow-css-variables-sass-stuff-and-more/</link>
		<comments>http://jc-designs.net/blog/2012/05/adobe-shadow-css-variables-sass-stuff-and-more/#comments</comments>
		<pubDate>Wed, 09 May 2012 14:34:49 +0000</pubDate>
		<dc:creator>jcDesigns</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[adobe shadow]]></category>
		<category><![CDATA[sass]]></category>
		<category><![CDATA[twitter bootstrap]]></category>

		<guid isPermaLink="false">http://jc-designs.net/blog/?p=1065</guid>
		<description><![CDATA[Excited about web development again I will admit that I had been just going with the flow and not really excited about things going on in our field for a while. The new job has changed that though. I&#8217;m working on a variety of things, and FINALLY learning again. When you are not learning anything [...]]]></description>
			<content:encoded><![CDATA[<h3>Excited about web development again</h3>
<p>I will admit that I had been just going with the flow and not really excited about things going on in our field for a while. The new job has changed that though. I&#8217;m working on a variety of things, and FINALLY learning again. When you are not learning anything new or doing the same repetitive things over and over, things get tedious. Where I&#8217;m at now has given me what I needed to recapture. Excitement in what I&#8217;m doing. Already I have picked up some new stuff that I didn&#8217;t know before, and things are changing again in the technology we use. So I thought I&#8217;d share some of this with you.</p>
<p><span id="more-1065"></span>	</p>
<h3>Adobe Shadow</h3>
<p><img class="left" src="http://jc-designs.net/newimages/blogImages/adobeShadow.png" alt="Adobe Shadow logo" />If you haven&#8217;t checked <a href="http://www.adobe.com/Shadow">Adobe Shadow</a> out, you should. I even figured out how to take a screen shot with my iPhone so you can see this. There are three things you actually need for this to work: the desktop app (Mac or Windows), the Google Chrome extension, and the free app for your phone (iOS/Android). Once you have all of them installed, its time to try it out. Make sure your phone and computer are on the same network by the way, or it won&#8217;t work.</p>
<p>Start the desktop app, then start the phone app, and open Chrome (obviously after you have the extension installed). You should have a little icon that says &#8216;Sd&#8217; on it now. The Adobe Shadow app on your phone will give you a code number that you enter in the Chrome extension. Once you are connected, you can browse to the site you are working on and view it on your phone.</p>
<div class="center"><img src="http://jc-designs.net/newimages/blogImages/adShadowImage.jpg" alt="Adobe Shadow in action on jc-designs.net" /></div>
<p>Now, why is this cool? because you can browse on multiple devices at the same time. You can have an Android phone, the iPhone, and computer all looking at the same time. Whatever you are looking at on your computer will display on the other devices. What is super cool is that you can inspect an element in Chrome, and it will show you inspecting on the phone as well. If you are using media queries, this is helpful. If you are using a framework like Sencha Touch or jQuery Mobile, I am not sure how helpful this is actually going to be, as the structures are going to be totally different. This is because while you are looking at the same site, the devices will show their appropriate version. Still cool and worth messing with.</p>
<h3>CSS variables get published as first working draft!</h3>
<p>Ask and you shall recieve! While variables is the least of the cool things if you are currently using Sass/LESS, it is at least a step in the right direction for CSS. I&#8217;m sure the syntax is going to suck badly, but I&#8217;m not going to complain. This was needed. Go read what Tab Atkins wrote about <a href="http://lists.w3.org/Archives/Public/www-style/2012Apr/0227.html">CSS Variables</a>. NOW!</p>
<h3>Sass Stuff and more</h3>
<p>Couple more items for you to think about, go get. If you find you want to use the Twitter Bootstrap, but want to incorporate it using Sass rather than Less, well you are in luck. Some one has already done it for you and created the <a href="https://github.com/jlong/sass-twitter-bootstrap">Sass Twitter Bootstrap</a>.</p>
<p>Annnnd one last little bit for you. Want to see what your Javascript looks like it CoffeeScript? Dump your code at <a href="http://js2coffee.org/">Js2coffee and see!</a></p>
<p>That is a lot of cool stuff, so check it all out and let me know what you think about any of it!</p>
<div class="gator">
<a  href="http://secure.hostgator.com/~affiliat/cgi-bin/affiliates/clickthru.cgi?id=jcDesigns-" rel="nofollow"><img src="http://tracking.hostgator.com/img/Shared/468x60.gif" border=0></a></p>
<p>Coupon Code: webmachine</p>
</div>
 <img src="http://jc-designs.net/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1065" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://jc-designs.net/blog/2012/05/adobe-shadow-css-variables-sass-stuff-and-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where I&#8217;ve Been and Web Development Tidbits</title>
		<link>http://jc-designs.net/blog/2012/05/where-ive-been-and-web-development-tidbits/</link>
		<comments>http://jc-designs.net/blog/2012/05/where-ive-been-and-web-development-tidbits/#comments</comments>
		<pubDate>Thu, 03 May 2012 15:16:46 +0000</pubDate>
		<dc:creator>jcDesigns</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[sass]]></category>

		<guid isPermaLink="false">http://jc-designs.net/blog/?p=1063</guid>
		<description><![CDATA[A new year and a new job So 2012 has already been a busy year. I&#8217;ve been working on some freelance projects, but the bigger deal is that I have taken a new position. I don&#8217;t like talking about where I work, so don&#8217;t ask. I am just not comfortable about putting that kind of [...]]]></description>
			<content:encoded><![CDATA[<h3>A new year and a new job</h3>
<p>So 2012 has already been a busy year. I&#8217;ve been working on some freelance projects, but the bigger deal is that I have taken a new position. I don&#8217;t like talking about where I work, so don&#8217;t ask. I am just not comfortable about putting that kind of info on the web. I do work in the city now (Chicago), so that is a huge change, but I&#8217;m very happy with where I&#8217;m at. Searching for jobs though was taking up a lot of my time, hence I haven&#8217;t been able to write any posts in a while. I am settling in now though, so that will change. Starting today!</p>
<p><span id="more-1063"></span>	</p>
<h3>Using a Version tool is cool, but a pain in the ass</h3>
<p>I have used SVN before, and I never really had a problem with it. Mostly because there was only one person at a time working on something, so nothing bad ever happened. The only worry I really ever had was usually a permissions thing. Now though, I work for a larger company. Many, many people are working on the same projects at different times, which can obviously lead to some issues. Trust me when I say I have found that out the hard way.</p>
<p>Not only am I using Tortoise SVN, but Git as well. I&#8217;m using them every day, and I found out that while they do the same kind of thing, Git does not work the same as SVN. Sorry to say, it took me a while to figure everything out, and I probably annoyed a few people asking for help as well. I would have to say this has been my biggest hurdle at the new place, but I think I&#8217;m past the major problems I was having.</p>
<h3>Getting to use new tools and experimenting</h3>
<p>Well, I don&#8217;t know if you would call it tools per say, but different ideas than I am used to at work. There are a few big things that have me greatly relieved with my new position. I can use HTML5 stuff at will if it is applicable, and CSS3 stuff without having to worry about using things like PIE. It is refreshing to be at a place that actually embraces what is going on in the industry. Oh, and people love jQuery where I&#8217;m at. Trust me, that is new to me.</p>
<h3>HTML5 Rocks! Or wait&#8230;.does it? Crap.</h3>
<p>Now back to HTML5 and all its glory. The more freedom I have with the use of the new tags and attributes, the more I realize that I am not a huge fan of the new tags. I&#8217;ve used them on my own site, and read about them, but I have really not put a lot of thought into &#8216;really&#8217; using them. I&#8217;ve had to clean up a few pages now and convert them over to using a version of the HTML5 Boilerplate, and look into what tags I should use.</p>
<p>Know what I learned? People are REALLY f&#8217;ing confused about when to use them. You ever think about when to use a &#8216;p&#8217; or &#8216;ul&#8217; tag? No, because it is so damn obvious when and where you should. It is clear cut with no gray area. How about a section tag though? Go <a href="http://www.impressivewebs.com/html5-section/">read this article</a> by Louis Lazaris and you will realize he has it about right, saying this:</p>
<blockquote><p>In short, HTML5′s &#8216;section&#8217; element could be used in any instance where it contains standalone, non-syndicated, non-aside content whose wrapper is not for styling purposes. In other words: Hardly ever.</p></blockquote>
<p>Read through the comments of that article and you will get a sense of what I&#8217;m talking about. I&#8217;ve seen major abuse of the &#8216;article&#8217; tag as well due to confusion about when to use it. I think everyone gets that one now, but I understand where people can these things wrong. Just look at how the &#8216;aside&#8217; tag has changed since people started using it. There was a time when it was NOT meant to be used for a tradional sidebar wrapper, but apparently enough people bitched to change some minds.</p>
<p>What bothers me the most is, while adding these new tags to a page, I feel like I am cluttering up my HTML again. Remember when it was get all the styles out and use as little as possible? Well now we are adding things back in.</p>
<p>Do I really need a &#8216;nav&#8217; tag? I use it, but really I can style the &#8216;ul&#8217; anyway I want without adding another tag to the mix. I do though, so don&#8217;t bitch in the comments. It is even more annoying when you <a href="http://html5doctor.com/html5-seo-search-engine-optimisation/">read this article about HTML5 and SEO</a>, because it is saying that Google doesn&#8217;t give you any advantage to using it at the moment. Will it? Sure, but who the hell knows when that will happen. Especially since nothing in HTML5 feels like it is written in stone. End of my ramblimg.</p>
<h3>What did I take away from 2011 concerning web development?</h3>
<p>Responsive web design is huge. I like the simple frameworks that popped up, and I plan on getting more and more into that. More people seem to be getting into CSS preprocessors, and that makes me happy. The more the merrier I say.</p>
<p>I also feel that, while CSS3 stuff is cool in general, it is going to be quite a while before transitions and animations are the norm. It didn&#8217;t feel like we got any closer to being free to use any of the crazy stuff. I&#8217;m ok with that though.</p>
<p>Really though, I didn&#8217;t find 2011 to bring anything ground breaking as I have before. Ya there are some cool ways of doing things, such as responsive layouts, but everything you needed was already there. Nothing new brought to the table, just a cool way of doing things with existing tools.</p>
<h3>Anything else interesting I can pass along to my readers?</h3>
<p>Yes, two things. I downloaded <a href="http://www.sublimetext.com/2">Sublime Text 2</a> to give it a whirl. I am liking it a lot. Especially because you can download a package that allows for SCSS syntax highlighting. That and the view pane make it pretty damn cool in my book.</p>
<p>The second thing I can pass to you is <a href="http://voyage-editor.herokuapp.com/">Voyage</a>, a SASS and Haml WYSIWYG editor. I am not all that sure what the real value is yet, but it is still cool. You can test out your SASS and get the CSS output, as well as use Haml to template out your HTML. Be warned that I am not sure if it allows SCSS syntax, as it did not seem to when I tried. It does however work with any Compass mixins! Check it out though, its free.</p>
<p>I hope to be writing a more, so stay tuned. Follow me on twitter too and I&#8217;ll pass you guys stuff I find interesting.</p>
<div class="gator">
<a  href="http://secure.hostgator.com/~affiliat/cgi-bin/affiliates/clickthru.cgi?id=jcDesigns-" rel="nofollow"><img src="http://tracking.hostgator.com/img/Shared/468x60.gif" border=0></a></p>
<p>Coupon Code: webmachine</p>
</div>
 <img src="http://jc-designs.net/blog/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1063" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://jc-designs.net/blog/2012/05/where-ive-been-and-web-development-tidbits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
