bamboo 0.2.0 → 0.2.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.
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