From ee1adf9535c6b66bab0cfce7eaa954d6cb1ca317 Mon Sep 17 00:00:00 2001
From: Chris Eppstein <chris@eppsteins.net>
Date: Mon, 30 Jan 2012 18:50:33 -0800
Subject: [PATCH] Update the madlib for compass 0.12 and compass-rails.

---
 doc-src/assets/javascripts/install.js | 48 ++++++++++++++++++++++-----
 doc-src/content/install.haml          | 11 +++---
 2 files changed, 47 insertions(+), 12 deletions(-)

diff --git a/doc-src/assets/javascripts/install.js b/doc-src/assets/javascripts/install.js
index 6b52b844..31f371de 100644
--- a/doc-src/assets/javascripts/install.js
+++ b/doc-src/assets/javascripts/install.js
@@ -4,15 +4,38 @@ function showInstallCommand() {
     var notes = [];
     var project_name = "&lt;myproject>";
     var can_be_bare = true;
-    commands.push("$ gem install compass");
+    var in_working_dir = false;
+    var use_bundler = false;
+    if ($("#app-type").val() != "rails") {
+      commands.push("$ gem install compass");
+    }
     if (cmd == "init") {
         commands.push("$ cd " + project_name);
+        in_working_dir = true
         project_name = ".";
+        $(".creating").hide();
+    } else {
+        $(".creating").show();
+        if ($("#project_name").val() != "")
+          project_name = $("#project_name").val();
+    }
+    if ($("#app-type").val() == "rails") {
+        notes.push("<p class='note warning'>Rails 2.3 and 3.0 users require additional installation steps. For full rails installation and upgrade instructions please refer to the compass-rails <a href='https://github.com/Compass/compass-rails/blob/master/README.md'>README</a>.</p>");
+        use_bundler = true;
     }
     if ($("#app-type").val() == "rails") {
         if (cmd == "create") {
             commands.push("$ rails new " + project_name);
+            commands.push("$ cd " + project_name);
+            in_working_dir = true
+            project_name = ".";
         }
+        commands.push("> Edit Gemfile and add this:");
+        commands.push("   group :assets do");
+        commands.push("     gem 'compass-rails'");
+        commands.push("     # Add any compass extensions here");
+        commands.push("   end");
+        commands.push("$ bundle");
         cmd = "init rails";
         can_be_bare = false;
     } else if ($("#app-type").val() == "other") {
@@ -28,9 +51,12 @@ function showInstallCommand() {
     var framework = $("#framework").val();
     var create_command;
     if (cmd == "install") {
-        create_command = "$ compass install " + framework + " " + project_name;
+        create_command = "$ compass install " + framework;
     } else {
-        create_command = "$ compass " + cmd + " " + project_name;
+        create_command = "$ compass " + cmd;
+    }
+    if (!in_working_dir) {
+      create_command = create_command + " " + project_name;
     }
     if (framework != "compass" && framework != "bare" && cmd != "install") {
         create_command = create_command + " --using " + framework;
@@ -46,14 +72,20 @@ function showInstallCommand() {
     }
     if ($("#options").val() == "customized") {
         $("#directories").show();
-        create_command = create_command +
-                         " --sass-dir \"" + $("#sassdir").val() + "\"" +
-                         " --css-dir \"" + $("#cssdir").val() + "\"" +
-                         " --javascripts-dir \"" + $("#jsdir").val() + "\"" +
-                         " --images-dir \"" + $("#imagesdir").val() + "\"";
+        if ($("#sassdir").val() != "")
+          create_command += " --sass-dir \"" + $("#sassdir").val() + "\"";
+        if ($("#cssdir").val() != "")
+          create_command += " --css-dir \"" +  $("#cssdir").val() + "\"";
+        if ($("#jsdir").val() != "")
+          create_command += " --javascripts-dir \"" + $("#jsdir").val() + "\"";
+        if ($("#imagesdir").val() != "")
+          create_command += " --images-dir \"" + $("#imagesdir").val() + "\"";
     } else {
       $("#directories").hide();
     }
+    if (use_bundler) {
+      create_command = "$ bundle exec " + create_command.replace(/\$ /,'');
+    }
     commands.push(create_command);
     var instructions = "<pre><code>" + commands.join("\n") + "</code></pre>";
     if (instructions.match(/&lt;/)) {
diff --git a/doc-src/content/install.haml b/doc-src/content/install.haml
index 440868aa..bde59961 100644
--- a/doc-src/content/install.haml
+++ b/doc-src/content/install.haml
@@ -30,6 +30,9 @@ body_id: install
     %option{:value => "rails"} rails
     %option{:value => "other"} other
   project
+  %span.creating
+    named
+    %input#project_name(placeholder="<myproject>")
   with
   %select#framework
     %option{:value => "compass"} compass's
@@ -48,14 +51,14 @@ body_id: install
     %option{:value => "customized"} customize my project's
   directory structure<span id="directories" style="display:none;">
   using
-  %input#sassdir(value="sass")
+  %input#sassdir(placeholder="sass")
   for the sass source directory,
-  %input#cssdir(value="css")
+  %input#cssdir(placeholder="css")
   for the css output directory,
-  %input#jsdir(value="javascripts")
+  %input#jsdir(placeholder="javascripts")
   for the javascripts directory,
   and
-  %input#imagesdir(value="images")
+  %input#imagesdir(placeholder="images")
   for the images directory</span></span>.
 
 %h4 Thanks. Now run the following steps in your terminal: