sushifish 0.9.0 → 0.9.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ # Sushi Fish
2
+
3
+ Sushi Fish is a generator. It is made to be run on a new rails app to give you some cool starting points. It uses ActiveAdmin and Ancestry. It is a fairly raw, developer focused time saver.
4
+
5
+
6
+ ## Setup
7
+
8
+ Add the gem to your Gemfile and run the `bundle` command to install it.
9
+
10
+ ```ruby
11
+ gem 'sushifish'
12
+ ```
13
+
14
+ Run the generator to create the initial files.
15
+
16
+ ```
17
+ rails g sushi
18
+ ```
19
+
20
+ Now go build something awesome.
21
+
@@ -6,27 +6,18 @@ class SushiGenerator < Rails::Generators::Base
6
6
  source_root File.expand_path('../templates', __FILE__)
7
7
  argument :app_name, :type => :string, :default => "website"
8
8
 
9
- # http://stackoverflow.com/questions/6199301/global-access-to-rake-dsl-methods-is-deprecated
10
- # https://github.com/rails/rails/commit/83f257fc4862642af29056cb5b7dfef6e1303754
11
- # Fixed in Rails 3.1?
12
- # def rake_dsl_fix
13
- # gsub_file "Rakefile", "require File.expand_path('../config/application', __FILE__)", "require File.expand_path('../config/application', __FILE__)\nrequire 'rake/dsl_definition'"
14
- #
15
- # gsub_file "Rakefile", "require 'rake'", "require 'rake'\ninclude Rake::DSL"
16
- # end
17
-
18
9
  def create_models
19
10
  generate :model, 'page name:string content:text page_title:string meta_keywords:text meta_description:text sidebar_html:text ancestry:string short_nav:string order_by:integer show_in_nav:boolean'
20
11
  generate :model, 'stylesheet body:text'
21
12
  rake 'db:migrate'
22
- remove_file '/app/models/page.rb'
13
+ remove_file 'app/models/page.rb'
23
14
  copy_file 'page.rb', 'app/models/page.rb'
24
15
  end
25
16
 
26
17
  def indexes_and_defaults
27
18
  migration_template 'indexes_and_defaults.rb', 'db/migrate/indexes_and_defaults.rb'
28
19
  rake 'db:migrate'
29
- end
20
+ end
30
21
 
31
22
  def remove_files
32
23
  remove_file 'public/index.html' if File.exists?('public/index.html')
@@ -39,26 +30,29 @@ class SushiGenerator < Rails::Generators::Base
39
30
  route "match ':section(/:page)' => 'page#show#:page', :as => :link"
40
31
  route "resources :pages, :module => 'admin'"
41
32
  route "resources :messages, :module => 'admin'"
42
- route "resource :stylesheet"
43
- route "get 'stylesheets/open'"
33
+ # route "resource :stylesheet"
34
+ # route "get 'stylesheets/open'"
44
35
  end
45
36
 
46
37
  def copy_files
47
- copy_file 'admin_pages_controller.rb', 'app/controllers/admin/pages_controller.rb'
48
- copy_file 'application_controller.rb', 'app/controllers/application_controller.rb'
49
- copy_file 'dashboard_controller.rb', 'app/controllers/dashboard_controller.rb'
50
- copy_file 'stylesheets_controller.rb', 'app/controllers/stylesheets_controller.rb'
38
+ # copy_file 'admin_pages_controller.rb', 'app/controllers/admin/pages_controller.rb'
39
+ # remove_file 'app/controllers/application_controller.rb'
40
+ # copy_file 'application_controller.rb', 'app/controllers/application_controller.rb'
41
+ # copy_file 'dashboard_controller.rb', 'app/controllers/dashboard_controller.rb'
42
+ # copy_file 'stylesheets_controller.rb', 'app/controllers/stylesheets_controller.rb'
51
43
  copy_file 'page_controller.rb', 'app/controllers/page_controller.rb'
52
44
  copy_file 'page_helper.rb', 'app/helpers/page_helper.rb'
53
45
  copy_file 'index.html.haml', 'app/views/page/index.html.haml'
54
46
  copy_file 'page.html.haml', 'app/views/layouts/page.html.haml'
55
47
  template 'application.html.haml', 'app/views/layouts/application.html.haml'
56
48
  # copy_file 'style.sass', 'public/stylesheets/sass/style.sass'
57
- # copy_file 'reset.sass', 'public/stylesheets/sass/reset.sass'
49
+ copy_file 'reset.css.scss', 'app/assets/stylesheets/reset.css.scss'
58
50
  # copy_file 'admin.sass', 'public/stylesheets/sass/admin.sass'
59
- # copy_file 'layout.sass', 'public/stylesheets/sass/layout.sass'
60
- # copy_file 'superfish.sass', 'public/stylesheets/sass/superfish.sass'
51
+ copy_file 'layout.css.scss', 'app/assets/stylesheets/layout.css.scss'
52
+ copy_file 'superfish.css.scss', 'app/assets/stylesheets/superfish.css.scss'
61
53
  copy_file 'style.css.scss', 'app/assets/stylesheets/style.css.scss'
54
+ remove_file 'app/assets/stylesheets/application.css'
55
+ copy_file 'application.css', 'app/assets/stylesheets/application.css'
62
56
  copy_file 'show.html.haml', 'app/views/page/show.html.haml'
63
57
  copy_file '_header.html.haml', 'app/views/page/_header.html.haml'
64
58
  copy_file '_navigation.html.haml', 'app/views/page/_navigation.html.haml'
@@ -80,21 +74,27 @@ class SushiGenerator < Rails::Generators::Base
80
74
  run "gc -m 'inital commit'"
81
75
  end
82
76
 
83
- # def gems
84
- # gem 'haml', '2.2.24'
85
- # gem 'jquery-rails'
86
- # gem 'ancestry'
87
- #
88
- # gsub_file "Gemfile", /#.*\n/, "\n"
89
- # gsub_file "Gemfile", /\n+/, "\n"
90
- #
91
- # run 'bundle'
92
- # end
93
-
94
- # def jquery_setup
95
- # generate 'jquery:install --ui'
96
- # end
77
+ def gems
78
+ gem 'haml'
79
+ gem 'ancestry'
80
+ gem 'activeadmin'
81
+ gem "meta_search", '>= 1.1.0.pre'
82
+
83
+ run 'bundle'
84
+ end
97
85
 
86
+ def activeadmin
87
+ generate "active_admin:install"
88
+ generate "active_admin:resource Page"
89
+
90
+ remove_file 'app/admin/pages.rb'
91
+ copy_file 'pages.rb', 'app/admin/pages.rb'
92
+
93
+ # app/admin/pages
94
+
95
+ rake 'db:migrate'
96
+ end
97
+
98
98
  def seed_data
99
99
  append_file 'db/seeds.rb', "Stylesheet.create! :body => '/* inject style here. */'\n"
100
100
  append_file 'db/seeds.rb', "Page.create! :name => 'index', :content => 'i am index. i have no data.'"
@@ -0,0 +1,280 @@
1
+ html {
2
+ color: #222222;
3
+ font-size: 13px;
4
+ font-family: "Helvetica Neue", "Lucida Grande", Helvetica, Arial, Verdana, sans-serif; }
5
+
6
+ body {
7
+ background-color: #cccccc;
8
+ #container {
9
+ width: 1024px;
10
+ margin: 0 auto;
11
+ padding: 0;
12
+ #header {
13
+ background-color: #09275e;
14
+ color: white;
15
+ padding: 10px 25px;
16
+ height: 20px;
17
+ .user_nav {
18
+ float: right;
19
+ font-size: 15px; } }
20
+ #navigation {
21
+ background-color: #666666;
22
+ padding: 0 0 0 10px;
23
+ margin: 0;
24
+ height: 30px;
25
+ font-size: 110%;
26
+ ul {
27
+ margin: 0 0 0 0px;
28
+ li {
29
+ padding: 6px 0;
30
+ float: left;
31
+ margin: 0 15px 0 0;
32
+ a, a:visited {
33
+ color: white;
34
+ text-decoration: none;
35
+ padding: 7px 15px; }
36
+ a:hover {
37
+ background: #999999;
38
+ color: #333333;
39
+ padding: 7px 15px; } } } }
40
+ #flash {
41
+ background-color: black; }
42
+ #content {
43
+ background-color: white;
44
+ padding: 10px 20px 25px 20px;
45
+ margin: 0;
46
+ a, a:visited {
47
+ color: #09275e;
48
+ text-decoration: none;
49
+ font-weight: bold; }
50
+ ol.main {
51
+ float: left;
52
+ width: 620px; }
53
+ ul {
54
+ li {
55
+ line-height: 17px;
56
+ letter-spacing: 0.2px; } } }
57
+ .sidebar {
58
+ border-left: 1px solid #c8c8c8;
59
+ width: 290px;
60
+ margin: 0 0 0 10px;
61
+ padding: 0 0 0 10px;
62
+ float: right; }
63
+ #footer {
64
+ background-color: #09275e;
65
+ color: white;
66
+ padding: 10px 20px; } } }
67
+
68
+ h1 {
69
+ font-size: 140%;
70
+ margin: 15px 0; }
71
+
72
+ table {
73
+ margin-bottom: 2em;
74
+ width: 100%; }
75
+
76
+ th {
77
+ border-bottom: 2px solid #cccccc;
78
+ font-weight: bold;
79
+ text-align: left; }
80
+
81
+ td {
82
+ border-bottom: 1px solid #dddddd; }
83
+
84
+ caption, th, td {
85
+ padding: 4px 10px 4px 0; }
86
+
87
+ caption {
88
+ background: #f1f1f1;
89
+ padding: 10px 0;
90
+ margin-bottom: 1em; }
91
+
92
+ tr, td, th {
93
+ vertical-align: middle; }
94
+
95
+ /* Forms */
96
+
97
+ input[type="submit"]::-moz-focus-inner {
98
+ border: none; }
99
+
100
+ /*removes dotted outline on submit buttons when clicking in firefox */
101
+
102
+ form ol.main {
103
+ list-style: none;
104
+ margin: 0 0 1em 0;
105
+ ol {
106
+ margin-left: 0; }
107
+ li {
108
+ margin: 0 0 1em 0;
109
+ list-style-position: outside; }
110
+ ol li {
111
+ margin: 0 0 0.25em 0;
112
+ list-style-position: outside; }
113
+ li.error input {
114
+ background: #fbe3e4; } }
115
+
116
+ form ol {
117
+ list-style: none;
118
+ margin: 0 0 1em 0;
119
+ ol {
120
+ margin-left: 0; }
121
+ li {
122
+ margin: 0 0 1em 0;
123
+ list-style-position: outside; }
124
+ ol li {
125
+ margin: 0 0 0.25em 0;
126
+ list-style-position: outside; }
127
+ li.error input {
128
+ background: #fbe3e4; } }
129
+
130
+ /*list-style-position fixes IE label margin bug */
131
+
132
+ p.inline-errors {
133
+ color: #d12f19; }
134
+
135
+ form {
136
+ ol li.file {
137
+ background: #e1e1e1;
138
+ border: 1px solid #c8c8c8;
139
+ padding: 10px; }
140
+ abbr {
141
+ border-bottom: 0; } }
142
+
143
+ label {
144
+ display: block; }
145
+
146
+ .required label {
147
+ font-weight: bold; }
148
+
149
+ .checkbox_field label, .radio_field label {
150
+ font-weight: normal; }
151
+
152
+ a.cancel {
153
+ color: #7d0d0d; }
154
+
155
+ .inline-hints {
156
+ font-size: 0.8em;
157
+ color: #666666;
158
+ margin-bottom: 0.25em; }
159
+
160
+ /* Fieldsets */
161
+
162
+ fieldset {
163
+ margin: 0 0 1.5em 0;
164
+ background: #f1f1f1;
165
+ padding: 1.5em 1.5em 1em 1.5em;
166
+ border: 1px solid #e3e3e3;
167
+ fieldset {
168
+ padding: 0;
169
+ border: 0;
170
+ fieldset {
171
+ padding: 0;
172
+ border: 0; } } }
173
+
174
+ legend {
175
+ font-weight: bold; }
176
+
177
+ fieldset.buttons {
178
+ background: inherit;
179
+ border: 0;
180
+ padding: 0;
181
+ li {
182
+ display: inline; } }
183
+
184
+ .radio fieldset {
185
+ padding: 0;
186
+ margin: 0; }
187
+
188
+ /* Text fields */
189
+
190
+ input {
191
+ &[type="text"], &[type="password"] {
192
+ width: 300px;
193
+ padding: 3px 2px;
194
+ font-size: inherit; }
195
+ &[disabled='disabled'] {
196
+ background-color: #fcfcfc;
197
+ cursor: default; }
198
+ &[type="checkbox"], &[type="radio"] {
199
+ margin: 0 3px 0 0;
200
+ vertical-align: middle;
201
+ position: relative;
202
+ top: -2px; } }
203
+
204
+ .check_boxes {
205
+ label {
206
+ vertical-align: middle;
207
+ padding: 0;
208
+ display: inline;
209
+ font-weight: bold; }
210
+ margin: 0;
211
+ padding: 0;
212
+ li {
213
+ list-style: none; } }
214
+
215
+ .check {
216
+ input {
217
+ vertical-align: top; } }
218
+
219
+ .radio label {
220
+ padding: 0; }
221
+
222
+ /* Textareas */
223
+
224
+ textarea {
225
+ width: 90%;
226
+ height: 200px;
227
+ margin: 0 0.5em 0.5em 0;
228
+ padding: 5px;
229
+ font-size: inherit; }
230
+
231
+ textarea.wide {
232
+ width: 840px;
233
+ height: 200px;
234
+ margin: 0 0.5em 0.5em 0;
235
+ padding: 5px;
236
+ font-size: inherit; }
237
+
238
+ textarea.stylesheet {
239
+ width: 100%;
240
+ height: 450px;
241
+ margin: 0 0.5em 0.5em 0;
242
+ padding: 5px;
243
+ font-size: 120%; }
244
+
245
+ /* Select fields */
246
+
247
+ fieldset .select select {
248
+ width: 200px;
249
+ font-size: 0.9em; }
250
+
251
+ optgroup {
252
+ margin: 0 0 0.5em 0; }
253
+
254
+ /* Date & Time */
255
+
256
+ form ol li {
257
+ &.date ol li, &.time ol li {
258
+ display: inline; }
259
+ &.datetime {
260
+ ol li {
261
+ display: inline-block; }
262
+ select {
263
+ display: inline;
264
+ width: auto; } }
265
+ &.date select, &.time select {
266
+ display: inline;
267
+ width: auto; }
268
+ &.date label, &.time label {
269
+ display: none; } }
270
+
271
+ #flash {
272
+ margin: 0px 0 10px 0;
273
+ width: 620px;
274
+ color: #0f0f0f;
275
+ font-size: 16px; }
276
+
277
+ .alert, .notice {
278
+ background-color: #f5df94;
279
+ border: solid 5px #f5d671;
280
+ padding: 7px; }
@@ -0,0 +1,7 @@
1
+ /*
2
+ * This is a manifest file that'll automatically include all the stylesheets available in this directory
3
+ * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
4
+ * the top of the compiled file, but it's generally better to create a new file per style scope.
5
+ *= require_self
6
+ *= require style
7
+ */
@@ -10,7 +10,6 @@
10
10
  %body{:id => "dashboard"}
11
11
  #container
12
12
  #header
13
- <%= app_name %>
14
13
  .user_nav
15
14
  #navigation
16
15
  = render :partial => "layouts/admin_nav"
@@ -0,0 +1,27 @@
1
+ $minimum_height: 140px;
2
+
3
+ html body {}
4
+
5
+ #container {
6
+ margin: 0 auto;
7
+ width: 980px; }
8
+
9
+ #header {}
10
+
11
+ #navigation {
12
+ width: 100%;
13
+ height: 35px; }
14
+
15
+ #flash {}
16
+
17
+ #content {
18
+ min-height: $minimum_height;
19
+ }
20
+
21
+ #sidebar {
22
+ float: left;
23
+ min-height: $minimum_height;
24
+ }
25
+
26
+ #footer {
27
+ clear: both; }
@@ -6,7 +6,7 @@
6
6
  %meta{:name => 'description', :content => "#{yield(:meta_desc)}"}
7
7
  %meta{:name => "keywords", :content => "#{yield(:meta_keywords)}"}
8
8
 
9
- = stylesheet_link_tag 'superfish', 'open'
9
+ = stylesheet_link_tag :application
10
10
  = javascript_include_tag :defaults
11
11
  = csrf_meta_tag
12
12
 
@@ -23,15 +23,6 @@ class Page < ActiveRecord::Base
23
23
 
24
24
  def nav_path
25
25
  name
26
- # if nominal
27
- # if children.count > 0
28
- # children.first.name
29
- # else
30
- # ""
31
- # end
32
- # else
33
- # name
34
- # end
35
26
  end
36
27
 
37
28
  scope :visible, where("visible = ?", true).order('id')
@@ -0,0 +1,41 @@
1
+ ActiveAdmin.register Page do
2
+ menu :priority => 3
3
+
4
+ # filter :location
5
+ filter :name
6
+
7
+ form do |f|
8
+ f.inputs "Details" do
9
+ f.input :name
10
+ # f.input :location
11
+ f.input :short_nav
12
+ f.input :parent_id, :as => :select, :collection => Page.where(:ancestry => nil)
13
+ # f.input :is_root
14
+ end
15
+ f.inputs "Content" do
16
+ f.input :content, :input_html => { :rows => 50 }
17
+ end
18
+ f.inputs "Search Engine" do
19
+ # f.input :title_tag, :label => 'Title'
20
+ f.input :meta_keywords, :input_html => { :rows => 3 }
21
+ f.input :meta_description, :input_html => { :rows => 5 }
22
+ end
23
+
24
+ f.buttons
25
+ end
26
+
27
+ index do
28
+ column :name
29
+ # column :location
30
+ column "Section", :sortable => :ancestry do |page|
31
+ link_to page.root.name, edit_admin_page_path(page.root)
32
+ end
33
+ # column :order_by
34
+ column :created_at
35
+ column :updated_at
36
+
37
+ default_actions
38
+ end
39
+
40
+
41
+ end
@@ -0,0 +1,21 @@
1
+ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
2
+ margin: 0;
3
+ padding: 0;
4
+ font-size: 100%;
5
+ vertical-align: baseline;
6
+ border: 0;
7
+ outline: 0;
8
+ background: transparent; }
9
+
10
+ ol, ul {
11
+ list-style: none; }
12
+
13
+ blockquote, q {
14
+ quotes: none; }
15
+
16
+ :focus {
17
+ outline: 0; }
18
+
19
+ table {
20
+ border-collapse: collapse;
21
+ border-spacing: 0; }
@@ -1,3 +1,58 @@
1
- html{
2
- font: 13px/1.5em "Lucida Grande", calibri, Tahoma, Arial
3
- }
1
+ @import "reset.css";
2
+ @import "layout.css";
3
+ @import "superfish.css";
4
+
5
+ html {
6
+ font: 13px / 1.5em "Lucida Grande", calibri, Tahoma, Arial; }
7
+
8
+ body {
9
+ #container {
10
+ font-size: 1em;
11
+ #header {
12
+ color: white; }
13
+ #navigation {
14
+ ul {}
15
+ float: left; }
16
+ #content {
17
+ float: left;
18
+ padding: 10px;
19
+ h1, h2 {
20
+ margin: 10px 0 15px; }
21
+ p {
22
+ margin: 10px 0 15px 0; } }
23
+ #sidebar {
24
+ color: #aaaaaa;
25
+ float: left; }
26
+ #footer {
27
+ color: #aaaaaa;
28
+ clear: both; } } }
29
+
30
+ a,a:visited {
31
+ color: #003399;
32
+ text-decoration: none; }
33
+
34
+ h1, h2, h3, h4, h5, h6 {
35
+ font-family: helvetica, arial, verdana, sans-serif;
36
+ font-weight: normal; }
37
+
38
+ h1 {
39
+ font-size: 208%; }
40
+
41
+ h2 {
42
+ font-size: 164%; }
43
+
44
+ h3 {
45
+ font-size: 145%; }
46
+
47
+ h4 {
48
+ font-size: 118%; }
49
+
50
+ // #flash
51
+ // margin: 10px 0
52
+ // width: 720px
53
+ // color: #0f0f0f
54
+ // font-size: 16px
55
+ // .alert, .notice
56
+ // background-color: #F5DF94
57
+ // border: solid 5px #F5D671
58
+ // padding: 7px
@@ -0,0 +1,3 @@
1
+ html{
2
+ font: 13px/1.5em "Lucida Grande", calibri, Tahoma, Arial
3
+ }
@@ -0,0 +1,92 @@
1
+ /*** adding the class sf-navbar in addition to sf-menu creates an all-horizontal nav-bar menu ***/
2
+ .sf-navbar {
3
+ background: #BDD2FF;
4
+ height: 2.5em;
5
+ padding-bottom: 2.5em;
6
+ position: relative;
7
+ }
8
+ .sf-navbar li {
9
+ background: #AABDE6;
10
+ position: static;
11
+ }
12
+ .sf-navbar a {
13
+ border-top: none;
14
+ }
15
+ .sf-navbar li ul {
16
+ width: 44em; /*IE6 soils itself without this*/
17
+ }
18
+ .sf-navbar li li {
19
+ background: #BDD2FF;
20
+ position: relative;
21
+ }
22
+ .sf-navbar li li ul {
23
+ width: 13em;
24
+ }
25
+ .sf-navbar li li li {
26
+ width: 100%;
27
+ }
28
+ .sf-navbar ul li {
29
+ width: auto;
30
+ float: left;
31
+ }
32
+ .sf-navbar a, .sf-navbar a:visited {
33
+ border: none;
34
+ }
35
+ .sf-navbar li.current {
36
+ background: #BDD2FF;
37
+ }
38
+ .sf-navbar li:hover,
39
+ .sf-navbar li.sfHover,
40
+ .sf-navbar li li.current,
41
+ .sf-navbar a:focus, .sf-navbar a:hover, .sf-navbar a:active {
42
+ background: #BDD2FF;
43
+ }
44
+ .sf-navbar ul li:hover,
45
+ .sf-navbar ul li.sfHover,
46
+ ul.sf-navbar ul li:hover li,
47
+ ul.sf-navbar ul li.sfHover li,
48
+ .sf-navbar ul a:focus, .sf-navbar ul a:hover, .sf-navbar ul a:active {
49
+ background: #D1DFFF;
50
+ }
51
+ ul.sf-navbar li li li:hover,
52
+ ul.sf-navbar li li li.sfHover,
53
+ .sf-navbar li li.current li.current,
54
+ .sf-navbar ul li li a:focus, .sf-navbar ul li li a:hover, .sf-navbar ul li li a:active {
55
+ background: #E6EEFF;
56
+ }
57
+ ul.sf-navbar .current ul,
58
+ ul.sf-navbar ul li:hover ul,
59
+ ul.sf-navbar ul li.sfHover ul {
60
+ left: 0;
61
+ top: 2.5em; /* match top ul list item height */
62
+ }
63
+ ul.sf-navbar .current ul ul {
64
+ top: -999em;
65
+ }
66
+
67
+ .sf-navbar li li.current > a {
68
+ font-weight: bold;
69
+ }
70
+
71
+ /*** point all arrows down ***/
72
+ /* point right for anchors in subs */
73
+ .sf-navbar ul .sf-sub-indicator { background-position: -10px -100px; }
74
+ .sf-navbar ul a > .sf-sub-indicator { background-position: 0 -100px; }
75
+ /* apply hovers to modern browsers */
76
+ .sf-navbar ul a:focus > .sf-sub-indicator,
77
+ .sf-navbar ul a:hover > .sf-sub-indicator,
78
+ .sf-navbar ul a:active > .sf-sub-indicator,
79
+ .sf-navbar ul li:hover > a > .sf-sub-indicator,
80
+ .sf-navbar ul li.sfHover > a > .sf-sub-indicator {
81
+ background-position: -10px -100px; /* arrow hovers for modern browsers*/
82
+ }
83
+
84
+ /*** remove shadow on first submenu ***/
85
+ .sf-navbar > li > ul {
86
+ background: transparent;
87
+ padding: 0;
88
+ -moz-border-radius-bottomleft: 0;
89
+ -moz-border-radius-topright: 0;
90
+ -webkit-border-top-right-radius: 0;
91
+ -webkit-border-bottom-left-radius: 0;
92
+ }
@@ -0,0 +1,80 @@
1
+ $ul_width: 16em;
2
+
3
+ .sf-menu {
4
+ margin: 0;
5
+ padding: 0;
6
+ list-style: none;
7
+ * {
8
+ margin: 0;
9
+ padding: 0;
10
+ list-style: none; }
11
+ line-height: 1em;
12
+ ul {
13
+ position: absolute;
14
+ top: -999em;
15
+ width: $ul_width;
16
+ /* left offset of submenus need to match (see below) */
17
+ li {
18
+ width: 100%; } }
19
+ li {
20
+ &:hover {
21
+ visibility: inherit;
22
+ /* fixes IE7 'sticky bug' */ }
23
+ float: left;
24
+ position: relative; }
25
+ a {
26
+ display: block;
27
+ position: relative; }
28
+ li {
29
+ &:hover ul, &.sfHover ul {
30
+ left: 0;
31
+ top: 2.5em;
32
+ /* match top ul list item height */
33
+ z-index: 99; } } }
34
+
35
+ ul.sf-menu li {
36
+ &:hover li ul, &.sfHover li ul {
37
+ top: -999em; }
38
+ li {
39
+ &:hover ul, &.sfHover ul {
40
+ width: $ul_width;
41
+ /* match ul width */
42
+ top: 0; }
43
+ &:hover li ul, &.sfHover li ul {
44
+ top: -999em; }
45
+ li {
46
+ &:hover ul, &.sfHover ul {
47
+ width: $ul_width;
48
+ /* match ul width */
49
+ top: 0; } } } }
50
+
51
+ /** Styling ** */
52
+
53
+ .sf-menu {
54
+ float: left;
55
+ margin-bottom: 1em;
56
+ a {
57
+ padding: 0.4em 0.85em;
58
+ text-decoration: none;
59
+ /* visited pseudo selector so IE6 applies text colour */
60
+ color: white;
61
+ &:visited {
62
+ /* visited pseudo selector so IE6 applies text colour */
63
+ color: white; } }
64
+ li {
65
+ background: black;
66
+ padding: 0.4em 0;
67
+ margin: 0;
68
+ li {
69
+ background: black;
70
+ padding: 0.4em 0;
71
+ margin: 0;
72
+ li {
73
+ background: black; } }
74
+ &:hover, &.sfHover {
75
+ background: #666666;
76
+ outline: 0; } }
77
+ a {
78
+ &:focus, &:hover, &:active {
79
+ background: #666666;
80
+ outline: 0; } } }
@@ -1,5 +1,5 @@
1
1
  /*** ESSENTIAL STYLES **
2
- !ul_width = 16em
2
+ // !ul_width = 16em
3
3
 
4
4
  .sf-menu
5
5
  margin: 0
@@ -13,7 +13,7 @@
13
13
  ul
14
14
  position: absolute
15
15
  top: -999em
16
- width: !ul_width
16
+ // width: !ul_width
17
17
  /* left offset of submenus need to match (see below)
18
18
  li
19
19
  width: 100%
@@ -38,14 +38,14 @@ ul.sf-menu li
38
38
  top: -999em
39
39
  li
40
40
  &:hover ul, &.sfHover ul
41
- left: !ul_width
41
+ // left: !ul_width
42
42
  /* match ul width
43
43
  top: 0
44
44
  &:hover li ul, &.sfHover li ul
45
45
  top: -999em
46
46
  li
47
47
  &:hover ul, &.sfHover ul
48
- left: !ul_width
48
+ // left: !ul_width
49
49
  /* match ul width
50
50
  top: 0
51
51
 
@@ -1,3 +1,3 @@
1
1
  module Sushifish
2
- VERSION = "0.9.0"
2
+ VERSION = "0.9.6"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sushifish
3
3
  version: !ruby/object:Gem::Version
4
- hash: 59
4
+ hash: 55
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 9
9
- - 0
10
- version: 0.9.0
9
+ - 6
10
+ version: 0.9.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Travis
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-02-06 00:00:00 -06:00
18
+ date: 2012-02-14 00:00:00 -06:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -31,6 +31,7 @@ extra_rdoc_files: []
31
31
  files:
32
32
  - .gitignore
33
33
  - Gemfile
34
+ - README.md
34
35
  - Rakefile
35
36
  - lib/generators/USAGE
36
37
  - lib/generators/sushi/sushi_generator.rb
@@ -41,8 +42,10 @@ files:
41
42
  - lib/generators/sushi/templates/_navigation.html.haml
42
43
  - lib/generators/sushi/templates/_page.html.haml
43
44
  - lib/generators/sushi/templates/_sidebar.html.haml
45
+ - lib/generators/sushi/templates/admin.css.scss
44
46
  - lib/generators/sushi/templates/admin.sass
45
47
  - lib/generators/sushi/templates/admin_pages_controller.rb
48
+ - lib/generators/sushi/templates/application.css
46
49
  - lib/generators/sushi/templates/application.html.haml
47
50
  - lib/generators/sushi/templates/application_controller.rb
48
51
  - lib/generators/sushi/templates/dashboard_controller.rb
@@ -50,6 +53,7 @@ files:
50
53
  - lib/generators/sushi/templates/edit.html.haml
51
54
  - lib/generators/sushi/templates/index.html.haml
52
55
  - lib/generators/sushi/templates/indexes_and_defaults.rb
56
+ - lib/generators/sushi/templates/layout.css.scss
53
57
  - lib/generators/sushi/templates/layout.sass
54
58
  - lib/generators/sushi/templates/migrations/ancestry_migration.rb
55
59
  - lib/generators/sushi/templates/new.html.erb
@@ -58,13 +62,18 @@ files:
58
62
  - lib/generators/sushi/templates/page.rb
59
63
  - lib/generators/sushi/templates/page_controller.rb
60
64
  - lib/generators/sushi/templates/page_helper.rb
65
+ - lib/generators/sushi/templates/pages.rb
61
66
  - lib/generators/sushi/templates/pages_index.html.haml
67
+ - lib/generators/sushi/templates/reset.css.scss
62
68
  - lib/generators/sushi/templates/reset.sass
63
69
  - lib/generators/sushi/templates/show.html.erb
64
70
  - lib/generators/sushi/templates/show.html.haml
65
71
  - lib/generators/sushi/templates/style.css.scss
72
+ - lib/generators/sushi/templates/style.css.scss_OLD
66
73
  - lib/generators/sushi/templates/style.sass
67
74
  - lib/generators/sushi/templates/stylesheets_controller.rb
75
+ - lib/generators/sushi/templates/superfish.css
76
+ - lib/generators/sushi/templates/superfish.css.scss
68
77
  - lib/generators/sushi/templates/superfish.sass
69
78
  - lib/sushifish.rb
70
79
  - lib/sushifish/version.rb