bootstrap-sass-backport 3.2.0.2

Sign up to get free protection for your applications and to get access to all the features.
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
+