bamboo 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b0075ca7e247a179978c043788ea3e35f16cdcc1
4
- data.tar.gz: d81e3e6d4131b25fb155ac08e462bf61a2f5ba58
3
+ metadata.gz: e877f0f54c95715aa58e27061d0ae4bfb1d783b9
4
+ data.tar.gz: 56104e9b8cba9b1002bc1f82b14f7d60e3cfb061
5
5
  SHA512:
6
- metadata.gz: 617880583897ea70ce8363bbce7779060907d330fd53c4f760c8c4bb21ec5701cb5f724c2ca696eb3c0874f72218374e0e954dce38d42ab65f129d16196d59e5
7
- data.tar.gz: 0f39ffe8dbfbbaf80a3498c3e062c3f67b93ba87353c92dade3586268bda1dda1e6097395ad10ac2ad6120dcedaf087d42a4ad3583599149acceb01a5732de50
6
+ metadata.gz: d1e0c335fea7124a4fb1ceab52b5864caf9c21a9cb0e8f7b63febaf39e7c40b0fa86fd1a050280b7659d40af0bebd86d0498694bfa58e5ef3ddba49b2a53ff10
7
+ data.tar.gz: 16b0270d7d0520b08e98c0db5323a4d2133562512e0c66910a1ebd7747bdd63655a0fecec31f854e7896d9dd8c7cfb2b69d8044264c36153f11956b8e88344bf
@@ -1,6 +1,6 @@
1
1
  module Bamboo
2
2
  # GRID
3
- TOTAL_WIDTH = 100
3
+ TOTAL_WIDTH = 100 # 100% width
4
4
 
5
5
  # MODULAR SCALES
6
6
  MINOR_SECOND = 1.067
data/lib/bamboo/grid.rb CHANGED
@@ -1,11 +1,40 @@
1
1
  module Bamboo
2
- class Grid
2
+ class Grid
3
+ def self.scaffold_css(max_width = "100%")
4
+ css = %{
5
+ *,
6
+ *::before,
7
+ *::after {
8
+ box-sizing: border-box;
9
+ }
10
+
11
+ .container {
12
+ max-width: #{max_width}
13
+ }
14
+
15
+ .row::after {
16
+ content: ".";
17
+ visibility: hidden;
18
+ display: block;
19
+ height: 0;
20
+ clear: both;
21
+ }
22
+
23
+ [class^=col-] {
24
+ display: inline-block;
25
+ float: left;
26
+ }
27
+ }
28
+
29
+ css.gsub(/[\s]/,"")
30
+ end
31
+
3
32
  def self.uniform(columns = 12)
4
33
  column_widths = []
5
34
  single_width = Bamboo::TOTAL_WIDTH / Float(columns)
6
35
  columns.times { |index| column_widths.push single_width * (index + 1) }
7
36
 
8
- { column_widths: column_widths, css: css(column_widths) }
37
+ { column_widths: column_widths, css: column_css(column_widths) }
9
38
  end
10
39
 
11
40
  def self.modular(columns = 2, scale = Bamboo::GOLDEN_RATIO)
@@ -14,7 +43,7 @@ module Bamboo
14
43
  available_width = Bamboo::TOTAL_WIDTH
15
44
 
16
45
  columns.times do |index|
17
- if index == columns - 1
46
+ if index == columns - 1 # last column should use all remaining width
18
47
  column_widths.push available_width
19
48
  else
20
49
  width = available_width / scale
@@ -24,13 +53,17 @@ module Bamboo
24
53
  end
25
54
  end
26
55
 
27
- { column_widths: column_widths, css: css(column_widths) }
56
+ { column_widths: column_widths, css: column_css(column_widths) }
28
57
  end
29
58
 
30
- def self.css(columns)
31
- css = columns.map.with_index { |width, index| ".col-#{index + 1}{width:#{width}%}" }
32
- css.join
59
+ def self.column_css(columns)
60
+ template = %{
61
+ <% columns.map.with_index do |width, index| %>
62
+ .col-<%= index + 1 %> { width: <%= width %>% }
63
+ <% end %>
64
+ }
65
+ ERB.new(template).result(binding).gsub(/[\s]/,"")
33
66
  end
34
- private_class_method :css
67
+ private_class_method :column_css
35
68
  end
36
69
  end
@@ -1,3 +1,3 @@
1
1
  module Bamboo
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
data/server/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "sinatra"
@@ -0,0 +1,20 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ rack (1.6.4)
5
+ rack-protection (1.5.3)
6
+ rack
7
+ sinatra (1.4.7)
8
+ rack (~> 1.5)
9
+ rack-protection (~> 1.4)
10
+ tilt (>= 1.3, < 3)
11
+ tilt (2.0.2)
12
+
13
+ PLATFORMS
14
+ ruby
15
+
16
+ DEPENDENCIES
17
+ sinatra
18
+
19
+ BUNDLED WITH
20
+ 1.11.2
@@ -0,0 +1,48 @@
1
+ /* http://meyerweb.com/eric/tools/css/reset/
2
+ v2.0 | 20110126
3
+ License: none (public domain)
4
+ */
5
+
6
+ html, body, div, span, applet, object, iframe,
7
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
8
+ a, abbr, acronym, address, big, cite, code,
9
+ del, dfn, em, img, ins, kbd, q, s, samp,
10
+ small, strike, strong, sub, sup, tt, var,
11
+ b, u, i, center,
12
+ dl, dt, dd, ol, ul, li,
13
+ fieldset, form, label, legend,
14
+ table, caption, tbody, tfoot, thead, tr, th, td,
15
+ article, aside, canvas, details, embed,
16
+ figure, figcaption, footer, header, hgroup,
17
+ menu, nav, output, ruby, section, summary,
18
+ time, mark, audio, video {
19
+ margin: 0;
20
+ padding: 0;
21
+ border: 0;
22
+ font-size: 100%;
23
+ font: inherit;
24
+ vertical-align: baseline;
25
+ }
26
+ /* HTML5 display-role reset for older browsers */
27
+ article, aside, details, figcaption, figure,
28
+ footer, header, hgroup, menu, nav, section {
29
+ display: block;
30
+ }
31
+ body {
32
+ line-height: 1;
33
+ }
34
+ ol, ul {
35
+ list-style: none;
36
+ }
37
+ blockquote, q {
38
+ quotes: none;
39
+ }
40
+ blockquote:before, blockquote:after,
41
+ q:before, q:after {
42
+ content: '';
43
+ content: none;
44
+ }
45
+ table {
46
+ border-collapse: collapse;
47
+ border-spacing: 0;
48
+ }
File without changes
@@ -0,0 +1,43 @@
1
+ *,
2
+ *::before,
3
+ *::after {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ body {
8
+ font-family: Menlo, monospace;
9
+ }
10
+
11
+ .container {
12
+ max-width: 960px;
13
+ margin: 0 auto;
14
+ background-color: #F7DFFF;
15
+ }
16
+
17
+ .row {
18
+ background-color: #FFF7DF;
19
+ margin-bottom: 1rem;
20
+ }
21
+
22
+ .row::after {
23
+ content: ".";
24
+ visibility: hidden;
25
+ display: block;
26
+ height: 0;
27
+ clear: both;
28
+ }
29
+
30
+ [class^=col-] {
31
+ background-color: #DFFFF7;
32
+ display: inline-block;
33
+ float: left;
34
+ text-align: center;
35
+ line-height: 3rem;
36
+ height: 3rem;
37
+ box-shadow: inset 0 0 0 10px #B3FFEC;
38
+ border-right: 1px solid #00FFBF;
39
+ }
40
+
41
+ [class^=col-]:last-child {
42
+ border-right: none;
43
+ }
data/server/server.rb ADDED
@@ -0,0 +1,17 @@
1
+ require "sinatra"
2
+ require "../lib/bamboo"
3
+
4
+ set :public_folder, File.dirname(__FILE__) + "/assets/"
5
+
6
+ get "/uniform" do
7
+ grid = Bamboo::Grid.uniform 12
8
+ css = Bamboo::Grid.scaffold_css
9
+ erb :uniform, layout: :application, locals: { grid: grid, css: css }
10
+ end
11
+
12
+ get "/modular" do
13
+ columns = params[:columns].to_i || 2
14
+ grid = Bamboo::Grid.modular columns
15
+ css = Bamboo::Grid.scaffold_css
16
+ erb :modular, layout: :application, locals: { grid: grid, css: css }
17
+ end
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <meta charset="utf-8">
3
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge">
4
+ <meta name=viewport content="width=device-width, initial-scale=1.0">
5
+ <title>Bamboo</title>
6
+ <link rel="stylesheet" href="reset.css">
7
+ <link rel="stylesheet" href="style.css">
8
+ <style>
9
+ <%= css %>
10
+ <%= grid[:css] %>
11
+ </style>
12
+
13
+ <%= yield %>
@@ -0,0 +1,7 @@
1
+ <div class="container">
2
+ <div class="row">
3
+ <% grid[:column_widths].each_with_index do |w,i| %>
4
+ <div class="col-<%= i+1 %>">.col-<%= i+1 %></div>
5
+ <% end %>
6
+ </div>
7
+ </div>
@@ -0,0 +1,47 @@
1
+ <div class="container">
2
+ <div class="row">
3
+ <% 12.times do %>
4
+ <div class="col-1">.col-1</div>
5
+ <% end %>
6
+ </div>
7
+
8
+ <div class="row">
9
+ <% 6.times do %>
10
+ <div class="col-2">.col-2</div>
11
+ <% end %>
12
+ </div>
13
+
14
+ <div class="row">
15
+ <% 4.times do %>
16
+ <div class="col-3">.col-3</div>
17
+ <% end %>
18
+ </div>
19
+
20
+ <div class="row">
21
+ <% 3.times do %>
22
+ <div class="col-4">.col-4</div>
23
+ <% end %>
24
+ </div>
25
+
26
+ <div class="row">
27
+ <div class="col-5">.col-5</div>
28
+ <div class="col-2">.col-2</div>
29
+ <div class="col-5">.col-5</div>
30
+ </div>
31
+
32
+ <div class="row">
33
+ <div class="col-6">.col-6</div>
34
+ <div class="col-6">.col-6</div>
35
+ </div>
36
+
37
+ <div class="row">
38
+ <div class="col-7">.col-7</div>
39
+ <div class="col-5">.col-5</div>
40
+ </div>
41
+
42
+ <div class="row">
43
+ <div class="col-2">.col-2</div>
44
+ <div class="col-8">.col-8</div>
45
+ <div class="col-2">.col-2</div>
46
+ </div>
47
+ </div>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bamboo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ashish Kumar
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-16 00:00:00.000000000 Z
11
+ date: 2016-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -73,6 +73,15 @@ files:
73
73
  - lib/bamboo/constants.rb
74
74
  - lib/bamboo/grid.rb
75
75
  - lib/bamboo/version.rb
76
+ - server/Gemfile
77
+ - server/Gemfile.lock
78
+ - server/assets/reset.css
79
+ - server/assets/scripts.js
80
+ - server/assets/style.css
81
+ - server/server.rb
82
+ - server/views/application.erb
83
+ - server/views/modular.erb
84
+ - server/views/uniform.erb
76
85
  homepage: https://github.com/ashishkumar/bamboo
77
86
  licenses:
78
87
  - MIT