cmstyle 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/lib/app/assets/images/cm_app.ico +0 -0
  2. data/lib/app/assets/images/cm_app.png +0 -0
  3. data/lib/app/assets/images/cm_app_30x30.png +0 -0
  4. data/lib/app/assets/stylesheets/application.css +9 -78
  5. data/lib/app/views/layouts/_footer.slim +12 -5
  6. data/lib/app/views/layouts/application.slim +27 -18
  7. data/lib/assets/images/glyphicons-halflings-white.png +0 -0
  8. data/lib/assets/images/glyphicons-halflings.png +0 -0
  9. data/lib/assets/javascripts/bootstrap.js +165 -31
  10. data/lib/assets/javascripts/prettify.js +0 -0
  11. data/lib/assets/stylesheets/bootstrap-responsive.css +5 -1
  12. data/lib/assets/stylesheets/bootstrap.css +335 -189
  13. data/lib/assets/stylesheets/prettify.css +0 -0
  14. data/lib/cmstyle.rb +4 -1
  15. data/lib/cmstyle/navigation_helpers.rb +165 -0
  16. data/lib/cmstyle/version.rb +1 -1
  17. metadata +6 -83
  18. data/lib/app/assets/images/novartis-micro.png +0 -0
  19. data/lib/app/assets/images/novartis-small.png +0 -0
  20. data/lib/app/views/cmstyle/_footer.slim +0 -5
  21. data/lib/app/views/cmstyle/_header.slim +0 -40
  22. data/lib/app/views/cmstyle/_modals.slim +0 -62
  23. data/lib/assets/images/8020select.png +0 -0
  24. data/lib/assets/images/adoptahydrant.png +0 -0
  25. data/lib/assets/images/apple-touch-icon-114-precomposed.png +0 -0
  26. data/lib/assets/images/apple-touch-icon-144-precomposed.png +0 -0
  27. data/lib/assets/images/apple-touch-icon-57-precomposed.png +0 -0
  28. data/lib/assets/images/apple-touch-icon-72-precomposed.png +0 -0
  29. data/lib/assets/images/bootstrap-example-carousel.png +0 -0
  30. data/lib/assets/images/bootstrap-example-fluid.jpg +0 -0
  31. data/lib/assets/images/bootstrap-example-hero.jpg +0 -0
  32. data/lib/assets/images/bootstrap-example-marketing-narrow.png +0 -0
  33. data/lib/assets/images/bootstrap-example-signin.png +0 -0
  34. data/lib/assets/images/bootstrap-example-starter.jpg +0 -0
  35. data/lib/assets/images/bootstrap-example-sticky-footer.png +0 -0
  36. data/lib/assets/images/bootstrap-mdo-sfmoma-01.jpg +0 -0
  37. data/lib/assets/images/bootstrap-mdo-sfmoma-02.jpg +0 -0
  38. data/lib/assets/images/bootstrap-mdo-sfmoma-03.jpg +0 -0
  39. data/lib/assets/images/breakingnews.png +0 -0
  40. data/lib/assets/images/browser-icon-chrome.png +0 -0
  41. data/lib/assets/images/browser-icon-firefox.png +0 -0
  42. data/lib/assets/images/browser-icon-safari.png +0 -0
  43. data/lib/assets/images/bs-docs-bootstrap-features.png +0 -0
  44. data/lib/assets/images/bs-docs-masthead-pattern.png +0 -0
  45. data/lib/assets/images/bs-docs-responsive-illustrations.png +0 -0
  46. data/lib/assets/images/bs-docs-twitter-github.png +0 -0
  47. data/lib/assets/images/fleetio.png +0 -0
  48. data/lib/assets/images/gathercontent.png +0 -0
  49. data/lib/assets/images/grid-baseline-20px.png +0 -0
  50. data/lib/assets/images/jshint.png +0 -0
  51. data/lib/assets/images/kippt.png +0 -0
  52. data/lib/assets/images/less-logo-large.png +0 -0
  53. data/lib/assets/images/logo.png +0 -0
  54. data/lib/assets/images/noise.png +0 -0
  55. data/lib/assets/images/responsive-illustrations.png +0 -0
  56. data/lib/assets/images/slide-01.jpg +0 -0
  57. data/lib/assets/images/slide-02.jpg +0 -0
  58. data/lib/assets/images/slide-03.jpg +0 -0
  59. data/lib/assets/images/small-hogan-icon.png +0 -0
  60. data/lib/assets/images/soundready.png +0 -0
  61. data/lib/assets/images/stripes.png +0 -0
  62. data/lib/assets/javascripts/application.js +0 -154
  63. data/lib/assets/javascripts/bootstrap-affix.js +0 -19
  64. data/lib/assets/javascripts/bootstrap-alert.js +0 -56
  65. data/lib/assets/javascripts/bootstrap-button.js +0 -96
  66. data/lib/assets/javascripts/bootstrap-carousel.js +0 -63
  67. data/lib/assets/javascripts/bootstrap-collapse.js +0 -88
  68. data/lib/assets/javascripts/bootstrap-dropdown.js +0 -145
  69. data/lib/assets/javascripts/bootstrap-modal.js +0 -114
  70. data/lib/assets/javascripts/bootstrap-phantom.js +0 -21
  71. data/lib/assets/javascripts/bootstrap-popover.js +0 -107
  72. data/lib/assets/javascripts/bootstrap-scrollspy.js +0 -31
  73. data/lib/assets/javascripts/bootstrap-tab.js +0 -80
  74. data/lib/assets/javascripts/bootstrap-tooltip.js +0 -153
  75. data/lib/assets/javascripts/bootstrap-transition.js +0 -13
  76. data/lib/assets/javascripts/bootstrap-typeahead.js +0 -199
  77. data/lib/assets/javascripts/compiler.js +0 -348
  78. data/lib/assets/javascripts/hogan-1.0.5.amd.js +0 -576
  79. data/lib/assets/javascripts/hogan-1.0.5.common.js +0 -576
  80. data/lib/assets/javascripts/hogan-1.0.5.js +0 -572
  81. data/lib/assets/javascripts/hogan-1.0.5.mustache.js +0 -619
  82. data/lib/assets/javascripts/hogan.js +0 -545
  83. data/lib/assets/javascripts/index.js +0 -848
  84. data/lib/assets/javascripts/jquery.js +0 -2
  85. data/lib/assets/javascripts/mustache.js +0 -90
  86. data/lib/assets/javascripts/phantom.js +0 -63
  87. data/lib/assets/javascripts/qunit.js +0 -1510
  88. data/lib/assets/javascripts/release.js +0 -74
  89. data/lib/assets/javascripts/server.js +0 -14
  90. data/lib/assets/javascripts/spec.js +0 -77
  91. data/lib/assets/javascripts/template-1.0.5.js +0 -233
  92. data/lib/assets/javascripts/template.js +0 -233
  93. data/lib/assets/javascripts/web_templates.js +0 -32
  94. data/lib/assets/stylesheets/css-tests.css +0 -139
  95. data/lib/assets/stylesheets/docs.css +0 -1015
  96. data/lib/assets/stylesheets/layout.css +0 -206
  97. data/lib/assets/stylesheets/qunit.css +0 -232
  98. data/lib/assets/stylesheets/skeleton.css +0 -236
File without changes
@@ -1,4 +1,5 @@
1
- require "cmstyle/version"
1
+ require 'cmstyle/version'
2
+ require 'cmstyle/navigation_helpers'
2
3
  require 'cmstyle/railtie' if defined?(Rails)
3
4
 
4
5
  module CMStyle
@@ -7,3 +8,5 @@ module CMStyle
7
8
  end
8
9
  end
9
10
  end
11
+
12
+ ActionView::Base.send :include, CMStyle::NavigationHelpers
@@ -0,0 +1,165 @@
1
+ module CMStyle
2
+
3
+ module NavigationHelpers
4
+
5
+
6
+ def build_opening_tag(name,pre_spaces=0,attributes=nil,newline="\n")
7
+ buffer = " " * pre_spaces + "<" + name.to_s
8
+
9
+ attributes.each_pair do |key,value|
10
+ next if value == nil || value.empty?
11
+ buffer += " #{key.to_s}=\"#{value.to_s}\""
12
+ end
13
+
14
+ buffer += ">"
15
+ buffer += newline.to_s
16
+ end
17
+
18
+ def build_closing_tag(name,pre_spaces,newline="\n")
19
+ buffer = " " * pre_spaces + "</" + name.to_s
20
+ buffer += ">"
21
+ buffer += newline.to_s
22
+ end
23
+
24
+ def build_list_item(item,pre_space,active_id)
25
+ buffer = ""
26
+
27
+ # prepare item classes
28
+ item_class = []
29
+ item_class << 'active' if item[:id] == active_id
30
+ if item[:class]
31
+ item[:class].split(" ").each do |c|
32
+ item_class << c
33
+ end
34
+ end
35
+
36
+ # build attribute list for li node
37
+ attributes = { :class => item_class.join(" "), :title => item[:tooltip]}
38
+
39
+ # build li open tag
40
+ buffer << build_opening_tag(:li,pre_space,attributes)
41
+
42
+ # dont place an achnor tag when vertical divider
43
+ unless item_class.include?('divider-vertical') || item_class.include?('divider')
44
+ attributes = {:href => item[:href]}
45
+ buffer << build_opening_tag(:a,pre_space+2,attributes,nil)
46
+
47
+ if item[:icon]
48
+ buffer << build_opening_tag(:i,0,{:class => item[:icon]},nil)
49
+ buffer << build_closing_tag(:i,0," ")
50
+ end
51
+
52
+ buffer << item[:title].to_s
53
+ buffer << build_closing_tag(:a,0)
54
+ end
55
+ buffer << build_closing_tag(:li,pre_space)
56
+
57
+ end
58
+
59
+ # build navigation bar
60
+ #
61
+ # <b>mandatory arguments</b>
62
+ # * definiton_array => array of hash entries of the form {:id => :first, :titel => 'nav1', :href => '#', :tooltip => 'This is nav1 tooltip', :class => nil , :icon => 'icon-user', :sub => {} }
63
+ # <b>optional arguments</b>
64
+ # * active_id => id of active navigation entry which should be highlighted
65
+ def build_navbar(defintion_array, active_id = :none, custom_class = 'nav')
66
+ return nil unless defintion_array.class == Array
67
+
68
+ buffer = "<div class=\"navbar navbar-fixed-top\">\n"
69
+ buffer << " <div class=\"navbar-inner\">\n"
70
+ buffer << " <div class=\"container-fluid\">\n"
71
+ buffer << " <a href=\"/\" class=\"brand\">#{APPLICATION_NAME}</a>\n"
72
+ buffer << " <button type=\"button\" class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n"
73
+ buffer << " <span class=\"icon-bar\"></span>\n"
74
+ buffer << " <span class=\"icon-bar\"></span>\n"
75
+ buffer << " <span class=\"icon-bar\"></span>\n"
76
+ buffer << " </button>\n"
77
+ buffer << " <div class=\"nav-collapse collapse\">\n"
78
+
79
+ # dynamic menu build
80
+ buffer << build_opening_tag(:ul,8,{:class => custom_class})
81
+ defintion_array.each_with_index do |item,index|
82
+ if item[:sub] == nil || item[:sub].class != Array
83
+ # standard navigation entry
84
+ buffer << build_list_item(item,12,active_id)
85
+ else
86
+ # we build a submenu
87
+ buffer << build_opening_tag(:li,10,{:class => 'dropdown'})
88
+
89
+ buffer << build_opening_tag(:a,12,{:id => "drop#{index}", :href => '#', :class => 'dropdown-toggle', 'data-toggle' => 'dropdown'},nil)
90
+ buffer << item[:title].to_s
91
+ buffer << build_opening_tag(:b,1,{:class => 'caret'},nil)
92
+ buffer << build_closing_tag(:b,0)
93
+ buffer << build_closing_tag(:a,12)
94
+
95
+ buffer << build_opening_tag(:ul,12,{:class => 'dropdown-menu', 'aria-labelledby' => "drop#{index}"})
96
+ # loop over submenu entries
97
+ item[:sub].each do |item|
98
+ buffer << build_list_item(item,14,active_id)
99
+ end
100
+
101
+ buffer << build_closing_tag(:ul,12)
102
+ buffer << build_closing_tag(:li,10)
103
+ end
104
+
105
+ end
106
+ buffer << build_closing_tag(:ul,8)
107
+
108
+ # search form with user
109
+ buffer << get_search if defined?(get_search)
110
+ # buffer << " <form class=\"navbar-search pull-right\">\n"
111
+ # buffer << " <span style=\"margin-right:10px;\"><i class=\"icon-user\"></i> Thomas Steiner</span>\n"
112
+ # buffer << " <input type=\"text\" class=\"search-query\" placeholder=\"Search\"></input>\n"
113
+ # buffer << " </form>\n"
114
+
115
+ buffer << " </div>\n"
116
+ buffer << " </div>\n"
117
+ buffer << " </div>\n"
118
+ buffer << "</div>\n"
119
+ render :inline => buffer
120
+ end
121
+
122
+ # build navigation (tabs, pills)
123
+ #
124
+ # <b>mandatory arguments</b>
125
+ # * definiton_array => array of hash entries of the form {:id => :first, :titel => 'nav1', :href => '#', :tooltip => 'This is nav1 tooltip', :class => nil , :icon => 'icon-user', :sub => {} }
126
+ # <b>optional arguments</b>
127
+ # * active_id => id of active navigation entry which should be highlighted
128
+ # * class => "nav nav-tabs" for tabbed navigation or "nav nav-pills" for pilled navigation
129
+ def build_nav(definition_array,active_id = :none, custom_class = "nav nav-tabs")
130
+ return nil unless definition_array.class == Array
131
+
132
+ buffer = build_opening_tag(:ul,0,{:class => custom_class})
133
+
134
+ definition_array.each do |item,index|
135
+ if item[:sub] == nil || item[:sub].class != Array
136
+ buffer << build_list_item(item,2,active_id)
137
+ else
138
+ # we build a submenu
139
+ buffer << build_opening_tag(:li,10,{:class => 'dropdown'})
140
+ buffer << build_opening_tag(:a,12,{:class => 'dropdown-toggle', 'data-toggle' => 'dropdown', :href => '#'},nil)
141
+ buffer << item[:title].to_s
142
+ buffer << build_opening_tag(:b,1,{:class => 'caret'},nil)
143
+ buffer << build_closing_tag(:b,0)
144
+ buffer << build_closing_tag(:a,12)
145
+ buffer << build_opening_tag(:ul,12,{:class => 'dropdown-menu'})
146
+
147
+ # loop over submenu entries
148
+ item[:sub].each do |item|
149
+ buffer << build_list_item(item,14,active_id)
150
+ end
151
+
152
+ buffer << build_closing_tag(:ul,12)
153
+ buffer << build_closing_tag(:li,10)
154
+ end
155
+ end
156
+
157
+ buffer << build_closing_tag(:ul,0)
158
+ render :inline => buffer
159
+ end
160
+
161
+ end # module
162
+
163
+ end # module
164
+
165
+
@@ -1,3 +1,3 @@
1
1
  module CMStyle
2
- VERSION = "0.0.13"
2
+ VERSION = "0.0.14"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmstyle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-05 00:00:00.000000000 Z
12
+ date: 2012-12-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -34,101 +34,24 @@ executables: []
34
34
  extensions: []
35
35
  extra_rdoc_files: []
36
36
  files:
37
- - lib/app/assets/images/novartis-micro.png
38
- - lib/app/assets/images/novartis-small.png
37
+ - lib/app/assets/images/cm_app.ico
38
+ - lib/app/assets/images/cm_app.png
39
+ - lib/app/assets/images/cm_app_30x30.png
39
40
  - lib/app/assets/javascripts/application.js
40
41
  - lib/app/assets/stylesheets/application.css
41
- - lib/app/views/cmstyle/_footer.slim
42
- - lib/app/views/cmstyle/_header.slim
43
- - lib/app/views/cmstyle/_modals.slim
44
42
  - lib/app/views/layouts/_footer.slim
45
43
  - lib/app/views/layouts/_header.slim
46
44
  - lib/app/views/layouts/_modals.slim
47
45
  - lib/app/views/layouts/application.slim
48
- - lib/assets/images/8020select.png
49
- - lib/assets/images/adoptahydrant.png
50
- - lib/assets/images/apple-touch-icon-114-precomposed.png
51
- - lib/assets/images/apple-touch-icon-144-precomposed.png
52
- - lib/assets/images/apple-touch-icon-57-precomposed.png
53
- - lib/assets/images/apple-touch-icon-72-precomposed.png
54
- - lib/assets/images/bootstrap-example-carousel.png
55
- - lib/assets/images/bootstrap-example-fluid.jpg
56
- - lib/assets/images/bootstrap-example-hero.jpg
57
- - lib/assets/images/bootstrap-example-marketing-narrow.png
58
- - lib/assets/images/bootstrap-example-signin.png
59
- - lib/assets/images/bootstrap-example-starter.jpg
60
- - lib/assets/images/bootstrap-example-sticky-footer.png
61
- - lib/assets/images/bootstrap-mdo-sfmoma-01.jpg
62
- - lib/assets/images/bootstrap-mdo-sfmoma-02.jpg
63
- - lib/assets/images/bootstrap-mdo-sfmoma-03.jpg
64
- - lib/assets/images/breakingnews.png
65
- - lib/assets/images/browser-icon-chrome.png
66
- - lib/assets/images/browser-icon-firefox.png
67
- - lib/assets/images/browser-icon-safari.png
68
- - lib/assets/images/bs-docs-bootstrap-features.png
69
- - lib/assets/images/bs-docs-masthead-pattern.png
70
- - lib/assets/images/bs-docs-responsive-illustrations.png
71
- - lib/assets/images/bs-docs-twitter-github.png
72
- - lib/assets/images/fleetio.png
73
- - lib/assets/images/gathercontent.png
74
46
  - lib/assets/images/glyphicons-halflings-white.png
75
47
  - lib/assets/images/glyphicons-halflings.png
76
- - lib/assets/images/grid-baseline-20px.png
77
- - lib/assets/images/jshint.png
78
- - lib/assets/images/kippt.png
79
- - lib/assets/images/less-logo-large.png
80
- - lib/assets/images/logo.png
81
- - lib/assets/images/noise.png
82
- - lib/assets/images/responsive-illustrations.png
83
- - lib/assets/images/slide-01.jpg
84
- - lib/assets/images/slide-02.jpg
85
- - lib/assets/images/slide-03.jpg
86
- - lib/assets/images/small-hogan-icon.png
87
- - lib/assets/images/soundready.png
88
- - lib/assets/images/stripes.png
89
- - lib/assets/javascripts/application.js
90
- - lib/assets/javascripts/bootstrap-affix.js
91
- - lib/assets/javascripts/bootstrap-alert.js
92
- - lib/assets/javascripts/bootstrap-button.js
93
- - lib/assets/javascripts/bootstrap-carousel.js
94
- - lib/assets/javascripts/bootstrap-collapse.js
95
- - lib/assets/javascripts/bootstrap-dropdown.js
96
- - lib/assets/javascripts/bootstrap-modal.js
97
- - lib/assets/javascripts/bootstrap-phantom.js
98
- - lib/assets/javascripts/bootstrap-popover.js
99
- - lib/assets/javascripts/bootstrap-scrollspy.js
100
- - lib/assets/javascripts/bootstrap-tab.js
101
- - lib/assets/javascripts/bootstrap-tooltip.js
102
- - lib/assets/javascripts/bootstrap-transition.js
103
- - lib/assets/javascripts/bootstrap-typeahead.js
104
48
  - lib/assets/javascripts/bootstrap.js
105
- - lib/assets/javascripts/compiler.js
106
- - lib/assets/javascripts/hogan-1.0.5.amd.js
107
- - lib/assets/javascripts/hogan-1.0.5.common.js
108
- - lib/assets/javascripts/hogan-1.0.5.js
109
- - lib/assets/javascripts/hogan-1.0.5.mustache.js
110
- - lib/assets/javascripts/hogan.js
111
49
  - lib/assets/javascripts/html5.js
112
- - lib/assets/javascripts/index.js
113
- - lib/assets/javascripts/jquery.js
114
- - lib/assets/javascripts/mustache.js
115
- - lib/assets/javascripts/phantom.js
116
50
  - lib/assets/javascripts/prettify.js
117
- - lib/assets/javascripts/qunit.js
118
- - lib/assets/javascripts/release.js
119
- - lib/assets/javascripts/server.js
120
- - lib/assets/javascripts/spec.js
121
- - lib/assets/javascripts/template-1.0.5.js
122
- - lib/assets/javascripts/template.js
123
- - lib/assets/javascripts/web_templates.js
124
51
  - lib/assets/stylesheets/bootstrap-responsive.css
125
52
  - lib/assets/stylesheets/bootstrap.css
126
- - lib/assets/stylesheets/css-tests.css
127
- - lib/assets/stylesheets/docs.css
128
- - lib/assets/stylesheets/layout.css
129
53
  - lib/assets/stylesheets/prettify.css
130
- - lib/assets/stylesheets/qunit.css
131
- - lib/assets/stylesheets/skeleton.css
54
+ - lib/cmstyle/navigation_helpers.rb
132
55
  - lib/cmstyle/railtie.rb
133
56
  - lib/cmstyle/version.rb
134
57
  - lib/cmstyle.rb
@@ -1,5 +0,0 @@
1
- footer class="footer"
2
- p class="pull-right"
3
- | #{APPLICATION_NAME} #{APPLICATION_VERSION} (#{ link_to "Rev. xyz", "revision.log", :data => {:toggle=>"modal", :target=>"#Revision"}}) - Database (#{APPLICATION_DATABASE})
4
- p
5
- | Novartis Institutes for BioMedical Research &copy; #{Time.now.strftime("%Y")}
@@ -1,40 +0,0 @@
1
- div class="navbar navbar-fixed-top"
2
- div class="navbar-inner"
3
- div class="container-fluid"
4
- a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"
5
- span class="icon-bar"
6
- span class="icon-bar"
7
- span class="icon-bar"
8
- a id="brand" class="brand" href="/#"
9
- img src="#{asset_path 'novartis-micro.png'}" height="25px"style="margin-top:-4px;" #{APPLICATION_NAME}
10
- div class="nav-collapse"
11
- ul class="nav pull-right"
12
- = form_tag("/search", :method => "get", :class => 'navbar-search pull-left') do
13
- div class="input-append"
14
- = text_field_tag 'search-query', '', :class => "span2", :placeholder => 'Suchen...'
15
- button type="submit" class="btn"
16
- i class="icon-search icon-black"
17
- li id="fat-menu" class="dropdown"
18
- a href="#" class="dropdown-toggle" data-toggle="dropdown"
19
- i class="icon-lock icon-black"
20
- | Admin
21
- b class="caret"
22
- ul class="dropdown-menu"
23
- li
24
- a href="#settings"
25
- i class="icon-eye-open icon-black"
26
- | Settings
27
- li id="fat-menu" class="dropdown"
28
- a href="#" class="dropdown-toggle" data-toggle="dropdown"
29
- i class="icon-question-sign icon-black"
30
- | Help
31
- b class="caret"
32
- ul class="dropdown-menu"
33
- li
34
- a data-toggle="modal" id="contact" href="#Contact"
35
- i class="icon-envelope icon-black"
36
- | Contact
37
- li
38
- a data-toggle="modal" href="#About"
39
- i class="icon-eye-open icon-black"
40
- | About
@@ -1,62 +0,0 @@
1
- div class="modal hide fade" id="Contact"
2
- div class="modal-header"
3
- <button class="close" data-dismiss="modal">×</button>
4
- h3
5
- == "Contact"
6
- div style="" id="notice"
7
-
8
- div class="modal-body"
9
- = form_for @message, :remote => true, :url => contact_path, :html => { :class => 'form-horizontal', :id => 'contactform' } do |form|
10
- - if @message.errors.any?
11
- div id="errorExplanation"
12
- h2 #{pluralize(@message.errors.count, "error")} prohibited this post from being saved:
13
- ul
14
- = @message.errors.full_messages.each do |msg|
15
- li
16
- = msg
17
- fieldset
18
- div class="control-group"
19
- = form.label :name, :class => 'control-label', :for => :name
20
- div class="controls"
21
- = form.text_field :name, :class => 'required input-xlarge', :minlength => 2
22
- div class="control-group"
23
- = form.label :email, :class => 'control-label', :for => :email
24
- div class="controls"
25
- = form.email_field :email, :class => 'required email input-xlarge'
26
- div class="control-group"
27
- = form.label 'Subject', :class => 'control-label', :for => :subject
28
- div class="controls"
29
- = form.text_field :subject, :class => 'required input-xlarge', :minlength => 2
30
- div class="control-group"
31
- = form.label 'Message', :class => 'control-label', :for => :body
32
- div class="controls"
33
- = form.text_area :body, :class => 'required input-xlarge', :size => '10x5', :minlength => 10
34
-
35
- div class="modal-footer"
36
- <a href="#home" class="btn" data-dismiss="modal">Close</a>
37
-
38
-
39
- div class="modal hide fade" id="Revision"
40
- div class="modal-header"
41
- <button class="close" data-dismiss="modal">×</button>
42
- h3
43
- == "Changelog"
44
- div class="modal-body"
45
-
46
- div class="modal-footer"
47
- <a href="#home" class="btn" data-dismiss="modal">Close</a>
48
-
49
-
50
- div id="About" class="modal hide fade" tabindex="-1" role="dialog"
51
- div class="modal-header"
52
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
53
- h3 id="myModalLabel"
54
- == "Compound Management"
55
- div class="modal-body"
56
- p
57
- == "Compound Management Web Applications & Tools"
58
- br
59
- p
60
- == "Developed by Thomas Steiner & Patrick Kaddu"
61
- div class="modal-footer"
62
- <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>