<?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>Admoo Labs &#187; Tutorial</title>
	<atom:link href="http://blog.admoolabs.com/category/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.admoolabs.com</link>
	<description>Bringing fun back to the web.</description>
	<lastBuildDate>Sun, 07 Mar 2010 13:45:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rails for Designers 101 &#8211; Step by Step Version</title>
		<link>http://blog.admoolabs.com/rails-for-designers-101-step-by-step-version/</link>
		<comments>http://blog.admoolabs.com/rails-for-designers-101-step-by-step-version/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 11:39:51 +0000</pubDate>
		<dc:creator>Eumir Gaspar</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.admoolabs.com/?p=40</guid>
		<description><![CDATA[This is more of a &#8216;tutorialized&#8217; version of my previous post. Here, I&#8217;ll be sharing how I made my &#8216;portfolio/haml converter&#8217; rails application, since I unfortunately assumed that anyone reading that post also knew what I knew. This time though, I&#8217;ll be assuming nothing, just that you are a designer and you just want to [...]]]></description>
			<content:encoded><![CDATA[<p>This is more of a &#8216;tutorialized&#8217; version of my previous post. Here, I&#8217;ll be sharing how I made my &#8216;portfolio/haml converter&#8217; rails application, since I unfortunately assumed that anyone reading that post also knew what I knew. This time though, I&#8217;ll be assuming nothing, just that you are a designer and you just want to try coding in Haml for a change(good for you!) even if you don&#8217;t know squat about rails.</p>
<p>For starters, if you don&#8217;t have Rails yet, I suggest either installing Rails the hardcore way, or take the easy way out like I did: just download <a href="http://rubyforge.org/projects/instantrails/">InstantRails</a>. Okay, after you&#8217;re done with that part(I&#8217;ll be assuming you also took the easy way out) just unzip that into your root directory(I&#8217;m using Windows *gasp* so mine is located at C:/Instantrails/)</p>
<p>Now, all you have to do is bring up a command line(windows key + r, then type cmd), go to your Instantrails folder(type &#8216;C:/Instantrails/&#8217;) then type &#8216;use_ruby&#8217;. You&#8217;ll know you did the right thing when the directory changes to C:/Instantrails/rails_apps(just realized it&#8217;ll be better with screenshots&#8230;but I&#8217;ll do that later)</p>
<p>OKay, next in line is installing haml. Ready? Just type:</p>
<p><code>gem install haml</code></p>
<p>That&#8217;s it! Haml should be automatically downloading now. As you wait for that one, you can open up a new command line, go to your IR(due to laziness I&#8217;ll be calling Instantrails IR from now on) folder again, type use_ruby again and then type</p>
<p><code>rails myhamlizedportfolio</code></p>
<p>Actually you can name it anything you want. Doesn&#8217;t really matter(I sugest you pick a short name though). This will effectively create a blank rails app for you. And by that I mean it will create a folder named myhamlizedportfolio in your rails_app folder, complete with all the folders needed for a blank rails app. Next would be to install haml as a plugin for your portfolio app(you should still be in C:/Instantrails/rails_app when you do this):</p>
<p><code>haml --rails myhamlizedportfolio</code></p>
<p>Easy, right? Next, you just have to tell rails that you won&#8217;t be needing any database of sorts. So goand open the myhamlizedportfolio/config folder. Open environment.rb(with your favorite text editor &#8211; notepad) and look for the following lines</p>
<pre class="brush: ruby;"># Skip frameworks you're not going to use. To use Rails without a database  
# you must remove the Active Record framework.
# config.frameworks -= [ :active_record, :active_resource, :action_mailer ]</pre>
<p>Just take out the &#8216;#&#8217; of the third line like so:</p>
<pre class="brush: ruby;"># Skip frameworks you're not going to use. To use Rails without a database
# you must remove the Active Record framework.
config.frameworks -= [ :active_record, :active_resource, :action_mailer ]</pre>
<p>Save this and close the file. Delete database.yml in that same folder by the way &#8211; you won&#8217;t be needing that. Next up is to fix your routes(if you want to understand what you&#8217;re actually doing, I suggest learning basic rails first like a good citizen, but if you can&#8217;t be bothered, then just follow these steps and believe it will work <img src='http://blog.admoolabs.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ). Open up routes.rb with notepad(it&#8217;s still in the config folder) and add this line right after the first line like so:</p>
<pre class="brush: ruby;">
ActionController::Routing::Routes.draw do |map|
map.connect 'projects/:id', :controller =&gt; 'projects', :action =&gt; 'index'
 </pre>
<p>That just basically means that to access your projects all you have to do is go to http://localhost:3000/projects/projectnamehere. More on that later. For now, save and exit again and you&#8217;re done with the config folder. We&#8217;re almost there! </p>
<p>Now go back to your command line and while in your project directory(in our case, myhamlizedportfolio) and type</p>
<p><code>ruby script/generate controller projects</code></p>
<p>This will generate some files but what we really want to focus on is the newly generated projects_controller.rb located in myhamlizedportfolio/app/controllers. Open this file up with notepad, as usual, and well, just replace all the code there with this:</p>
<pre class="brush: ruby;">
class ProjectsController &lt; ApplicationController
def index
render :action =&gt; &quot;#{params[:id]}/index&quot;
end
end
</pre>
<p>Don&#8217;t worry if you don&#8217;t understand. That&#8217;s just a &#8216;continuation&#8217; of what we did with routes.rb, basically telling our app that going to http://localhost:3000/projects/projectnamehere means it should render the page with the same name located in your views(again, more on that soon).</p>
<p>Actually you&#8217;re done setting up. You can now start coding with Haml. To start, let&#8217;s make a design project named RedHelloWorld. Go to your views folder(myhamlizedportfolio/app/views) and make a new directory named RedHelloWorld. Open up notepad again and type these:</p>
<pre class="brush: ruby;">
!!!

%html{:xmlns =&gt; &quot;http://www.w3.org/1999/xhtml&quot;, &quot;xml:lang&quot; =&gt; &quot;en&quot;, :lang =&gt; &quot;en&quot;}
  = yield :layout
</pre>
<p>If you have reviewed <a href="http://haml.hamptoncatlin.com/">Haml</a>, that just basically creates the basic headers for your html page. Save that as application.haml and save it in the views/layouts folder(also delete application.html there if it exists). Create a new document yet again and type the following:</p>
<pre class="brush: ruby;">
%head
  %meta{&quot;http-equiv&quot; =&gt; &quot;content-type&quot;, :content =&gt; &quot;text/html;charset=UTF-8&quot;}
  %title hamlicious home!
  = stylesheet_link_tag 'demo'

  %body
    %h1.red HELLO WORLD!
</pre>
<p>Just by looking at the code, you&#8217;ll already know that Haml really makes things easier for you. A lot of time is saved since you won&#8217;t be needing to type the appropriate closing tags for each div, or other html tag out there. Save that file as index.haml and save it in views/RedHelloWorld (yup, create a folder with that name).</p>
<p>Next up, is your sass(css) file. Open up a new text file again and type:</p>
<pre class="brush: ruby;">
.red
  :color #ff0000
</pre>
<p>Save that as demo.sass and save it in myhamlizedportfolio/public/stylesheets/sass/(you&#8217;ll have to create a sass folder). While you&#8217;re at it, also delete the index.html in your public/ folder. And now all you have to do is run and test your app! Go to your command line(yet again) and after use_ruby and going to your project directory, just type </p>
<p><code>ruby script/server</code></p>
<p>Wait til ou see the lines:</p>
<p>** Mongrel available at 0.0.0.0:3000<br />
** Use CTRL-C to stop.</p>
<p>And that&#8217;s it. You can now access your demo by opening up your browser and going to http://localhost:3000/projects/RedHelloWorld</p>
<p>Hopefully that&#8217;ll work. Any problems, leave a comment <img src='http://blog.admoolabs.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  Oh and before I forget, if you need the html and css files(like I do &#8211; I just like coding in Haml/Sass) just view the page, view the source and copy paste it in a blank document and save it as .html(in another directory of course). Get the .css file that will be generated in myhamlizedportfolio/public/stylesheets/ and use that for the css file of your project. Enjoy!</p>
<p>More on customizing this app sometime in the future. (namely how to make a &#8220;homepage&#8221; where you have a list of all your hamlized projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.admoolabs.com/rails-for-designers-101-step-by-step-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
