From 72b8a4ff2431501dc53da16541a79babda7130e3 Mon Sep 17 00:00:00 2001
From: Kenneth Wimer <kwwii@sinecera.de>
Date: Fri, 24 Jan 2014 15:22:07 +0100
Subject: [PATCH 01/12] Integrated SUSE branding

---
 crowbar_framework/app/assets/images/dell/dell.png  | Bin 2235 -> 0 bytes
 .../app/assets/images/dell/dell_blue_logo.jpg      | Bin 16965 -> 0 bytes
 .../app/assets/images/dell/dell_tagline_logo.jpg   | Bin 8616 -> 0 bytes
 .../app/assets/images/suse/favicon.ico             | Bin 0 -> 1150 bytes
 .../app/assets/stylesheets/branding.css.scss       |  25 +++++++++++++
 .../app/assets/stylesheets/variables.css.scss      |  40 +++++++++++----------
 .../app/views/layouts/application.html.haml        |   2 ++
 crowbar_framework/public/404.html                  |  23 ++++++++----
 crowbar_framework/public/422.html                  |  22 ++++++++----
 crowbar_framework/public/500.html                  |  25 ++++++++-----
 10 files changed, 96 insertions(+), 41 deletions(-)
 delete mode 100644 crowbar_framework/app/assets/images/dell/dell.png
 delete mode 100644 crowbar_framework/app/assets/images/dell/dell_blue_logo.jpg
 delete mode 100644 crowbar_framework/app/assets/images/dell/dell_tagline_logo.jpg
 create mode 100644 crowbar_framework/app/assets/images/suse/favicon.ico

Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/assets/stylesheets/branding.css.scss
===================================================================
--- /dev/null
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/assets/stylesheets/branding.css.scss
@@ -0,0 +1,72 @@
+/**
+ * Copyright 2011-2013, Dell
+ * Copyright 2013-2014, SUSE LINUX Products GmbH
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.navbar-inverse {
+  .navbar-brand {
+    padding: 15px 15px 12px;
+
+    .title {
+      font-size: 21px;
+    }
+  }
+
+  .navbar-nav > .open > a {
+    background-color: #25282a !important;
+    box-shadow: 1px 1px 0 rgba(0,0,0,0.4) inset,1px 1px 0 rgba(255,255,255,0.1);
+  }
+
+  .navbar-nav {
+    .dropdown-menu {
+      border-radius: 0 0 6px 6px;
+      border: 1px solid rgba(0,0,0,0.2);
+      right: -1px !important;
+
+      & > li > a {
+        padding: 3px 10px;
+        margin: 0px 5px;
+      }
+
+      li a:hover {
+        border-radius: 3px;
+        box-shadow: 1px 1px 0 rgba(0,0,0,0.4) inset,1px 1px 0 rgba(255,255,255,0.1);
+        background-color: #2e3235 !important;
+      }
+    }
+  }
+}
+
+.page-header {
+  border: none;
+}
+
+.panel {
+  .panel-heading {
+    h2 {
+      padding: 5px 0;
+
+      .btn-group {
+        margin: -5px 0;
+      }
+    }
+  }
+}
+
+.proposal {
+  table tr td {
+    background-color: #fff
+  }
+}
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/assets/stylesheets/variables.css.scss
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/app/assets/stylesheets/variables.css.scss
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/assets/stylesheets/variables.css.scss
@@ -5,11 +5,14 @@ $gray-dark: lighten(#000, 20%);
 $gray: lighten(#000, 33.5%);
 $gray-light: lighten(#000, 60%);
 $gray-lighter: lighten(#000, 93.5%);
+$suse-gray: #3a3e40;
+$suse-green: #439539;
+$suse-light-green: #7ac142;
 
 
 // Brand colors
 // -------------------------
-$brand-primary: #428bca;
+$brand-primary: $suse-green;
 $brand-success: #5cb85c;
 $brand-warning: #f0ad4e;
 $brand-danger: #d9534f;
@@ -18,7 +21,7 @@ $brand-info: #5bc0de;
 
 // Scaffolding
 // -------------------------
-$body-bg: #fff;
+$body-bg: #f5f5f5;
 $text-color: $gray-dark;
 
 
@@ -39,10 +42,10 @@ $font-size-base: 14px;
 $font-size-large: ceil($font-size-base * 1.25);
 $font-size-small: ceil($font-size-base * 0.85);
 
-$font-size-h1: floor($font-size-base * 2.6);
-$font-size-h2: floor($font-size-base * 2.15);
-$font-size-h3: ceil($font-size-base * 1.7);
-$font-size-h4: ceil($font-size-base * 1.25);
+$font-size-h1: floor($font-size-base * 2.1);
+$font-size-h2: floor($font-size-base * 1.6);
+$font-size-h3: ceil($font-size-base * 1.3);
+$font-size-h4: ceil($font-size-base * 1.1);
 $font-size-h5: $font-size-base;
 $font-size-h6: ceil($font-size-base * 0.85);
 
@@ -57,7 +60,6 @@ $headings-color: inherit;
 
 // Iconography
 // -------------------------
-
 $icon-font-path: "bootstrap/";
 $icon-font-name: "glyphicons-halflings-regular";
 
@@ -156,17 +158,17 @@ $input-group-addon-border-color: $input-
 
 // Dropdowns
 // -------------------------
-$dropdown-bg: #fff;
-$dropdown-border: rgba(0,0,0,.15);
-$dropdown-fallback-border: #ccc;
+$dropdown-bg: #25282a;
+$dropdown-border: rgba(0,0,0,.2);
+$dropdown-fallback-border: #25282a;
 $dropdown-divider-bg: #e5e5e5;
 
-$dropdown-link-color: $gray-dark;
-$dropdown-link-hover-color: darken($gray-dark, 5%);
-$dropdown-link-hover-bg: #f5f5f5;
+$dropdown-link-color: #bebebe;
+$dropdown-link-hover-color: $suse-light-green;
+$dropdown-link-hover-bg: #2e3235;
 
-$dropdown-link-active-color: $component-active-color;
-$dropdown-link-active-bg: $component-active-bg;
+$dropdown-link-active-color: #fff;
+$dropdown-link-active-bg: #25282a;
 
 $dropdown-link-disabled-color: $gray-light;
 
@@ -183,6 +185,7 @@ $zindex-navbar-fixed: 1030;
 $zindex-modal-background: 1040;
 $zindex-modal: 1050;
 
+
 // Media queries breakpoints
 // --------------------------------------------------
 $screen-xs: 480px;
@@ -245,14 +248,14 @@ $navbar-default-toggle-border-color: #dd
 // Inverted navbar
 // -------------------------
 $navbar-inverse-color: $gray-light;
-$navbar-inverse-bg: #222;
+$navbar-inverse-bg: $suse-gray;
 $navbar-inverse-border: darken($navbar-inverse-bg, 10%);
 
-$navbar-inverse-link-color: $gray-light;
+$navbar-inverse-link-color: #fff;
 $navbar-inverse-link-hover-color: #fff;
 $navbar-inverse-link-hover-bg: transparent;
-$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color;
-$navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%);
+$navbar-inverse-link-active-color: $suse-light-green;
+$navbar-inverse-link-active-bg: $suse-gray;
 $navbar-inverse-link-disabled-color: #444;
 $navbar-inverse-link-disabled-bg: transparent;
 
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/views/layouts/application.html.haml
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/app/views/layouts/application.html.haml
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/views/layouts/application.html.haml
@@ -6,6 +6,8 @@
 
     = meta_tags
 
+    %link{ :href => image_path("suse/favicon.ico"), :rel => "shortcut icon" }
+
     - registered_stylesheets.each do |stylesheet|
       = stylesheet_tag stylesheet
 
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/404.html
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/public/404.html
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/404.html
@@ -2,15 +2,17 @@
 <html lang="en">
   <head>
     <title>
-      Crowbar: 404 Error
+      SUSE Cloud Crowbar: 404 Error
     </title>
+
     <meta charset="utf-8" />
     <meta content="IE=edge" http-equiv="X-UA-Compatible" />
     <meta content="width=device-width, initial-scale=1.0" name="viewport" />
 
+    <link rel="shortcut icon" href="/assets/suse/favicon.ico">
+
     <link rel="stylesheet" href="/assets/application.css">
     <script src="/assets/application.js"></script>
-    <script src="/assets/branding.js"></script>
 
     <!--[if lt IE 9]>
     <link rel="stylesheet" href="/assets/ie.css">
@@ -30,13 +32,16 @@
             <span class="icon-bar"></span>
           </button>
           <a href="/" class="navbar-brand">
-            <span class="title">Crowbar</span>
+            <span class="title">SUSE Cloud</span>
+            <span class="slogan">Crowbar</span>
           </a>
         </div>
         <div class="collapse navbar-collapse navbar-right">
           <ul class="nav navbar-nav">
             <li>
-              <a href="/">Dashboard</a>
+              <a href="/">
+                Return to dashboard
+              </a>
             </li>
           </ul>
         </div>
@@ -51,16 +56,26 @@
         </div>
         <div class="panel-body">
           <p>
-            Please double check the URL you're trying to reach or consult your <a href="/utils">log files</a>. If
-            this is an application error, please visit the <a href="http://github.com/crowbar/crowbar/wiki/error">Crowbar site</a>
-            for more information or to submit a bug report. Return to the <a href="/">dashboard</a>.
+            Please double check the URL you're trying to reach or consult
+            your <a href="/utils">log files</a>.
+          </p>
+          <p>
+            If this is an application error, please visit
+            the <a href="http://www.suse.com/support/">SUSE support site</a>
+            for more information.
+          </p>
+          <p>
+            Return to the <a href="/">dashboard</a>.
           </p>
         </div>
       </div>
 
       <footer>
         <span>
-          Provided by <a href="http://dell.com/cloud" target="_blank"><img src="/assets/dell/dell.png" alt="Dell, Inc." /> CloudEdge Solutions team</a>
+          <a href="https://www.suse.com/products/suse-cloud/" target="_blank">SUSE Cloud 4</a>
+        </span>
+        <span>
+          Provided by <a href="https://www.suse.com" target="_blank">SUSE</a>
         </span>
       </footer>
     </div>
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/422.html
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/public/422.html
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/422.html
@@ -2,15 +2,17 @@
 <html lang="en">
   <head>
     <title>
-      Crowbar: 422 Error
+      SUSE Cloud Crowbar: 422 Error
     </title>
+
     <meta charset="utf-8" />
     <meta content="IE=edge" http-equiv="X-UA-Compatible" />
     <meta content="width=device-width, initial-scale=1.0" name="viewport" />
 
+    <link rel="shortcut icon" href="/assets/suse/favicon.ico">
+
     <link rel="stylesheet" href="/assets/application.css">
     <script src="/assets/application.js"></script>
-    <script src="/assets/branding.js"></script>
 
     <!--[if lt IE 9]>
     <link rel="stylesheet" href="/assets/ie.css">
@@ -30,13 +32,16 @@
             <span class="icon-bar"></span>
           </button>
           <a href="/" class="navbar-brand">
-            <span class="title">Crowbar</span>
+            <span class="title">SUSE Cloud</span>
+            <span class="slogan">Crowbar</span>
           </a>
         </div>
         <div class="collapse navbar-collapse navbar-right">
           <ul class="nav navbar-nav">
             <li>
-              <a href="/">Dashboard</a>
+              <a href="/">
+                Return to dashboard
+              </a>
             </li>
           </ul>
         </div>
@@ -51,16 +56,25 @@
         </div>
         <div class="panel-body">
           <p>
-            Maybe you tried to change something you didn't have access to. If
-            this is an application error, please visit the <a href="http://github.com/crowbar/crowbar/wiki/error">Crowbar site</a>
-            for more information or to submit a bug report. Return to the <a href="/">dashboard</a>.
+            Maybe you tried to change something you didn't have access to.
+          </p>
+          <p>
+            If this is an application error, please visit
+            the <a href="http://www.suse.com/support/">SUSE support site</a>
+            for more information.
+          </p>
+          <p>
+            Return to the <a href="/">dashboard</a>.
           </p>
         </div>
       </div>
 
       <footer>
         <span>
-          Provided by <a href="http://dell.com/cloud" target="_blank"><img src="/assets/dell/dell.png" alt="Dell, Inc." /> CloudEdge Solutions team</a>
+          <a href="https://www.suse.com/products/suse-cloud/" target="_blank">SUSE Cloud 4</a>
+        </span>
+        <span>
+          Provided by <a href="https://www.suse.com" target="_blank">SUSE</a>
         </span>
       </footer>
     </div>
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/500.html
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/public/500.html
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/500.html
@@ -2,15 +2,17 @@
 <html lang="en">
   <head>
     <title>
-      Crowbar: 500 Error
+      SUSE Cloud Crowbar: 500 Error
     </title>
+
     <meta charset="utf-8" />
     <meta content="IE=edge" http-equiv="X-UA-Compatible" />
     <meta content="width=device-width, initial-scale=1.0" name="viewport" />
 
+    <link rel="shortcut icon" href="/assets/suse/favicon.ico">
+
     <link rel="stylesheet" href="/assets/application.css">
     <script src="/assets/application.js"></script>
-    <script src="/assets/branding.js"></script>
 
     <!--[if lt IE 9]>
     <link rel="stylesheet" href="/assets/ie.css">
@@ -30,13 +32,16 @@
             <span class="icon-bar"></span>
           </button>
           <a href="/" class="navbar-brand">
-            <span class="title">Crowbar</span>
+            <span class="title">SUSE Cloud</span>
+            <span class="slogan">Crowbar</span>
           </a>
         </div>
         <div class="collapse navbar-collapse navbar-right">
           <ul class="nav navbar-nav">
             <li>
-              <a href="/">Dashboard</a>
+              <a href="/">
+                Return to dashboard
+              </a>
             </li>
           </ul>
         </div>
@@ -51,16 +56,26 @@
         </div>
         <div class="panel-body">
           <p>
-            Please consult your <a href="/utils">log files</a> or double check the URL you're trying to reach. If
-            this is an application error, please visit the <a href="http://github.com/crowbar/crowbar/wiki/error">Crowbar site</a>
-            for more information or to submit a bug report. Return to the <a href="/">dashboard</a>.
+            Please consult your <a href="/utils">log files</a> or double
+            check the URL you're trying to reach.
+          </p>
+          <p>
+            If this is an application error, please visit
+            the <a href="http://www.suse.com/support/">SUSE support site</a>
+            for more information.
+          </p>
+          <p>
+            Return to the <a href="/">dashboard</a>.
           </p>
         </div>
       </div>
 
       <footer>
         <span>
-          Provided by <a href="http://dell.com/cloud" target="_blank"><img src="/assets/dell/dell.png" alt="Dell, Inc." /> CloudEdge Solutions team</a>
+          <a href="https://www.suse.com/products/suse-cloud/" target="_blank">SUSE Cloud 4</a>
+        </span>
+        <span>
+          Provided by <a href="https://www.suse.com" target="_blank">SUSE</a>
         </span>
       </footer>
     </div>
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/config/app_config.yml
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/config/app_config.yml
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/config/app_config.yml
@@ -28,18 +28,18 @@ use_bundler: false
 branding:
   # The main page title that gets displayed on all pages on the top bar and within
   # the meta information.
-  page_title: 'Crowbar'
+  page_title: 'SUSE Cloud'
 
   # The page slogan is an optional value. If you don't define it nothings gets
   # printed out. If you define it, it gets printed as a suffix for the page title.
-  page_slogan: ''
+  page_slogan: 'Crowbar'
 
   # This configuration entry can get used to customize the version name output.
   # SUSE Cloud for example should write something like SUSE Cloud v2.0, whereas
   # Crowbar on Dell side writes Version 0.0.1. The variable CROWBAR_VERSION gets
   # replaced by the constant value.
-  version: 'Version CROWBAR_VERSION'
+  version: '<a href="https://www.suse.com/products/suse-cloud/" target="_new">SUSE Cloud 4</a>'
 
   # The provider will get displayed on the footer of crowbar to show who provides
   # this nice project ;-)
-  provider: '<a href="http://dell.com/cloud" target="_blank"><img src="/assets/dell/dell.png" alt="Dell, Inc." /> CloudEdge Solutions team</a>'
+  provider: '<a href="http://www.suse.com" target="_new">SUSE</a>'
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar.yml
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar.yml
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar.yml
@@ -42,7 +42,7 @@ nav:
     - [ network, network_path ]
     - [ barclamps, barclamp_modules_path ]
     - [ utils, utils_path ]
-    - [ help, '"/crowbar_users_guide.pdf", { :link => { :target => "_blank" } }' ]
+    - [ help, docs_path ]
   nodes:
     - [ dashboard, dashboard_path ]
     - [ list, nodes_list_path ]
@@ -52,11 +52,6 @@ nav:
     - [ crowbar_bc, "index_barclamp_path(:controller=>'crowbar')" ]
   utils:
     - [ util_logs, utils_path ]
-  help:
-    - [ crowbar_wiki, '"https://github.com/crowbar/crowbar/wiki/", { :link => { :target => "_blank" } }' ]
-    - [ crowbar_ug, '"/crowbar_users_guide.pdf", { :link => { :target => "_blank" } }' ]
-    - [ crowbar_dg, '"/crowbar_deployment_guide.pdf", { :link => { :target => "_blank" } }' ]
-    - [ documentation, docs_path if RAILS_ENV == 'development' ]
 
 debs:
   ubuntu-12.04:
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/controllers/docs_controller.rb
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/app/controllers/docs_controller.rb
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/controllers/docs_controller.rb
@@ -16,182 +16,6 @@
 #
 
 class DocsController < ApplicationController
-  before_filter :generate_books
-
   def index
-    @index = YAML.load_file(
-      docs_index
-    )
-  end
-
-  def show
-    @index = YAML.load_file(
-      docs_index
-    )
-
-    @topic = @index
-
-    params[:id].split("/").each do |segment|
-      @parent = @topic
-      @topic = @topic["topics"][segment]
-    end
-
-    if @topic["file"]
-      @markdown = false
-
-      # @topic["file"] = Rails.root.join(@topic["file"])
-
-      # @markdown = Documentation::Generator.render(
-      #   @topic["file"].readlines.join,
-      # )
-
-      # @topic.deep_merge! @markdown.metadata
-    else
-      @markdown = false
-    end
-  rescue
-    flash[:alert] = I18n.t("docs.show.topic_missing")
-    redirect_to docs_url
-  end
-  
-  protected
-  
-  def docs_index
-    Rails.root.join(
-      "config",
-      "docs.yml"
-    )
-  end
-
-  def docs_path
-    Rails.root.join(
-      "doc"
-    )
-  end
-
-  def generate_books
-    return if docs_index.file? and not Rails.env.development?
-
-    @books = {}.tap do |books|
-      meta_root = {
-        "author" => "Multiple authors",
-        "license" => "Apache 2",
-        "copyright" => "#{Date.today.strftime("%Y")} by Dell, Inc",
-        "date" => I18n.t("unknown"),
-        "order" => "alpha",
-        "url" => "/",
-        "format" => "markdown"
-      }
-
-      crowbar_path = docs_path.join("crowbar.yml")
-
-      templates = [
-        docs_path.children.delete(crowbar_path),
-        docs_path.children
-      ].flatten.compact
-
-      templates.each do |book|
-        next unless book.extname == ".yml"
-
-        begin
-          content = YAML.load_file(
-            book
-          )
-        rescue
-          next
-        end
-        
-        next if content["root"].nil?
-
-        topic = content["root"]
-        meta_data = meta_root.deep_merge topic["topic_meta_data"]
-        barclamp = book.basename(".yml").to_s.gsub("-", "_")
-        children = topic.reject { |k, v| k == "topic_meta_data" }
-
-        generate_topics books, meta_data, barclamp, [], children
-      end
-    end
-
-    File.open(docs_index, "w") do |output|
-      YAML.dump(@books, output)
-    end
-  end
-
-  def generate_topics(books, meta_data, barclamp, parent, topics)
-    return if topics.nil?
-
-    topics.each do |id, details|
-      next if id == "topic_meta_data"
-
-      topic_meta_data = if details["topic_meta_data"].is_a? Hash
-        meta_data.deep_merge details["topic_meta_data"]
-      else
-        meta_data
-      end
-
-      documentation = docs_path.join("default", barclamp, "#{topic_meta_data["file"] || id}.md")
-
-      path = parent.dup
-      path.push id
-
-      if documentation.file?
-        title = File.open(
-          documentation,
-          "r"
-        ).readline[/(#*)(.*)/, 2].strip rescue id.humanize
-
-        order = if topic_meta_data["order"].nil?
-          "%06d %s" % [
-            9999,
-            title
-          ]
-        else
-          "%06d %s" % [
-            topic_meta_data["order"].to_i,
-            title
-          ]
-        end
-
-        t = {
-          "id" => id,
-          "title" => title,
-          "file" => documentation.to_s.gsub("#{Rails.root}/", ""),
-          "path" => path,
-          "sort" => order
-        }
-      else
-        t = {
-          "id" => id,
-          "title" => "File is missing",
-          "path" => path,
-          "sort" => "999999"
-        }
-      end
-
-      topic_meta_data.deep_merge! t
-      reference = books
-
-      path.each do |segment|
-        reference["topics"] ||= {}
-        reference["topics"][segment] ||= {}
-
-        reference = reference["topics"][segment]
-      end
-
-      %w(id title path sort).each do |key|
-        topic_meta_data.delete(key) if reference.keys.include? key
-      end
-
-      reference.deep_merge! topic_meta_data
-
-      children = details.reject { |k, v| k == "topic_meta_data" }
-      generate_topics books, meta_data, barclamp, path, children
-
-      sorted = reference["topics"].to_a.sort do |x, y|
-        x.last["sort"] <=> y.last["sort"]
-      end
-
-      reference["topics"] = Hash[sorted]
-    end
   end
 end
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/views/docs/index.html.haml
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/app/views/docs/index.html.haml
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/views/docs/index.html.haml
@@ -6,7 +6,28 @@
 .panel.panel-default
   .panel-heading
     %h2
-      = t(".index")
+      = t(".deployment_guide")
 
-  %ul.list-group.list-tree
-    = render :partial => "tree", :locals => { :topics => @index["topics"] }
+  %ul.list-group
+    %li.list-group-item
+      = link_to t("nav.crowbar_dg"), "docs/html/book.cloud.deploy.html", :target => "_blank"
+      = surround "(", ")" do
+        = link_to t(".pdf"), "docs/susecloud-deployment_en.pdf", :target => "_blank"
+
+  .panel-heading
+    %h2
+      = t(".susecloud_guides")
+
+  %ul.list-group
+    %li.list-group-item
+      = link_to t("nav.crowbar_ug"), "docs/html/book.cloud.user.html", :target => "_blank"
+      = surround "(", ")" do
+        = link_to t(".pdf"), "docs/susecloud-user_en.pdf", :target => "_blank"
+
+    %li.list-group-item
+      = link_to t("nav.crowbar_ag"), "docs/html/book.cloud.admin.html", :target => "_blank"
+      = surround "(", ")" do
+        = link_to t(".pdf"), "docs/susecloud-admin_en.pdf", :target => "_blank"
+
+    %li.list-group-item
+      = t(".online", :url => "http://crowbar.github.io")
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/docs/html
===================================================================
--- /dev/null
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/docs/html
@@ -0,0 +1 @@
+/usr/share/doc/manual/susecloud-manuals_en
\ No newline at end of file
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/docs/susecloud-admin_en.pdf
===================================================================
--- /dev/null
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/docs/susecloud-admin_en.pdf
@@ -0,0 +1 @@
+/usr/share/doc/manual/susecloud-admin_en-pdf/susecloud-admin_en.pdf
\ No newline at end of file
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/docs/susecloud-deployment_en.pdf
===================================================================
--- /dev/null
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/docs/susecloud-deployment_en.pdf
@@ -0,0 +1 @@
+/usr/share/doc/manual/susecloud-deployment_en-pdf/susecloud-deployment_en.pdf
\ No newline at end of file
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/docs/susecloud-user_en.pdf
===================================================================
--- /dev/null
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/public/docs/susecloud-user_en.pdf
@@ -0,0 +1 @@
+/usr/share/doc/manual/susecloud-user_en-pdf/susecloud-user_en.pdf
\ No newline at end of file
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/index/index.html
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/index/index.html
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/index/index.html
@@ -1,15 +1,127 @@
-<html>
+<html lang="en">
   <head>
+    <title>
+      SUSE Cloud: Link to Admin Server
+    </title>
+    <style type="text/css">
+      body {
+        background-color: #f5f5f5;
+        margin: 0;
+        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
+        font-size: 14px;
+        line-height: 1.42857;
+        color: #333333;
+      }
+
+      header {
+        padding: 15px 15px 12px;
+        background-color: #3a3e40;
+        border-bottom: 1px solid #222425;
+      }
+
+      h1 {
+        font-size: 21px;
+        line-height: 32px;
+      }
+
+      a {
+        text-decoration: none;
+        color: #439539;
+      }
+
+      .btn a {
+        text-decoration: none;
+        color: #fff;
+      }
+
+      .btn {
+        display: inline-block;
+        background-color: #7ac142;
+        margin-bottom: 0;
+        text-align: center;
+        vertical-align: middle;
+        cursor: pointer;
+        border: 1px solid #439539;
+        padding: 8px 12px;
+        border-radius: 4px;
+      }
+
+      .btn:hover {
+        background-color: #439539
+      }
+
+      .navbar-brand {
+        padding: 15px 15px 12px;
+        color: white;
+        font-size: 21px;
+        line-height: 20px;
+      }
+
+      .title {
+        font-weight: bold;
+      }
+
+      .slogan {
+        font-size: 18px;
+      }
+
+      .content {
+        padding: 10px 15px;
+        min-height: 300px;
+      }
+
+      footer {
+        text-align: center;
+      }
+
+      footer span:first-child:before {
+        content: "";
+      }
+
+      footer span:before {
+        content: " - ";
+      }
+
+      .container {
+        width: 1170px;
+        margin-right: auto;
+        margin-left: auto;
+        padding-left: 15px;
+        padding-right: 15px;
+      }
+    </style>
   </head>
   <body>
-    <h1>Admin Server Link Page</h1>
+    <header>
+      <div class="container">
+        <a href="/" class="navbar-brand">
+          <span class="title">SUSE Cloud</span>
+          <span class="slogan">Crowbar</span>
+        </a>
+      </div>
+    </header>
+
+    <div class="container">
+      <div class="content">
+        <h1>The Crowbar Admin Server runs on port 3000</h1>
+
+        <div class="btn">
+          <a id="crowbar" href="http://127.0.0.1:3000">Click here to access the Crowbar Admin Server on port 3000</a>
+        </div>
+      </div>
+    </div>
 
-    <a id="crowbar" href="http://127.0.0.1:3000">
-      crowbar
-    </a>
+    <footer>
+      <span>
+        <a href="https://www.suse.com/products/suse-cloud" target="_blank" />SUSE Cloud 4</a>
+      </span>
+      <span>
+        Provided by <a href="https://www.suse.com" target="_new">SUSE</a>
+      </span>
+    </footer>
 
     <script>
-      document.getElementById("crowbar").href="http://"+window.location.host+":3000";
+      document.getElementById("crowbar").href="http://" + window.location.host + ":3000";
     </script>
   </body>
 </html>
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/views/shared/_header.html.haml
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/app/views/shared/_header.html.haml
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/views/shared/_header.html.haml
@@ -11,4 +11,4 @@
       = link_to page_title, root_path, :class => "navbar-brand"
 
     .collapse.navbar-collapse.navbar-right
-      = render_navigation :expand_all => true, :skip_if_empty => true, :renderer => :bootstrap
+      = render_navigation :expand_all => true, :skip_if_empty => true, :renderer => Utils::BootstrapNavigation
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/views/docs/_tree.html.haml
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/app/views/docs/_tree.html.haml
+++ /dev/null
@@ -1,7 +0,0 @@
-- topics.each do |id, topic|
-  %li.list-group-item
-    = link_to topic["title"], topic_docs_path(:id => topic["path"])
-
-    - if topic["topics"]
-      %ul
-        = render :partial => "tree", :locals => { :topics => topic["topics"] }
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/app/views/docs/show.html.haml
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/app/views/docs/show.html.haml
+++ /dev/null
@@ -1,29 +0,0 @@
-.row
-  .col-xs-12
-    %h1.page-header
-      = t(".title")
-
-      %small
-        = t(".details", :date => @topic["date"], :author => @topic["author"])
-
-        .btn-group.pull-right
-          = link_to icon_tag("home"), docs_path, :title => t(".root"), :class => "btn btn-default"
-          = link_to icon_tag("arrow-up"), @parent["path"] ? topic_docs_path(:id => @parent["path"]) : docs_path, :title => t(".parent"), :class => "btn btn-default"
-
-.row
-  .col-xs-8
-    .panel.panel-default
-      - if @markdown
-        = raw @markdown.output
-      - else
-        .alert.alert-danger
-          = t(".parse_failed")
-
-  .col-xs-4
-    .panel.panel-default
-      .panel-heading
-        %h2
-          = t(".index")
-
-      %ul.list-group.list-tree
-        = render :partial => "tree", :locals => { :topics => @index["topics"] }
Index: crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/config/locales/crowbar/en.yml
===================================================================
--- crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7.orig/crowbar_framework/config/locales/crowbar/en.yml
+++ crowbar-barclamp-crowbar-1.8+git.1409581054.e0ea0e7/crowbar_framework/config/locales/crowbar/en.yml
@@ -34,6 +34,7 @@ en:
     proposals: 'Proposals'
     help: 'Help'
     crowbar_wiki: 'Online Help'
+    crowbar_ag: 'Admin Guide'
     crowbar_ug: 'Users Guide'
     crowbar_dg: 'Deployment Guide'
     documentation: 'Documentation'
@@ -193,17 +194,13 @@ en:
   docs:
     index:
       title: 'Documentation'
-      details: 'Updated at %{date} by %{author}'
-      index: 'Topics'
-
-    show:
-      title: 'Documentation'
-      details: 'Updated at %{date} by %{author}'
-      root: 'Back to index'
-      parent: 'One page up'
-      index: 'Topics'
-      parse_failed: 'Failed to parse the documentation'
-      topic_missing: 'Failed to find the requested topic'
+      pdf: 'PDF'
+      deployment_guide: 'Refer to the following deployment guide for details on Crowbar'
+      susecloud_guides: 'Additional SUSE Cloud specific guides that may be useful'
+      online: |
+        You can find additional up-to-date information about Crowbar on
+        the <a href='%{url}' target='_blank'>project webpage</a>, but do note
+        that it may be for a different version.
 
   model:
     node:
