bootstrap-sass-backport 3.2.0.2

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 (180) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.travis.yml +19 -0
  4. data/CHANGELOG.md +146 -0
  5. data/CONTRIBUTING.md +79 -0
  6. data/Gemfile +10 -0
  7. data/LICENSE +21 -0
  8. data/README.md +320 -0
  9. data/Rakefile +54 -0
  10. data/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  11. data/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +229 -0
  12. data/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  13. data/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  14. data/assets/images/.keep +0 -0
  15. data/assets/javascripts/bootstrap-sprockets.js +12 -0
  16. data/assets/javascripts/bootstrap.js +2107 -0
  17. data/assets/javascripts/bootstrap/affix.js +142 -0
  18. data/assets/javascripts/bootstrap/alert.js +92 -0
  19. data/assets/javascripts/bootstrap/button.js +110 -0
  20. data/assets/javascripts/bootstrap/carousel.js +223 -0
  21. data/assets/javascripts/bootstrap/collapse.js +170 -0
  22. data/assets/javascripts/bootstrap/dropdown.js +151 -0
  23. data/assets/javascripts/bootstrap/modal.js +280 -0
  24. data/assets/javascripts/bootstrap/popover.js +113 -0
  25. data/assets/javascripts/bootstrap/scrollspy.js +170 -0
  26. data/assets/javascripts/bootstrap/tab.js +128 -0
  27. data/assets/javascripts/bootstrap/tooltip.js +457 -0
  28. data/assets/javascripts/bootstrap/transition.js +59 -0
  29. data/assets/stylesheets/_bootstrap-compass.scss +7 -0
  30. data/assets/stylesheets/_bootstrap-mincer.scss +17 -0
  31. data/assets/stylesheets/_bootstrap-sprockets.scss +7 -0
  32. data/assets/stylesheets/_bootstrap.scss +50 -0
  33. data/assets/stylesheets/bootstrap/_alerts.scss +68 -0
  34. data/assets/stylesheets/bootstrap/_badges.scss +57 -0
  35. data/assets/stylesheets/bootstrap/_breadcrumbs.scss +26 -0
  36. data/assets/stylesheets/bootstrap/_button-groups.scss +240 -0
  37. data/assets/stylesheets/bootstrap/_buttons.scss +157 -0
  38. data/assets/stylesheets/bootstrap/_carousel.scss +243 -0
  39. data/assets/stylesheets/bootstrap/_close.scss +35 -0
  40. data/assets/stylesheets/bootstrap/_code.scss +68 -0
  41. data/assets/stylesheets/bootstrap/_component-animations.scss +35 -0
  42. data/assets/stylesheets/bootstrap/_dropdowns.scss +215 -0
  43. data/assets/stylesheets/bootstrap/_forms.scss +538 -0
  44. data/assets/stylesheets/bootstrap/_glyphicons.scss +237 -0
  45. data/assets/stylesheets/bootstrap/_grid.scss +84 -0
  46. data/assets/stylesheets/bootstrap/_input-groups.scss +166 -0
  47. data/assets/stylesheets/bootstrap/_jumbotron.scss +48 -0
  48. data/assets/stylesheets/bootstrap/_labels.scss +66 -0
  49. data/assets/stylesheets/bootstrap/_list-group.scss +131 -0
  50. data/assets/stylesheets/bootstrap/_media.scss +56 -0
  51. data/assets/stylesheets/bootstrap/_mixins.scss +39 -0
  52. data/assets/stylesheets/bootstrap/_modals.scss +150 -0
  53. data/assets/stylesheets/bootstrap/_navbar.scss +659 -0
  54. data/assets/stylesheets/bootstrap/_navs.scss +242 -0
  55. data/assets/stylesheets/bootstrap/_normalize.scss +425 -0
  56. data/assets/stylesheets/bootstrap/_pager.scss +55 -0
  57. data/assets/stylesheets/bootstrap/_pagination.scss +88 -0
  58. data/assets/stylesheets/bootstrap/_panels.scss +243 -0
  59. data/assets/stylesheets/bootstrap/_popovers.scss +133 -0
  60. data/assets/stylesheets/bootstrap/_print.scss +101 -0
  61. data/assets/stylesheets/bootstrap/_progress-bars.scss +105 -0
  62. data/assets/stylesheets/bootstrap/_responsive-embed.scss +34 -0
  63. data/assets/stylesheets/bootstrap/_responsive-utilities.scss +174 -0
  64. data/assets/stylesheets/bootstrap/_scaffolding.scss +150 -0
  65. data/assets/stylesheets/bootstrap/_tables.scss +233 -0
  66. data/assets/stylesheets/bootstrap/_theme.scss +258 -0
  67. data/assets/stylesheets/bootstrap/_thumbnails.scss +38 -0
  68. data/assets/stylesheets/bootstrap/_tooltip.scss +95 -0
  69. data/assets/stylesheets/bootstrap/_type.scss +304 -0
  70. data/assets/stylesheets/bootstrap/_utilities.scss +57 -0
  71. data/assets/stylesheets/bootstrap/_variables.scss +854 -0
  72. data/assets/stylesheets/bootstrap/_wells.scss +29 -0
  73. data/assets/stylesheets/bootstrap/mixins/_alerts.scss +14 -0
  74. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +11 -0
  75. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
  76. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +50 -0
  77. data/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
  78. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
  79. data/assets/stylesheets/bootstrap/mixins/_forms.scss +84 -0
  80. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +58 -0
  81. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
  82. data/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
  83. data/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
  84. data/assets/stylesheets/bootstrap/mixins/_image.scss +34 -0
  85. data/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
  86. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +31 -0
  87. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
  88. data/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  89. data/assets/stylesheets/bootstrap/mixins/_opacity.scss +8 -0
  90. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +23 -0
  91. data/assets/stylesheets/bootstrap/mixins/_panels.scss +24 -0
  92. data/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +10 -0
  93. data/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
  94. data/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
  95. data/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +21 -0
  96. data/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
  97. data/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
  98. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
  99. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +11 -0
  100. data/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
  101. data/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +219 -0
  102. data/bootstrap-sass-backport.gemspec +36 -0
  103. data/bower.json +50 -0
  104. data/composer.json +35 -0
  105. data/lib/bootstrap-sass-backport.rb +71 -0
  106. data/lib/bootstrap-sass/engine.rb +12 -0
  107. data/lib/bootstrap-sass/version.rb +4 -0
  108. data/package.json +30 -0
  109. data/sache.json +5 -0
  110. data/tasks/bower.rake +34 -0
  111. data/tasks/converter.rb +80 -0
  112. data/tasks/converter/char_string_scanner.rb +38 -0
  113. data/tasks/converter/fonts_conversion.rb +16 -0
  114. data/tasks/converter/js_conversion.rb +45 -0
  115. data/tasks/converter/less_conversion.rb +670 -0
  116. data/tasks/converter/logger.rb +57 -0
  117. data/tasks/converter/network.rb +86 -0
  118. data/templates/project/_bootstrap-variables.sass.erb +4 -0
  119. data/templates/project/manifest.rb +26 -0
  120. data/templates/project/styles.sass +3 -0
  121. data/test/compass_test.rb +9 -0
  122. data/test/compilation_test.rb +18 -0
  123. data/test/dummy_node_mincer/apple-touch-icon-144-precomposed.png +0 -0
  124. data/test/dummy_node_mincer/application.css.ejs.scss +6 -0
  125. data/test/dummy_node_mincer/manifest.js +87 -0
  126. data/test/dummy_rails/README.rdoc +3 -0
  127. data/test/dummy_rails/Rakefile +6 -0
  128. data/test/dummy_rails/app/assets/images/.keep +0 -0
  129. data/test/dummy_rails/app/assets/javascripts/application.js +2 -0
  130. data/test/dummy_rails/app/assets/stylesheets/application.css.sass +2 -0
  131. data/test/dummy_rails/app/controllers/application_controller.rb +5 -0
  132. data/test/dummy_rails/app/controllers/pages_controller.rb +4 -0
  133. data/test/dummy_rails/app/helpers/application_helper.rb +2 -0
  134. data/test/dummy_rails/app/views/layouts/application.html.erb +14 -0
  135. data/test/dummy_rails/app/views/pages/root.html.slim +41 -0
  136. data/test/dummy_rails/bin/bundle +3 -0
  137. data/test/dummy_rails/bin/rails +4 -0
  138. data/test/dummy_rails/bin/rake +4 -0
  139. data/test/dummy_rails/config.ru +4 -0
  140. data/test/dummy_rails/config/application.rb +30 -0
  141. data/test/dummy_rails/config/boot.rb +5 -0
  142. data/test/dummy_rails/config/environment.rb +5 -0
  143. data/test/dummy_rails/config/environments/development.rb +26 -0
  144. data/test/dummy_rails/config/environments/production.rb +76 -0
  145. data/test/dummy_rails/config/environments/test.rb +30 -0
  146. data/test/dummy_rails/config/initializers/backtrace_silencers.rb +7 -0
  147. data/test/dummy_rails/config/initializers/filter_parameter_logging.rb +4 -0
  148. data/test/dummy_rails/config/initializers/inflections.rb +16 -0
  149. data/test/dummy_rails/config/initializers/mime_types.rb +5 -0
  150. data/test/dummy_rails/config/initializers/secret_token.rb +18 -0
  151. data/test/dummy_rails/config/initializers/session_store.rb +3 -0
  152. data/test/dummy_rails/config/initializers/wrap_parameters.rb +14 -0
  153. data/test/dummy_rails/config/locales/en.yml +3 -0
  154. data/test/dummy_rails/config/locales/es.yml +3 -0
  155. data/test/dummy_rails/config/routes.rb +3 -0
  156. data/test/dummy_rails/db/test.sqlite3 +0 -0
  157. data/test/dummy_rails/lib/assets/.keep +0 -0
  158. data/test/dummy_rails/log/.keep +0 -0
  159. data/test/dummy_rails/public/404.html +58 -0
  160. data/test/dummy_rails/public/422.html +58 -0
  161. data/test/dummy_rails/public/500.html +57 -0
  162. data/test/dummy_rails/public/favicon.ico +0 -0
  163. data/test/dummy_sass_only/Gemfile +4 -0
  164. data/test/dummy_sass_only/compile.rb +13 -0
  165. data/test/dummy_sass_only/import_all.sass +2 -0
  166. data/test/gemfiles/sass_3_2.gemfile +6 -0
  167. data/test/gemfiles/sass_3_3.gemfile +6 -0
  168. data/test/gemfiles/sass_3_4.gemfile +7 -0
  169. data/test/gemfiles/sass_head.gemfile +6 -0
  170. data/test/node_mincer_test.rb +36 -0
  171. data/test/node_sass_test.rb +16 -0
  172. data/test/pages_test.rb +14 -0
  173. data/test/sass_test.rb +26 -0
  174. data/test/sprockets_rails_test.rb +27 -0
  175. data/test/support/dummy_rails_integration.rb +22 -0
  176. data/test/support/integration_test.rb +22 -0
  177. data/test/support/reporting.rb +17 -0
  178. data/test/test_helper.rb +35 -0
  179. data/test/test_helper_rails.rb +6 -0
  180. metadata +484 -0
@@ -0,0 +1,57 @@
1
+ class Converter
2
+ class Logger
3
+ include Term::ANSIColor
4
+
5
+ def log_status(status)
6
+ puts bold status
7
+ end
8
+
9
+ def log_file_info(s)
10
+ puts " #{magenta s}"
11
+ end
12
+
13
+ def log_transform(*args, from: caller[1][/`.*'/][1..-2].sub(/^block in /, ''))
14
+ puts " #{cyan from}#{cyan ": #{args * ', '}" unless args.empty?}"
15
+ end
16
+
17
+ def log_processing(name)
18
+ puts yellow " #{File.basename(name)}"
19
+ end
20
+
21
+ def log_processed(name)
22
+ puts green " #{name}"
23
+ end
24
+
25
+ def log_http_get_file(url, cached = false)
26
+ s = " #{'CACHED ' if cached}GET #{url}..."
27
+ if cached
28
+ puts dark green s
29
+ else
30
+ puts dark cyan s
31
+ end
32
+ end
33
+
34
+ def log_http_get_files(files, from, cached = false)
35
+ return if files.empty?
36
+ s = " #{'CACHED ' if cached}GET #{files.length} files from #{from} #{files * ' '}..."
37
+ if cached
38
+ puts dark green s
39
+ else
40
+ puts dark cyan s
41
+ end
42
+ end
43
+
44
+ def puts(*args)
45
+ STDERR.puts *args unless @silence
46
+ end
47
+
48
+ alias log puts
49
+
50
+ def silence_log
51
+ @silence = true
52
+ yield
53
+ ensure
54
+ @silence = false
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,86 @@
1
+ class Converter
2
+ module Network
3
+ protected
4
+
5
+ def get_paths_by_type(dir, file_re, tree = get_tree(get_tree_sha(dir)))
6
+ tree['tree'].select { |f| f['type'] == 'blob' && f['path'] =~ file_re }.map { |f| f['path'] }
7
+ end
8
+
9
+ def read_files(path, files)
10
+ full_path = "https://raw.githubusercontent.com/#@repo/#@branch_sha/#{path}"
11
+ contents = read_cached_files(path, files)
12
+ log_http_get_files contents.keys, full_path, true if contents.keys
13
+ files -= contents.keys
14
+ log_http_get_files files, full_path, false
15
+ files.map do |name|
16
+ Thread.start {
17
+ contents[name] = open("#{full_path}/#{name}").read
18
+ Thread.exclusive { write_cached_files path, name => contents[name] }
19
+ }
20
+ end.each(&:join)
21
+ contents
22
+ end
23
+
24
+ def read_cached_files(path, files)
25
+ full_path = "#@cache_path/#@branch_sha/#{path}"
26
+ contents = {}
27
+ if File.directory?(full_path)
28
+ files.each do |name|
29
+ path = "#{full_path}/#{name}"
30
+ contents[name] = File.read(path, mode: 'rb') if File.exists?(path)
31
+ end
32
+ end
33
+ contents
34
+ end
35
+
36
+ def write_cached_files(path, files)
37
+ full_path = "./#@cache_path/#@branch_sha/#{path}"
38
+ files.each do |name, content|
39
+ FileUtils.mkdir_p File.dirname(File.join(full_path, name))
40
+ File.open("#{full_path}/#{name}", 'wb') { |f| f.write content }
41
+ end
42
+ end
43
+
44
+
45
+ def get_file(url)
46
+ cache_path = "./#@cache_path#{URI(url).path}"
47
+ FileUtils.mkdir_p File.dirname(cache_path)
48
+ if File.exists?(cache_path)
49
+ log_http_get_file url, true
50
+ File.read(cache_path, mode: 'rb')
51
+ else
52
+ log_http_get_file url, false
53
+ content = open(url).read
54
+ File.open(cache_path, 'wb') { |f| f.write content }
55
+ content
56
+ end
57
+ end
58
+
59
+ # get sha of the branch (= the latest commit)
60
+ def get_branch_sha
61
+ return @branch if @branch =~ /\A[0-9a-f]+\z/
62
+ cmd = "git ls-remote 'https://github.com/#@repo' | awk '/#@branch/ {print $1}'"
63
+ log cmd
64
+ @branch_sha ||= %x[#{cmd}].chomp
65
+ raise 'Could not get branch sha!' unless $?.success?
66
+ @branch_sha
67
+ end
68
+
69
+ # Get the sha of a dir
70
+ def get_tree_sha(dir, tree = get_trees)
71
+ tree['tree'].find { |t| t['path'] == dir }['sha']
72
+ end
73
+
74
+ def get_trees
75
+ @trees ||= get_tree(@branch_sha)
76
+ end
77
+
78
+ def get_tree(sha)
79
+ get_json("https://api.github.com/repos/#@repo/git/trees/#{sha}")
80
+ end
81
+
82
+ def get_json(url)
83
+ JSON.parse get_file(url)
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,4 @@
1
+ <% require 'bootstrap-sass/version' %>
2
+ // Override Bootstrap variables here (defaults from bootstrap-sass v<%= Bootstrap::VERSION %>):
3
+
4
+ <%= File.read(@template[:options][:bs_variables_path]).gsub(/^(?=\$)/, '// ').gsub(/ !default;/, '') %>
@@ -0,0 +1,26 @@
1
+ description 'Bootstrap for Sass'
2
+
3
+ # Stylesheet importing bootstrap
4
+ stylesheet 'styles.sass'
5
+
6
+ manifest = Pathname.new(File.dirname(__FILE__))
7
+ assets = File.expand_path('../../assets', manifest)
8
+
9
+ # Provide variables files
10
+ bs_stylesheets = "#{assets}/stylesheets/bootstrap"
11
+ stylesheet '_bootstrap-variables.sass.erb',
12
+ :erb => true,
13
+ :to => '_bootstrap-variables.sass',
14
+ :bs_variables_path => File.expand_path("#{bs_stylesheets}/_variables.scss", manifest)
15
+
16
+ # Copy JS and fonts
17
+ {:javascript => 'javascripts',
18
+ :font => 'fonts'
19
+ }.each do |method, dir|
20
+ root = Pathname.new(assets).join(dir)
21
+ Dir.glob root.join('**', '*.*') do |path|
22
+ path = Pathname.new(path)
23
+ send method, path.relative_path_from(manifest).to_s,
24
+ :to => path.relative_path_from(root).to_s
25
+ end
26
+ end
@@ -0,0 +1,3 @@
1
+ @import "bootstrap-compass"
2
+ @import "bootstrap-variables"
3
+ @import "bootstrap"
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ class CompassTest < Minitest::Test
4
+ def test_create_project
5
+ command = 'rm -rf tmp/new-compass-project; bundle exec compass create tmp/new-compass-project -r bootstrap-sass-backport --using bootstrap --trace --force'
6
+ success = silence_stdout_if(!ENV['VERBOSE']) { system(command) }
7
+ assert success, 'Compass project creation failed!'
8
+ end
9
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+ require 'fileutils'
3
+ require 'sass'
4
+
5
+ class CompilationTest < Minitest::Test
6
+ def test_compilation
7
+ path = 'assets/stylesheets'
8
+ %w(_bootstrap bootstrap/_theme).each do |file|
9
+ FileUtils.rm_rf('.sass-cache', secure: true)
10
+ engine = Sass::Engine.for_file("#{path}/#{file}.scss", syntax: :scss, load_paths: [path])
11
+ FileUtils.mkdir_p("tmp/#{File.dirname(file)}")
12
+ File.open("tmp/#{file}.css", 'w') { |f|
13
+ f.write engine.render
14
+ }
15
+ assert true # nothing was raised
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,6 @@
1
+ @import "bootstrap-mincer";
2
+ @import "bootstrap";
3
+
4
+ #image-retina {
5
+ @include img-retina("apple-touch-icon-144-precomposed.png", "apple-touch-icon-144-precomposed.png", 72px, 72px);
6
+ }
@@ -0,0 +1,87 @@
1
+ 'use strict';
2
+
3
+
4
+ // Build script from https://github.com/nodeca/mincer/tree/master/examples
5
+
6
+ //
7
+ // Require module
8
+ //
9
+
10
+
11
+ var Mincer = require('mincer');
12
+
13
+
14
+ //
15
+ // Get Mincer environment
16
+ //
17
+
18
+
19
+ //
20
+ // Configure Mincers logger, by default, all
21
+ // messages are going to the middle of nowhere
22
+ //
23
+
24
+
25
+ Mincer.logger.use(console);
26
+
27
+
28
+ //
29
+ // Create and export environment
30
+ //
31
+
32
+
33
+ var environment = new Mincer.Environment(process.cwd());
34
+
35
+
36
+ //
37
+ // Configure environment load paths (where to find ssets)
38
+ //
39
+
40
+ // Include bootstrap scss load path
41
+ var bootstrapPath = '../../';
42
+ environment.appendPath(bootstrapPath + 'assets/stylesheets');
43
+
44
+ // Include fonts load path
45
+ environment.appendPath(bootstrapPath + 'assets/fonts');
46
+
47
+ // Include dir with assets, root just for test
48
+ environment.appendPath('./');
49
+
50
+
51
+ //
52
+ // Define environment essential *_path helper that will be available in the
53
+ // processed assets. See `assets/stylesheets/app.css.ejs` for example.
54
+ //
55
+
56
+
57
+ environment.ContextClass.defineAssetPath(function (pathname, options) {
58
+ var asset = this.environment.findAsset(pathname, options);
59
+
60
+ if (!asset) {
61
+ throw new Error("File " + pathname + " not found");
62
+ }
63
+
64
+ return '/assets/' + asset.digestPath;
65
+ });
66
+
67
+
68
+ //
69
+ // Create and compile Manifest
70
+ //
71
+
72
+ var manifest_path = process.argv[2] || __dirname + '/assets';
73
+
74
+ var manifest = new Mincer.Manifest(environment, manifest_path);
75
+
76
+
77
+ manifest.compile(['application.css'], function (err, assetsData) {
78
+ if (err) {
79
+ console.error("Failed compile assets: " + (err.message || err.toString()));
80
+ process.exit(128);
81
+ }
82
+
83
+ console.info('\n\nAssets were successfully compiled.\n' +
84
+ 'Manifest data (a proper JSON) was written to:\n' +
85
+ manifest.path + '\n\n');
86
+ console.dir(assetsData);
87
+ });
@@ -0,0 +1,3 @@
1
+ == README
2
+
3
+ This is a minimal Rails app for testing
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+
6
+ Dummy::Application.load_tasks
@@ -0,0 +1,2 @@
1
+ //= require jquery
2
+ //= require bootstrap-sprockets
@@ -0,0 +1,2 @@
1
+ @import 'bootstrap-sprockets'
2
+ @import 'bootstrap'
@@ -0,0 +1,5 @@
1
+ class ApplicationController < ActionController::Base
2
+ # Prevent CSRF attacks by raising an exception.
3
+ # For APIs, you may want to use :null_session instead.
4
+ protect_from_forgery with: :exception
5
+ end
@@ -0,0 +1,4 @@
1
+ class PagesController < ApplicationController
2
+ def root
3
+ end
4
+ end
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>bootstrap-sass Dummy App</title>
5
+ <%= stylesheet_link_tag 'application', media: "all", 'data-turbolinks-track' => true %>
6
+ <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+
10
+ <body>
11
+ <%= yield %>
12
+ </body>
13
+
14
+ </html>
@@ -0,0 +1,41 @@
1
+ .container
2
+ .panel.panel-primary
3
+ .panel-heading: h1 Dummy App
4
+ .panel-body: .row
5
+ .col-sm-3
6
+ h2 3 columns
7
+ ul.list-group
8
+ li.list-group-item: a href='#one' One
9
+ li.list-group-item: a href='#two' Two
10
+ li.list-group-item: a href='#three' Three
11
+ .col-sm-3
12
+ h2 3 columns
13
+ .btn-group
14
+ button.btn.btn-primary type='button' Button
15
+ button.btn.btn-primary type='button' Button
16
+ h2 Icons
17
+ ul.list-inline
18
+ li: i.glyphicon.glyphicon-user
19
+ li: i.glyphicon.glyphicon-bullhorn
20
+ li: i.glyphicon.glyphicon-tint
21
+ table.table
22
+ caption Table
23
+ tr
24
+ td.danger Danger!
25
+ td.success Success!
26
+ .col-sm-6
27
+ h2 6 columns
28
+ .panel.panel-primary: .panel-body
29
+ .row
30
+ .col-xs-4.col-xs-push-4
31
+ .panel.panel-default: h3 This is col-xs-4 col-xs-push-4
32
+
33
+ form.form-inline
34
+ .form-group
35
+ label.sr-only for="exampleInputEmail2" Email address
36
+ input.form-control#exampleInputEmail2 type="email" placeholder="Enter email"
37
+ .checkbox
38
+ label
39
+ input type="checkbox"
40
+ | Remember me
41
+ button.btn.btn-default type="submit" Sign in
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
3
+ require_relative '../config/boot'
4
+ require 'rails/commands'
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../config/boot'
3
+ require 'rake'
4
+ Rake.application.run
@@ -0,0 +1,4 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require ::File.expand_path('../config/environment', __FILE__)
4
+ run Rails.application
@@ -0,0 +1,30 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ require 'rails'
4
+
5
+ %w(
6
+ action_controller
7
+ action_view
8
+ sprockets
9
+ ).each do |framework|
10
+ require "#{framework}/railtie"
11
+ end
12
+
13
+ require 'slim-rails'
14
+ require 'jquery-rails'
15
+ require 'compass'
16
+ require 'bootstrap-sass-backport'
17
+ require 'uglifier'
18
+
19
+ module Dummy
20
+ class Application < Rails::Application
21
+ config.assets.enabled = true if config.assets.respond_to?(:enabled)
22
+ config.to_prepare do
23
+ if ENV['VERBOSE']
24
+ STDERR.puts "Loaded Rails #{Rails::VERSION::STRING}, Sprockets #{Sprockets::VERSION}",
25
+ "Asset paths: #{Rails.application.config.assets.paths}"
26
+ end
27
+ end
28
+ end
29
+ end
30
+