rails-styleguide 0.0.1

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.
Files changed (69) hide show
  1. data/.gitignore +6 -0
  2. data/Gemfile +14 -0
  3. data/Gemfile.lock +153 -0
  4. data/MIT-LICENSE +20 -0
  5. data/README.md +24 -0
  6. data/Rakefile +27 -0
  7. data/VERSION +1 -0
  8. data/app/assets/javascripts/kss.js +40 -0
  9. data/app/assets/javascripts/styleguide.js +1 -0
  10. data/app/assets/stylesheets/styleguide.css +140 -0
  11. data/app/controllers/styleguide_controller.rb +10 -0
  12. data/app/helpers/styleguide_helper.rb +11 -0
  13. data/app/views/layouts/styleguide.html.erb +24 -0
  14. data/app/views/styleguide/_block.html.erb +24 -0
  15. data/app/views/styleguide/index.html.erb +13 -0
  16. data/config/routes.rb +3 -0
  17. data/lib/rails-styleguide.rb +3 -0
  18. data/lib/styleguide.rb +5 -0
  19. data/lib/styleguide/engine.rb +5 -0
  20. data/lib/styleguide/version.rb +11 -0
  21. data/rails-styleguide.gemspec +21 -0
  22. data/spec/dummy/.gitignore +15 -0
  23. data/spec/dummy/Gemfile +31 -0
  24. data/spec/dummy/Gemfile.lock +117 -0
  25. data/spec/dummy/README +261 -0
  26. data/spec/dummy/Rakefile +7 -0
  27. data/spec/dummy/app/assets/images/rails.png +0 -0
  28. data/spec/dummy/app/assets/javascripts/application.js +8 -0
  29. data/spec/dummy/app/assets/stylesheets/application.css +7 -0
  30. data/spec/dummy/app/assets/stylesheets/buttons.css +50 -0
  31. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  32. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  33. data/spec/dummy/app/mailers/.gitkeep +0 -0
  34. data/spec/dummy/app/models/.gitkeep +0 -0
  35. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  36. data/spec/dummy/config.ru +4 -0
  37. data/spec/dummy/config/application.rb +54 -0
  38. data/spec/dummy/config/boot.rb +6 -0
  39. data/spec/dummy/config/environment.rb +5 -0
  40. data/spec/dummy/config/environments/development.rb +30 -0
  41. data/spec/dummy/config/environments/production.rb +60 -0
  42. data/spec/dummy/config/environments/test.rb +39 -0
  43. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  44. data/spec/dummy/config/initializers/inflections.rb +10 -0
  45. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  46. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  47. data/spec/dummy/config/initializers/session_store.rb +8 -0
  48. data/spec/dummy/config/initializers/wrap_parameters.rb +10 -0
  49. data/spec/dummy/config/locales/en.yml +5 -0
  50. data/spec/dummy/config/routes.rb +60 -0
  51. data/spec/dummy/db/seeds.rb +7 -0
  52. data/spec/dummy/doc/README_FOR_APP +2 -0
  53. data/spec/dummy/lib/assets/.gitkeep +0 -0
  54. data/spec/dummy/lib/tasks/.gitkeep +0 -0
  55. data/spec/dummy/log/.gitkeep +0 -0
  56. data/spec/dummy/public/404.html +26 -0
  57. data/spec/dummy/public/422.html +26 -0
  58. data/spec/dummy/public/500.html +26 -0
  59. data/spec/dummy/public/favicon.ico +0 -0
  60. data/spec/dummy/public/index.html +241 -0
  61. data/spec/dummy/public/robots.txt +5 -0
  62. data/spec/dummy/script/rails +6 -0
  63. data/spec/dummy/vendor/assets/stylesheets/.gitkeep +0 -0
  64. data/spec/dummy/vendor/plugins/.gitkeep +0 -0
  65. data/spec/integration/navigation_spec.rb +9 -0
  66. data/spec/integration/styleguide_spec.rb +31 -0
  67. data/spec/spec_helper.rb +33 -0
  68. data/spec/styleguide_spec.rb +7 -0
  69. metadata +173 -0
@@ -0,0 +1,6 @@
1
+ .bundle/
2
+ log/*.log
3
+ pkg/
4
+ spec/dummy/db/*.sqlite3
5
+ spec/dummy/log/*.log
6
+ spec/dummy/tmp/
data/Gemfile ADDED
@@ -0,0 +1,14 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ gem 'rails', '3.1.2'
6
+
7
+ # Gems used only for assets and not required
8
+ # in production environments by default.
9
+ group :assets do
10
+ gem 'sass-rails', '~> 3.1.5.rc.2'
11
+ gem 'coffee-rails', '~> 3.1.1'
12
+ gem 'uglifier', '>= 1.0.3'
13
+ end
14
+
@@ -0,0 +1,153 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ rails-styleguide (0.0.1)
5
+ kss
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ actionmailer (3.1.2)
11
+ actionpack (= 3.1.2)
12
+ mail (~> 2.3.0)
13
+ actionpack (3.1.2)
14
+ activemodel (= 3.1.2)
15
+ activesupport (= 3.1.2)
16
+ builder (~> 3.0.0)
17
+ erubis (~> 2.7.0)
18
+ i18n (~> 0.6)
19
+ rack (~> 1.3.5)
20
+ rack-cache (~> 1.1)
21
+ rack-mount (~> 0.8.2)
22
+ rack-test (~> 0.6.1)
23
+ sprockets (~> 2.1.0)
24
+ activemodel (3.1.2)
25
+ activesupport (= 3.1.2)
26
+ builder (~> 3.0.0)
27
+ i18n (~> 0.6)
28
+ activerecord (3.1.2)
29
+ activemodel (= 3.1.2)
30
+ activesupport (= 3.1.2)
31
+ arel (~> 2.2.1)
32
+ tzinfo (~> 0.3.29)
33
+ activeresource (3.1.2)
34
+ activemodel (= 3.1.2)
35
+ activesupport (= 3.1.2)
36
+ activesupport (3.1.2)
37
+ multi_json (~> 1.0)
38
+ arel (2.2.1)
39
+ builder (3.0.0)
40
+ capybara (1.1.2)
41
+ mime-types (>= 1.16)
42
+ nokogiri (>= 1.3.3)
43
+ rack (>= 1.0.0)
44
+ rack-test (>= 0.5.4)
45
+ selenium-webdriver (~> 2.0)
46
+ xpath (~> 0.1.4)
47
+ childprocess (0.2.3)
48
+ ffi (~> 1.0.6)
49
+ coffee-rails (3.1.1)
50
+ coffee-script (>= 2.2.0)
51
+ railties (~> 3.1.0)
52
+ coffee-script (2.2.0)
53
+ coffee-script-source
54
+ execjs
55
+ coffee-script-source (1.1.3)
56
+ diff-lcs (1.1.3)
57
+ erubis (2.7.0)
58
+ execjs (1.2.11)
59
+ multi_json (~> 1.0)
60
+ ffi (1.0.11)
61
+ hike (1.2.1)
62
+ i18n (0.6.0)
63
+ json (1.6.3)
64
+ kss (0.1.1)
65
+ sass (>= 3.1)
66
+ mail (2.3.0)
67
+ i18n (>= 0.4.0)
68
+ mime-types (~> 1.16)
69
+ treetop (~> 1.4.8)
70
+ mime-types (1.17.2)
71
+ multi_json (1.0.4)
72
+ nokogiri (1.5.0)
73
+ polyglot (0.3.3)
74
+ rack (1.3.5)
75
+ rack-cache (1.1)
76
+ rack (>= 0.4)
77
+ rack-mount (0.8.3)
78
+ rack (>= 1.0.0)
79
+ rack-ssl (1.3.2)
80
+ rack
81
+ rack-test (0.6.1)
82
+ rack (>= 1.0)
83
+ rails (3.1.2)
84
+ actionmailer (= 3.1.2)
85
+ actionpack (= 3.1.2)
86
+ activerecord (= 3.1.2)
87
+ activeresource (= 3.1.2)
88
+ activesupport (= 3.1.2)
89
+ bundler (~> 1.0)
90
+ railties (= 3.1.2)
91
+ railties (3.1.2)
92
+ actionpack (= 3.1.2)
93
+ activesupport (= 3.1.2)
94
+ rack-ssl (~> 1.3.2)
95
+ rake (>= 0.8.7)
96
+ rdoc (~> 3.4)
97
+ thor (~> 0.14.6)
98
+ rake (0.9.2.2)
99
+ rdoc (3.11)
100
+ json (~> 1.4)
101
+ rspec (2.7.0)
102
+ rspec-core (~> 2.7.0)
103
+ rspec-expectations (~> 2.7.0)
104
+ rspec-mocks (~> 2.7.0)
105
+ rspec-core (2.7.1)
106
+ rspec-expectations (2.7.0)
107
+ diff-lcs (~> 1.1.2)
108
+ rspec-mocks (2.7.0)
109
+ rspec-rails (2.7.0)
110
+ actionpack (~> 3.0)
111
+ activesupport (~> 3.0)
112
+ railties (~> 3.0)
113
+ rspec (~> 2.7.0)
114
+ rubyzip (0.9.5)
115
+ sass (3.1.11)
116
+ sass-rails (3.1.5)
117
+ actionpack (~> 3.1.0)
118
+ railties (~> 3.1.0)
119
+ sass (~> 3.1.10)
120
+ tilt (~> 1.3.2)
121
+ selenium-webdriver (2.14.0)
122
+ childprocess (>= 0.2.1)
123
+ ffi (~> 1.0.9)
124
+ multi_json (~> 1.0.4)
125
+ rubyzip
126
+ sprockets (2.1.2)
127
+ hike (~> 1.2)
128
+ rack (~> 1.0)
129
+ tilt (~> 1.1, != 1.3.0)
130
+ thor (0.14.6)
131
+ tilt (1.3.3)
132
+ treetop (1.4.10)
133
+ polyglot
134
+ polyglot (>= 0.3.1)
135
+ tzinfo (0.3.31)
136
+ uglifier (1.1.0)
137
+ execjs (>= 0.3.0)
138
+ multi_json (>= 1.0.2)
139
+ xpath (0.1.4)
140
+ nokogiri (~> 1.3)
141
+
142
+ PLATFORMS
143
+ ruby
144
+
145
+ DEPENDENCIES
146
+ capybara
147
+ coffee-rails (~> 3.1.1)
148
+ rails (= 3.1.2)
149
+ rails-styleguide!
150
+ rspec
151
+ rspec-rails
152
+ sass-rails (~> 3.1.5.rc.2)
153
+ uglifier (>= 1.0.3)
@@ -0,0 +1,20 @@
1
+ Copyright 2011 YOURNAME
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,24 @@
1
+ # Rails-Styleguide
2
+
3
+ This is a Rails 3.1 mountable Engine version of kneath/kss, a CSS
4
+ documentation methodology.
5
+
6
+ ## Installation
7
+
8
+ Add the engine to your `Gemfile`:
9
+ ```ruby
10
+ gem "rails-styleguide"
11
+ ```
12
+
13
+ Configure the route to the engine:
14
+
15
+ ```ruby
16
+ mount Styleguide::Engine => "/styleguide"
17
+ ```
18
+
19
+ Visit http://localhost:3000/styleguide
20
+
21
+ Customize app/views/styleguide/index.html.erb to build your own
22
+ styleguide
23
+
24
+
@@ -0,0 +1,27 @@
1
+ # encoding: UTF-8
2
+ require 'rubygems'
3
+
4
+ begin
5
+ require 'bundler/setup'
6
+ rescue LoadError
7
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
8
+ end
9
+ Bundler::GemHelper.install_tasks
10
+
11
+ require 'rake'
12
+ require 'rdoc/task'
13
+
14
+ require 'rspec/core'
15
+ require 'rspec/core/rake_task'
16
+
17
+ RSpec::Core::RakeTask.new(:spec)
18
+
19
+ task :default => :spec
20
+
21
+ RDoc::Task.new(:rdoc) do |rdoc|
22
+ rdoc.rdoc_dir = 'rdoc'
23
+ rdoc.title = 'Styleguide'
24
+ rdoc.options << '--line-numbers' << '--inline-source'
25
+ rdoc.rdoc_files.include('README.rdoc')
26
+ rdoc.rdoc_files.include('lib/**/*.rb')
27
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
@@ -0,0 +1,40 @@
1
+ // Generated from lib/kss.coffee
2
+ (function() {
3
+ var KssStateGenerator;
4
+ KssStateGenerator = (function() {
5
+ function KssStateGenerator() {
6
+ var disabled, hover, idx, idxs, rule, stylesheet, _i, _len, _len2, _ref, _ref2;
7
+ hover = /:hover/;
8
+ disabled = /:disabled/;
9
+ try {
10
+ _ref = document.styleSheets;
11
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
12
+ stylesheet = _ref[_i];
13
+ idxs = [];
14
+ _ref2 = stylesheet.cssRules;
15
+ for (idx = 0, _len2 = _ref2.length; idx < _len2; idx++) {
16
+ rule = _ref2[idx];
17
+ if (rule.type === CSSRule.STYLE_RULE && (hover.test(rule.selectorText) || disabled.test(rule.selectorText))) {
18
+ this.insertRule(rule.cssText.replace(':', '.pseudo-class-'));
19
+ }
20
+ }
21
+ }
22
+ } catch (_e) {}
23
+ }
24
+ KssStateGenerator.prototype.insertRule = function(rule) {
25
+ var headEl, styleEl;
26
+ headEl = document.getElementsByTagName('head')[0];
27
+ styleEl = document.createElement('style');
28
+ styleEl.type = 'text/css';
29
+ if (styleEl.styleSheet) {
30
+ styleEl.styleSheet.cssText = rule;
31
+ } else {
32
+ styleEl.appendChild(document.createTextNode(rule));
33
+ }
34
+ return headEl.appendChild(styleEl);
35
+ };
36
+ return KssStateGenerator;
37
+ })();
38
+ new KssStateGenerator;
39
+ }).call(this);
40
+
@@ -0,0 +1 @@
1
+ //= require_tree .
@@ -0,0 +1,140 @@
1
+ /*----------------------------------------------------------------------------
2
+ @group Global Reset
3
+ ----------------------------------------------------------------------------*/
4
+ * {
5
+ padding:0;
6
+ margin:0;
7
+ }
8
+ h1, h2, h3, h4, h5, h6, p, pre, blockquote, label, ul, ol, dl, fieldset, address { margin:1em 0; }
9
+ li, dd { margin-left:5%; }
10
+ fieldset { padding: .5em; }
11
+ select option{ padding:0 5px; }
12
+
13
+ .access{ display:none; } /* For accessibility related elements */
14
+ .clear{ clear:both; height:0px; font-size:0px; line-height:0px; overflow:hidden; }
15
+ a{ outline:none; }
16
+ a img{ border:none; }
17
+
18
+ .clearfix:after {
19
+ content: ".";
20
+ display: block;
21
+ height: 0;
22
+ clear: both;
23
+ visibility: hidden;
24
+ }
25
+ * html .clearfix {height: 1%;}
26
+ .clearfix {display:inline-block;}
27
+ .clearfix {display: block;}
28
+
29
+ /* @end */
30
+
31
+ body{
32
+ font-family:Helvetica, Arial, sans-serif;
33
+ font-size:14px;
34
+ }
35
+
36
+ header{
37
+ padding:10px;
38
+
39
+ font-size:16px;
40
+ color:#666;
41
+
42
+ background:#f1f1f1;
43
+ border-bottom:1px solid #ddd;
44
+ }
45
+
46
+ #wrapper{
47
+ width:600px;
48
+ padding-left:200px;
49
+ }
50
+
51
+ nav[role=main]{
52
+ float:left;
53
+ margin-left:-200px;
54
+ width:160px;
55
+ }
56
+ nav ul{
57
+ margin-left:10px;
58
+ }
59
+ nav li{
60
+ list-style-type:none;
61
+ margin:10px 0;
62
+ }
63
+ nav li a{
64
+ text-decoration:none;
65
+ color:#666;
66
+ }
67
+
68
+ /*----------------------------------------------------------------------------
69
+ @group Styleguide Styles
70
+ ----------------------------------------------------------------------------*/
71
+
72
+ h1.styleguide {
73
+ margin: 0 0 -5px 0;
74
+ font-size: 24px;
75
+ color: #000; }
76
+
77
+ .styleguide-example {
78
+ margin: 15px 0;
79
+ background: rgba(255, 255, 255, 0.5);
80
+ border: 1px solid #ddd;
81
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); }
82
+ .styleguide-example > h3 {
83
+ margin: 0;
84
+ padding: 5px;
85
+ color: #fff;
86
+ font-size: 12px;
87
+ text-transform: uppercase;
88
+ background: #333;
89
+ border-top: 1px solid #000; }
90
+ .styleguide-example > h3 em {
91
+ float: right;
92
+ text-transform: none;
93
+ font-style: normal;
94
+ font-weight: normal;
95
+ color: #999; }
96
+ .styleguide-example .styleguide-description {
97
+ padding: 10px 5px;
98
+ background: #f1f1f1;
99
+ border-bottom: 1px solid #ddd; }
100
+ .styleguide-example .styleguide-description p:first-child {
101
+ margin-top: 0; }
102
+ .styleguide-example .styleguide-description p:last-child {
103
+ margin-bottom: 0; }
104
+ .styleguide-example .styleguide-element {
105
+ position: relative;
106
+ padding: 20px; }
107
+ .styleguide-example .styleguide-element + .styleguide-element {
108
+ margin-top: -5px;
109
+ padding-top: 15px;
110
+ border-top: 1px solid #eee; }
111
+ .styleguide-example .styleguide-element .styleguide-modifier-name {
112
+ display: block;
113
+ position: absolute;
114
+ top: 0;
115
+ right: 0;
116
+ padding: 5px 8px;
117
+ font-size: 11px;
118
+ color: #999;
119
+ background: #f9f9f9;
120
+ border: 1px solid #eee;
121
+ border-top: none; }
122
+ .styleguide-example .styleguide-html {
123
+ padding: 5px 10px;
124
+ background: #edf6f8;
125
+ border-top: 1px solid #dde7ea;
126
+ overflow: auto; }
127
+ .styleguide-example .styleguide-html .highlight {
128
+ background: none; }
129
+ .styleguide-example ul.styleguide-modifiers {
130
+ margin: 0 0 0 10px; }
131
+ .styleguide-example ul.styleguide-modifiers li {
132
+ list-style-type: none;
133
+ margin-left: 0; }
134
+ .styleguide-example ul.styleguide-modifiers li strong {
135
+ font-family: Monaco, monospace;
136
+ font-size: 12px;
137
+ font-weight: normal;
138
+ color: #222; }
139
+
140
+ /* @end */
@@ -0,0 +1,10 @@
1
+ class StyleguideController < ActionController::Base
2
+ helper_method :stylegude
3
+ layout "styleguide"
4
+
5
+ def index
6
+ respond_to do |format|
7
+ format.html
8
+ end
9
+ end
10
+ end