facades 0.1.0 → 1.0.0
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.
- data/.gitignore +1 -0
- data/.rbenv-gemsets +1 -0
- data/.rvmrc +1 -0
- data/.travis.yml +6 -0
- data/Gemfile +12 -0
- data/Guardfile +19 -0
- data/README.md +115 -101
- data/Rakefile +8 -0
- data/app/assets/javascripts/facades/debug/grid.js +0 -0
- data/app/helpers/facades_helper.rb +1 -0
- data/config.ru +7 -0
- data/facades.gemspec +9 -2
- data/lib/facades/helpers/layout.rb +36 -73
- data/lib/facades/helpers/navigation.rb +182 -110
- data/lib/facades/helpers/{elements.rb → notifications.rb} +9 -36
- data/lib/facades/helpers.rb +6 -17
- data/lib/facades/patterns/tabs.rb +75 -0
- data/lib/facades/patterns.rb +7 -0
- data/lib/facades/{sass_ext → sass_extensions}/color.rb +5 -13
- data/lib/facades/sass_extensions/conversions.rb +27 -0
- data/lib/facades/sass_extensions/functions.rb +84 -0
- data/lib/facades/sass_extensions/icons.rb +66 -0
- data/lib/facades/sass_extensions.rb +21 -0
- data/lib/facades/support/compass/project/MIT-LICENSE.txt +20 -0
- data/lib/facades/support/compass/project/humans.txt +8 -0
- data/lib/facades/support/compass/project/index.html +45 -0
- data/lib/facades/support/compass/project/manifest.rb +18 -0
- data/lib/facades/support/compass/project/robots.txt +4 -0
- data/lib/facades/support/compass.rb +9 -0
- data/lib/facades/support/rails.rb +12 -15
- data/lib/facades/support/simple_form.rb +32 -0
- data/lib/facades/version.rb +1 -1
- data/lib/facades.rb +21 -44
- data/spec/internal/app/helpers/application_helper.rb +3 -0
- data/spec/internal/app/views/navigation/_multi_list.html.erb +11 -0
- data/spec/internal/app/views/navigation/_multi_option_list.html.erb +14 -0
- data/spec/internal/app/views/navigation/_single_list.html.erb +9 -0
- data/spec/internal/config/database.yml +3 -0
- data/spec/internal/config/routes.rb +3 -0
- data/spec/internal/db/schema.rb +3 -0
- data/spec/internal/log/.gitignore +1 -0
- data/spec/internal/public/favicon.ico +0 -0
- data/spec/spec_helper.rb +16 -6
- data/spec/unit/helpers/layout_spec.rb +4 -0
- data/spec/unit/helpers/navigation_spec.rb +384 -0
- data/spec/unit/helpers/notifications_spec.rb +4 -0
- data/spec/unit/patterns/tabs_spec.rb +58 -0
- data/src/icons/facades.yml +105 -0
- data/src/icons/font-awesome.yml +210 -0
- data/src/scss/facades/_buttons.scss +10 -0
- data/src/scss/facades/_config.scss +99 -0
- data/src/scss/facades/_debug.scss +8 -0
- data/src/scss/facades/_forms.scss +228 -0
- data/src/scss/facades/_global.scss +104 -0
- data/src/scss/facades/_icons.scss +61 -0
- data/src/scss/facades/_mixins.scss +115 -0
- data/src/scss/facades/_mobile.scss +3 -0
- data/src/scss/facades/_setup.scss +191 -0
- data/src/scss/facades/_typography.scss +220 -0
- data/src/scss/facades/buttons/_glossy.scss +29 -0
- data/src/scss/facades/buttons/_gradient.scss +36 -0
- data/src/scss/facades/buttons/_shared.scss +33 -0
- data/src/scss/facades/buttons/_simple.scss +28 -0
- data/src/scss/facades/icons/_classes.scss +37 -0
- data/src/scss/facades/icons/_legacy.scss +27 -0
- data/src/scss/facades/layout/_lists.scss +43 -0
- data/src/scss/facades/mixins/_gradients.scss +30 -0
- data/src/scss/facades/mixins/_rhythm.scss +37 -0
- data/src/scss/facades/mobile/_buttons.scss +97 -0
- data/src/scss/facades/mobile/_config.scss +30 -0
- data/src/scss/facades/mobile/_global.scss +81 -0
- data/src/scss/facades/mobile/_mixins.scss +49 -0
- data/src/scss/facades/mobile/_setup.scss +50 -0
- data/src/scss/facades/mobile/patterns/_navbar.scss +21 -0
- data/src/scss/facades/mobile/patterns/_panel.scss +37 -0
- data/src/scss/facades/mobile/patterns/_stage.scss +20 -0
- data/src/scss/facades/mobile/patterns/_toolbar.scss +25 -0
- data/src/scss/facades/mobile/themes/_apple.scss +17 -0
- data/src/scss/facades/patterns/_labels.scss +50 -0
- data/src/scss/facades/patterns/_navbar.scss +4 -0
- data/src/scss/facades/patterns/_notifications.scss +82 -0
- data/src/scss/facades/patterns/_pagination.scss +4 -0
- data/src/scss/facades/patterns/_pills.scss +50 -0
- data/src/scss/facades/patterns/_tabs.scss +83 -0
- data/src/scss/facades/patterns/_twipsy.scss +84 -0
- data/src/scss/facades/typography/_tables.scss +95 -0
- metadata +201 -58
- data/app/views/facades/_pagination.html.erb +0 -20
- data/lib/facades/builders/form/base.rb +0 -212
- data/lib/facades/builders/form/elements.rb +0 -112
- data/lib/facades/builders/form/helper.rb +0 -29
- data/lib/facades/builders/form.rb +0 -22
- data/lib/facades/builders/sprite.rb +0 -50
- data/lib/facades/builders/table.rb +0 -76
- data/lib/facades/debug/html.rb +0 -6
- data/lib/facades/helpers/builders.rb +0 -24
- data/lib/facades/helpers/mobile.rb +0 -57
- data/lib/facades/helpers/pagination.rb +0 -83
- data/lib/facades/helpers/utility.rb +0 -31
- data/lib/facades/sass_ext/form_elements.rb +0 -52
- data/lib/facades/sass_ext/funcs.rb +0 -33
- data/lib/facades/sass_ext.rb +0 -14
- data/lib/facades/stylesheets/facades/_common.scss +0 -7
- data/lib/facades/stylesheets/facades/_css3.scss +0 -93
- data/lib/facades/stylesheets/facades/_layout.scss +0 -5
- data/lib/facades/stylesheets/facades/_normalize.scss +0 -5
- data/lib/facades/stylesheets/facades/_setup.scss +0 -104
- data/lib/facades/stylesheets/facades/_typography.scss +0 -2
- data/lib/facades/stylesheets/facades/_ui.scss +0 -3
- data/lib/facades/stylesheets/facades/_utilities.scss +0 -32
- data/lib/facades/stylesheets/facades/layout/_dropdown-list.scss +0 -7
- data/lib/facades/stylesheets/facades/layout/_forms.scss +0 -53
- data/lib/facades/stylesheets/facades/layout/_grid.scss +0 -49
- data/lib/facades/stylesheets/facades/layout/_responsive_grid.scss +0 -164
- data/lib/facades/stylesheets/facades/setup/_forms.scss +0 -284
- data/lib/facades/stylesheets/facades/setup/_ie.scss +0 -12
- data/lib/facades/stylesheets/facades/setup/_reset.scss +0 -255
- data/lib/facades/stylesheets/facades/typography/_baseline.scss +0 -91
- data/lib/facades/stylesheets/facades/typography/_lists.scss +0 -34
- data/lib/facades/stylesheets/facades/typography/_shadow.scss +0 -8
- data/lib/facades/stylesheets/facades/ui/_buttons.scss +0 -34
- data/lib/facades/stylesheets/facades/ui/_flash-messages.scss +0 -29
- data/lib/facades/stylesheets/facades/ui/_tabbed.scss +0 -5
- data/lib/facades/stylesheets/facades/ui/_tool-tip.scss +0 -44
- data/lib/facades/stylesheets/facades/utilities/_clearfix.scss +0 -20
- data/lib/facades/stylesheets/facades/utilities/_color.scss +0 -7
- data/lib/facades/stylesheets/facades/utilities/_cursors.scss +0 -4
- data/lib/facades/support/serve.rb +0 -17
- data/lib/facades/support/tipsy.rb +0 -17
- data/spec/facades/helpers/elements_spec.rb +0 -86
- data/spec/facades/helpers/layout_helpers_spec.rb +0 -5
- data/spec/facades/helpers/navigation_spec.rb +0 -107
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
module Facades
|
|
2
|
+
module SassExtensions
|
|
3
|
+
module Icons
|
|
4
|
+
class << self
|
|
5
|
+
|
|
6
|
+
def glyph_sets
|
|
7
|
+
@glyph_sets ||= {}
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
##
|
|
13
|
+
# Creates a unicode entity for use in a content: description in css.
|
|
14
|
+
#
|
|
15
|
+
def icon_glyph(name, set = 'facades')
|
|
16
|
+
Sass::Script::String.new("\\#{icon_glyph_value(name, set)}")
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
##
|
|
20
|
+
# Creates a entity representation of the unicode character.
|
|
21
|
+
# Used in IE7/legacy support.
|
|
22
|
+
#
|
|
23
|
+
def icon_entity(name, set = 'facades')
|
|
24
|
+
Sass::Script::String.new("#{icon_glyph_value(name, set)}; ")
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
##
|
|
28
|
+
# Create a sass list of icon names from an icon pack.
|
|
29
|
+
#
|
|
30
|
+
def icon_names(set = "facades")
|
|
31
|
+
listing = icon_translations(set)
|
|
32
|
+
keys = (listing.keys || [])
|
|
33
|
+
keys = keys.collect{ |k| Sass::Script::String.new(k) }
|
|
34
|
+
Sass::Script::List.new(keys, ',')
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
##
|
|
38
|
+
# Maps a "pack" name to a font name.
|
|
39
|
+
#
|
|
40
|
+
def icon_font(name)
|
|
41
|
+
Sass::Script::String.new({
|
|
42
|
+
'facades' => 'FacadesRegular',
|
|
43
|
+
'font-awesome' => 'FontAwesome'
|
|
44
|
+
}[name])
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
|
|
49
|
+
def icon_translations(set)
|
|
50
|
+
set = set.value if set.respond_to?(:value)
|
|
51
|
+
glyphs = Icons.glyph_sets[set] || YAML::load(File.open(File.join(Facades.icon_path, "#{set}.yml")))
|
|
52
|
+
Icons.glyph_sets[set] ||= Hash[glyphs.map{ |k, v| [k.to_s.gsub("_", "-"), v] }]
|
|
53
|
+
Icons.glyph_sets[set]
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def icon_glyph_value(name, set = 'facades')
|
|
57
|
+
name = name.to_s
|
|
58
|
+
value = icon_translations(set)[name]
|
|
59
|
+
if value.nil?
|
|
60
|
+
raise Sass::SyntaxError, "The icon '#{name}' does not exist within icon pack #{set}."
|
|
61
|
+
end
|
|
62
|
+
value
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'sass'
|
|
2
|
+
|
|
3
|
+
module Facades
|
|
4
|
+
module SassExtensions
|
|
5
|
+
extend self
|
|
6
|
+
|
|
7
|
+
def vendor_prefixes
|
|
8
|
+
[:webkit, :moz, :ms, :o]
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
['color', 'conversions', 'functions', 'icons'].each do |extension|
|
|
15
|
+
require "facades/sass_extensions/#{extension}"
|
|
16
|
+
Sass::Script::Functions.send(:include, Facades::SassExtensions.const_get(extension.camelize))
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
class Sass::Script::Functions::EvaluationContext
|
|
20
|
+
include Sass::Script::Functions
|
|
21
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright (c) 2011 kurb media llc, http://www.kurbmedia.com/
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
|
|
3
|
+
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
|
|
4
|
+
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
|
|
5
|
+
<!--[if gt IE 8]><!-->
|
|
6
|
+
<html class="no-js" lang="en"><!--<![endif]-->
|
|
7
|
+
<head>
|
|
8
|
+
<meta charset="utf-8">
|
|
9
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
10
|
+
<title>My awesome project</title>
|
|
11
|
+
<meta name="description" content="">
|
|
12
|
+
<meta name="keywords" content="">
|
|
13
|
+
<meta name="author" content="" />
|
|
14
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
15
|
+
<!-- pre-fetch dns info for external sites -->
|
|
16
|
+
<link rel="dns-prefetch" href="//ajax.googleapis.com" />
|
|
17
|
+
<!-- 'pinned' sites in IE ( see: http://html5boilerplate.com/docs/head-Tips/ ) -->
|
|
18
|
+
<meta name="application-name" content="" />
|
|
19
|
+
<meta name="msapplication-tooltip" content="" />
|
|
20
|
+
<!-- Facebook open graph ( seff: http://developers.facebook.com/docs/share ) -->
|
|
21
|
+
<meta property="og:title" content="" />
|
|
22
|
+
<meta property="og:description" content="" />
|
|
23
|
+
<meta property="og:image" content="" />
|
|
24
|
+
<link rel="stylesheet" href="assets/styles.css">
|
|
25
|
+
<!--[if lte IE 8]>
|
|
26
|
+
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
|
27
|
+
<!-->
|
|
28
|
+
</head>
|
|
29
|
+
<body>
|
|
30
|
+
<header>
|
|
31
|
+
|
|
32
|
+
</header>
|
|
33
|
+
<div id="main" role="main">
|
|
34
|
+
|
|
35
|
+
</div>
|
|
36
|
+
<footer>
|
|
37
|
+
|
|
38
|
+
</footer>
|
|
39
|
+
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
|
|
40
|
+
<!--[if lt IE 7 ]>
|
|
41
|
+
<script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js"></script>
|
|
42
|
+
<script>window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})</script>
|
|
43
|
+
<![endif]-->
|
|
44
|
+
</body>
|
|
45
|
+
</html>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
description "Facades. Front end development awesome-ness."
|
|
2
|
+
|
|
3
|
+
stylesheet 'screen.scss', :media => 'all'
|
|
4
|
+
stylesheet '_config.scss', :to => 'shared/_config.scss'
|
|
5
|
+
stylesheet 'assets/styles.css', :to => 'assets/styles.css'
|
|
6
|
+
|
|
7
|
+
html 'index.html'
|
|
8
|
+
file 'humans.txt'
|
|
9
|
+
file 'robots.txt'
|
|
10
|
+
file 'MIT-LICENSE.txt'
|
|
11
|
+
|
|
12
|
+
help %Q{
|
|
13
|
+
Facades front end awesome-ness. For more information visit https://github.com/kurbmedia/facades
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
welcome_message %Q{
|
|
17
|
+
Awww yeahhh, now your getting awesome. If you need more information, visit https://github.com/kurbmedia/facades
|
|
18
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require 'compass'
|
|
2
|
+
##
|
|
3
|
+
# Creates the facades compass extension
|
|
4
|
+
#
|
|
5
|
+
Compass::Frameworks.register('facades',
|
|
6
|
+
:stylesheets_directory => Facades.scss_path,
|
|
7
|
+
:templates_directory => File.join(File.dirname(__FILE__), 'compass'))
|
|
8
|
+
|
|
9
|
+
require 'facades/sass_extensions'
|
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
require 'rails'
|
|
2
|
+
require 'sass/rails'
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
##
|
|
5
|
+
# Integrates facades assets into the Rails asset pipeline.
|
|
6
|
+
#
|
|
4
7
|
module Facades
|
|
5
8
|
class Engine < Rails::Engine
|
|
6
9
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
require 'sass/rails'
|
|
11
|
-
|
|
12
|
-
config.sass.load_paths << File.expand_path("../../stylesheets", __FILE__)
|
|
13
|
-
Facades::Builders::Sprite
|
|
14
|
-
|
|
15
|
-
ActiveSupport.on_load(:action_controller) do
|
|
16
|
-
include Facades::Helpers::MobileController
|
|
10
|
+
initializer 'load facades assets' do |app|
|
|
11
|
+
app.config.sass.load_paths ||= []
|
|
12
|
+
app.config.sass.load_paths << Facades.scss_path
|
|
17
13
|
end
|
|
18
14
|
|
|
19
|
-
initializer '
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
initializer 'configure simple_form' do |app|
|
|
16
|
+
begin
|
|
17
|
+
require 'simple_form'
|
|
18
|
+
require 'facades/support/simple_form'
|
|
19
|
+
rescue Exception => e
|
|
22
20
|
end
|
|
23
21
|
end
|
|
24
|
-
|
|
25
22
|
end
|
|
26
23
|
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'simple_form/version'
|
|
2
|
+
|
|
3
|
+
if SimpleForm::VERSION.to_i >= 2
|
|
4
|
+
SimpleForm.setup do |config|
|
|
5
|
+
|
|
6
|
+
config.label_text = lambda { |label, required| "#{label} #{required}" }
|
|
7
|
+
config.required_by_default = false
|
|
8
|
+
config.country_priority = 'United States'
|
|
9
|
+
config.default_input_size = 30
|
|
10
|
+
|
|
11
|
+
config.wrappers tag: :li, class: 'field', error_class: 'invalid-field' do |b|
|
|
12
|
+
b.use :html5
|
|
13
|
+
b.use :placeholder
|
|
14
|
+
|
|
15
|
+
b.optional :maxlength
|
|
16
|
+
b.optional :pattern
|
|
17
|
+
b.optional :min_max
|
|
18
|
+
b.optional :readonly
|
|
19
|
+
|
|
20
|
+
b.use :label_input, wrap_with: { error_class: 'invalid', tag: false }
|
|
21
|
+
b.use :hint, wrap_with: { tag: :span, class: :hint }
|
|
22
|
+
b.use :error, wrap_with: { tag: :span, class: :error }
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
SimpleForm.html5 = true
|
|
27
|
+
SimpleForm.error_method = :first
|
|
28
|
+
SimpleForm.error_notification_id = nil
|
|
29
|
+
SimpleForm.browser_validations = false
|
|
30
|
+
SimpleForm.collection_wrapper_tag = nil
|
|
31
|
+
end
|
|
32
|
+
|
data/lib/facades/version.rb
CHANGED
data/lib/facades.rb
CHANGED
|
@@ -1,57 +1,34 @@
|
|
|
1
|
-
require 'active_support'
|
|
2
|
-
require 'active_support/core_ext/object'
|
|
1
|
+
require 'active_support/all'
|
|
3
2
|
require 'facades/version'
|
|
4
3
|
|
|
5
4
|
module Facades
|
|
5
|
+
extend self
|
|
6
|
+
autoload :Helpers, 'facades/helpers'
|
|
7
|
+
autoload :Patterns, 'facades/patterns'
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
def scss_path
|
|
10
|
+
File.expand_path("../../src", __FILE__) << "/scss"
|
|
9
11
|
end
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
def image_path
|
|
14
|
+
File.expand_path("../../src", __FILE__) << "/images"
|
|
13
15
|
end
|
|
14
16
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
autoload :Form, 'facades/builders/form'
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
# When enabled, HTML5 elements are used within helpers
|
|
21
|
-
# This includes things like using <nav> within pagination
|
|
22
|
-
# and the nav helper.
|
|
23
|
-
#
|
|
24
|
-
mattr_accessor :enable_html5
|
|
25
|
-
@@enable_html5 = true
|
|
26
|
-
|
|
27
|
-
# When enabled, a div is added to each HTML page which displays
|
|
28
|
-
# errors with the resulting html. This includes things like missing page titles,
|
|
29
|
-
# missing keywords, etc.
|
|
30
|
-
#
|
|
31
|
-
mattr_accessor :debug_html
|
|
32
|
-
@@debug_html = false
|
|
33
|
-
|
|
34
|
-
def self.helpers
|
|
35
|
-
Facades::Helpers
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def setup(&block)
|
|
39
|
-
yield self
|
|
17
|
+
def icon_path
|
|
18
|
+
File.expand_path("../../src", __FILE__) << "/icons"
|
|
40
19
|
end
|
|
41
20
|
|
|
42
21
|
end
|
|
43
22
|
|
|
44
|
-
require 'facades/
|
|
45
|
-
|
|
46
|
-
begin
|
|
47
|
-
require 'compass'
|
|
48
|
-
rescue LoadError
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
if defined?(Compass)
|
|
52
|
-
Compass::Frameworks.register('facades',
|
|
53
|
-
:stylesheets_directory => File.join(File.dirname(__FILE__), 'facades/stylesheets'),
|
|
54
|
-
:templates_directory => File.join(File.dirname(__FILE__), 'facades/templates'))
|
|
55
|
-
end
|
|
23
|
+
require 'facades/sass_extensions'
|
|
56
24
|
|
|
57
|
-
|
|
25
|
+
##
|
|
26
|
+
# Use the rails pipeline directly unless functioning
|
|
27
|
+
# in a non-rails environment. Otherwise include the
|
|
28
|
+
# compass extension.
|
|
29
|
+
#
|
|
30
|
+
if defined?(Rails)
|
|
31
|
+
require 'facades/support/rails'
|
|
32
|
+
else
|
|
33
|
+
require 'facades/support/compass'
|
|
34
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@link_options = @link_options || {}
|
|
3
|
+
@link_options.reverse_merge!({ :home => {}, :about => {} })
|
|
4
|
+
%>
|
|
5
|
+
|
|
6
|
+
<%= nav((@options || {})) do |n| %>
|
|
7
|
+
<%= n.link "Home", "/", @link_options[:about] %>
|
|
8
|
+
<%= n.link "About", "/about" do |subnav| %>
|
|
9
|
+
<%= subnav.link "About Sub Path", "/about/sub-path" %>
|
|
10
|
+
<% end %>
|
|
11
|
+
<% end %>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@link_options = @link_options || {}
|
|
3
|
+
@link_options.reverse_merge!({ :home => {}, :about => {} })
|
|
4
|
+
@subnav ||= []
|
|
5
|
+
%>
|
|
6
|
+
|
|
7
|
+
<%= nav((@options || {})) do |n| %>
|
|
8
|
+
<%= n.link "Home", "/", @link_options[:about] %>
|
|
9
|
+
<%= n.link "About", "/about" do |subnav| %>
|
|
10
|
+
<% @subnav.each do |item| %>
|
|
11
|
+
<%= subnav.link item, "/#{item.to_s.downcase}" %>
|
|
12
|
+
<% end %>
|
|
13
|
+
<% end %>
|
|
14
|
+
<% end %>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<%
|
|
2
|
+
@link_options = @link_options || {}
|
|
3
|
+
@link_options.reverse_merge!({ :home => {}, :about => {} })
|
|
4
|
+
%>
|
|
5
|
+
|
|
6
|
+
<%= nav((@options || {})) do |n| %>
|
|
7
|
+
<%= n.link "Home", "/", @link_options[:home] %>
|
|
8
|
+
<%= n.link "About", "/about", @link_options[:about] %>
|
|
9
|
+
<% end %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*.log
|
|
File without changes
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
require 'rubygems'
|
|
2
|
+
require 'bundler'
|
|
3
|
+
require 'bundler/setup'
|
|
4
|
+
|
|
5
|
+
Bundler.require :default, :development
|
|
6
|
+
|
|
7
|
+
Combustion.initialize! :action_controller, :action_view, :sprockets
|
|
8
|
+
|
|
9
|
+
require 'facades/support/rails'
|
|
10
|
+
|
|
11
|
+
begin
|
|
12
|
+
require 'growl'
|
|
13
|
+
rescue LoadError
|
|
14
|
+
end
|
|
3
15
|
|
|
4
|
-
require 'facades'
|
|
5
|
-
require 'facades/helpers'
|
|
6
16
|
require 'rspec'
|
|
7
|
-
require '
|
|
8
|
-
require 'compass'
|
|
17
|
+
require 'rspec/rails'
|
|
9
18
|
|
|
19
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
|
10
20
|
|
|
11
21
|
RSpec.configure do |config|
|
|
12
22
|
end
|